Ensure enum schema and Make "as const" put once

This commit is contained in:
tamaina 2022-01-14 19:55:09 +09:00
parent 59a5d00d6b
commit 37bae7b929
25 changed files with 716 additions and 713 deletions

View File

@ -50,18 +50,18 @@ export const refs = {
export type Packed<x extends keyof typeof refs> = ObjType<(typeof refs[x])['properties']>;
export interface Schema {
type: 'boolean' | 'number' | 'string' | 'array' | 'object' | 'any';
nullable: boolean;
optional: boolean;
items?: Schema;
properties?: Obj;
description?: string;
example?: any;
format?: string;
ref?: keyof typeof refs;
enum?: string[];
default?: boolean | null;
export type Schema = {
readonly type: 'boolean' | 'number' | 'string' | 'array' | 'object' | 'any';
readonly nullable: boolean;
readonly optional: boolean;
readonly items?: Schema;
readonly properties?: Obj;
readonly description?: string;
readonly example?: any;
readonly format?: string;
readonly ref?: keyof typeof refs;
readonly enum?: ReadonlyArray<string>;
readonly default?: boolean | null;
}
type NonUndefinedPropertyNames<T extends Obj> = {
@ -98,7 +98,10 @@ type NullOrUndefined<p extends Schema, T> =
export type SchemaType<p extends Schema> =
p['type'] extends 'number' ? NullOrUndefined<p, number> :
p['type'] extends 'string' ? NullOrUndefined<p, string> :
p['type'] extends 'string' ?
p['enum'] extends ReadonlyArray<string> ?
NullOrUndefined<p, p['enum'][number]> :
NullOrUndefined<p, string> :
p['type'] extends 'boolean' ? NullOrUndefined<p, boolean> :
p['type'] extends 'array' ? NullOrUndefined<p, MyType<NonNullable<p['items']>>[]> :
p['type'] extends 'object' ? (

View File

@ -19,7 +19,7 @@ export class AntennaRepository extends Repository<Antenna> {
name: antenna.name,
keywords: antenna.keywords,
excludeKeywords: antenna.excludeKeywords,
src: antenna.src,
src: antenna.src as Packed<'Antenna'>['src'],
userListId: antenna.userListId,
userGroupId: userGroupJoining ? userGroupJoining.userGroupId : null,
users: antenna.users,
@ -28,6 +28,6 @@ export class AntennaRepository extends Repository<Antenna> {
withReplies: antenna.withReplies,
withFile: antenna.withFile,
hasUnreadNote,
};
} as Packed<'Antenna'>;
}
}

View File

@ -1,90 +1,90 @@
export const packedAntennaSchema = {
type: 'object' as const,
optional: false as const, nullable: false as const,
type: 'object',
optional: false, nullable: false,
properties: {
id: {
type: 'string' as const,
optional: false as const, nullable: false as const,
type: 'string',
optional: false, nullable: false,
format: 'id',
},
createdAt: {
type: 'string' as const,
optional: false as const, nullable: false as const,
type: 'string',
optional: false, nullable: false,
format: 'date-time',
},
name: {
type: 'string' as const,
optional: false as const, nullable: false as const,
type: 'string',
optional: false, nullable: false,
},
keywords: {
type: 'array' as const,
optional: false as const, nullable: false as const,
type: 'array',
optional: false, nullable: false,
items: {
type: 'array' as const,
optional: false as const, nullable: false as const,
type: 'array',
optional: false, nullable: false,
items: {
type: 'string' as const,
optional: false as const, nullable: false as const,
type: 'string',
optional: false, nullable: false,
},
},
},
excludeKeywords: {
type: 'array' as const,
optional: false as const, nullable: false as const,
type: 'array',
optional: false, nullable: false,
items: {
type: 'array' as const,
optional: false as const, nullable: false as const,
type: 'array',
optional: false, nullable: false,
items: {
type: 'string' as const,
optional: false as const, nullable: false as const,
type: 'string',
optional: false, nullable: false,
},
},
},
src: {
type: 'string' as const,
optional: false as const, nullable: false as const,
type: 'string',
optional: false, nullable: false,
enum: ['home', 'all', 'users', 'list', 'group'],
},
userListId: {
type: 'string' as const,
optional: false as const, nullable: true as const,
type: 'string',
optional: false, nullable: true,
format: 'id',
},
userGroupId: {
type: 'string' as const,
optional: false as const, nullable: true as const,
type: 'string',
optional: false, nullable: true,
format: 'id',
},
users: {
type: 'array' as const,
optional: false as const, nullable: false as const,
type: 'array',
optional: false, nullable: false,
items: {
type: 'string' as const,
optional: false as const, nullable: false as const,
type: 'string',
optional: false, nullable: false,
},
},
caseSensitive: {
type: 'boolean' as const,
optional: false as const, nullable: false as const,
type: 'boolean',
optional: false, nullable: false,
default: false,
},
notify: {
type: 'boolean' as const,
optional: false as const, nullable: false as const,
type: 'boolean',
optional: false, nullable: false,
},
withReplies: {
type: 'boolean' as const,
optional: false as const, nullable: false as const,
type: 'boolean',
optional: false, nullable: false,
default: false,
},
withFile: {
type: 'boolean' as const,
optional: false as const, nullable: false as const,
type: 'boolean',
optional: false, nullable: false,
},
hasUnreadNote: {
type: 'boolean' as const,
optional: false as const, nullable: false as const,
type: 'boolean',
optional: false, nullable: false,
default: false,
},
},
};
} as const;

View File

@ -1,34 +1,34 @@
export const packedAppSchema = {
type: 'object' as const,
optional: false as const, nullable: false as const,
type: 'object',
optional: false, nullable: false,
properties: {
id: {
type: 'string' as const,
optional: false as const, nullable: false as const,
type: 'string',
optional: false, nullable: false,
},
name: {
type: 'string' as const,
optional: false as const, nullable: false as const,
type: 'string',
optional: false, nullable: false,
},
callbackUrl: {
type: 'string' as const,
optional: false as const, nullable: true as const,
type: 'string',
optional: false, nullable: true,
},
permission: {
type: 'array' as const,
optional: false as const, nullable: false as const,
type: 'array',
optional: false, nullable: false,
items: {
type: 'string' as const,
optional: false as const, nullable: false as const,
type: 'string',
optional: false, nullable: false,
},
},
secret: {
type: 'string' as const,
optional: true as const, nullable: false as const,
type: 'string',
optional: true, nullable: false,
},
isAuthorized: {
type: 'boolean' as const,
optional: true as const, nullable: false as const,
type: 'boolean',
optional: true, nullable: false,
},
},
};
} as const;

View File

