mirror of
				https://codeberg.org/yeentown/barkey.git
				synced 2025-11-03 23:14:13 +00: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…
	
	Add table
		
		Reference in a new issue