mirror of
https://github.com/misskey-dev/misskey.git
synced 2024-12-28 10:10:21 +01:00
feat: ユーザースキーマの改善 (#12568)
* chore: notifyにenumを設定 * feat: securityKeysListの型を明確に * feat: notificationRecieveConfigにpropertiesを定義 * chore: misskey.jsのmodelを更新 * fix: as constをつけ忘れている
This commit is contained in:
parent
18109fcef7
commit
33034b0e02
5 changed files with 105 additions and 7 deletions
|
@ -3,6 +3,18 @@
|
|||
* SPDX-License-Identifier: AGPL-3.0-only
|
||||
*/
|
||||
|
||||
const notificationRecieveConfig = {
|
||||
type: 'object',
|
||||
nullable: false, optional: true,
|
||||
properties: {
|
||||
type: {
|
||||
type: 'string',
|
||||
nullable: false, optional: false,
|
||||
enum: ['all', 'following', 'follower', 'mutualFollow', 'list', 'never'],
|
||||
},
|
||||
},
|
||||
} as const;
|
||||
|
||||
export const packedUserLiteSchema = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
|
@ -398,6 +410,7 @@ export const packedUserDetailedNotMeOnlySchema = {
|
|||
notify: {
|
||||
type: 'string',
|
||||
nullable: false, optional: true,
|
||||
enum: ['normal', 'none'],
|
||||
},
|
||||
withReplies: {
|
||||
type: 'boolean',
|
||||
|
@ -553,6 +566,19 @@ export const packedMeDetailedOnlySchema = {
|
|||
notificationRecieveConfig: {
|
||||
type: 'object',
|
||||
nullable: false, optional: false,
|
||||
properties: {
|
||||
app: notificationRecieveConfig,
|
||||
quote: notificationRecieveConfig,
|
||||
reply: notificationRecieveConfig,
|
||||
follow: notificationRecieveConfig,
|
||||
renote: notificationRecieveConfig,
|
||||
mention: notificationRecieveConfig,
|
||||
reaction: notificationRecieveConfig,
|
||||
pollEnded: notificationRecieveConfig,
|
||||
achievementEarned: notificationRecieveConfig,
|
||||
receiveFollowRequest: notificationRecieveConfig,
|
||||
followRequestAccepted: notificationRecieveConfig,
|
||||
},
|
||||
},
|
||||
emailNotificationTypes: {
|
||||
type: 'array',
|
||||
|
@ -697,6 +723,23 @@ export const packedMeDetailedOnlySchema = {
|
|||
items: {
|
||||
type: 'object',
|
||||
nullable: false, optional: false,
|
||||
properties: {
|
||||
id: {
|
||||
type: 'string',
|
||||
nullable: false, optional: false,
|
||||
format: 'id',
|
||||
example: 'xxxxxxxxxx',
|
||||
},
|
||||
name: {
|
||||
type: 'string',
|
||||
nullable: false, optional: false,
|
||||
},
|
||||
lastUsed: {
|
||||
type: 'string',
|
||||
nullable: false, optional: false,
|
||||
format: 'date-time',
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
//#endregion
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
* version: 2023.12.0-beta.1
|
||||
* generatedAt: 2023-12-03T02:04:45.058Z
|
||||
* generatedAt: 2023-12-04T07:13:58.541Z
|
||||
*/
|
||||
|
||||
import type {
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
* version: 2023.12.0-beta.1
|
||||
* generatedAt: 2023-12-03T02:04:45.053Z
|
||||
* generatedAt: 2023-12-04T07:13:58.538Z
|
||||
*/
|
||||
|
||||
import { operations } from './types.js';
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
* version: 2023.12.0-beta.1
|
||||
* generatedAt: 2023-12-03T02:04:45.051Z
|
||||
* generatedAt: 2023-12-04T07:13:58.535Z
|
||||
*/
|
||||
|
||||
import { components } from './types.js';
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
/*
|
||||
* version: 2023.12.0-beta.1
|
||||
* generatedAt: 2023-12-03T02:04:44.864Z
|
||||
* generatedAt: 2023-12-04T07:13:58.362Z
|
||||
*/
|
||||
|
||||
/**
|
||||
|
@ -3218,7 +3218,8 @@ export type components = {
|
|||
isBlocked?: boolean;
|
||||
isMuted?: boolean;
|
||||
isRenoteMuted?: boolean;
|
||||
notify?: string;
|
||||
/** @enum {string} */
|
||||
notify?: 'normal' | 'none';
|
||||
withReplies?: boolean;
|
||||
};
|
||||
MeDetailedOnly: {
|
||||
|
@ -3253,7 +3254,52 @@ export type components = {
|
|||
mutedWords: string[][];
|
||||
hardMutedWords: string[][];
|
||||
mutedInstances: string[] | null;
|
||||
notificationRecieveConfig: Record<string, never>;
|
||||
notificationRecieveConfig: {
|
||||
app?: {
|
||||
/** @enum {string} */
|
||||
type: 'all' | 'following' | 'follower' | 'mutualFollow' | 'list' | 'never';
|
||||
};
|
||||
quote?: {
|
||||
/** @enum {string} */
|
||||
type: 'all' | 'following' | 'follower' | 'mutualFollow' | 'list' | 'never';
|
||||
};
|
||||
reply?: {
|
||||
/** @enum {string} */
|
||||
type: 'all' | 'following' | 'follower' | 'mutualFollow' | 'list' | 'never';
|
||||
};
|
||||
follow?: {
|
||||
/** @enum {string} */
|
||||
type: 'all' | 'following' | 'follower' | 'mutualFollow' | 'list' | 'never';
|
||||
};
|
||||
renote?: {
|
||||
/** @enum {string} */
|
||||
type: 'all' | 'following' | 'follower' | 'mutualFollow' | 'list' | 'never';
|
||||
};
|
||||
mention?: {
|
||||
/** @enum {string} */
|
||||
type: 'all' | 'following' | 'follower' | 'mutualFollow' | 'list' | 'never';
|
||||
};
|
||||
reaction?: {
|
||||
/** @enum {string} */
|
||||
type: 'all' | 'following' | 'follower' | 'mutualFollow' | 'list' | 'never';
|
||||
};
|
||||
pollEnded?: {
|
||||
/** @enum {string} */
|
||||
type: 'all' | 'following' | 'follower' | 'mutualFollow' | 'list' | 'never';
|
||||
};
|
||||
achievementEarned?: {
|
||||
/** @enum {string} */
|
||||
type: 'all' | 'following' | 'follower' | 'mutualFollow' | 'list' | 'never';
|
||||
};
|
||||
receiveFollowRequest?: {
|
||||
/** @enum {string} */
|
||||
type: 'all' | 'following' | 'follower' | 'mutualFollow' | 'list' | 'never';
|
||||
};
|
||||
followRequestAccepted?: {
|
||||
/** @enum {string} */
|
||||
type: 'all' | 'following' | 'follower' | 'mutualFollow' | 'list' | 'never';
|
||||
};
|
||||
};
|
||||
emailNotificationTypes: string[];
|
||||
achievements: {
|
||||
name: string;
|
||||
|
@ -3287,7 +3333,16 @@ export type components = {
|
|||
};
|
||||
email?: string | null;
|
||||
emailVerified?: boolean | null;
|
||||
securityKeysList?: Record<string, never>[];
|
||||
securityKeysList?: {
|
||||
/**
|
||||
* Format: id
|
||||
* @example xxxxxxxxxx
|
||||
*/
|
||||
id: string;
|
||||
name: string;
|
||||
/** Format: date-time */
|
||||
lastUsed: string;
|
||||
}[];
|
||||
};
|
||||
UserDetailedNotMe: components['schemas']['UserLite'] & components['schemas']['UserDetailedNotMeOnly'];
|
||||
MeDetailed: components['schemas']['UserLite'] & components['schemas']['UserDetailedNotMeOnly'] & components['schemas']['MeDetailedOnly'];
|
||||
|
|
Loading…
Reference in a new issue