Files
doneit-web/src/app/models/beast-orm.ts
T

104 lines
3.2 KiB
TypeScript
Raw Normal View History

2023-07-10 12:32:01 +01:00
//import { models } from 'beast-orm'
2022-12-30 10:57:21 +01:00
import { environment } from 'src/environments/environment'
2023-07-10 12:40:11 +01:00
import { models } from 'src/plugin/src'
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()
2023-06-22 12:53:35 +01:00
t = models.CharField({default:'', blank: true})
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()
2023-06-29 16:04:44 +01:00
hasFile = models.BooleanField({blank:true})
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() {
2023-06-29 16:04:44 +01:00
console.log('this[id]', this['id'])
const _attachments = await attachments.filter({messageId: this['id']}).execute()
return _attachments[0]
2023-01-09 10:49:58 +01:00
}
2022-03-10 23:08:29 +01:00
}
2023-01-09 10:49:58 +01:00
export class attachments extends models.Model {
2023-06-29 16:04:44 +01:00
messageId = models.IntegerField()
attachments = ArrayField({blank:true})
file = JsonField({blank:true})
2023-01-09 10:49:58 +01:00
}
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-07-20 16:54:58 +01:00
databaseName: 'chat-storage'+environment.version.lastCommitNumber + environment.id + Number(environment.storageProduction),
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-07-20 16:54:58 +01:00
// // 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()
// }
2023-03-04 07:21:33 +01:00
2023-07-11 10:25:16 +01:00
2023-07-20 16:54:58 +01:00
// export class PublicationFolderModel extends models.Model{
// DateBegin = models.CharField()
// Description = models.CharField()
// Detail = models.CharField()
// }
2023-07-11 10:25:16 +01:00
2023-07-20 16:54:58 +01:00
// export class PublicationDetailsModel 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()
// }
2023-03-04 07:21:33 +01:00
2023-06-22 12:53:35 +01:00
2023-07-20 16:54:58 +01:00
// export class WebtrixUserModel extends models.Model {
// FullName = models.CharField()
// Role = models.CharField()
// }
2023-06-22 12:53:35 +01:00
2023-07-20 16:54:58 +01:00
// models.register({
// databaseName: 'webtrix'+environment.version.lastCommitNumber + environment.id + Number(environment.storageProduction),
// type: 'indexedDB',
// version: 1,
// models: [WebtrixUserModel]
// })
2023-06-22 12:53:35 +01:00
2023-07-20 16:54:58 +01:00
// models.register({
// databaseName: 'actions'+environment.version.lastCommitNumber + environment.id + Number(environment.storageProduction),
// type: 'indexedDB',
// version: 14,
// models: [PublicationDetailsModel, ActionModel, PublicationFolderModel]
// })