@ -1,27 +1,27 @@
export const packedBlockingSchema = {
type: 'object' as const,
optional: false as const, nullable: false as const,
type: 'object',
optional: false, nullable: false,
properties: {
id: {
type: 'string' as const,
optional: false as const, nullable: false as const,
type: 'string',
optional: false, nullable: false,
format: 'id',
example: 'xxxxxxxxxx',
},
createdAt: {
type: 'string' as const,
optional: false as const, nullable: false as const,
type: 'string',
optional: false, nullable: false,
format: 'date-time',
},
blockeeId: {
type: 'string' as const,
optional: false as const, nullable: false as const,
type: 'string',
optional: false, nullable: false,
format: 'id',
},
blockee: {
type: 'object' as const,
optional: false as const, nullable: false as const,
ref: 'User' as const,
type: 'object',
optional: false, nullable: false,
ref: 'User',
},
},
};
} as const;

View File

@ -1,52 +1,52 @@
export const packedChannelSchema = {
type: 'object' as const,
optional: false as const, nullable: false as const,
type: 'object',
optional: false, nullable: false,
properties: {
id: {
type: 'string' as const,
optional: false as const, nullable: false as const,
type: 'string',
optional: false, nullable: false,
format: 'id',
example: 'xxxxxxxxxx',
},
createdAt: {
type: 'string' as const,
optional: false as const, nullable: false as const,
type: 'string',
optional: false, nullable: false,
format: 'date-time',
},
lastNotedAt: {
type: 'string' as const,
optional: false as const, nullable: true as const,
type: 'string',
optional: false, nullable: true,
format: 'date-time',
},
name: {
type: 'string' as const,
optional: false as const, nullable: false as const,
type: 'string',
optional: false, nullable: false,
},
description: {
type: 'string' as const,
nullable: true as const, optional: false as const,
type: 'string',
nullable: true, optional: false,
},
bannerUrl: {
type: 'string' as const,
type: 'string',
format: 'url',
nullable: true as const, optional: false as const,
nullable: true, optional: false,
},
notesCount: {
type: 'number' as const,
nullable: false as const, optional: false as const,
type: 'number',
nullable: false, optional: false,
},
usersCount: {
type: 'number' as const,
nullable: false as const, optional: false as const,
type: 'number',
nullable: false, optional: false,
},
isFollowing: {
type: 'boolean' as const,
optional: true as const, nullable: false as const,
type: 'boolean',
optional: true, nullable: false,
},
userId: {
type: 'string' as const,
nullable: true as const, optional: false as const,
type: 'string',
nullable: true, optional: false,
format: 'id',
},
},
};
} as const;

View File

@ -1,39 +1,39 @@
export const packedClipSchema = {
type: 'object' as const,
optional: false as const, nullable: false as const,
type: 'object',
optional: false, nullable: false,
properties: {
id: {
type: 'string' as const,
optional: false as const, nullable: false as const,
type: 'string',
optional: false, nullable: false,
format: 'id',
example: 'xxxxxxxxxx',
},
createdAt: {
type: 'string' as const,
optional: false as const, nullable: false as const,
type: 'string',
optional: false, nullable: false,
format: 'date-time',
},
userId: {
type: 'string' as const,
optional: false as const, nullable: false as const,
type: 'string',
optional: false, nullable: false,
format: 'id',
},
user: {
type: 'object' as const,
ref: 'User' as const,
optional: false as const, nullable: false as const,
type: 'object',
ref: 'User',
optional: false, nullable: false,
},
name: {
type: 'string' as const,
optional: false as const, nullable: false as const,
type: 'string',
optional: false, nullable: false,
},
description: {
type: 'string' as const,
optional: false as const, nullable: true as const,
type: 'string',
optional: false, nullable: true,
},
isPublic: {
type: 'boolean' as const,
optional: false as const, nullable: false as const,
type: 'boolean',
optional: false, nullable: false,
},
},
};
} as const;

View File

@ -1,108 +1,108 @@
export const packedDriveFileSchema = {
type: 'object' as const,
optional: false as const, nullable: false as const,
type: 'object',
optional: false, nullable: false,
properties: {
id: {
type: 'string' as const,
optional: false as const, nullable: false as const,
type: 'string',
optional: false, nullable: false,
format: 'id',
example: 'xxxxxxxxxx',
},
createdAt: {
type: 'string' as const,
optional: false as const, nullable: false as const,
type: 'string',
optional: false, nullable: false,
format: 'date-time',
},
name: {
type: 'string' as const,
optional: false as const, nullable: false as const,
type: 'string',
optional: false, nullable: false,
example: 'lenna.jpg',
},
type: {
type: 'string' as const,
optional: false as const, nullable: false as const,
type: 'string',
optional: false, nullable: false,
example: 'image/jpeg',
},
md5: {
type: 'string' as const,
optional: false as const, nullable: false as const,
type: 'string',
optional: false, nullable: false,
format: 'md5',
example: '15eca7fba0480996e2245f5185bf39f2',
},
size: {
type: 'number' as const,
optional: false as const, nullable: false as const,
type: 'number',
optional: false, nullable: false,
example: 51469,
},
isSensitive: {
type: 'boolean' as const,
optional: false as const, nullable: false as const,
type: 'boolean',
optional: false, nullable: false,
},
blurhash: {
type: 'string' as const,
optional: false as const, nullable: true as const,
type: 'string',
optional: false, nullable: true,
},
properties: {
type: 'object' as const,
optional: false as const, nullable: false as const,
type: 'object',
optional: false, nullable: false,
properties: {
width: {
type: 'number' as const,
optional: true as const, nullable: false as const,
type: 'number',
optional: true, nullable: false,
example: 1280,
},
height: {
type: 'number' as const,
optional: true as const, nullable: false as const,
type: 'number',
optional: true, nullable: false,
example: 720,
},
orientation: {
type: 'number' as const,
optional: true as const, nullable: false as const,
type: 'number',
optional: true, nullable: false,
example: 8,
},
avgColor: {
type: 'string' as const,
optional: true as const, nullable: false as const,
type: 'string',
optional: true, nullable: false,
example: 'rgb(40,65,87)',
},
},
},
url: {
type: 'string' as const,
optional: false as const, nullable: true as const,
type: 'string',
optional: false, nullable: true,
format: 'url',
},
thumbnailUrl: {
type: 'string' as const,
optional: false as const, nullable: true as const,
type: 'string',
optional: false, nullable: true,
format: 'url',
},
comment: {
type: 'string' as const,
optional: false as const, nullable: true as const,
type: 'string',
optional: false, nullable: true,
},
folderId: {
type: 'string' as const,
optional: false as const, nullable: true as const,
type: 'string',
optional: false, nullable: true,
format: 'id',
example: 'xxxxxxxxxx',
},
folder: {
type: 'object' as const,
optional: true as const, nullable: true as const,
ref: 'DriveFolder' as const,
type: 'object',
optional: true, nullable: true,
ref: 'DriveFolder',
},
userId: {
type: 'string' as const,
optional: false as const, nullable: true as const,
type: 'string',
optional: false, nullable: true,
format: 'id',
example: 'xxxxxxxxxx',
},
user: {
type: 'object' as const,
optional: true as const, nullable: true as const,
ref: 'User' as const,
type: 'object',
optional: true, nullable: true,
ref: 'User',
},
},
};
} as const;

