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
|
* 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 = {
|
export const packedUserLiteSchema = {
|
||||||
type: 'object',
|
type: 'object',
|
||||||
properties: {
|
properties: {
|
||||||
|
@ -398,6 +410,7 @@ export const packedUserDetailedNotMeOnlySchema = {
|
||||||
notify: {
|
notify: {
|
||||||
type: 'string',
|
type: 'string',
|
||||||
nullable: false, optional: true,
|
nullable: false, optional: true,
|
||||||
|
enum: ['normal', 'none'],
|
||||||
},
|
},
|
||||||
withReplies: {
|
withReplies: {
|
||||||
type: 'boolean',
|
type: 'boolean',
|
||||||
|
@ -553,6 +566,19 @@ export const packedMeDetailedOnlySchema = {
|
||||||
notificationRecieveConfig: {
|
notificationRecieveConfig: {
|
||||||
type: 'object',
|
type: 'object',
|
||||||
nullable: false, optional: false,
|
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: {
|
emailNotificationTypes: {
|
||||||
type: 'array',
|
type: 'array',
|
||||||
|
@ -697,6 +723,23 @@ export const packedMeDetailedOnlySchema = {
|
||||||
items: {
|
items: {
|
||||||
type: 'object',
|
type: 'object',
|
||||||
nullable: false, optional: false,
|
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
|
//#endregion
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
* version: 2023.12.0-beta.1
|
* version: 2023.12.0-beta.1
|
||||||
* generatedAt: 2023-12-03T02:04:45.058Z
|
* generatedAt: 2023-12-04T07:13:58.541Z
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import type {
|
import type {
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
* version: 2023.12.0-beta.1
|
* 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';
|
import { operations } from './types.js';
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
* version: 2023.12.0-beta.1
|
* 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';
|
import { components } from './types.js';
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* version: 2023.12.0-beta.1
|
* 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;
|
isBlocked?: boolean;
|
||||||
isMuted?: boolean;
|
isMuted?: boolean;
|
||||||
isRenoteMuted?: boolean;
|
isRenoteMuted?: boolean;
|
||||||
notify?: string;
|
/** @enum {string} */
|
||||||
|
notify?: 'normal' | 'none';
|
||||||
withReplies?: boolean;
|
withReplies?: boolean;
|
||||||
};
|
};
|
||||||
MeDetailedOnly: {
|
MeDetailedOnly: {
|
||||||
|
@ -3253,7 +3254,52 @@ export type components = {
|
||||||
mutedWords: string[][];
|
mutedWords: string[][];
|
||||||
hardMutedWords: string[][];
|
hardMutedWords: string[][];
|
||||||
mutedInstances: string[] | null;
|
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[];
|
emailNotificationTypes: string[];
|
||||||
achievements: {
|
achievements: {
|
||||||
name: string;
|
name: string;
|
||||||
|
@ -3287,7 +3333,16 @@ export type components = {
|
||||||
};
|
};
|
||||||
email?: string | null;
|
email?: string | null;
|
||||||
emailVerified?: boolean | 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'];
|
UserDetailedNotMe: components['schemas']['UserLite'] & components['schemas']['UserDetailedNotMeOnly'];
|
||||||
MeDetailed: components['schemas']['UserLite'] & components['schemas']['UserDetailedNotMeOnly'] & components['schemas']['MeDetailedOnly'];
|
MeDetailed: components['schemas']['UserLite'] & components['schemas']['UserDetailedNotMeOnly'] & components['schemas']['MeDetailedOnly'];
|
||||||
|
|
Loading…
Reference in a new issue