Merge tag '2023.9.0' into merge-upstream

This commit is contained in:
riku6460
2023-09-25 12:43:07 +09:00
1235 changed files with 19016 additions and 13835 deletions

View File

@@ -4,7 +4,7 @@
*/
import { Column, Entity, PrimaryColumn, Index } from 'typeorm';
import { id } from '../id.js';
import { id } from './util/id.js';
@Entity('abuse_report_resolver')
export class MiAbuseReportResolver {

View File

@@ -4,7 +4,7 @@
*/
import { PrimaryColumn, Entity, Index, JoinColumn, Column, ManyToOne } from 'typeorm';
import { id } from '../id.js';
import { id } from './util/id.js';
import { MiUser } from './User.js';
@Entity('abuse_user_report')

View File

@@ -4,7 +4,7 @@
*/
import { Entity, PrimaryColumn, Index, Column, ManyToOne, JoinColumn } from 'typeorm';
import { id } from '../id.js';
import { id } from './util/id.js';
import { MiUser } from './User.js';
import { MiApp } from './App.js';

View File

@@ -4,7 +4,7 @@
*/
import { Entity, Index, Column, PrimaryColumn } from 'typeorm';
import { id } from '../id.js';
import { id } from './util/id.js';
@Entity('ad')
export class MiAd {

View File

@@ -4,7 +4,7 @@
*/
import { Entity, Index, Column, PrimaryColumn, ManyToOne, JoinColumn } from 'typeorm';
import { id } from '../id.js';
import { id } from './util/id.js';
import { MiUser } from './User.js';
@Entity('announcement')

View File

@@ -4,7 +4,7 @@
*/
import { PrimaryColumn, Entity, Index, JoinColumn, Column, ManyToOne } from 'typeorm';
import { id } from '../id.js';
import { id } from './util/id.js';
import { MiUser } from './User.js';
import { MiAnnouncement } from './Announcement.js';

View File

@@ -4,7 +4,7 @@
*/
import { PrimaryColumn, Entity, Index, JoinColumn, Column, ManyToOne } from 'typeorm';
import { id } from '../id.js';
import { id } from './util/id.js';
import { MiUser } from './User.js';
import { MiUserList } from './UserList.js';
@@ -41,8 +41,8 @@ export class MiAntenna {
})
public name: string;
@Column('enum', { enum: ['home', 'all', 'users', 'list'] })
public src: 'home' | 'all' | 'users' | 'list';
@Column('enum', { enum: ['home', 'all', 'users', 'list', 'users_blacklist'] })
public src: 'home' | 'all' | 'users' | 'list' | 'users_blacklist';
@Column({
...id(),

View File

@@ -4,7 +4,7 @@
*/
import { Entity, PrimaryColumn, Column, Index, ManyToOne } from 'typeorm';
import { id } from '../id.js';
import { id } from './util/id.js';
import { MiUser } from './User.js';
@Entity('app')

View File

@@ -4,7 +4,7 @@
*/
import { Entity, PrimaryColumn, Index, Column, ManyToOne, JoinColumn } from 'typeorm';
import { id } from '../id.js';
import { id } from './util/id.js';
import { MiUser } from './User.js';
import { MiApp } from './App.js';

View File

@@ -4,7 +4,7 @@
*/
import { PrimaryColumn, Entity, Index, JoinColumn, Column, ManyToOne } from 'typeorm';
import { id } from '../id.js';
import { id } from './util/id.js';
import { MiUser } from './User.js';
@Entity('blocking')

View File

@@ -4,7 +4,7 @@
*/
import { PrimaryColumn, Entity, Index, JoinColumn, Column, ManyToOne } from 'typeorm';
import { id } from '../id.js';
import { id } from './util/id.js';
import { MiUser } from './User.js';
import { MiDriveFile } from './DriveFile.js';
@@ -94,4 +94,9 @@ export class MiChannel {
comment: 'The count of users.',
})
public usersCount: number;
@Column('boolean', {
default: false,
})
public isSensitive: boolean;
}

View File

@@ -4,7 +4,7 @@
*/
import { PrimaryColumn, Entity, Index, JoinColumn, Column, ManyToOne } from 'typeorm';
import { id } from '../id.js';
import { id } from './util/id.js';
import { MiUser } from './User.js';
import { MiChannel } from './Channel.js';

View File

@@ -4,7 +4,7 @@
*/
import { PrimaryColumn, Entity, Index, JoinColumn, Column, ManyToOne } from 'typeorm';
import { id } from '../id.js';
import { id } from './util/id.js';
import { MiUser } from './User.js';
import { MiChannel } from './Channel.js';

View File

@@ -4,7 +4,7 @@
*/
import { PrimaryColumn, Entity, Index, JoinColumn, Column, ManyToOne } from 'typeorm';
import { id } from '../id.js';
import { id } from './util/id.js';
import { MiUser } from './User.js';
@Entity('clip')

View File

@@ -4,7 +4,7 @@
*/
import { PrimaryColumn, Entity, Index, JoinColumn, Column, ManyToOne } from 'typeorm';
import { id } from '../id.js';
import { id } from './util/id.js';
import { MiUser } from './User.js';
import { MiClip } from './Clip.js';

View File

@@ -4,7 +4,7 @@
*/
import { Entity, Index, JoinColumn, Column, ManyToOne, PrimaryColumn } from 'typeorm';
import { id } from '../id.js';
import { id } from './util/id.js';
import { MiNote } from './Note.js';
import { MiClip } from './Clip.js';

View File

@@ -4,7 +4,7 @@
*/
import { PrimaryColumn, Entity, Index, JoinColumn, Column, ManyToOne } from 'typeorm';
import { id } from '../id.js';
import { id } from './util/id.js';
import { MiUser } from './User.js';
import { MiDriveFolder } from './DriveFolder.js';

View File

@@ -4,7 +4,7 @@
*/
import { JoinColumn, ManyToOne, Entity, PrimaryColumn, Index, Column } from 'typeorm';
import { id } from '../id.js';
import { id } from './util/id.js';
import { MiUser } from './User.js';
@Entity('drive_folder')

View File

@@ -4,7 +4,7 @@
*/
import { PrimaryColumn, Entity, Index, Column } from 'typeorm';
import { id } from '../id.js';
import { id } from './util/id.js';
@Entity('emoji')
@Index(['name', 'host'], { unique: true })

View File

@@ -4,7 +4,7 @@
*/
import { Entity, Index, JoinColumn, Column, PrimaryColumn, ManyToOne } from 'typeorm';
import { id } from '../id.js';
import { id } from './util/id.js';
import { MiUser } from './User.js';
@Entity('flash')
@@ -61,4 +61,13 @@ export class MiFlash {
default: 0,
})
public likedCount: number;
/**
* public ...
* private ...
*/
@Column('varchar', {
length: 512, default: 'public',
})
public visibility: 'public' | 'private';
}