View File

@ -1,40 +1,40 @@
export const packedDriveFolderSchema = {
type: 'object' as const,
optional: false as const, nullable: false as const,
type: 'object',
optional: false, nullable: false,
properties: {
id: {
type: 'string' as const,
optional: false as const, nullable: false as const,
type: 'string',
optional: false, nullable: false,
format: 'id',
example: 'xxxxxxxxxx',
},
createdAt: {
type: 'string' as const,
optional: false as const, nullable: false as const,
type: 'string',
optional: false, nullable: false,
format: 'date-time',
},
name: {
type: 'string' as const,
optional: false as const, nullable: false as const,
type: 'string',
optional: false, nullable: false,
},
foldersCount: {
type: 'number' as const,
optional: true as const, nullable: false as const,
type: 'number',
optional: true, nullable: false,
},
filesCount: {
type: 'number' as const,
optional: true as const, nullable: false as const,
type: 'number',
optional: true, nullable: false,
},
parentId: {
type: 'string' as const,
optional: false as const, nullable: true as const,
type: 'string',
optional: false, nullable: true,
format: 'id',
example: 'xxxxxxxxxx',
},
parent: {
type: 'object' as const,
optional: true as const, nullable: true as const,
ref: 'DriveFolder' as const,
type: 'object',
optional: true, nullable: true,
ref: 'DriveFolder',
},
},
};
} as const;

View File

@ -1,37 +1,37 @@
export const packedEmojiSchema = {
type: 'object' as const,
optional: false as const, nullable: false as const,
type: 'object',
optional: false, nullable: false,
properties: {
id: {
type: 'string' as const,
optional: false as const, nullable: false as const,
type: 'string',
optional: false, nullable: false,
format: 'id',
example: 'xxxxxxxxxx',
},
aliases: {
type: 'array' as const,
optional: false as const, nullable: false as const,
type: 'array',
optional: false, nullable: false,
items: {
type: 'string' as const,
optional: false as const, nullable: false as const,
type: 'string',
optional: false, nullable: false,
format: 'id',
},
},
name: {
type: 'string' as const,
optional: false as const, nullable: false as const,
type: 'string',
optional: false, nullable: false,
},
category: {
type: 'string' as const,
optional: false as const, nullable: true as const,
type: 'string',
optional: false, nullable: true,
},
host: {
type: 'string' as const,
optional: false as const, nullable: true as const,
type: 'string',
optional: false, nullable: true,
},
url: {
type: 'string' as const,
optional: false as const, nullable: false as const,
type: 'string',
optional: false, nullable: false,
},
},
};
} as const;

View File

@ -1,106 +1,106 @@
import config from "@/config";
export const packedFederationInstanceSchema = {
type: 'object' as const,
optional: false as const, nullable: false as const,
type: 'object',
optional: false, nullable: false,
properties: {
id: {
type: 'string' as const,
optional: false as const, nullable: false as const,
type: 'string',
optional: false, nullable: false,
format: 'id',
},
caughtAt: {
type: 'string' as const,
optional: false as const, nullable: false as const,
type: 'string',
optional: false, nullable: false,
format: 'date-time',
},
host: {
type: 'string' as const,
optional: false as const, nullable: false as const,
type: 'string',
optional: false, nullable: false,
example: 'misskey.example.com',
},
usersCount: {
type: 'number' as const,
optional: false as const, nullable: false as const,
type: 'number',
optional: false, nullable: false,
},
notesCount: {
type: 'number' as const,
optional: false as const, nullable: false as const,
type: 'number',
optional: false, nullable: false,
},
followingCount: {
type: 'number' as const,
optional: false as const, nullable: false as const,
type: 'number',
optional: false, nullable: false,
},
followersCount: {
type: 'number' as const,
optional: false as const, nullable: false as const,
type: 'number',
optional: false, nullable: false,
},
driveUsage: {
type: 'number' as const,
optional: false as const, nullable: false as const,
type: 'number',
optional: false, nullable: false,
},
driveFiles: {
type: 'number' as const,
optional: false as const, nullable: false as const,
type: 'number',
optional: false, nullable: false,
},
latestRequestSentAt: {
type: 'string' as const,
optional: false as const, nullable: true as const,
type: 'string',
optional: false, nullable: true,
format: 'date-time',
},
lastCommunicatedAt: {
type: 'string' as const,
optional: false as const, nullable: false as const,
type: 'string',
optional: false, nullable: false,
format: 'date-time',
},
isNotResponding: {
type: 'boolean' as const,
optional: false as const, nullable: false as const,
type: 'boolean',
optional: false, nullable: false,
},
isSuspended: {
type: 'boolean' as const,
optional: false as const, nullable: false as const,
type: 'boolean',
optional: false, nullable: false,
},
softwareName: {
type: 'string' as const,
optional: false as const, nullable: true as const,
type: 'string',
optional: false, nullable: true,
example: 'misskey',
},
softwareVersion: {
type: 'string' as const,
optional: false as const, nullable: true as const,
type: 'string',
optional: false, nullable: true,
example: config.version,
},
openRegistrations: {
type: 'boolean' as const,
optional: false as const, nullable: true as const,
type: 'boolean',
optional: false, nullable: true,
example: true,
},
name: {
type: 'string' as const,
optional: false as const, nullable: true as const,
type: 'string',
optional: false, nullable: true,
},
description: {
type: 'string' as const,
optional: false as const, nullable: true as const,
type: 'string',
optional: false, nullable: true,
},
maintainerName: {
type: 'string' as const,
optional: false as const, nullable: true as const,
type: 'string',
optional: false, nullable: true,
},
maintainerEmail: {
type: 'string' as const,
optional: false as const, nullable: true as const,
type: 'string',
optional: false, nullable: true,
},
iconUrl: {
type: 'string' as const,
optional: false as const, nullable: true as const,
type: 'string',
optional: false, nullable: true,
format: 'url',
},
infoUpdatedAt: {
type: 'string' as const,
optional: false as const, nullable: true as const,
type: 'string',
optional: false, nullable: true,
format: 'date-time',
},
},
};
} as const;

