diff options
| author | zyoshoka <107108195+zyoshoka@users.noreply.github.com> | 2025-05-06 19:52:30 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-05-06 19:52:30 +0900 |
| commit | 3b676f39df829e690265d9b00798fa8908d83794 (patch) | |
| tree | 6094ae3d61a789f478b87c67f412e46cb809bb2e /packages/backend/src/models/json-schema | |
| parent | add icon project file (diff) | |
| download | misskey-3b676f39df829e690265d9b00798fa8908d83794.tar.gz misskey-3b676f39df829e690265d9b00798fa8908d83794.tar.bz2 misskey-3b676f39df829e690265d9b00798fa8908d83794.zip | |
fix(backend): enumerate achievement types in some response schema (#15953)
* fix(backend): enumerate achievement types in some response schema
* refactor: use `ref`
Diffstat (limited to 'packages/backend/src/models/json-schema')
| -rw-r--r-- | packages/backend/src/models/json-schema/achievement.ts | 25 | ||||
| -rw-r--r-- | packages/backend/src/models/json-schema/notification.ts | 5 | ||||
| -rw-r--r-- | packages/backend/src/models/json-schema/user.ts | 13 |
3 files changed, 27 insertions, 16 deletions
diff --git a/packages/backend/src/models/json-schema/achievement.ts b/packages/backend/src/models/json-schema/achievement.ts new file mode 100644 index 0000000000..39a621a570 --- /dev/null +++ b/packages/backend/src/models/json-schema/achievement.ts @@ -0,0 +1,25 @@ +/* + * SPDX-FileCopyrightText: syuilo and misskey-project + * SPDX-License-Identifier: AGPL-3.0-only + */ + +import { ACHIEVEMENT_TYPES } from '@/models/UserProfile.js'; + +export const packedAchievementNameSchema = { + type: 'string', + enum: ACHIEVEMENT_TYPES, + optional: false, +} as const; + +export const packedAchievementSchema = { + type: 'object', + properties: { + name: { + ref: 'AchievementName', + }, + unlockedAt: { + type: 'number', + optional: false, + }, + }, +} as const; diff --git a/packages/backend/src/models/json-schema/notification.ts b/packages/backend/src/models/json-schema/notification.ts index 7f23d2d6a1..6de120c8d7 100644 --- a/packages/backend/src/models/json-schema/notification.ts +++ b/packages/backend/src/models/json-schema/notification.ts @@ -3,7 +3,6 @@ * SPDX-License-Identifier: AGPL-3.0-only */ -import { ACHIEVEMENT_TYPES } from '@/core/AchievementService.js'; import { notificationTypes, userExportableEntities } from '@/types.js'; const baseSchema = { @@ -312,9 +311,7 @@ export const packedNotificationSchema = { enum: ['achievementEarned'], }, achievement: { - type: 'string', - optional: false, nullable: false, - enum: ACHIEVEMENT_TYPES, + ref: 'AchievementName', }, }, }, { diff --git a/packages/backend/src/models/json-schema/user.ts b/packages/backend/src/models/json-schema/user.ts index e475296702..2b5f706ff9 100644 --- a/packages/backend/src/models/json-schema/user.ts +++ b/packages/backend/src/models/json-schema/user.ts @@ -630,18 +630,7 @@ export const packedMeDetailedOnlySchema = { type: 'array', nullable: false, optional: false, items: { - type: 'object', - nullable: false, optional: false, - properties: { - name: { - type: 'string', - nullable: false, optional: false, - }, - unlockedAt: { - type: 'number', - nullable: false, optional: false, - }, - }, + ref: 'Achievement', }, }, loggedInDays: { |