summaryrefslogtreecommitdiff
path: root/packages/backend/src/models
diff options
context:
space:
mode:
Diffstat (limited to 'packages/backend/src/models')
-rw-r--r--packages/backend/src/models/entities/Ad.ts5
-rw-r--r--packages/backend/src/models/entities/Meta.ts16
-rw-r--r--packages/backend/src/models/entities/RegistrationTicket.ts51
-rw-r--r--packages/backend/src/models/entities/UserProfile.ts2
-rw-r--r--packages/backend/src/models/index.ts2
-rw-r--r--packages/backend/src/models/json-schema/invite-code.ts45
6 files changed, 113 insertions, 8 deletions
diff --git a/packages/backend/src/models/entities/Ad.ts b/packages/backend/src/models/entities/Ad.ts
index 56baf863ca..a496a6d276 100644
--- a/packages/backend/src/models/entities/Ad.ts
+++ b/packages/backend/src/models/entities/Ad.ts
@@ -55,7 +55,10 @@ export class Ad {
length: 8192, nullable: false,
})
public memo: string;
-
+ @Column('integer', {
+ default: 0, nullable: false,
+ })
+ public dayOfWeek: number;
constructor(data: Partial<Ad>) {
if (data == null) return;
diff --git a/packages/backend/src/models/entities/Meta.ts b/packages/backend/src/models/entities/Meta.ts
index f799551f30..7bb1b67712 100644
--- a/packages/backend/src/models/entities/Meta.ts
+++ b/packages/backend/src/models/entities/Meta.ts
@@ -1,7 +1,6 @@
import { Entity, Column, PrimaryColumn, ManyToOne, JoinColumn } from 'typeorm';
import { id } from '../id.js';
import { User } from './User.js';
-import type { Clip } from './Clip.js';
@Entity()
export class Meta {
@@ -126,6 +125,11 @@ export class Meta {
})
public cacheRemoteFiles: boolean;
+ @Column('boolean', {
+ default: true,
+ })
+ public cacheRemoteSensitiveFiles: boolean;
+
@Column({
...id(),
nullable: true,
@@ -413,6 +417,16 @@ export class Meta {
})
public enableChartsForFederatedInstances: boolean;
+ @Column('boolean', {
+ default: false,
+ })
+ public enableServerMachineStats: boolean;
+
+ @Column('boolean', {
+ default: true,
+ })
+ public enableIdenticonGeneration: boolean;
+
@Column('jsonb', {
default: { },
})
diff --git a/packages/backend/src/models/entities/RegistrationTicket.ts b/packages/backend/src/models/entities/RegistrationTicket.ts
index 139e40f85e..4c42b20be8 100644
--- a/packages/backend/src/models/entities/RegistrationTicket.ts
+++ b/packages/backend/src/models/entities/RegistrationTicket.ts
@@ -1,17 +1,60 @@
-import { PrimaryColumn, Entity, Index, Column } from 'typeorm';
+import { PrimaryColumn, Entity, Index, Column, ManyToOne, JoinColumn, OneToOne } from 'typeorm';
import { id } from '../id.js';
+import { User } from './User.js';
@Entity()
export class RegistrationTicket {
@PrimaryColumn(id())
public id: string;
- @Column('timestamp with time zone')
- public createdAt: Date;
-
@Index({ unique: true })
@Column('varchar', {
length: 64,
})
public code: string;
+
+ @Column('timestamp with time zone', {
+ nullable: true,
+ })
+ public expiresAt: Date | null;
+
+ @Column('timestamp with time zone')
+ public createdAt: Date;
+
+ @ManyToOne(type => User, {
+ onDelete: 'CASCADE',
+ })
+ @JoinColumn()
+ public createdBy: User | null;
+
+ @Index()
+ @Column({
+ ...id(),
+ nullable: true,
+ })
+ public createdById: User['id'] | null;
+
+ @OneToOne(type => User, {
+ onDelete: 'CASCADE',
+ })
+ @JoinColumn()
+ public usedBy: User | null;
+
+ @Index()
+ @Column({
+ ...id(),
+ nullable: true,
+ })
+ public usedById: User['id'] | null;
+
+ @Column('timestamp with time zone', {
+ nullable: true,
+ })
+ public usedAt: Date | null;
+
+ @Column('varchar', {
+ length: 32,
+ nullable: true,
+ })
+ public pendingUserId: string | null;
}
diff --git a/packages/backend/src/models/entities/UserProfile.ts b/packages/backend/src/models/entities/UserProfile.ts
index 236ee8f988..c4ed9db9bb 100644
--- a/packages/backend/src/models/entities/UserProfile.ts
+++ b/packages/backend/src/models/entities/UserProfile.ts
@@ -207,7 +207,7 @@ export class UserProfile {
public mutedInstances: string[];
@Column('enum', {
- enum: [
+ enum: [
...notificationTypes,
// マイグレーションで削除が困難なので古いenumは残しておく
...obsoleteNotificationTypes,
diff --git a/packages/backend/src/models/index.ts b/packages/backend/src/models/index.ts
index 4b230ab742..627281df73 100644
--- a/packages/backend/src/models/index.ts
+++ b/packages/backend/src/models/index.ts
@@ -49,7 +49,6 @@ import { User } from '@/models/entities/User.js';
import { UserIp } from '@/models/entities/UserIp.js';
import { UserKeypair } from '@/models/entities/UserKeypair.js';
import { UserList } from '@/models/entities/UserList.js';
-import { UserListFavorite } from './entities/UserListFavorite.js';
import { UserListJoining } from '@/models/entities/UserListJoining.js';
import { UserNotePining } from '@/models/entities/UserNotePining.js';
import { UserPending } from '@/models/entities/UserPending.js';
@@ -64,6 +63,7 @@ import { Role } from '@/models/entities/Role.js';
import { RoleAssignment } from '@/models/entities/RoleAssignment.js';
import { Flash } from '@/models/entities/Flash.js';
import { FlashLike } from '@/models/entities/FlashLike.js';
+import { UserListFavorite } from './entities/UserListFavorite.js';
import type { Repository } from 'typeorm';
export {
diff --git a/packages/backend/src/models/json-schema/invite-code.ts b/packages/backend/src/models/json-schema/invite-code.ts
new file mode 100644
index 0000000000..b70a779f29
--- /dev/null
+++ b/packages/backend/src/models/json-schema/invite-code.ts
@@ -0,0 +1,45 @@
+export const packedInviteCodeSchema = {
+ type: 'object',
+ properties: {
+ id: {
+ type: 'string',
+ optional: false, nullable: false,
+ format: 'id',
+ example: 'xxxxxxxxxx',
+ },
+ code: {
+ type: 'string',
+ optional: false, nullable: false,
+ example: 'GR6S02ERUA5VR',
+ },
+ expiresAt: {
+ type: 'string',
+ optional: false, nullable: true,
+ format: 'date-time',
+ },
+ createdAt: {
+ type: 'string',
+ optional: false, nullable: false,
+ format: 'date-time',
+ },
+ createdBy: {
+ type: 'object',
+ optional: false, nullable: true,
+ ref: 'UserLite',
+ },
+ usedBy: {
+ type: 'object',
+ optional: false, nullable: true,
+ ref: 'UserLite',
+ },
+ usedAt: {
+ type: 'string',
+ optional: false, nullable: true,
+ format: 'date-time',
+ },
+ used: {
+ type: 'boolean',
+ optional: false, nullable: false,
+ },
+ },
+} as const;