View File

@ -1,37 +1,37 @@
export const packedFollowingSchema = {
type: 'object' as const,
optional: false as const, nullable: false as const,
type: 'object',
optional: false, nullable: false,
properties: {
id: {
type: 'string' as const,
optional: false as const, nullable: false as const,
type: 'string',
optional: false, nullable: false,
format: 'id',
example: 'xxxxxxxxxx',
},
createdAt: {
type: 'string' as const,
optional: false as const, nullable: false as const,
type: 'string',
optional: false, nullable: false,
format: 'date-time',
},
followeeId: {
type: 'string' as const,
optional: false as const, nullable: false as const,
type: 'string',
optional: false, nullable: false,
format: 'id',
},
followee: {
type: 'object' as const,
optional: true as const, nullable: false as const,
ref: 'User' as const,
type: 'object',
optional: true, nullable: false,
ref: 'User',
},
followerId: {
type: 'string' as const,
optional: false as const, nullable: false as const,
type: 'string',
optional: false, nullable: false,
format: 'id',
},
follower: {
type: 'object' as const,
optional: true as const, nullable: false as const,
ref: 'User' as const,
type: 'object',
optional: true, nullable: false,
ref: 'User',
},
},
};
} as const;

View File

@ -1,70 +1,70 @@
export const packedGalleryPostSchema = {
type: 'object' as const,
optional: false as const, nullable: false as const,
type: 'object',
optional: false, nullable: false,
properties: {
id: {
type: 'string' as const,
optional: false as const, nullable: false as const,
type: 'string',
optional: false, nullable: false,
format: 'id',
example: 'xxxxxxxxxx',
},
createdAt: {
type: 'string' as const,
optional: false as const, nullable: false as const,
type: 'string',
optional: false, nullable: false,
format: 'date-time',
},
updatedAt: {
type: 'string' as const,
optional: false as const, nullable: false as const,
type: 'string',
optional: false, nullable: false,
format: 'date-time',
},
title: {
type: 'string' as const,
optional: false as const, nullable: false as const,
type: 'string',
optional: false, nullable: false,
},
description: {
type: 'string' as const,
optional: false as const, nullable: true as const,
type: 'string',
optional: false, nullable: true,
},
userId: {
type: 'string' as const,
optional: false as const, nullable: false as const,
type: 'string',
optional: false, nullable: false,
format: 'id',
},
user: {
type: 'object' as const,
ref: 'User' as const,
optional: false as const, nullable: false as const,
type: 'object',
ref: 'User',
optional: false, nullable: false,
},
fileIds: {
type: 'array' as const,
optional: true as const, nullable: false as const,
type: 'array',
optional: true, nullable: false,
items: {
type: 'string' as const,
optional: false as const, nullable: false as const,
type: 'string',
optional: false, nullable: false,
format: 'id',
},
},
files: {
type: 'array' as const,
optional: true as const, nullable: false as const,
type: 'array',
optional: true, nullable: false,
items: {
type: 'object' as const,
optional: false as const, nullable: false as const,
ref: 'DriveFile' as const,
type: 'object',
optional: false, nullable: false,
ref: 'DriveFile',
},
},
tags: {
type: 'array' as const,
optional: true as const, nullable: false as const,
type: 'array',
optional: true, nullable: false,
items: {
type: 'string' as const,
optional: false as const, nullable: false as const,
type: 'string',
optional: false, nullable: false,
},
},
isSensitive: {
type: 'boolean' as const,
optional: false as const, nullable: false as const,
type: 'boolean',
optional: false, nullable: false,
},
},
};
} as const;

View File

@ -1,35 +1,35 @@
export const packedHashtagSchema = {
type: 'object' as const,
optional: false as const, nullable: false as const,
type: 'object',
optional: false, nullable: false,
properties: {
tag: {
type: 'string' as const,
optional: false as const, nullable: false as const,
type: 'string',
optional: false, nullable: false,
example: 'misskey',
},
mentionedUsersCount: {
type: 'number' as const,
optional: false as const, nullable: false as const,
type: 'number',
optional: false, nullable: false,
},
mentionedLocalUsersCount: {
type: 'number' as const,
optional: false as const, nullable: false as const,
type: 'number',
optional: false, nullable: false,
},
mentionedRemoteUsersCount: {
type: 'number' as const,
optional: false as const, nullable: false as const,
type: 'number',
optional: false, nullable: false,
},
attachedUsersCount: {
type: 'number' as const,
optional: false as const, nullable: false as const,
type: 'number',
optional: false, nullable: false,
},
attachedLocalUsersCount: {
type: 'number' as const,
optional: false as const, nullable: false as const,
type: 'number',
optional: false, nullable: false,
},
attachedRemoteUsersCount: {
type: 'number' as const,
optional: false as const, nullable: false as const,
type: 'number',
optional: false, nullable: false,
},
},
};
} as const;

View File

@ -1,74 +1,74 @@
export const packedMessagingMessageSchema = {
type: 'object' as const,
optional: false as const, nullable: false as const,
type: 'object',
optional: false, nullable: false,
properties: {
id: {
type: 'string' as const,
optional: false as const, nullable: false as const,
type: 'string',
optional: false, nullable: false,
format: 'id',
example: 'xxxxxxxxxx',
},
createdAt: {
type: 'string' as const,
optional: false as const, nullable: false as const,
type: 'string',
optional: false, nullable: false,
format: 'date-time',
},
userId: {
type: 'string' as const,
optional: false as const, nullable: false as const,
type: 'string',
optional: false, nullable: false,
format: 'id',
},
user: {
type: 'object' as const,
ref: 'User' as const,
optional: true as const, nullable: false as const,
type: 'object',
ref: 'User',
optional: true, nullable: false,
},
text: {
type: 'string' as const,
optional: false as const, nullable: true as const,
type: 'string',
optional: false, nullable: true,
},
fileId: {
type: 'string' as const,
optional: true as const, nullable: true as const,
type: 'string',
optional: true, nullable: true,
format: 'id',
},
file: {
type: 'object' as const,
optional: true as const, nullable: true as const,
ref: 'DriveFile' as const,
type: 'object',
optional: true, nullable: true,
ref: 'DriveFile',
},
recipientId: {
type: 'string' as const,
optional: false as const, nullable: true as const,
type: 'string',
optional: false, nullable: true,
format: 'id',
},
recipient: {
type: 'object' as const,
optional: true as const, nullable: true as const,
ref: 'User' as const,
type: 'object',
optional: true, nullable: true,
ref: 'User',
},
groupId: {
type: 'string' as const,
optional: false as const, nullable: true as const,
type: 'string',
optional: false, nullable: true,
format: 'id',
},
group: {
type: 'object' as const,
optional: true as const, nullable: true as const,
ref: 'UserGroup' as const,
type: 'object',
optional: true, nullable: true,
ref: 'UserGroup',
},
isRead: {
type: 'boolean' as const,
optional: true as const, nullable: false as const,
type: 'boolean',
optional: true, nullable: false,
},
reads: {
type: 'array' as const,
optional: true as const, nullable: false as const,
type: 'array',
optional: true, nullable: false,
items: {
type: 'string' as const,
optional: false as const, nullable: false as const,
type: 'string',
optional: false, nullable: false,
format: 'id',
},
},
},
};
} as const;

