summaryrefslogtreecommitdiff
path: root/src/api/endpoints/i/appdata/set.ts
diff options
context:
space:
mode:
authorsyuilo <syuilotan@yahoo.co.jp>2017-03-19 15:47:36 +0900
committersyuilo <syuilotan@yahoo.co.jp>2017-03-19 15:47:36 +0900
commite8e220b4108766ab89f5fbaff35f1574030a298d (patch)
tree347c20bf6c443b3596cd7e5d85c85964ce0cf1d7 /src/api/endpoints/i/appdata/set.ts
parent[Client:Desktop] Fix bug (diff)
downloadsharkey-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.ts28
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
});