aboutsummaryrefslogtreecommitdiffhomepage
path: root/server/models/application/application.ts
diff options
context:
space:
mode:
Diffstat (limited to 'server/models/application/application.ts')
-rw-r--r--server/models/application/application.ts79
1 files changed, 0 insertions, 79 deletions
diff --git a/server/models/application/application.ts b/server/models/application/application.ts
deleted file mode 100644
index c51ceb245..000000000
--- a/server/models/application/application.ts
+++ /dev/null
@@ -1,79 +0,0 @@
1import memoizee from 'memoizee'
2import { AllowNull, Column, Default, DefaultScope, HasOne, IsInt, Model, Table } from 'sequelize-typescript'
3import { getNodeABIVersion } from '@server/helpers/version'
4import { AttributesOnly } from '@shared/typescript-utils'
5import { AccountModel } from '../account/account'
6
7export const getServerActor = memoizee(async function () {
8 const application = await ApplicationModel.load()
9 if (!application) throw Error('Could not load Application from database.')
10
11 const actor = application.Account.Actor
12 actor.Account = application.Account
13
14 return actor
15}, { promise: true })
16
17@DefaultScope(() => ({
18 include: [
19 {
20 model: AccountModel,
21 required: true
22 }
23 ]
24}))
25@Table({
26 tableName: 'application',
27 timestamps: false
28})
29export class ApplicationModel extends Model<Partial<AttributesOnly<ApplicationModel>>> {
30
31 @AllowNull(false)
32 @Default(0)
33 @IsInt
34 @Column
35 migrationVersion: number
36
37 @AllowNull(true)
38 @Column
39 latestPeerTubeVersion: string
40
41 @AllowNull(false)
42 @Column
43 nodeVersion: string
44
45 @AllowNull(false)
46 @Column
47 nodeABIVersion: number
48
49 @HasOne(() => AccountModel, {
50 foreignKey: {
51 allowNull: true
52 },
53 onDelete: 'cascade'
54 })
55 Account: AccountModel
56
57 static countTotal () {
58 return ApplicationModel.count()
59 }
60
61 static load () {
62 return ApplicationModel.findOne()
63 }
64
65 static async nodeABIChanged () {
66 const application = await this.load()
67
68 return application.nodeABIVersion !== getNodeABIVersion()
69 }
70
71 static async updateNodeVersions () {
72 const application = await this.load()
73
74 application.nodeABIVersion = getNodeABIVersion()
75 application.nodeVersion = process.version
76
77 await application.save()
78 }
79}