✨ sticker db entities
This commit is contained in:
parent
88edaba3ab
commit
93b76035b6
@ -1,4 +1,5 @@
|
||||
import { Column, Entity, JoinColumn, ManyToOne } from "typeorm";
|
||||
import { Column, Entity, JoinColumn, ManyToOne, RelationId } from "typeorm";
|
||||
import { User } from "./User";
|
||||
import { BaseClass } from "./BaseClass";
|
||||
import { Guild } from "./Guild";
|
||||
|
||||
@ -25,8 +26,15 @@ export class Sticker extends BaseClass {
|
||||
tags: string;
|
||||
|
||||
@Column()
|
||||
@RelationId((sticker: Sticker) => sticker.pack)
|
||||
pack_id: string;
|
||||
|
||||
@JoinColumn({ name: "pack_id" })
|
||||
@ManyToOne(() => require("./StickerPack").StickerPack, {
|
||||
onDelete: "CASCADE",
|
||||
})
|
||||
pack: import("./StickerPack").StickerPack;
|
||||
|
||||
@Column({ nullable: true })
|
||||
guild_id?: string;
|
||||
|
||||
@ -36,6 +44,15 @@ export class Sticker extends BaseClass {
|
||||
})
|
||||
guild?: Guild;
|
||||
|
||||
@Column({ nullable: true })
|
||||
user_id?: string;
|
||||
|
||||
@JoinColumn({ name: "user_id" })
|
||||
@ManyToOne(() => User, {
|
||||
onDelete: "CASCADE",
|
||||
})
|
||||
user?: User;
|
||||
|
||||
@Column({ type: "int" })
|
||||
type: StickerType;
|
||||
|
||||
|
31
util/src/entities/StickerPack.ts
Normal file
31
util/src/entities/StickerPack.ts
Normal file
@ -0,0 +1,31 @@
|
||||
import { Column, Entity, JoinColumn, OneToMany, OneToOne, RelationId } from "typeorm";
|
||||
import { Sticker } from ".";
|
||||
import { BaseClass } from "./BaseClass";
|
||||
|
||||
@Entity("stickers")
|
||||
export class StickerPack extends BaseClass {
|
||||
@Column()
|
||||
name: string;
|
||||
|
||||
@Column({ nullable: true })
|
||||
description?: string;
|
||||
|
||||
@Column({ nullable: true })
|
||||
banner_asset_id?: string;
|
||||
|
||||
@OneToMany(() => Sticker, (sticker: Sticker) => sticker.pack_id, {
|
||||
cascade: true,
|
||||
orphanedRowAction: "delete",
|
||||
})
|
||||
stickers: Sticker[];
|
||||
|
||||
// sku_id: string
|
||||
|
||||
@Column({ nullable: true })
|
||||
@RelationId((pack: StickerPack) => pack.cover_sticker)
|
||||
cover_sticker_id?: string;
|
||||
|
||||
@OneToOne(() => Sticker, { nullable: true })
|
||||
@JoinColumn()
|
||||
cover_sticker?: Sticker;
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user