Files
doneit-web/src/app/models/beast-orm.ts
T

46 lines
1.1 KiB
TypeScript
Raw Normal View History

2022-03-10 23:08:29 +01:00
import { models } from 'beast-orm'
import { AESEncrypt } from '../services/aesencrypt.service'
2022-03-29 00:03:54 +01:00
const _AESEncrypt = new AESEncrypt()
2022-03-18 12:32:21 +01:00
const { ArrayField, JsonField} = models.indexedDB.fields
2022-03-10 23:08:29 +01:00
export class MessageModel extends models.Model {
2022-03-18 12:32:21 +01:00
channels = ArrayField()
mentions = ArrayField()
2022-03-10 23:08:29 +01:00
msg = models.CharField()
rid = models.CharField()
2022-03-28 14:12:00 +01:00
ts = JsonField({blank:true})
2022-03-18 12:32:21 +01:00
u = JsonField()
2022-03-28 16:37:32 +01:00
_id = models.CharField({blank:true})
2022-03-27 15:30:57 +01:00
_updatedAt = models.IntegerField()
2022-03-10 23:08:29 +01:00
messageSend = models.BooleanField()
offline = models.BooleanField()
2022-03-29 00:03:54 +01:00
viewed = ArrayField({blank:true})
received = ArrayField({blank:true})
2022-03-10 23:08:29 +01:00
localReference = models.CharField({blank:true})
2022-03-29 00:03:54 +01:00
attachments = ArrayField({blank:true})
2022-03-27 15:30:57 +01:00
file = JsonField({blank:true})
2022-03-10 23:08:29 +01:00
}
export class DeleteMessageModel extends models.Model {
2022-03-27 15:30:57 +01:00
messageId = models.CharField()
2022-03-10 23:08:29 +01:00
rid = models.CharField()
2022-03-18 12:32:21 +01:00
u = JsonField()
needToReceiveBy = ArrayField()
2022-03-10 23:08:29 +01:00
}
models.register({
databaseName: 'chat-storage',
2022-03-29 00:03:54 +01:00
type: 'indexedDB',
2022-03-28 16:37:32 +01:00
version: 4,
2022-03-10 23:08:29 +01:00
models: [MessageModel, DeleteMessageModel]
2022-03-29 00:03:54 +01:00
})
2022-03-28 21:47:10 +01:00
window['MessageModel'] = MessageModel