summaryrefslogtreecommitdiff
path: root/src/server/api/endpoints/i
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2019-07-08 04:27:18 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2019-07-08 04:27:18 +0900
commit05862a420f7d97e1a9781036a4eb62311cd35b20 (patch)
tree157725f75c909ed1d445938e040e875ae3d1f776 /src/server/api/endpoints/i
parenthttps://github.com/syuilo/misskey/pull/4549#discussion_r287750004 (diff)
parent:art: (diff)
downloadmisskey-05862a420f7d97e1a9781036a4eb62311cd35b20.tar.gz
misskey-05862a420f7d97e1a9781036a4eb62311cd35b20.tar.bz2
misskey-05862a420f7d97e1a9781036a4eb62311cd35b20.zip
Merge branch 'develop' into pr/4549
Diffstat (limited to 'src/server/api/endpoints/i')
-rw-r--r--src/server/api/endpoints/i/update.ts27
1 files changed, 25 insertions, 2 deletions
diff --git a/src/server/api/endpoints/i/update.ts b/src/server/api/endpoints/i/update.ts
index 10521d12d8..a454cdb940 100644
--- a/src/server/api/endpoints/i/update.ts
+++ b/src/server/api/endpoints/i/update.ts
@@ -10,7 +10,7 @@ import extractHashtags from '../../../../misc/extract-hashtags';
import * as langmap from 'langmap';
import { updateHashtag } from '../../../../services/update-hashtag';
import { ApiError } from '../../error';
-import { Users, DriveFiles, UserProfiles } from '../../../../models';
+import { Users, DriveFiles, UserProfiles, Pages } from '../../../../models';
import { User } from '../../../../models/entities/user';
import { UserProfile } from '../../../../models/entities/user-profile';
import { ensure } from '../../../../prelude/ensure';
@@ -125,6 +125,13 @@ export const meta = {
'ja-JP': 'アップロードするメディアをデフォルトで「閲覧注意」として設定するか'
}
},
+
+ pinnedPageId: {
+ validator: $.optional.nullable.type(ID),
+ desc: {
+ 'ja-JP': 'ピン留めするページID'
+ }
+ }
},
errors: {
@@ -150,7 +157,13 @@ export const meta = {
message: 'The file specified as a banner is not an image.',
code: 'BANNER_NOT_AN_IMAGE',
id: '75aedb19-2afd-4e6d-87fc-67941256fa60'
- }
+ },
+
+ noSuchPage: {
+ message: 'No such page.',
+ code: 'NO_SUCH_PAGE',
+ id: '8e01b590-7eb9-431b-a239-860e086c408e'
+ },
}
};
@@ -203,6 +216,16 @@ export default define(meta, async (ps, user, app) => {
}
}
+ if (ps.pinnedPageId) {
+ const page = await Pages.findOne(ps.pinnedPageId);
+
+ if (page == null || page.userId !== user.id) throw new ApiError(meta.errors.noSuchPage);
+
+ profileUpdates.pinnedPageId = page.id;
+ } else if (ps.pinnedPageId === null) {
+ profileUpdates.pinnedPageId = null;
+ }
+
//#region emojis/tags
let emojis = [] as string[];