View File

@ -1,27 +1,27 @@
export const packedMutingSchema = {
type: 'object' as const,
optional: false as const, nullable: false as const,
type: 'object',
optional: false, nullable: false,
properties: {
id: {
type: 'string' as const,
optional: false as const, nullable: false as const,
type: 'string',
optional: false, nullable: false,
format: 'id',
example: 'xxxxxxxxxx',
},
createdAt: {
type: 'string' as const,
optional: false as const, nullable: false as const,
type: 'string',
optional: false, nullable: false,
format: 'date-time',
},
muteeId: {
type: 'string' as const,
optional: false as const, nullable: false as const,
type: 'string',
optional: false, nullable: false,
format: 'id',
},
mutee: {
type: 'object' as const,
optional: false as const, nullable: false as const,
ref: 'User' as const,
type: 'object',
optional: false, nullable: false,
ref: 'User',
},
},
};
} as const;

View File

@ -1,27 +1,27 @@
export const packedNoteFavoriteSchema = {
type: 'object' as const,
optional: false as const, nullable: false as const,
type: 'object',
optional: false, nullable: false,
properties: {
id: {
type: 'string' as const,
optional: false as const, nullable: false as const,
type: 'string',
optional: false, nullable: false,
format: 'id',
example: 'xxxxxxxxxx',
},
createdAt: {
type: 'string' as const,
optional: false as const, nullable: false as const,
type: 'string',
optional: false, nullable: false,
format: 'date-time',
},
note: {
type: 'object' as const,
optional: false as const, nullable: false as const,
ref: 'Note' as const,
type: 'object',
optional: false, nullable: false,
ref: 'Note',
},
noteId: {
type: 'string' as const,
optional: false as const, nullable: false as const,
type: 'string',
optional: false, nullable: false,
format: 'id',
},
},
};
} as const;

View File

@ -1,26 +1,26 @@
export const packedNoteReactionSchema = {
type: 'object' as const,
optional: false as const, nullable: false as const,
type: 'object',
optional: false, nullable: false,
properties: {
id: {
type: 'string' as const,
optional: false as const, nullable: false as const,
type: 'string',
optional: false, nullable: false,
format: 'id',
example: 'xxxxxxxxxx',
},
createdAt: {
type: 'string' as const,
optional: false as const, nullable: false as const,
type: 'string',
optional: false, nullable: false,
format: 'date-time',
},
user: {
type: 'object' as const,
optional: false as const, nullable: false as const,
ref: 'User' as const,
type: 'object',
optional: false, nullable: false,
ref: 'User',
},
type: {
type: 'string' as const,
optional: false as const, nullable: false as const,
type: 'string',
optional: false, nullable: false,
},
},
};
} as const;

View File

@ -1,184 +1,184 @@
export const packedNoteSchema = {
type: 'object' as const,
optional: false as const, nullable: false as const,
type: 'object',
optional: false, nullable: false,
properties: {
id: {
type: 'string' as const,
optional: false as const, nullable: false as const,
type: 'string',
optional: false, nullable: false,
format: 'id',
example: 'xxxxxxxxxx',
},
createdAt: {
type: 'string' as const,
optional: false as const, nullable: false as const,
type: 'string',
optional: false, nullable: false,
format: 'date-time',
},
text: {
type: 'string' as const,
optional: false as const, nullable: true as const,
type: 'string',
optional: false, nullable: true,
},
cw: {
type: 'string' as const,
optional: true as const, nullable: true as const,
type: 'string',
optional: true, nullable: true,
},
userId: {
type: 'string' as const,
optional: false as const, nullable: false as const,
type: 'string',
optional: false, nullable: false,
format: 'id',
},
user: {
type: 'object' as const,
ref: 'User' as const,
optional: false as const, nullable: false as const,
type: 'object',
ref: 'User',
optional: false, nullable: false,
},
replyId: {
type: 'string' as const,
optional: true as const, nullable: true as const,
type: 'string',
optional: true, nullable: true,
format: 'id',
example: 'xxxxxxxxxx',
},
renoteId: {
type: 'string' as const,
optional: true as const, nullable: true as const,
type: 'string',
optional: true, nullable: true,
format: 'id',
example: 'xxxxxxxxxx',
},
reply: {
type: 'object' as const,
optional: true as const, nullable: true as const,
ref: 'Note' as const,
type: 'object',
optional: true, nullable: true,
ref: 'Note',
},
renote: {
type: 'object' as const,
optional: true as const, nullable: true as const,
ref: 'Note' as const,
type: 'object',
optional: true, nullable: true,
ref: 'Note',
},
isHidden: {
type: 'boolean' as const,
optional: true as const, nullable: false as const,
type: 'boolean',
optional: true, nullable: false,
},
visibility: {
type: 'string' as const,
optional: false as const, nullable: false as const,
type: 'string',
optional: false, nullable: false,
},
mentions: {
type: 'array' as const,
optional: true as const, nullable: false as const,
type: 'array',
optional: true, nullable: false,
items: {
type: 'string' as const,
optional: false as const, nullable: false as const,
type: 'string',
optional: false, nullable: false,
format: 'id',
},
},
visibleUserIds: {
type: 'array' as const,
optional: true as const, nullable: false as const,
type: 'array',
optional: true, nullable: false,
items: {
type: 'string' as const,
optional: false as const, nullable: false as const,
type: 'string',
optional: false, nullable: false,
format: 'id',
},
},
fileIds: {
type: 'array' as const,
optional: true as const, nullable: false as const,
type: 'array',
optional: true, nullable: false,
items: {
type: 'string' as const,
optional: false as const, nullable: false as const,
type: 'string',
optional: false, nullable: false,
format: 'id',
},
},
files: {
type: 'array' as const,
optional: true as const, nullable: false as const,
type: 'array',
optional: true, nullable: false,
items: {
type: 'object' as const,
optional: false as const, nullable: false as const,
ref: 'DriveFile' as const,
type: 'object',
optional: false, nullable: false,
ref: 'DriveFile',
},
},
tags: {
type: 'array' as const,
optional: true as const, nullable: false as const,
type: 'array',
optional: true, nullable: false,
items: {
type: 'string' as const,
optional: false as const, nullable: false as const,
type: 'string',
optional: false, nullable: false,
},
},
poll: {
type: 'object' as const,
optional: true as const, nullable: true as const,
type: 'object',
optional: true, nullable: true,
},
channelId: {
type: 'string' as const,
optional: true as const, nullable: true as const,
type: 'string',
optional: true, nullable: true,
format: 'id',
example: 'xxxxxxxxxx',
},
channel: {
type: 'object' as const,
optional: true as const, nullable: true as const,
type: 'object',
optional: true, nullable: true,
items: {
type: 'object' as const,
optional: false as const, nullable: false as const,
type: 'object',
optional: false, nullable: false,
properties: {
id: {
type: 'string' as const,
optional: false as const, nullable: false as const,
type: 'string',
optional: false, nullable: false,
},
name: {
type: 'string' as const,
optional: false as const, nullable: true as const,
type: 'string',
optional: false, nullable: true,
},
},
},
},
localOnly: {
type: 'boolean' as const,
optional: true as const, nullable: false as const,
type: 'boolean',
optional: true, nullable: false,
},
emojis: {
type: 'array' as const,
optional: false as const, nullable: false as const,
type: 'array',
optional: false, nullable: false,
items: {
type: 'object' as const,
optional: false as const, nullable: false as const,
type: 'object',
optional: false, nullable: false,
properties: {
name: {
type: 'string' as const,
optional: false as const, nullable: false as const,
type: 'string',
optional: false, nullable: false,
},
url: {
type: 'string' as const,
optional: false as const, nullable: true as const,
type: 'string',
optional: false, nullable: true,
},
},
},
},
reactions: {
type: 'object' as const,
optional: false as const, nullable: false as const,
type: 'object',
optional: false, nullable: false,
},
renoteCount: {
type: 'number' as const,
optional: false as const, nullable: false as const,
type: 'number',
optional: false, nullable: false,
},
repliesCount: {
type: 'number' as const,
optional: false as const, nullable: false as const,
type: 'number',
optional: false, nullable: false,
},
uri: {
type: 'string' as const,
optional: true as const, nullable: false as const,
type: 'string',
optional: true, nullable: false,
},
url: {
type: 'string' as const,
optional: true as const, nullable: false as const,
type: 'string',
optional: true, nullable: false,
},
myReaction: {
type: 'object' as const,
optional: true as const, nullable: true as const,
type: 'object',
optional: true, nullable: true,
},
},
};
} as const;

