summaryrefslogtreecommitdiff
path: root/packages/backend/src/server/api/endpoints/i
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2023-10-22 13:02:24 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2023-10-22 13:02:24 +0900
commit4eaa02d25f83eff38cecd6db1724c8626dc3af2e (patch)
treebeedb76bfeae7a11109f25758f55f097f4c66d24 /packages/backend/src/server/api/endpoints/i
parentUpdate CHANGELOG.md (diff)
downloadsharkey-4eaa02d25f83eff38cecd6db1724c8626dc3af2e.tar.gz
sharkey-4eaa02d25f83eff38cecd6db1724c8626dc3af2e.tar.bz2
sharkey-4eaa02d25f83eff38cecd6db1724c8626dc3af2e.zip
enhance: improve avatar decoration
Diffstat (limited to 'packages/backend/src/server/api/endpoints/i')
-rw-r--r--packages/backend/src/server/api/endpoints/i/update.ts14
1 files changed, 12 insertions, 2 deletions
diff --git a/packages/backend/src/server/api/endpoints/i/update.ts b/packages/backend/src/server/api/endpoints/i/update.ts
index 79ead57a66..b03381a3f3 100644
--- a/packages/backend/src/server/api/endpoints/i/update.ts
+++ b/packages/backend/src/server/api/endpoints/i/update.ts
@@ -133,7 +133,13 @@ export const paramDef = {
lang: { type: 'string', enum: [null, ...Object.keys(langmap)] as string[], nullable: true },
avatarId: { type: 'string', format: 'misskey:id', nullable: true },
avatarDecorations: { type: 'array', maxItems: 1, items: {
- type: 'string',
+ type: 'object',
+ properties: {
+ id: { type: 'string', format: 'misskey:id' },
+ angle: { type: 'number', nullable: true, maximum: 0.5, minimum: -0.5 },
+ flipH: { type: 'boolean', nullable: true },
+ },
+ required: ['id'],
} },
bannerId: { type: 'string', format: 'misskey:id', nullable: true },
fields: {
@@ -309,7 +315,11 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
.filter(d => d.roleIdsThatCanBeUsedThisDecoration.filter(roleId => allRoles.some(r => r.id === roleId)).length === 0 || myRoles.some(r => d.roleIdsThatCanBeUsedThisDecoration.includes(r.id)))
.map(d => d.id);
- updates.avatarDecorations = ps.avatarDecorations.filter(id => decorationIds.includes(id));
+ updates.avatarDecorations = ps.avatarDecorations.filter(d => decorationIds.includes(d.id)).map(d => ({
+ id: d.id,
+ angle: d.angle ?? 0,
+ flipH: d.flipH ?? false,
+ }));
}
if (ps.pinnedPageId) {