update
This commit is contained in:
@ -57,11 +57,20 @@ export class TrxCustomerAccount {
|
|||||||
@CreateDateColumn()
|
@CreateDateColumn()
|
||||||
created_at: Date;
|
created_at: Date;
|
||||||
|
|
||||||
|
@Column({ nullable: true, length: 256 })
|
||||||
|
created_by: string;
|
||||||
|
|
||||||
@Column({ nullable: true })
|
@Column({ nullable: true })
|
||||||
@UpdateDateColumn()
|
@UpdateDateColumn()
|
||||||
updated_at: Date;
|
updated_at: Date;
|
||||||
|
|
||||||
|
@Column({ nullable: true, length: 256 })
|
||||||
|
updated_by: string;
|
||||||
|
|
||||||
@Column({ nullable: true })
|
@Column({ nullable: true })
|
||||||
@DeleteDateColumn()
|
@DeleteDateColumn()
|
||||||
deleted_at: Date;
|
deleted_at: Date;
|
||||||
|
|
||||||
|
@Column({ nullable: true, length: 256 })
|
||||||
|
deleted_by: string;
|
||||||
}
|
}
|
||||||
|
|||||||
77
src/entity/trx_customer_costs.ts
Normal file
77
src/entity/trx_customer_costs.ts
Normal file
@ -0,0 +1,77 @@
|
|||||||
|
import { Column, CreateDateColumn, DeleteDateColumn, Entity, JoinColumn, ManyToOne, PrimaryGeneratedColumn, UpdateDateColumn } from "typeorm";
|
||||||
|
import { Status } from "../types/status";
|
||||||
|
import { TrxCostType, TrxCustomerType } from "../types/trx";
|
||||||
|
import { TrxCustomer } from "./trx_customers";
|
||||||
|
|
||||||
|
@Entity("trx_customer_cost", { schema: "trx" })
|
||||||
|
export class TrxCustomerCost {
|
||||||
|
@PrimaryGeneratedColumn("uuid")
|
||||||
|
id: string;
|
||||||
|
|
||||||
|
@ManyToOne(() => TrxCustomer, { onDelete: "RESTRICT" })
|
||||||
|
@JoinColumn()
|
||||||
|
customer: TrxCustomer;
|
||||||
|
|
||||||
|
@Column({
|
||||||
|
nullable: false,
|
||||||
|
length: 4096,
|
||||||
|
})
|
||||||
|
type: TrxCostType;
|
||||||
|
|
||||||
|
@Column({
|
||||||
|
nullable: false,
|
||||||
|
type: "float8",
|
||||||
|
})
|
||||||
|
min_amount: number;
|
||||||
|
|
||||||
|
@Column({
|
||||||
|
nullable: false,
|
||||||
|
type: "float8",
|
||||||
|
})
|
||||||
|
max_amount: number;
|
||||||
|
|
||||||
|
@Column({
|
||||||
|
nullable: false,
|
||||||
|
type: "float8",
|
||||||
|
})
|
||||||
|
percentage: number;
|
||||||
|
|
||||||
|
@Column({
|
||||||
|
nullable: true,
|
||||||
|
type: "float8",
|
||||||
|
})
|
||||||
|
min_cost: number;
|
||||||
|
|
||||||
|
@Column({
|
||||||
|
nullable: true,
|
||||||
|
type: "float8",
|
||||||
|
})
|
||||||
|
max_cost: number;
|
||||||
|
|
||||||
|
@Column({
|
||||||
|
nullable: false,
|
||||||
|
length: 64,
|
||||||
|
})
|
||||||
|
status: Status;
|
||||||
|
|
||||||
|
@Column()
|
||||||
|
@CreateDateColumn()
|
||||||
|
created_at: Date;
|
||||||
|
|
||||||
|
@Column({ nullable: true, length: 256 })
|
||||||
|
created_by: string;
|
||||||
|
|
||||||
|
@Column({ nullable: true })
|
||||||
|
@UpdateDateColumn()
|
||||||
|
updated_at: Date;
|
||||||
|
|
||||||
|
@Column({ nullable: true, length: 256 })
|
||||||
|
updated_by: string;
|
||||||
|
|
||||||
|
@Column({ nullable: true })
|
||||||
|
@DeleteDateColumn()
|
||||||
|
deleted_at: Date;
|
||||||
|
|
||||||
|
@Column({ nullable: true, length: 256 })
|
||||||
|
deleted_by: string;
|
||||||
|
}
|
||||||
63
src/entity/trx_customer_user_activities.ts
Normal file
63
src/entity/trx_customer_user_activities.ts
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, Index, JoinColumn, ManyToOne } from "typeorm";
|
||||||
|
|
||||||
|
import { ActivityType } from "../types/action";
|
||||||
|
import { TrxCustomerUser } from "./trx_customer_users";
|
||||||
|
|
||||||
|
@Entity("trx_customer_user_activities", { schema: "trx" })
|
||||||
|
export class TrxCustomerUserActivity {
|
||||||
|
@PrimaryGeneratedColumn("uuid")
|
||||||
|
id: string;
|
||||||
|
|
||||||
|
@ManyToOne(() => TrxCustomerUser, { onDelete: "NO ACTION", nullable: false })
|
||||||
|
@JoinColumn()
|
||||||
|
user: TrxCustomerUser;
|
||||||
|
|
||||||
|
@Index()
|
||||||
|
@Column({
|
||||||
|
type: "uuid",
|
||||||
|
})
|
||||||
|
refresh_token: string;
|
||||||
|
|
||||||
|
@Index()
|
||||||
|
@Column({
|
||||||
|
nullable: false,
|
||||||
|
length: 512,
|
||||||
|
})
|
||||||
|
module: string;
|
||||||
|
|
||||||
|
@Column({
|
||||||
|
nullable: false,
|
||||||
|
length: 2048,
|
||||||
|
})
|
||||||
|
description: string;
|
||||||
|
|
||||||
|
@Column({
|
||||||
|
nullable: true,
|
||||||
|
length: 1,
|
||||||
|
})
|
||||||
|
action: ActivityType;
|
||||||
|
|
||||||
|
@Column({
|
||||||
|
nullable: false,
|
||||||
|
length: 2048,
|
||||||
|
})
|
||||||
|
url: String;
|
||||||
|
|
||||||
|
@Column({
|
||||||
|
type: "text",
|
||||||
|
nullable: true,
|
||||||
|
})
|
||||||
|
data_body: String;
|
||||||
|
|
||||||
|
@Column()
|
||||||
|
@CreateDateColumn()
|
||||||
|
created_at: Date;
|
||||||
|
|
||||||
|
@Column({ nullable: true })
|
||||||
|
@UpdateDateColumn()
|
||||||
|
updated_at: Date;
|
||||||
|
|
||||||
|
@Column({ nullable: true })
|
||||||
|
@DeleteDateColumn()
|
||||||
|
deleted_at: Date;
|
||||||
|
}
|
||||||
64
src/entity/trx_customer_user_refresh_tokens.ts
Normal file
64
src/entity/trx_customer_user_refresh_tokens.ts
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, Index } from "typeorm";
|
||||||
|
|
||||||
|
@Entity("trx_customer_user_refresh_tokens", { schema: "trx" })
|
||||||
|
export class TrxCustomerUserRefreshToken {
|
||||||
|
@PrimaryGeneratedColumn("uuid")
|
||||||
|
refresh_token: string;
|
||||||
|
|
||||||
|
@Index()
|
||||||
|
@Column({
|
||||||
|
type: "uuid",
|
||||||
|
})
|
||||||
|
id_user: string;
|
||||||
|
|
||||||
|
@Column({
|
||||||
|
nullable: false,
|
||||||
|
length: 4096,
|
||||||
|
})
|
||||||
|
user_agent: string;
|
||||||
|
|
||||||
|
@Column({
|
||||||
|
nullable: true,
|
||||||
|
length: 128,
|
||||||
|
})
|
||||||
|
os: string;
|
||||||
|
|
||||||
|
@Column({
|
||||||
|
nullable: true,
|
||||||
|
length: 256,
|
||||||
|
})
|
||||||
|
device: string;
|
||||||
|
|
||||||
|
@Column({
|
||||||
|
nullable: true,
|
||||||
|
length: 64,
|
||||||
|
})
|
||||||
|
platform: string;
|
||||||
|
|
||||||
|
@Column({
|
||||||
|
nullable: true,
|
||||||
|
length: 64,
|
||||||
|
})
|
||||||
|
browser: string;
|
||||||
|
|
||||||
|
@Column({
|
||||||
|
nullable: true,
|
||||||
|
length: 32,
|
||||||
|
})
|
||||||
|
remote_addr: string;
|
||||||
|
|
||||||
|
@Column("timestamp")
|
||||||
|
expired_at: Date;
|
||||||
|
|
||||||
|
@Column()
|
||||||
|
@CreateDateColumn()
|
||||||
|
created_at: Date;
|
||||||
|
|
||||||
|
@Column({ nullable: true })
|
||||||
|
@UpdateDateColumn()
|
||||||
|
updated_at: Date;
|
||||||
|
|
||||||
|
@Column({ nullable: true })
|
||||||
|
@DeleteDateColumn()
|
||||||
|
deleted_at: Date;
|
||||||
|
}
|
||||||
105
src/entity/trx_customer_users.ts
Normal file
105
src/entity/trx_customer_users.ts
Normal file
@ -0,0 +1,105 @@
|
|||||||
|
import bcrypt from "bcryptjs";
|
||||||
|
import { Column, CreateDateColumn, DeleteDateColumn, Entity, Index, JoinTable, ManyToOne, PrimaryGeneratedColumn, UpdateDateColumn } from "typeorm";
|
||||||
|
|
||||||
|
import { Status } from "../types/status";
|
||||||
|
import { TrxCustomer } from "./trx_customers";
|
||||||
|
|
||||||
|
@Entity("trx_customer_users", { schema: "trx" })
|
||||||
|
export class TrxCustomerUser {
|
||||||
|
@PrimaryGeneratedColumn("uuid")
|
||||||
|
id: string;
|
||||||
|
|
||||||
|
@ManyToOne(() => TrxCustomer, { onDelete: "RESTRICT" })
|
||||||
|
@JoinTable()
|
||||||
|
customer: TrxCustomer;
|
||||||
|
|
||||||
|
@Column({
|
||||||
|
nullable: false,
|
||||||
|
unique: true,
|
||||||
|
length: 64,
|
||||||
|
})
|
||||||
|
email: string;
|
||||||
|
|
||||||
|
@Column({
|
||||||
|
nullable: false,
|
||||||
|
unique: true,
|
||||||
|
length: 256,
|
||||||
|
})
|
||||||
|
phone: string;
|
||||||
|
|
||||||
|
@Column({
|
||||||
|
nullable: false,
|
||||||
|
length: 64,
|
||||||
|
select: false,
|
||||||
|
})
|
||||||
|
password: string;
|
||||||
|
|
||||||
|
@Column({
|
||||||
|
nullable: false,
|
||||||
|
unique: true,
|
||||||
|
length: 64,
|
||||||
|
})
|
||||||
|
username: string;
|
||||||
|
|
||||||
|
@Column({
|
||||||
|
nullable: false,
|
||||||
|
length: 64,
|
||||||
|
unique: false,
|
||||||
|
})
|
||||||
|
name: string;
|
||||||
|
|
||||||
|
@Column({
|
||||||
|
nullable: false,
|
||||||
|
length: 256,
|
||||||
|
})
|
||||||
|
file: string;
|
||||||
|
|
||||||
|
@Column({
|
||||||
|
type: "jsonb",
|
||||||
|
nullable: true,
|
||||||
|
})
|
||||||
|
level: string[];
|
||||||
|
|
||||||
|
@Index()
|
||||||
|
@Column({
|
||||||
|
nullable: true,
|
||||||
|
type: "uuid",
|
||||||
|
select: false,
|
||||||
|
})
|
||||||
|
reset_token: string;
|
||||||
|
|
||||||
|
@Column({
|
||||||
|
nullable: false,
|
||||||
|
length: 64,
|
||||||
|
})
|
||||||
|
status: Status;
|
||||||
|
|
||||||
|
@Column()
|
||||||
|
@CreateDateColumn()
|
||||||
|
created_at: Date;
|
||||||
|
|
||||||
|
@Column({ nullable: true, length: 256 })
|
||||||
|
created_by: string;
|
||||||
|
|
||||||
|
@Column({ nullable: true })
|
||||||
|
@UpdateDateColumn()
|
||||||
|
updated_at: Date;
|
||||||
|
|
||||||
|
@Column({ nullable: true, length: 256 })
|
||||||
|
updated_by: string;
|
||||||
|
|
||||||
|
@Column({ nullable: true })
|
||||||
|
@DeleteDateColumn()
|
||||||
|
deleted_at: Date;
|
||||||
|
|
||||||
|
@Column({ nullable: true, length: 256 })
|
||||||
|
deleted_by: string;
|
||||||
|
|
||||||
|
hashPassword() {
|
||||||
|
this.password = bcrypt.hashSync(this.password, 8);
|
||||||
|
}
|
||||||
|
|
||||||
|
checkIfPasswordMatch(unencryptedPassword: string) {
|
||||||
|
return bcrypt.compareSync(unencryptedPassword, this.password);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -53,6 +53,18 @@ export class TrxCustomer {
|
|||||||
})
|
})
|
||||||
pic_email: string;
|
pic_email: string;
|
||||||
|
|
||||||
|
@Column({
|
||||||
|
nullable: false,
|
||||||
|
length: 256,
|
||||||
|
})
|
||||||
|
pic_file: string;
|
||||||
|
|
||||||
|
@Column({
|
||||||
|
nullable: false,
|
||||||
|
length: 256,
|
||||||
|
})
|
||||||
|
cover: string;
|
||||||
|
|
||||||
@Column({
|
@Column({
|
||||||
nullable: false,
|
nullable: false,
|
||||||
length: 256,
|
length: 256,
|
||||||
|
|||||||
@ -45,4 +45,8 @@ export * from "../entity/trx_partner_users";
|
|||||||
|
|
||||||
export * from "../entity/trx_customers";
|
export * from "../entity/trx_customers";
|
||||||
export * from "../entity/trx_customer_accounts";
|
export * from "../entity/trx_customer_accounts";
|
||||||
|
export * from "../entity/trx_customer_users";
|
||||||
|
export * from "../entity/trx_customer_user_refresh_tokens";
|
||||||
|
export * from "../entity/trx_customer_user_activities";
|
||||||
|
export * from "../entity/trx_customer_costs";
|
||||||
export * from "../types/trx";
|
export * from "../types/trx";
|
||||||
|
|||||||
@ -3,6 +3,12 @@ export enum TrxCustomerType {
|
|||||||
"business" = "business",
|
"business" = "business",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export enum TrxCostType {
|
||||||
|
"domestic" = "domestic",
|
||||||
|
"remittance" = "remittance",
|
||||||
|
"swift" = "swift",
|
||||||
|
}
|
||||||
|
|
||||||
export enum TrxTransactionStatus {
|
export enum TrxTransactionStatus {
|
||||||
"verify" = "verify",
|
"verify" = "verify",
|
||||||
"open" = "open",
|
"open" = "open",
|
||||||
|
|||||||
Reference in New Issue
Block a user