You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.

26 lines
595 B

import MemoryStorage from '../infrastructures/MemoryStorage';
const CACHED_SETTING_KEY = 'setting';
export default class SettingRepository {
private cache: MemoryStorage;
constructor() {
this.cache = new MemoryStorage();
}
get(): Promise<any> {
return Promise.resolve(this.cache.get(CACHED_SETTING_KEY));
}
update(value: any): any {
return this.cache.set(CACHED_SETTING_KEY, value);
}
async setProperty(name: string, value: string): Promise<any> {
let current = await this.get();
current.properties[name] = value;
return this.update(current);
}
}