diff --git a/src/entity/brilink_membership_cards.ts b/src/entity/brilink_membership_cards.ts new file mode 100644 index 0000000..04d9627 --- /dev/null +++ b/src/entity/brilink_membership_cards.ts @@ -0,0 +1,43 @@ +import { Column, CreateDateColumn, DeleteDateColumn, Entity, JoinTable, ManyToOne, PrimaryGeneratedColumn, UpdateDateColumn } from 'typeorm'; + +import { BrilinkMerchant } from './brilink_merchants'; +import { BrizziCard } from './brizzi_cards'; +import { BrilinkMembership } from './brilink_memberships'; + +@Entity('brilinkMembershipCards', { schema: 'brilinks' }) +export class BrilinkMembershipCard { + @PrimaryGeneratedColumn('uuid') + id: string; + + @ManyToOne(() => BrilinkMembership, { onDelete: 'RESTRICT' }) + @JoinTable() + membership: BrilinkMembership + + @ManyToOne(() => BrizziCard, { onDelete: 'RESTRICT' }) + @JoinTable() + card: BrizziCard + + @Column({ nullable: true }) + expired_at: Date; + + @Column() + @CreateDateColumn() + created_at: Date; + + @Column({ type: "varchar", length: 255 }) + created_by: string; + + @Column({ nullable: true }) + @UpdateDateColumn() + updated_at: Date; + + @Column({ type: "varchar", length: 255, nullable: true }) + updated_by: string; + + @Column({ nullable: true }) + @DeleteDateColumn() + deleted_at: Date; + + @Column({ type: "varchar", length: 255, nullable: true }) + deleted_by: string; +} \ No newline at end of file diff --git a/src/entity/brilink_memberships.ts b/src/entity/brilink_memberships.ts new file mode 100644 index 0000000..a856cf4 --- /dev/null +++ b/src/entity/brilink_memberships.ts @@ -0,0 +1,48 @@ +import { Column, CreateDateColumn, DeleteDateColumn, Entity, JoinTable, ManyToOne, PrimaryGeneratedColumn, UpdateDateColumn } from 'typeorm'; + +import { BrilinkMerchant } from './brilink_merchants'; + +@Entity('brilinkMemberships', { schema: 'brilinks' }) +export class BrilinkMembership { + @PrimaryGeneratedColumn('uuid') + id: string; + + @ManyToOne(() => BrilinkMerchant, { onDelete: 'RESTRICT' }) + @JoinTable() + merchant: BrilinkMerchant + + @Column({ + nullable: false, + length: 2, + unique: true + }) + code: string; + + @Column({ + nullable: false, + length: 3, + unique: true, + }) + aid: string; + + @Column() + @CreateDateColumn() + created_at: Date; + + @Column({ type: "varchar", length: 255 }) + created_by: string; + + @Column({ nullable: true }) + @UpdateDateColumn() + updated_at: Date; + + @Column({ type: "varchar", length: 255, nullable: true }) + updated_by: string; + + @Column({ nullable: true }) + @DeleteDateColumn() + deleted_at: Date; + + @Column({ type: "varchar", length: 255, nullable: true }) + deleted_by: string; +} \ No newline at end of file diff --git a/src/index.ts b/src/index.ts index 81acf2f..d6b8b41 100644 --- a/src/index.ts +++ b/src/index.ts @@ -122,6 +122,8 @@ import { BrilinkBalanceTopup } from "./entity/brilink_balance_topup"; import { BrilinkTerminalLanguage } from "./entity/brilink_terminal_languages"; import { BrilinkTransaction } from "./entity/brilink_transactions"; import { BrilinkMerchantSettlement } from "./entity/brilink_merchant_settlements"; +import { BrilinkMembership } from "./entity/brilink_memberships"; +import { BrilinkMembershipCard } from "./entity/brilink_membership_cards"; import { BriapiConfig } from "./entity/briapi_configs"; import { BriapiLog } from "./entity/briapi_logs"; @@ -277,6 +279,8 @@ export { BrilinkBalanceMutationCodePrefixType, BrilinkBalanceMutationCodePrefixActvity, BrilinkBalanceTopupCodePrefix, + BrilinkMembership, + BrilinkMembershipCard, RemitBank, RemitConfigTransaction, RemitConfigAllocation,