diff options
| author | syuilo <syuilotan@yahoo.co.jp> | 2017-03-19 15:47:36 +0900 |
|---|---|---|
| committer | syuilo <syuilotan@yahoo.co.jp> | 2017-03-19 15:47:36 +0900 |
| commit | e8e220b4108766ab89f5fbaff35f1574030a298d (patch) | |
| tree | 347c20bf6c443b3596cd7e5d85c85964ce0cf1d7 /src/api/endpoints/i/appdata/set.ts | |
| parent | [Client:Desktop] Fix bug (diff) | |
| download | sharkey-e8e220b4108766ab89f5fbaff35f1574030a298d.tar.gz sharkey-e8e220b4108766ab89f5fbaff35f1574030a298d.tar.bz2 sharkey-e8e220b4108766ab89f5fbaff35f1574030a298d.zip | |
[API] Fix bug, rename param set -> data (BREAKING)
Diffstat (limited to 'src/api/endpoints/i/appdata/set.ts')
| -rw-r--r-- | src/api/endpoints/i/appdata/set.ts | 28 |
1 files changed, 14 insertions, 14 deletions
diff --git a/src/api/endpoints/i/appdata/set.ts b/src/api/endpoints/i/appdata/set.ts index 6ba91cd804..eea17fd0d8 100644 --- a/src/api/endpoints/i/appdata/set.ts +++ b/src/api/endpoints/i/appdata/set.ts @@ -17,16 +17,14 @@ import event from '../../../event'; * @return {Promise<any>} */ module.exports = (params, user, app, isSecure) => new Promise(async (res, rej) => { - // Get 'set' parameter - const [set, setError] = $(params.set).optional.object() + // Get 'data' parameter + const [data, dataError] = $(params.data).optional.object() .pipe(obj => { - return Object.entries(obj).some(kv => { - const k = kv[0]; - const v = kv[1]; - return $(k).string().match(/[a-z_]+/).isNg() && $(v).string().isNg(); - }); + const hasInvalidData = Object.entries(obj).some(([k, v]) => + $(k).string().match(/^[a-z_]+$/).isNg() && $(v).string().isNg()); + return !hasInvalidData; }).$; - if (setError) return rej('invalid set param'); + if (dataError) return rej('invalid data param'); // Get 'key' parameter const [key, keyError] = $(params.key).optional.string().match(/[a-z_]+/).$; @@ -36,16 +34,18 @@ module.exports = (params, user, app, isSecure) => new Promise(async (res, rej) = const [value, valueError] = $(params.value).optional.string().$; if (valueError) return rej('invalid value param'); - let data = {}; - if (set) { - data = set; + let set = {}; + if (data) { + Object.entries(data).forEach(([k, v]) => { + set['data.' + k] = v; + }); } else { - data[key] = value; + set['data.' + key] = value; } if (isSecure) { const _user = await User.findOneAndUpdate(user._id, { - $set: { data } + $set: set }); res(204); @@ -63,7 +63,7 @@ module.exports = (params, user, app, isSecure) => new Promise(async (res, rej) = app_id: app._id, user_id: user._id }, { - $set: { data } + $set: set }), { upsert: true }); |