import { models } from 'beast-orm' /* import { models } from 'src/plugin/src' */ import { environment } from 'src/environments/environment' // import { DispatchDomain } from 'src/app/domain/process/DispatchDomain' 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] }) // acçoes 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] }) // gabinete // export class DispatchModal extends models.Model{ // SerialNumber = models.CharField() // TaskStartDate = models.CharField() // Subject = models.CharField() // Folio = models.CharField() // Senders = models.CharField() // CreateDate = models.CharField() // DocumentsQty = models.IntegerField() // WorkflowName = models.CharField() // activityInstanceName = models.CharField() // Status = models.CharField() // Deadline = models.CharField() // TaskStatus = models.CharField() // TaskReceiveDate = models.CharField() // // Busses logic // arquivar = DispatchDomain.arquivar // executado = DispatchDomain.executado // reexecutar = DispatchDomain.reexecutar // sendToPending = DispatchDomain.sendToPending // requestAppear = DispatchDomain.requestAppear // createTaskDispatch = DispatchDomain.createTaskDispatch // setUpMeeting = DispatchDomain.setUpMeeting // } // models.register({ // databaseName: 'cabinet'+environment.version.lastCommitNumber + environment.id, // type: 'indexedDB', // version: 14, // models: [DispatchModal] // })