View File

@ -1,67 +1,67 @@
import { notificationTypes } from "@/types";
export const packedNotificationSchema = {
type: 'object' as const,
optional: false as const, nullable: false as const,
type: 'object',
optional: false, nullable: false,
properties: {
id: {
type: 'string' as const,
optional: false as const, nullable: false as const,
type: 'string',
optional: false, nullable: false,
format: 'id',
example: 'xxxxxxxxxx',
},
createdAt: {
type: 'string' as const,
optional: false as const, nullable: false as const,
type: 'string',
optional: false, nullable: false,
format: 'date-time',
},
isRead: {
type: 'boolean' as const,
optional: false as const, nullable: false as const,
type: 'boolean',
optional: false, nullable: false,
},
type: {
type: 'string' as const,
optional: false as const, nullable: false as const,
type: 'string',
optional: false, nullable: false,
enum: [...notificationTypes],
},
user: {
type: 'object' as const,
ref: 'User' as const,
optional: true as const, nullable: true as const,
type: 'object',
ref: 'User',
optional: true, nullable: true,
},
userId: {
type: 'string' as const,
optional: true as const, nullable: true as const,
type: 'string',
optional: true, nullable: true,
format: 'id',
},
note: {
type: 'object' as const,
ref: 'Note' as const,
optional: true as const, nullable: true as const,
type: 'object',
ref: 'Note',
optional: true, nullable: true,
},
reaction: {
type: 'string' as const,
optional: true as const, nullable: true as const,
type: 'string',
optional: true, nullable: true,
},
choice: {
type: 'number' as const,
optional: true as const, nullable: true as const,
type: 'number',
optional: true, nullable: true,
},
invitation: {
type: 'object' as const,
optional: true as const, nullable: true as const,
type: 'object',
optional: true, nullable: true,
},
body: {
type: 'string' as const,
optional: true as const, nullable: true as const,
type: 'string',
optional: true, nullable: true,
},
header: {
type: 'string' as const,
optional: true as const, nullable: true as const,
type: 'string',
optional: true, nullable: true,
},
icon: {
type: 'string' as const,
optional: true as const, nullable: true as const,
type: 'string',
optional: true, nullable: true,
},
},
};
} as const;

View File

@ -1,52 +1,52 @@
export const packedPageSchema = {
type: 'object' as const,
optional: false as const, nullable: false as const,
type: 'object',
optional: false, nullable: false,
properties: {
id: {
type: 'string' as const,
optional: false as const, nullable: false as const,
type: 'string',
optional: false, nullable: false,
format: 'id',
example: 'xxxxxxxxxx',
},
createdAt: {
type: 'string' as const,
optional: false as const, nullable: false as const,
type: 'string',
optional: false, nullable: false,
format: 'date-time',
},
updatedAt: {
type: 'string' as const,
optional: false as const, nullable: false as const,
type: 'string',
optional: false, nullable: false,
format: 'date-time',
},
title: {
type: 'string' as const,
optional: false as const, nullable: false as const,
type: 'string',
optional: false, nullable: false,
},
name: {
type: 'string' as const,
optional: false as const, nullable: false as const,
type: 'string',
optional: false, nullable: false,
},
summary: {
type: 'string' as const,
optional: false as const, nullable: true as const,
type: 'string',
optional: false, nullable: true,
},
content: {
type: 'array' as const,
optional: false as const, nullable: false as const,
type: 'array',
optional: false, nullable: false,
},
variables: {
type: 'array' as const,
optional: false as const, nullable: false as const,
type: 'array',
optional: false, nullable: false,
},
userId: {
type: 'string' as const,
optional: false as const, nullable: false as const,
type: 'string',
optional: false, nullable: false,
format: 'id',
},
user: {
type: 'object' as const,
ref: 'User' as const,
optional: false as const, nullable: false as const,
type: 'object',
ref: 'User',
optional: false, nullable: false,
},
},
};
} as const;

View File

