2022-03-27 20:09:30 +01:00
|
|
|
import { models } from 'beast-orm'
|
2022-03-10 23:08:29 +01:00
|
|
|
import { AESEncrypt } from '../services/aesencrypt.service'
|
|
|
|
|
|
|
|
|
|
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 14:12:00 +01:00
|
|
|
_id = models.CharField({unique:true, 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-18 12:32:21 +01:00
|
|
|
viewed = ArrayField()
|
|
|
|
|
received = ArrayField()
|
2022-03-10 23:08:29 +01:00
|
|
|
localReference = models.CharField({blank:true})
|
2022-03-27 15:30:57 +01:00
|
|
|
attachments = ArrayField({blank:true})
|
|
|
|
|
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-27 15:30:57 +01:00
|
|
|
ts = JsonField()
|
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-18 12:32:21 +01:00
|
|
|
type: 'indexedDB',
|
2022-03-10 23:08:29 +01:00
|
|
|
version: 1,
|
|
|
|
|
models: [MessageModel, DeleteMessageModel]
|
|
|
|
|
})
|