2023-03-10 09:05:33 +01:00
|
|
|
import { models } from 'beast-orm'
|
|
|
|
|
/* import { models } from 'src/plugin/src' */
|
2022-12-30 10:57:21 +01:00
|
|
|
import { environment } from 'src/environments/environment'
|
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()
|
2022-12-26 15:41:11 +01:00
|
|
|
sendAttempt = models.IntegerField()
|
2022-03-10 23:08:29 +01:00
|
|
|
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})
|
2023-01-24 15:56:47 +01:00
|
|
|
origin = 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})
|
2023-01-09 10:49:58 +01:00
|
|
|
localReference = models.CharField({blank:true, unique: 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
|
|
|
|
2023-01-09 10:49:58 +01:00
|
|
|
async getAttachments() {
|
|
|
|
|
const _attachments = await attachments.filter({id: this['id']})
|
|
|
|
|
return _attachments
|
|
|
|
|
}
|
2022-03-10 23:08:29 +01:00
|
|
|
}
|
|
|
|
|
|
2023-01-09 10:49:58 +01:00
|
|
|
export class attachments extends models.Model {
|
|
|
|
|
message = models.OneToOneField({model:MessageModel})
|
|
|
|
|
attachments = ArrayField({default:[]})
|
|
|
|
|
}
|
2022-03-10 23:08:29 +01:00
|
|
|
|
2023-01-09 10:49:58 +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({
|
2023-01-25 15:06:19 +01:00
|
|
|
databaseName: 'chat-storage'+environment.version.lastCommitNumber + environment.id,
|
2022-03-29 00:03:54 +01:00
|
|
|
type: 'indexedDB',
|
2023-01-24 15:56:47 +01:00
|
|
|
version: 11,
|
2023-01-09 10:49:58 +01:00
|
|
|
models: [MessageModel, DeleteMessageModel, attachments]
|
2022-03-29 00:03:54 +01:00
|
|
|
})
|
2022-03-28 21:47:10 +01:00
|
|
|
|
|
|
|
|
|
2023-03-04 07:21:33 +01:00
|
|
|
window['MessageModel'] = MessageModel
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
export class ActionModel extends models.Model{
|
|
|
|
|
ProcessId = models.IntegerField({unique: true})
|
|
|
|
|
Description = models.CharField()
|
|
|
|
|
Detail = models.CharField()
|
|
|
|
|
DateBegin = models.CharField()
|
|
|
|
|
DateEnd = models.CharField()
|
|
|
|
|
ActionType = models.CharField()
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export class PublicationModel extends models.Model{
|
|
|
|
|
DateIndex = models.CharField()
|
|
|
|
|
DocumentId = models.IntegerField({unique: true})
|
|
|
|
|
ProcessId = models.CharField()
|
|
|
|
|
Title = models.CharField()
|
|
|
|
|
Message = models.CharField()
|
|
|
|
|
DatePublication = models.CharField()
|
|
|
|
|
OriginalFileName = models.CharField()
|
|
|
|
|
FileBase64 = models.CharField()
|
|
|
|
|
FileExtension = models.CharField()
|
|
|
|
|
OrganicEntityId = models.IntegerField()
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
models.register({
|
|
|
|
|
databaseName: 'actions'+environment.version.lastCommitNumber + environment.id,
|
|
|
|
|
type: 'indexedDB',
|
|
|
|
|
version: 14,
|
|
|
|
|
models: [PublicationModel, ActionModel]
|
|
|
|
|
})
|