Files
doneit-web/src/app/models/beast-orm.ts
T
Peter Maquiran 923a141ffa remove
2023-06-10 21:14:50 +01:00

114 lines
3.4 KiB
TypeScript

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]
// })