import { models } from 'beast-orm' /* import { models } from 'src/plugin/src' */ import { environment } from 'src/environments/environment' const { ArrayField, JsonField} = models.indexedDB.fields export class MessageModel extends models.Model { channels = ArrayField() mentions = ArrayField() msg = models.CharField() sendAttempt = models.IntegerField() rid = models.CharField() ts = JsonField({blank:true}) u = JsonField() _id = models.CharField({blank:true}) origin = models.CharField({blank:true}) _updatedAt = models.IntegerField() messageSend = models.BooleanField() offline = models.BooleanField() viewed = ArrayField({blank:true}) received = ArrayField({blank:true}) localReference = models.CharField({blank:true, unique: true}) attachments = ArrayField({blank:true}) file = JsonField({blank:true}) async getAttachments() { const _attachments = await attachments.filter({id: this['id']}) return _attachments } } export class attachments extends models.Model { message = models.OneToOneField({model:MessageModel}) attachments = ArrayField({default:[]}) } export class DeleteMessageModel extends models.Model { messageId = models.CharField() rid = models.CharField() u = JsonField() needToReceiveBy = ArrayField() } models.register({ databaseName: 'chat-storage'+environment.version.lastCommitNumber + environment.id, type: 'indexedDB', version: 11, models: [MessageModel, DeleteMessageModel, attachments] }) 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] })