summaryrefslogtreecommitdiff
path: root/src/models/entities/meta.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/models/entities/meta.ts')
-rw-r--r--src/models/entities/meta.ts264
1 files changed, 264 insertions, 0 deletions
diff --git a/src/models/entities/meta.ts b/src/models/entities/meta.ts
new file mode 100644
index 0000000000..c34f5b6904
--- /dev/null
+++ b/src/models/entities/meta.ts
@@ -0,0 +1,264 @@
+import { Entity, Column, PrimaryColumn } from 'typeorm';
+import { id } from '../id';
+
+@Entity()
+export class Meta {
+ @PrimaryColumn(id())
+ public id: string;
+
+ @Column('varchar', {
+ length: 128, nullable: true
+ })
+ public name: string | null;
+
+ @Column('varchar', {
+ length: 1024, nullable: true
+ })
+ public description: string | null;
+
+ /**
+ * メンテナの名前
+ */
+ @Column('varchar', {
+ length: 128, nullable: true
+ })
+ public maintainerName: string | null;
+
+ /**
+ * メンテナの連絡先
+ */
+ @Column('varchar', {
+ length: 128, nullable: true
+ })
+ public maintainerEmail: string | null;
+
+ @Column('jsonb', {
+ default: [],
+ })
+ public announcements: Record<string, any>[];
+
+ @Column('boolean', {
+ default: false,
+ })
+ public disableRegistration: boolean;
+
+ @Column('boolean', {
+ default: false,
+ })
+ public disableLocalTimeline: boolean;
+
+ @Column('boolean', {
+ default: false,
+ })
+ public disableGlobalTimeline: boolean;
+
+ @Column('boolean', {
+ default: true,
+ })
+ public enableEmojiReaction: boolean;
+
+ @Column('boolean', {
+ default: false,
+ })
+ public useStarForReactionFallback: boolean;
+
+ @Column('varchar', {
+ length: 64, array: true, default: '{}'
+ })
+ public langs: string[];
+
+ @Column('varchar', {
+ length: 256, array: true, default: '{}'
+ })
+ public hiddenTags: string[];
+
+ @Column('varchar', {
+ length: 256, array: true, default: '{}'
+ })
+ public blockedHosts: string[];
+
+ @Column('varchar', {
+ length: 256,
+ nullable: true,
+ default: '/assets/ai.png'
+ })
+ public mascotImageUrl: string | null;
+
+ @Column('varchar', {
+ length: 256,
+ nullable: true
+ })
+ public bannerUrl: string | null;
+
+ @Column('varchar', {
+ length: 256,
+ nullable: true,
+ default: 'https://ai.misskey.xyz/aiart/yubitun.png'
+ })
+ public errorImageUrl: string | null;
+
+ @Column('varchar', {
+ length: 256,
+ nullable: true
+ })
+ public iconUrl: string | null;
+
+ @Column('boolean', {
+ default: true,
+ })
+ public cacheRemoteFiles: boolean;
+
+ @Column('varchar', {
+ length: 128,
+ nullable: true
+ })
+ public proxyAccount: string | null;
+
+ @Column('boolean', {
+ default: false,
+ })
+ public enableRecaptcha: boolean;
+
+ @Column('varchar', {
+ length: 64,
+ nullable: true
+ })
+ public recaptchaSiteKey: string | null;
+
+ @Column('varchar', {
+ length: 64,
+ nullable: true
+ })
+ public recaptchaSecretKey: string | null;
+
+ @Column('integer', {
+ default: 1024,
+ comment: 'Drive capacity of a local user (MB)'
+ })
+ public localDriveCapacityMb: number;
+
+ @Column('integer', {
+ default: 32,
+ comment: 'Drive capacity of a remote user (MB)'
+ })
+ public remoteDriveCapacityMb: number;
+
+ @Column('integer', {
+ default: 500,
+ comment: 'Max allowed note text length in characters'
+ })
+ public maxNoteTextLength: number;
+
+ @Column('varchar', {
+ length: 128,
+ nullable: true
+ })
+ public summalyProxy: string | null;
+
+ @Column('boolean', {
+ default: false,
+ })
+ public enableEmail: boolean;
+
+ @Column('varchar', {
+ length: 128,
+ nullable: true
+ })
+ public email: string | null;
+
+ @Column('boolean', {
+ default: false,
+ })
+ public smtpSecure: boolean;
+
+ @Column('varchar', {
+ length: 128,
+ nullable: true
+ })
+ public smtpHost: string | null;
+
+ @Column('integer', {
+ nullable: true
+ })
+ public smtpPort: number | null;
+
+ @Column('varchar', {
+ length: 128,
+ nullable: true
+ })
+ public smtpUser: string | null;
+
+ @Column('varchar', {
+ length: 128,
+ nullable: true
+ })
+ public smtpPass: string | null;
+
+ @Column('boolean', {
+ default: false,
+ })
+ public enableServiceWorker: boolean;
+
+ @Column('varchar', {
+ length: 128,
+ nullable: true
+ })
+ public swPublicKey: string | null;
+
+ @Column('varchar', {
+ length: 128,
+ nullable: true
+ })
+ public swPrivateKey: string | null;
+
+ @Column('boolean', {
+ default: false,
+ })
+ public enableTwitterIntegration: boolean;
+
+ @Column('varchar', {
+ length: 128,
+ nullable: true
+ })
+ public twitterConsumerKey: string | null;
+
+ @Column('varchar', {
+ length: 128,
+ nullable: true
+ })
+ public twitterConsumerSecret: string | null;
+
+ @Column('boolean', {
+ default: false,
+ })
+ public enableGithubIntegration: boolean;
+
+ @Column('varchar', {
+ length: 128,
+ nullable: true
+ })
+ public githubClientId: string | null;
+
+ @Column('varchar', {
+ length: 128,
+ nullable: true
+ })
+ public githubClientSecret: string | null;
+
+ @Column('boolean', {
+ default: false,
+ })
+ public enableDiscordIntegration: boolean;
+
+ @Column('varchar', {
+ length: 128,
+ nullable: true
+ })
+ public discordClientId: string | null;
+
+ @Column('varchar', {
+ length: 128,
+ nullable: true
+ })
+ public discordClientSecret: string | null;
+}