Skip to content
This repository has been archived by the owner on Sep 12, 2023. It is now read-only.

Commit

Permalink
intrn(manager): customize the model chain to user and exposable columns
Browse files Browse the repository at this point in the history
  • Loading branch information
KennethTrecy committed Sep 15, 2022
1 parent f364d9f commit aa74820
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 5 deletions.
2 changes: 0 additions & 2 deletions database/managers/attached_chat_file.spec.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
import UserFactory from "~/factories/user"
import Model from "%/models/attached_chat_file"
import Factory from "~/factories/attached_chat_file"
import ChatMessageFactory from "~/factories/chat_message"
import ChatMessageActivity from "%/models/chat_message_activity"
import ChatMessageActivityFactory from "~/factories/chat_message_activity"
import Manager from "./attached_chat_file"

Expand Down
18 changes: 17 additions & 1 deletion database/managers/attached_chat_file.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,13 @@
import type { ModelCtor } from "%/types/dependent"
import type { GeneralObject } from "$/types/general"
import type { RawAttachedChatFile } from "$!/types/independent"
import type { FileLikeTransformerOptions } from "%/types/independent"
import type { ModelCtor, Model as BaseModel } from "%/types/dependent"

import User from "%/models/user"
import BaseManager from "%/managers/base"
import ChatMessage from "%/models/chat_message"
import AttachedChatFile from "%/models/attached_chat_file"
import ChatMessageActivity from "%/models/chat_message_activity"
import AttachedChatFileTransformer from "%/transformers/attached_chat_file"

export default class extends BaseManager<
Expand All @@ -16,4 +19,17 @@ export default class extends BaseManager<
get model(): ModelCtor<AttachedChatFile> { return AttachedChatFile }

get transformer(): AttachedChatFileTransformer { return new AttachedChatFileTransformer() }

get modelChainToUser(): readonly ModelCtor<BaseModel>[] {
return [
ChatMessage,
ChatMessageActivity,
User
]
}

protected get exposableColumns(): string[] {
const excludedColumns = new Set([ "id", "chatMessageID" ])
return super.exposableColumns.filter(columnName => !excludedColumns.has(columnName))
}
}
4 changes: 2 additions & 2 deletions database/models/file-like.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import {

export default abstract class extends Model {
@Column({
type: DataType.BLOB("medium")
"type": DataType.BLOB("medium")
})
fileContents!: Buffer
fileContents!: Buffer
}

0 comments on commit aa74820

Please sign in to comment.