View File

@@ -4,7 +4,7 @@
*/
import { PrimaryColumn, Entity, Index, JoinColumn, Column, ManyToOne } from 'typeorm';
import { id } from '../id.js';
import { id } from './util/id.js';
import { MiUser } from './User.js';
import { MiFlash } from './Flash.js';

View File

@@ -4,7 +4,7 @@
*/
import { PrimaryColumn, Entity, Index, JoinColumn, Column, ManyToOne } from 'typeorm';
import { id } from '../id.js';
import { id } from './util/id.js';
import { MiUser } from './User.js';
@Entity('follow_request')

View File

@@ -4,7 +4,7 @@
*/
import { PrimaryColumn, Entity, Index, JoinColumn, Column, ManyToOne } from 'typeorm';
import { id } from '../id.js';
import { id } from './util/id.js';
import { MiUser } from './User.js';
@Entity('following')
@@ -45,6 +45,13 @@ export class MiFollowing {
@JoinColumn()
public follower: MiUser | null;
@Index()
@Column('varchar', {
length: 32,
nullable: true,
})
public notify: 'normal' | null;
//#region Denormalized fields
@Index()
@Column('varchar', {

View File

@@ -4,7 +4,7 @@
*/
import { PrimaryColumn, Entity, Index, JoinColumn, Column, ManyToOne } from 'typeorm';
import { id } from '../id.js';
import { id } from './util/id.js';
import { MiUser } from './User.js';
import { MiGalleryPost } from './GalleryPost.js';

View File

@@ -4,7 +4,7 @@
*/
import { Entity, Index, JoinColumn, Column, PrimaryColumn, ManyToOne } from 'typeorm';
import { id } from '../id.js';
import { id } from './util/id.js';
import { MiUser } from './User.js';
import type { MiDriveFile } from './DriveFile.js';

View File

@@ -4,7 +4,7 @@
*/
import { Entity, PrimaryColumn, Index, Column } from 'typeorm';
import { id } from '../id.js';
import { id } from './util/id.js';
import type { MiUser } from './User.js';
@Entity('hashtag')

View File

@@ -4,7 +4,7 @@
*/
import { Entity, PrimaryColumn, Index, Column } from 'typeorm';
import { id } from '../id.js';
import { id } from './util/id.js';
@Entity('instance')
export class MiInstance {

View File

@@ -4,7 +4,7 @@
*/
import { Entity, Column, PrimaryColumn, ManyToOne, JoinColumn } from 'typeorm';
import { id } from '../id.js';
import { id } from './util/id.js';
import { MiUser } from './User.js';
@Entity('meta')
@@ -20,6 +20,11 @@ export class MiMeta {
})
public name: string | null;
@Column('varchar', {
length: 64, nullable: true,
})
public shortName: string | null;
@Column('varchar', {
length: 1024, nullable: true,
})
@@ -107,6 +112,18 @@ export class MiMeta {
})
public iconUrl: string | null;
@Column('varchar', {
length: 1024,
nullable: true,
})
public app192IconUrl: string | null;
@Column('varchar', {
length: 1024,
nullable: true,
})
public app512IconUrl: string | null;
@Column('varchar', {
length: 1024,
nullable: true,
@@ -126,7 +143,7 @@ export class MiMeta {
public infoImageUrl: string | null;
@Column('boolean', {
default: true,
default: false,
})
public cacheRemoteFiles: boolean;
@@ -444,6 +461,12 @@ export class MiMeta {
})
public serverRules: string[];
@Column('varchar', {
length: 8192,
default: '{}',
})
public manifestJsonOverride: string;
@Column('varchar', {
length: 1024, array: true, default: '{ "admin", "administrator", "root", "system", "maintainer", "host", "mod", "moderator", "owner", "superuser", "staff", "auth", "i", "me", "everyone", "all", "mention", "mentions", "example", "user", "users", "account", "accounts", "official", "help", "helps", "support", "supports", "info", "information", "informations", "announce", "announces", "announcement", "announcements", "notice", "notification", "notifications", "dev", "developer", "developers", "tech", "misskey" }',
})

View File

@@ -4,7 +4,7 @@
*/
import { PrimaryColumn, Entity, Index, JoinColumn, Column, ManyToOne } from 'typeorm';
import { id } from '../id.js';
import { id } from './util/id.js';
import { MiUser } from './User.js';
@Entity('moderation_log')

View File

@@ -5,7 +5,7 @@
import { Entity, Index, JoinColumn, Column, ManyToOne, PrimaryColumn } from 'typeorm';
import { mutedNoteReasons } from '@/types.js';
import { id } from '../id.js';
import { id } from './util/id.js';
import { MiNote } from './Note.js';
import { MiUser } from './User.js';

View File

@@ -4,7 +4,7 @@
*/
import { PrimaryColumn, Entity, Index, JoinColumn, Column, ManyToOne } from 'typeorm';
import { id } from '../id.js';
import { id } from './util/id.js';
import { MiUser } from './User.js';
@Entity('muting')

View File

@@ -4,8 +4,8 @@
*/
import { Entity, Index, JoinColumn, Column, PrimaryColumn, ManyToOne } from 'typeorm';
import { id } from '../id.js';
import { noteVisibilities } from '../../types.js';
import { noteVisibilities } from '@/types.js';
import { id } from './util/id.js';
import { MiUser } from './User.js';
import { MiChannel } from './Channel.js';
import type { MiDriveFile } from './DriveFile.js';
@@ -107,6 +107,11 @@ export class MiNote {
})
public repliesCount: number;
@Column('smallint', {
default: 0,
})
public clippedCount: number;
@Column('jsonb', {
default: {},
})

View File

@@ -4,7 +4,7 @@
*/
import { PrimaryColumn, Entity, Index, JoinColumn, Column, ManyToOne } from 'typeorm';
import { id } from '../id.js';
import { id } from './util/id.js';
import { MiNote } from './Note.js';
import { MiUser } from './User.js';

View File

@@ -4,7 +4,7 @@
*/
import { PrimaryColumn, Entity, Index, JoinColumn, Column, ManyToOne } from 'typeorm';
import { id } from '../id.js';
import { id } from './util/id.js';
import { MiUser } from './User.js';
import { MiNote } from './Note.js';

View File

@@ -4,7 +4,7 @@
*/
import { PrimaryColumn, Entity, Index, JoinColumn, Column, ManyToOne } from 'typeorm';
import { id } from '../id.js';
import { id } from './util/id.js';
import { MiUser } from './User.js';
@Entity('note_thread_muting')

View File

@@ -4,7 +4,7 @@
*/
import { PrimaryColumn, Entity, Index, JoinColumn, Column, ManyToOne } from 'typeorm';
import { id } from '../id.js';
import { id } from './util/id.js';
import { MiUser } from './User.js';
import { MiNote } from './Note.js';
import type { MiChannel } from './Channel.js';

View File

@@ -22,17 +22,6 @@ export type MiNotification = {
/**
*
* follow -
* mention - 稿
* reply - 稿
* renote - 稿Renoteされた
* quote - 稿Renoteされた
* reaction - 稿
* pollEnded -
* receiveFollowRequest -
* followRequestAccepted -
* achievementEarned -
* app -
*/
type: typeof notificationTypes[number];

View File

@@ -4,7 +4,7 @@
*/
import { Entity, Index, JoinColumn, Column, PrimaryColumn, ManyToOne } from 'typeorm';
import { id } from '../id.js';
import { id } from './util/id.js';
import { MiUser } from './User.js';
import { MiDriveFile } from './DriveFile.js';

View File

@@ -4,7 +4,7 @@
*/
import { PrimaryColumn, Entity, Index, JoinColumn, Column, ManyToOne } from 'typeorm';
import { id } from '../id.js';
import { id } from './util/id.js';
import { MiUser } from './User.js';
import { MiPage } from './Page.js';

View File

@@ -4,7 +4,7 @@
*/
import { PrimaryColumn, Entity, Index, Column, ManyToOne, JoinColumn } from 'typeorm';
import { id } from '../id.js';
import { id } from './util/id.js';
import { MiUser } from './User.js';
@Entity('password_reset_request')

View File

@@ -4,8 +4,8 @@
*/
import { PrimaryColumn, Entity, Index, JoinColumn, Column, OneToOne } from 'typeorm';
import { id } from '../id.js';
import { noteVisibilities } from '../../types.js';
import { noteVisibilities } from '@/types.js';
import { id } from './util/id.js';
import { MiNote } from './Note.js';
import type { MiUser } from './User.js';

View File

@@ -4,7 +4,7 @@
*/
import { PrimaryColumn, Entity, Index, JoinColumn, Column, ManyToOne } from 'typeorm';
import { id } from '../id.js';
import { id } from './util/id.js';
import { MiUser } from './User.js';
import { MiNote } from './Note.js';

View File

@@ -4,7 +4,7 @@
*/
import { PrimaryColumn, Entity, Index, JoinColumn, Column, OneToOne } from 'typeorm';
import { id } from '../id.js';
import { id } from './util/id.js';
import { MiNote } from './Note.js';
import type { MiUser } from './User.js';

View File

@@ -4,7 +4,7 @@
*/
import { PrimaryColumn, Entity, Index, JoinColumn, Column, ManyToOne } from 'typeorm';
import { id } from '../id.js';
import { id } from './util/id.js';
import { MiNote } from './Note.js';
import { MiUser } from './User.js';

View File

@@ -4,7 +4,7 @@
*/
import { PrimaryColumn, Entity, Index, Column, ManyToOne, JoinColumn, OneToOne } from 'typeorm';
import { id } from '../id.js';
import { id } from './util/id.js';
import { MiUser } from './User.js';
@Entity('registration_ticket')

View File

@@ -4,7 +4,7 @@
*/
import { PrimaryColumn, Entity, Index, JoinColumn, Column, ManyToOne } from 'typeorm';
import { id } from '../id.js';
import { id } from './util/id.js';
import { MiUser } from './User.js';
// TODO: 同じdomain、同じscope、同じkeyのレコードは二つ以上存在しないように制約付けたい

View File

@@ -4,7 +4,7 @@
*/
import { PrimaryColumn, Entity, Index, Column } from 'typeorm';
import { id } from '../id.js';
import { id } from './util/id.js';
@Entity('relay')
export class MiRelay {

View File

@@ -4,7 +4,7 @@
*/
import { PrimaryColumn, Entity, Index, JoinColumn, Column, ManyToOne } from 'typeorm';
import { id } from '../id.js';
import { id } from './util/id.js';
import { MiUser } from './User.js';
@Entity('renote_muting')

View File

@@ -5,7 +5,7 @@
import { Module } from '@nestjs/common';
import { DI } from '@/di-symbols.js';
import { MiUser, MiNote, MiAnnouncement, MiAnnouncementRead, MiApp, MiNoteFavorite, MiNoteThreadMuting, MiNoteReaction, MiNoteUnread, MiPoll, MiPollVote, MiUserProfile, MiUserKeypair, MiUserPending, MiUserSecurityKey, MiUserPublickey, MiUserList, MiUserListJoining, MiUserNotePining, MiUserIp, MiUsedUsername, MiFollowing, MiFollowRequest, MiInstance, MiEmoji, MiDriveFile, MiDriveFolder, MiMeta, MiMuting, MiRenoteMuting, MiBlocking, MiSwSubscription, MiHashtag, MiAbuseUserReport, MiRegistrationTicket, MiAuthSession, MiAccessToken, MiSignin, MiPage, MiPageLike, MiGalleryPost, MiGalleryLike, MiModerationLog, MiClip, MiClipNote, MiAntenna, MiPromoNote, MiPromoRead, MiRelay, MiMutedNote, MiChannel, MiChannelFollowing, MiChannelFavorite, MiRegistryItem, MiWebhook, MiAd, MiPasswordResetRequest, MiRetentionAggregation, MiFlashLike, MiFlash, MiRole, MiRoleAssignment, MiClipFavorite, MiUserMemo, MiUserListFavorite, MiAbuseReportResolver } from './index.js';
import { MiAbuseReportResolver, MiAbuseUserReport, MiAccessToken, MiAd, MiAnnouncement, MiAnnouncementRead, MiAntenna, MiApp, MiAuthSession, MiBlocking, MiChannel, MiChannelFavorite, MiChannelFollowing, MiClip, MiClipFavorite, MiClipNote, MiDriveFile, MiDriveFolder, MiEmoji, MiFlash, MiFlashLike, MiFollowRequest, MiFollowing, MiGalleryLike, MiGalleryPost, MiHashtag, MiInstance, MiMeta, MiModerationLog, MiMutedNote, MiMuting, MiNote, MiNoteFavorite, MiNoteReaction, MiNoteThreadMuting, MiNoteUnread, MiPage, MiPageLike, MiPasswordResetRequest, MiPoll, MiPollVote, MiPromoNote, MiPromoRead, MiRegistrationTicket, MiRegistryItem, MiRelay, MiRenoteMuting, MiRetentionAggregation, MiRole, MiRoleAssignment, MiSignin, MiSwSubscription, MiUsedUsername, MiUser, MiUserIp, MiUserKeypair, MiUserList, MiUserListFavorite, MiUserListJoining, MiUserMemo, MiUserNotePining, MiUserPending, MiUserProfile, MiUserPublickey, MiUserSecurityKey, MiWebhook } from './_.js';
import type { DataSource } from 'typeorm';
import type { Provider } from '@nestjs/common';

View File

@@ -4,7 +4,7 @@
*/
import { Entity, PrimaryColumn, Index, Column } from 'typeorm';
import { id } from '../id.js';
import { id } from './util/id.js';
import type { MiUser } from './User.js';
@Entity('retention_aggregation')

View File

@@ -4,7 +4,7 @@
*/
import { Entity, Column, PrimaryColumn } from 'typeorm';
import { id } from '../id.js';
import { id } from './util/id.js';
type CondFormulaValueAnd = {
type: 'and';

View File

@@ -4,7 +4,7 @@
*/
import { PrimaryColumn, Entity, Index, JoinColumn, Column, ManyToOne } from 'typeorm';
import { id } from '../id.js';
import { id } from './util/id.js';
import { MiRole } from './Role.js';
import { MiUser } from './User.js';

View File

@@ -4,7 +4,7 @@
*/
import { PrimaryColumn, Entity, Index, JoinColumn, Column, ManyToOne } from 'typeorm';
import { id } from '../id.js';
import { id } from './util/id.js';
import { MiUser } from './User.js';
@Entity('signin')

View File

@@ -4,7 +4,7 @@
*/
import { PrimaryColumn, Entity, Index, JoinColumn, Column, ManyToOne } from 'typeorm';
import { id } from '../id.js';
import { id } from './util/id.js';
import { MiUser } from './User.js';
@Entity('sw_subscription')

View File

@@ -4,7 +4,7 @@
*/
import { Entity, Column, Index, OneToOne, JoinColumn, PrimaryColumn } from 'typeorm';
import { id } from '../id.js';
import { id } from './util/id.js';
import { MiDriveFile } from './DriveFile.js';
@Entity('user')

View File

@@ -4,7 +4,7 @@
*/
import { Entity, Index, Column, PrimaryGeneratedColumn } from 'typeorm';
import { id } from '../id.js';
import { id } from './util/id.js';
import type { MiUser } from './User.js';
@Entity('user_ip')

View File

@@ -4,7 +4,7 @@
*/
import { PrimaryColumn, Entity, JoinColumn, Column, OneToOne } from 'typeorm';
import { id } from '../id.js';
import { id } from './util/id.js';
import { MiUser } from './User.js';
@Entity('user_keypair')

View File

@@ -4,7 +4,7 @@
*/
import { PrimaryColumn, Entity, Index, JoinColumn, Column, ManyToOne } from 'typeorm';
import { id } from '../id.js';
import { id } from './util/id.js';
import { MiUser } from './User.js';
@Entity('user_list')

View File

@@ -4,7 +4,7 @@
*/
import { PrimaryColumn, Entity, Index, JoinColumn, Column, ManyToOne } from 'typeorm';
import { id } from '../id.js';
import { id } from './util/id.js';
import { MiUser } from './User.js';
import { MiUserList } from './UserList.js';

View File

@@ -4,7 +4,7 @@
*/
import { PrimaryColumn, Entity, Index, JoinColumn, Column, ManyToOne } from 'typeorm';
import { id } from '../id.js';
import { id } from './util/id.js';
import { MiUser } from './User.js';
import { MiUserList } from './UserList.js';

View File

@@ -4,7 +4,7 @@
*/
import { Column, Entity, Index, JoinColumn, ManyToOne, PrimaryColumn } from 'typeorm';
import { id } from '../id.js';
import { id } from './util/id.js';
import { MiUser } from './User.js';
@Entity('user_memo')

View File

@@ -4,7 +4,7 @@
*/
import { PrimaryColumn, Entity, Index, JoinColumn, Column, ManyToOne } from 'typeorm';
import { id } from '../id.js';
import { id } from './util/id.js';
import { MiNote } from './Note.js';
import { MiUser } from './User.js';

View File

@@ -4,7 +4,7 @@
*/
import { PrimaryColumn, Entity, Index, Column } from 'typeorm';
import { id } from '../id.js';
import { id } from './util/id.js';
@Entity('user_pending')
export class MiUserPending {

View File

@@ -5,7 +5,7 @@
import { Entity, Column, Index, OneToOne, JoinColumn, PrimaryColumn } from 'typeorm';
import { obsoleteNotificationTypes, ffVisibility, notificationTypes } from '@/types.js';
import { id } from '../id.js';
import { id } from './util/id.js';
import { MiUser } from './User.js';
import { MiPage } from './Page.js';
@@ -48,6 +48,12 @@ export class MiUserProfile {
value: string;
}[];
@Column('varchar', {
array: true,
default: '{}',
})
public verifiedLinks: string[];
@Column('varchar', {
length: 32, nullable: true,
})
@@ -96,16 +102,16 @@ export class MiUserProfile {
})
public twoFactorTempSecret: string | null;
@Column('varchar', {
nullable: true, array: true,
})
public twoFactorBackupSecret: string[] | null;
@Column('varchar', {
length: 128, nullable: true,
})
public twoFactorSecret: string | null;
@Column('varchar', {
nullable: true, array: true,
})
public twoFactorBackupSecret: string[] | null;
@Column('boolean', {
default: false,
})

View File

@@ -4,7 +4,7 @@
*/
import { PrimaryColumn, Entity, Index, JoinColumn, Column, OneToOne } from 'typeorm';
import { id } from '../id.js';
import { id } from './util/id.js';
import { MiUser } from './User.js';
@Entity('user_publickey')

View File

@@ -4,7 +4,7 @@
*/
import { PrimaryColumn, Entity, JoinColumn, Column, ManyToOne, Index } from 'typeorm';
import { id } from '../id.js';
import { id } from './util/id.js';
import { MiUser } from './User.js';
@Entity('user_security_key')
@@ -52,19 +52,19 @@ export class MiUserSecurityKey {
comment: 'The type of Backup Eligibility in authenticator data',
length: 32, nullable: true,
})
public credentialDeviceType?: string;
public credentialDeviceType: string | null;
@Column('boolean', {
comment: 'Whether or not the credential has been backed up',
nullable: true,
})
public credentialBackedUp?: boolean;
public credentialBackedUp: boolean | null;
@Column('varchar', {
comment: 'The type of the credential returned by the browser',
length: 32, array: true, nullable: true,
})
public transports?: string[];
public transports: string[] | null;
constructor(data: Partial<MiUserSecurityKey>) {
if (data == null) return;

View File

@@ -4,7 +4,7 @@
*/
import { PrimaryColumn, Entity, Index, JoinColumn, Column, ManyToOne } from 'typeorm';
import { id } from '../id.js';
import { id } from './util/id.js';
import { MiUser } from './User.js';
export const webhookEventTypes = ['mention', 'unfollow', 'follow', 'followed', 'note', 'reply', 'renote', 'reaction'] as const;

View File

@@ -3,72 +3,72 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
import { MiAbuseReportResolver } from '@/models/entities/AbuseReportResolver.js';
import { MiAbuseUserReport } from '@/models/entities/AbuseUserReport.js';
import { MiAccessToken } from '@/models/entities/AccessToken.js';
import { MiAd } from '@/models/entities/Ad.js';
import { MiAnnouncement } from '@/models/entities/Announcement.js';
import { MiAnnouncementRead } from '@/models/entities/AnnouncementRead.js';
import { MiAntenna } from '@/models/entities/Antenna.js';
import { MiApp } from '@/models/entities/App.js';
import { MiAuthSession } from '@/models/entities/AuthSession.js';
import { MiBlocking } from '@/models/entities/Blocking.js';
import { MiChannelFollowing } from '@/models/entities/ChannelFollowing.js';
import { MiChannelFavorite } from '@/models/entities/ChannelFavorite.js';
import { MiClip } from '@/models/entities/Clip.js';
import { MiClipNote } from '@/models/entities/ClipNote.js';
import { MiClipFavorite } from '@/models/entities/ClipFavorite.js';
import { MiDriveFile } from '@/models/entities/DriveFile.js';
import { MiDriveFolder } from '@/models/entities/DriveFolder.js';
import { MiEmoji } from '@/models/entities/Emoji.js';
import { MiFollowing } from '@/models/entities/Following.js';
import { MiFollowRequest } from '@/models/entities/FollowRequest.js';
import { MiGalleryLike } from '@/models/entities/GalleryLike.js';
import { MiGalleryPost } from '@/models/entities/GalleryPost.js';
import { MiHashtag } from '@/models/entities/Hashtag.js';
import { MiInstance } from '@/models/entities/Instance.js';
import { MiMeta } from '@/models/entities/Meta.js';
import { MiModerationLog } from '@/models/entities/ModerationLog.js';
import { MiMutedNote } from '@/models/entities/MutedNote.js';
import { MiMuting } from '@/models/entities/Muting.js';
import { MiRenoteMuting } from '@/models/entities/RenoteMuting.js';
import { MiNote } from '@/models/entities/Note.js';
import { MiNoteFavorite } from '@/models/entities/NoteFavorite.js';
import { MiNoteReaction } from '@/models/entities/NoteReaction.js';
import { MiNoteThreadMuting } from '@/models/entities/NoteThreadMuting.js';
import { MiNoteUnread } from '@/models/entities/NoteUnread.js';
import { MiPage } from '@/models/entities/Page.js';
import { MiPageLike } from '@/models/entities/PageLike.js';
import { MiPasswordResetRequest } from '@/models/entities/PasswordResetRequest.js';
import { MiPoll } from '@/models/entities/Poll.js';
import { MiPollVote } from '@/models/entities/PollVote.js';
import { MiPromoNote } from '@/models/entities/PromoNote.js';
import { MiPromoRead } from '@/models/entities/PromoRead.js';
import { MiRegistrationTicket } from '@/models/entities/RegistrationTicket.js';
import { MiRegistryItem } from '@/models/entities/RegistryItem.js';
import { MiRelay } from '@/models/entities/Relay.js';
import { MiSignin } from '@/models/entities/Signin.js';
import { MiSwSubscription } from '@/models/entities/SwSubscription.js';
import { MiUsedUsername } from '@/models/entities/UsedUsername.js';
import { MiUser } from '@/models/entities/User.js';
import { MiUserIp } from '@/models/entities/UserIp.js';
import { MiUserKeypair } from '@/models/entities/UserKeypair.js';
import { MiUserList } from '@/models/entities/UserList.js';
import { MiUserListJoining } from '@/models/entities/UserListJoining.js';
import { MiUserNotePining } from '@/models/entities/UserNotePining.js';
import { MiUserPending } from '@/models/entities/UserPending.js';
import { MiUserProfile } from '@/models/entities/UserProfile.js';
import { MiUserPublickey } from '@/models/entities/UserPublickey.js';
import { MiUserSecurityKey } from '@/models/entities/UserSecurityKey.js';
import { MiUserMemo } from '@/models/entities/UserMemo.js';
import { MiWebhook } from '@/models/entities/Webhook.js';
import { MiChannel } from '@/models/entities/Channel.js';
import { MiRetentionAggregation } from '@/models/entities/RetentionAggregation.js';
import { MiRole } from '@/models/entities/Role.js';
import { MiRoleAssignment } from '@/models/entities/RoleAssignment.js';
import { MiFlash } from '@/models/entities/Flash.js';
import { MiFlashLike } from '@/models/entities/FlashLike.js';
import { MiUserListFavorite } from './entities/UserListFavorite.js';
import { MiAbuseReportResolver } from '@/models/AbuseReportResolver.js';
import { MiAbuseUserReport } from '@/models/AbuseUserReport.js';
import { MiAccessToken } from '@/models/AccessToken.js';
import { MiAd } from '@/models/Ad.js';
import { MiAnnouncement } from '@/models/Announcement.js';
import { MiAnnouncementRead } from '@/models/AnnouncementRead.js';
import { MiAntenna } from '@/models/Antenna.js';
import { MiApp } from '@/models/App.js';
import { MiAuthSession } from '@/models/AuthSession.js';
import { MiBlocking } from '@/models/Blocking.js';
import { MiChannelFollowing } from '@/models/ChannelFollowing.js';
import { MiChannelFavorite } from '@/models/ChannelFavorite.js';
import { MiClip } from '@/models/Clip.js';
import { MiClipNote } from '@/models/ClipNote.js';
import { MiClipFavorite } from '@/models/ClipFavorite.js';
import { MiDriveFile } from '@/models/DriveFile.js';
import { MiDriveFolder } from '@/models/DriveFolder.js';
import { MiEmoji } from '@/models/Emoji.js';
import { MiFollowing } from '@/models/Following.js';
import { MiFollowRequest } from '@/models/FollowRequest.js';
import { MiGalleryLike } from '@/models/GalleryLike.js';
import { MiGalleryPost } from '@/models/GalleryPost.js';
import { MiHashtag } from '@/models/Hashtag.js';
import { MiInstance } from '@/models/Instance.js';
import { MiMeta } from '@/models/Meta.js';
import { MiModerationLog } from '@/models/ModerationLog.js';
import { MiMutedNote } from '@/models/MutedNote.js';
import { MiMuting } from '@/models/Muting.js';
import { MiRenoteMuting } from '@/models/RenoteMuting.js';
import { MiNote } from '@/models/Note.js';
import { MiNoteFavorite } from '@/models/NoteFavorite.js';
import { MiNoteReaction } from '@/models/NoteReaction.js';
import { MiNoteThreadMuting } from '@/models/NoteThreadMuting.js';
import { MiNoteUnread } from '@/models/NoteUnread.js';
import { MiPage } from '@/models/Page.js';
import { MiPageLike } from '@/models/PageLike.js';
import { MiPasswordResetRequest } from '@/models/PasswordResetRequest.js';
import { MiPoll } from '@/models/Poll.js';
import { MiPollVote } from '@/models/PollVote.js';
import { MiPromoNote } from '@/models/PromoNote.js';
import { MiPromoRead } from '@/models/PromoRead.js';
import { MiRegistrationTicket } from '@/models/RegistrationTicket.js';
import { MiRegistryItem } from '@/models/RegistryItem.js';
import { MiRelay } from '@/models/Relay.js';
import { MiSignin } from '@/models/Signin.js';
import { MiSwSubscription } from '@/models/SwSubscription.js';
import { MiUsedUsername } from '@/models/UsedUsername.js';
import { MiUser } from '@/models/User.js';
import { MiUserIp } from '@/models/UserIp.js';
import { MiUserKeypair } from '@/models/UserKeypair.js';
import { MiUserList } from '@/models/UserList.js';
import { MiUserListJoining } from '@/models/UserListJoining.js';
import { MiUserNotePining } from '@/models/UserNotePining.js';
import { MiUserPending } from '@/models/UserPending.js';
import { MiUserProfile } from '@/models/UserProfile.js';
import { MiUserPublickey } from '@/models/UserPublickey.js';
import { MiUserSecurityKey } from '@/models/UserSecurityKey.js';
import { MiUserMemo } from '@/models/UserMemo.js';
import { MiWebhook } from '@/models/Webhook.js';
import { MiChannel } from '@/models/Channel.js';
import { MiRetentionAggregation } from '@/models/RetentionAggregation.js';
import { MiRole } from '@/models/Role.js';
import { MiRoleAssignment } from '@/models/RoleAssignment.js';
import { MiFlash } from '@/models/Flash.js';
import { MiFlashLike } from '@/models/FlashLike.js';
import { MiUserListFavorite } from '@/models/UserListFavorite.js';
import type { Repository } from 'typeorm';
export {

View File

@@ -47,7 +47,7 @@ export const packedAntennaSchema = {
src: {
type: 'string',
optional: false, nullable: false,
enum: ['home', 'all', 'users', 'list'],
enum: ['home', 'all', 'users', 'list', 'users_blacklist'],
},
userListId: {
type: 'string',

View File

@@ -72,5 +72,9 @@ export const packedChannelSchema = {
type: 'string',
optional: false, nullable: false,
},
isSensitive: {
type: 'boolean',
optional: false, nullable: false,
},
},
} as const;

View File

@@ -139,6 +139,10 @@ export const packedNoteSchema = {
type: 'string',
optional: false, nullable: true,
},
isSensitive: {
type: 'boolean',
optional: true, nullable: false,
}
},
},
},

View File

@@ -173,6 +173,15 @@ export const packedUserDetailedNotMeOnlySchema = {
},
},
},
verifiedLinks: {
type: 'array',
nullable: false, optional: false,
items: {
type: 'string',
nullable: false, optional: false,
format: 'url',
},
},
followersCount: {
type: 'number',
nullable: false, optional: false,
@@ -268,6 +277,10 @@ export const packedUserDetailedNotMeOnlySchema = {
type: 'string',
nullable: false, optional: true,
},
notify: {
type: 'string',
nullable: false, optional: true,
},
//#endregion
},
} as const;
@@ -325,7 +338,7 @@ export const packedMeDetailedOnlySchema = {
type: 'boolean',
nullable: false, optional: false,
},
twoFactorBackupCodes: {
twoFactorBackupCodesStock: {
type: 'string',
enum: ['full', 'partial', 'none'],
nullable: false, optional: false,