@ -1,26 +1,26 @@
export const packedQueueCountSchema = {
type: 'object' as const,
optional: false as const, nullable: false as const,
type: 'object',
optional: false, nullable: false,
properties: {
waiting: {
type: 'number' as const,
optional: false as const, nullable: false as const,
type: 'number',
optional: false, nullable: false,
},
active: {
type: 'number' as const,
optional: false as const, nullable: false as const,
type: 'number',
optional: false, nullable: false,
},
completed: {
type: 'number' as const,
optional: false as const, nullable: false as const,
type: 'number',
optional: false, nullable: false,
},
failed: {
type: 'number' as const,
optional: false as const, nullable: false as const,
type: 'number',
optional: false, nullable: false,
},
delayed: {
type: 'number' as const,
optional: false as const, nullable: false as const,
type: 'number',
optional: false, nullable: false,
},
},
};
} as const;

View File

@ -1,35 +1,35 @@
export const packedUserGroupSchema = {
type: 'object' as const,
optional: false as const, nullable: false as const,
type: 'object',
optional: false, nullable: false,
properties: {
id: {
type: 'string' as const,
optional: false as const, nullable: false as const,
type: 'string',
optional: false, nullable: false,
format: 'id',
example: 'xxxxxxxxxx',
},
createdAt: {
type: 'string' as const,
optional: false as const, nullable: false as const,
type: 'string',
optional: false, nullable: false,
format: 'date-time',
},
name: {
type: 'string' as const,
optional: false as const, nullable: false as const,
type: 'string',
optional: false, nullable: false,
},
ownerId: {
type: 'string' as const,
nullable: false as const, optional: false as const,
type: 'string',
nullable: false, optional: false,
format: 'id',
},
userIds: {
type: 'array' as const,
nullable: false as const, optional: true as const,
type: 'array',
nullable: false, optional: true,
items: {
type: 'string' as const,
nullable: false as const, optional: false as const,
type: 'string',
nullable: false, optional: false,
format: 'id',
},
},
},
};
} as const;

View File

@ -1,30 +1,30 @@
export const packedUserListSchema = {
type: 'object' as const,
optional: false as const, nullable: false as const,
type: 'object',
optional: false, nullable: false,
properties: {
id: {
type: 'string' as const,
optional: false as const, nullable: false as const,
type: 'string',
optional: false, nullable: false,
format: 'id',
example: 'xxxxxxxxxx',
},
createdAt: {
type: 'string' as const,
optional: false as const, nullable: false as const,
type: 'string',
optional: false, nullable: false,
format: 'date-time',
},
name: {
type: 'string' as const,
optional: false as const, nullable: false as const,
type: 'string',
optional: false, nullable: false,
},
userIds: {
type: 'array' as const,
nullable: false as const, optional: true as const,
type: 'array',
nullable: false, optional: true,
items: {
type: 'string' as const,
nullable: false as const, optional: false as const,
type: 'string',
nullable: false, optional: false,
format: 'id',
},
},
},
};
} as const;

View File

