diff options
author | Marius David Wieschollek <passwords.public@mdns.eu> | 2020-12-16 01:42:25 +0300 |
---|---|---|
committer | Marius David Wieschollek <passwords.public@mdns.eu> | 2020-12-16 01:42:25 +0300 |
commit | 4fab8775d898174066f9d3021b3427f8f9ef4e4e (patch) | |
tree | 51c27b90213400a2faeaff3515ff6ea2f55f15e6 /src/Repositories | |
parent | 537c2cf64039e7af441f7f1ebbe3f1b7b70a0351 (diff) |
Improce settings repository
Signed-off-by: Marius David Wieschollek <passwords.public@mdns.eu>
Diffstat (limited to 'src/Repositories')
-rw-r--r-- | src/Repositories/SettingRepository.js | 98 |
1 files changed, 76 insertions, 22 deletions
diff --git a/src/Repositories/SettingRepository.js b/src/Repositories/SettingRepository.js index c8860c0..c491502 100644 --- a/src/Repositories/SettingRepository.js +++ b/src/Repositories/SettingRepository.js @@ -10,60 +10,114 @@ export default class SettingRepository { this._converter = api.getInstance(`converter.setting`); } + /** + * @returns {Promise<SettingCollection>} + */ async findAll() { let response = await this._api.getRequest() - .setPath(`1.0/settings/list`) - .send(); + .setPath(`1.0/settings/list`) + .send(); return this._converter.fromApiObject(response.getData()); } + /** + * @param {String} scope + * @returns {Promise<SettingCollection>} + */ async findByScope(scope) { let response = await this._api.getRequest() - .setPath(`1.0/settings/list`) - .setData({scopes: [scope]}) - .send(); + .setPath(`1.0/settings/list`) + .setData({scopes: [scope]}) + .send(); return this._converter.fromApiObject(response.getData()); } + /** + * @param {String[]} scopes + * @returns {Promise<SettingCollection>} + */ async findByScopes(scopes) { let response = await this._api.getRequest() - .setPath(`1.0/settings/list`) - .setData({scopes}) - .send(); + .setPath(`1.0/settings/list`) + .setData({scopes}) + .send(); return this._converter.fromApiObject(response.getData()); } + /** + * @param {String} name + * @returns {Promise<SettingCollection>} + */ async findByName(name) { let response = await this._api.getRequest() - .setPath(`1.0/settings/get`) - .setData([name]) - .send(); + .setPath(`1.0/settings/get`) + .setData([name]) + .send(); return this._converter.fromApiObject(response.getData()); } + /** + * @param {String[]} names + * @returns {Promise<SettingCollection>} + */ async findByNames(names) { let response = await this._api.getRequest() - .setPath(`1.0/settings/get`) - .setData(names) - .send(); + .setPath(`1.0/settings/get`) + .setData(names) + .send(); return this._converter.fromApiObject(response.getData()); } + /** + * + * @param {Setting} setting + * @returns {Promise<void>} + */ async set(setting) { - let response = await this._api.getRequest() - .setPath(`1.0/settings/set`) - .setData(setting) - .send(); + let key = `${setting.getScope()}.${setting.getName()}`, + data = {}; + data[key] = setting.getValue(); + + let response = + await this._api.getRequest() + .setPath(`1.0/settings/set`) + .setData(data) + .send(); } + /** + * + * @param {Setting} setting + * @returns {Promise<void>} + */ async reset(setting) { - let response = await this._api.getRequest() - .setPath(`1.0/settings/reset`) - .setData(setting) - .send(); + let key = `${setting.getScope()}.${setting.getName()}`; + let response = + await this._api.getRequest() + .setPath(`1.0/settings/reset`) + .setData([key]) + .send(); + } + + /** + * + * @param {Setting} setting + * @returns {Promise<void>} + */ + update(setting) { + return this.set(setting); + } + + /** + * + * @param {Setting} setting + * @returns {Promise<void>} + */ + create(setting) { + return this.set(setting); } }
\ No newline at end of file |