@ -1,309 +1,309 @@
export const packedUserSchema = {
type: 'object' as const,
nullable: false as const, optional: false as const,
type: 'object',
nullable: false, optional: false,
properties: {
id: {
type: 'string' as const,
nullable: false as const, optional: false as const,
type: 'string',
nullable: false, optional: false,
format: 'id',
example: 'xxxxxxxxxx',
},
name: {
type: 'string' as const,
nullable: true as const, optional: false as const,
type: 'string',
nullable: true, optional: false,
example: '藍',
},
username: {
type: 'string' as const,
nullable: false as const, optional: false as const,
type: 'string',
nullable: false, optional: false,
example: 'ai',
},
host: {
type: 'string' as const,
nullable: true as const, optional: false as const,
type: 'string',
nullable: true, optional: false,
example: 'misskey.example.com',
},
avatarUrl: {
type: 'string' as const,
type: 'string',
format: 'url',
nullable: true as const, optional: false as const,
nullable: true, optional: false,
},
avatarBlurhash: {
type: 'any' as const,
nullable: true as const, optional: false as const,
type: 'any',
nullable: true, optional: false,
},
avatarColor: {
type: 'any' as const,
nullable: true as const, optional: false as const,
type: 'any',
nullable: true, optional: false,
default: null,
},
isAdmin: {
type: 'boolean' as const,
nullable: false as const, optional: true as const,
type: 'boolean',
nullable: false, optional: true,
default: false,
},
isModerator: {
type: 'boolean' as const,
nullable: false as const, optional: true as const,
type: 'boolean',
nullable: false, optional: true,
default: false,
},
isBot: {
type: 'boolean' as const,
nullable: false as const, optional: true as const,
type: 'boolean',
nullable: false, optional: true,
},
isCat: {
type: 'boolean' as const,
nullable: false as const, optional: true as const,
type: 'boolean',
nullable: false, optional: true,
},
emojis: {
type: 'array' as const,
nullable: false as const, optional: false as const,
type: 'array',
nullable: false, optional: false,
items: {
type: 'object' as const,
nullable: false as const, optional: false as const,
type: 'object',
nullable: false, optional: false,
properties: {
name: {
type: 'string' as const,
nullable: false as const, optional: false as const,
type: 'string',
nullable: false, optional: false,
},
url: {
type: 'string' as const,
nullable: false as const, optional: false as const,
type: 'string',
nullable: false, optional: false,
format: 'url',
},
},
},
},
url: {
type: 'string' as const,
type: 'string',
format: 'url',
nullable: true as const, optional: true as const,
nullable: true, optional: true,
},
createdAt: {
type: 'string' as const,
nullable: false as const, optional: true as const,
type: 'string',
nullable: false, optional: true,
format: 'date-time',
},
updatedAt: {
type: 'string' as const,
nullable: true as const, optional: true as const,
type: 'string',
nullable: true, optional: true,
format: 'date-time',
},
bannerUrl: {
type: 'string' as const,
type: 'string',
format: 'url',
nullable: true as const, optional: true as const,
nullable: true, optional: true,
},
bannerBlurhash: {
type: 'any' as const,
nullable: true as const, optional: true as const,
type: 'any',
nullable: true, optional: true,
},
bannerColor: {
type: 'any' as const,
nullable: true as const, optional: true as const,
type: 'any',
nullable: true, optional: true,
default: null,
},
isLocked: {
type: 'boolean' as const,
nullable: false as const, optional: true as const,
type: 'boolean',
nullable: false, optional: true,
},
isSuspended: {
type: 'boolean' as const,
nullable: false as const, optional: true as const,
type: 'boolean',
nullable: false, optional: true,
example: false,
},
description: {
type: 'string' as const,
nullable: true as const, optional: true as const,
type: 'string',
nullable: true, optional: true,
example: 'Hi masters, I am Ai!',
},
location: {
type: 'string' as const,
nullable: true as const, optional: true as const,
type: 'string',
nullable: true, optional: true,
},
birthday: {
type: 'string' as const,
nullable: true as const, optional: true as const,
type: 'string',
nullable: true, optional: true,
example: '2018-03-12',
},
fields: {
type: 'array' as const,
nullable: false as const, optional: true as const,
type: 'array',
nullable: false, optional: true,
items: {
type: 'object' as const,
nullable: false as const, optional: false as const,
type: 'object',
nullable: false, optional: false,
properties: {
name: {
type: 'string' as const,
nullable: false as const, optional: false as const,
type: 'string',
nullable: false, optional: false,
},
value: {
type: 'string' as const,
nullable: false as const, optional: false as const,
type: 'string',
nullable: false, optional: false,
},
},
maxLength: 4,
},
},
followersCount: {
type: 'number' as const,
nullable: false as const, optional: true as const,
type: 'number',
nullable: false, optional: true,
},
followingCount: {
type: 'number' as const,
nullable: false as const, optional: true as const,
type: 'number',
nullable: false, optional: true,
},
notesCount: {
type: 'number' as const,
nullable: false as const, optional: true as const,
type: 'number',
nullable: false, optional: true,
},
pinnedNoteIds: {
type: 'array' as const,
nullable: false as const, optional: true as const,
type: 'array',
nullable: false, optional: true,
items: {
type: 'string' as const,
nullable: false as const, optional: false as const,
type: 'string',
nullable: false, optional: false,
format: 'id',
},
},
pinnedNotes: {
type: 'array' as const,
nullable: false as const, optional: true as const,
type: 'array',
nullable: false, optional: true,
items: {
type: 'object' as const,
nullable: false as const, optional: false as const,
ref: 'Note' as const,
type: 'object',
nullable: false, optional: false,
ref: 'Note',
},
},
pinnedPageId: {
type: 'string' as const,
nullable: true as const, optional: true as const,
type: 'string',
nullable: true, optional: true,
},
pinnedPage: {
type: 'object' as const,
nullable: true as const, optional: true as const,
ref: 'Page' as const,
type: 'object',
nullable: true, optional: true,
ref: 'Page',
},
twoFactorEnabled: {
type: 'boolean' as const,
nullable: false as const, optional: true as const,
type: 'boolean',
nullable: false, optional: true,
default: false,
},
usePasswordLessLogin: {
type: 'boolean' as const,
nullable: false as const, optional: true as const,
type: 'boolean',
nullable: false, optional: true,
default: false,
},
securityKeys: {
type: 'boolean' as const,
nullable: false as const, optional: true as const,
type: 'boolean',
nullable: false, optional: true,
default: false,
},
avatarId: {
type: 'string' as const,
nullable: true as const, optional: true as const,
type: 'string',
nullable: true, optional: true,
format: 'id',
},
bannerId: {
type: 'string' as const,
nullable: true as const, optional: true as const,
type: 'string',
nullable: true, optional: true,
format: 'id',
},
autoWatch: {
type: 'boolean' as const,
nullable: false as const, optional: true as const,
type: 'boolean',
nullable: false, optional: true,
},
injectFeaturedNote: {
type: 'boolean' as const,
nullable: false as const, optional: true as const,
type: 'boolean',
nullable: false, optional: true,
},
alwaysMarkNsfw: {
type: 'boolean' as const,
nullable: false as const, optional: true as const,
type: 'boolean',
nullable: false, optional: true,
},
carefulBot: {
type: 'boolean' as const,
nullable: false as const, optional: true as const,
type: 'boolean',
nullable: false, optional: true,
},
autoAcceptFollowed: {
type: 'boolean' as const,
nullable: false as const, optional: true as const,
type: 'boolean',
nullable: false, optional: true,
},
hasUnreadSpecifiedNotes: {
type: 'boolean' as const,
nullable: false as const, optional: true as const,
type: 'boolean',
nullable: false, optional: true,
},
hasUnreadMentions: {
type: 'boolean' as const,
nullable: false as const, optional: true as const,
type: 'boolean',
nullable: false, optional: true,
},
hasUnreadAnnouncement: {
type: 'boolean' as const,
nullable: false as const, optional: true as const,
type: 'boolean',
nullable: false, optional: true,
},
hasUnreadAntenna: {
type: 'boolean' as const,
nullable: false as const, optional: true as const,
type: 'boolean',
nullable: false, optional: true,
},
hasUnreadChannel: {
type: 'boolean' as const,
nullable: false as const, optional: true as const,
type: 'boolean',
nullable: false, optional: true,
},
hasUnreadMessagingMessage: {
type: 'boolean' as const,
nullable: false as const, optional: true as const,
type: 'boolean',
nullable: false, optional: true,
},
hasUnreadNotification: {
type: 'boolean' as const,
nullable: false as const, optional: true as const,
type: 'boolean',
nullable: false, optional: true,
},
hasPendingReceivedFollowRequest: {
type: 'boolean' as const,
nullable: false as const, optional: true as const,
type: 'boolean',
nullable: false, optional: true,
},
integrations: {
type: 'object' as const,
nullable: false as const, optional: true as const,
type: 'object',
nullable: false, optional: true,
},
mutedWords: {
type: 'array' as const,
nullable: false as const, optional: true as const,
type: 'array',
nullable: false, optional: true,
},
mutedInstances: {
type: 'array' as const,
nullable: false as const, optional: true as const,
type: 'array',
nullable: false, optional: true,
},
mutingNotificationTypes: {
type: 'array' as const,
nullable: false as const, optional: true as const,
type: 'array',
nullable: false, optional: true,
},
isFollowing: {
type: 'boolean' as const,
optional: true as const, nullable: false as const,
type: 'boolean',
optional: true, nullable: false,
},
hasPendingFollowRequestFromYou: {
type: 'boolean' as const,
optional: true as const, nullable: false as const,
type: 'boolean',
optional: true, nullable: false,
},
hasPendingFollowRequestToYou: {
type: 'boolean' as const,
optional: true as const, nullable: false as const,
type: 'boolean',
optional: true, nullable: false,
},
isFollowed: {
type: 'boolean' as const,
optional: true as const, nullable: false as const,
type: 'boolean',
optional: true, nullable: false,
},
isBlocking: {
type: 'boolean' as const,
optional: true as const, nullable: false as const,
type: 'boolean',
optional: true, nullable: false,
},
isBlocked: {
type: 'boolean' as const,
optional: true as const, nullable: false as const,
type: 'boolean',
optional: true, nullable: false,
},
isMuted: {
type: 'boolean' as const,
optional: true as const, nullable: false as const,
type: 'boolean',
optional: true, nullable: false,
},
},
};
} as const;