Merge pull request 'development' (#111) from development into production
Reviewed-on: #111pull/113/head 1.2.1-production.1
commit
ce1aa86944
|
@ -0,0 +1,21 @@
|
||||||
|
import { MigrationInterface, QueryRunner } from 'typeorm';
|
||||||
|
|
||||||
|
export class ItemVideoAndVipPass1729072422409 implements MigrationInterface {
|
||||||
|
name = 'ItemVideoAndVipPass1729072422409';
|
||||||
|
|
||||||
|
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||||
|
await queryRunner.query(
|
||||||
|
`ALTER TABLE "items" ADD "video_url" character varying`,
|
||||||
|
);
|
||||||
|
await queryRunner.query(
|
||||||
|
`ALTER TABLE "vip_categories" ADD "has_vip_pass" boolean NOT NULL DEFAULT false`,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
public async down(queryRunner: QueryRunner): Promise<void> {
|
||||||
|
await queryRunner.query(
|
||||||
|
`ALTER TABLE "vip_categories" DROP COLUMN "has_vip_pass"`,
|
||||||
|
);
|
||||||
|
await queryRunner.query(`ALTER TABLE "items" DROP COLUMN "video_url"`);
|
||||||
|
}
|
||||||
|
}
|
|
@ -28,6 +28,9 @@ export class ItemModel
|
||||||
@Column('varchar', { name: 'image_url', nullable: true })
|
@Column('varchar', { name: 'image_url', nullable: true })
|
||||||
image_url: string;
|
image_url: string;
|
||||||
|
|
||||||
|
@Column('varchar', { nullable: true })
|
||||||
|
video_url: string;
|
||||||
|
|
||||||
@Column('enum', {
|
@Column('enum', {
|
||||||
name: 'item_type',
|
name: 'item_type',
|
||||||
enum: ItemType,
|
enum: ItemType,
|
||||||
|
|
|
@ -6,6 +6,7 @@ export interface ItemEntity extends BaseStatusEntity {
|
||||||
name: string;
|
name: string;
|
||||||
item_type: ItemType;
|
item_type: ItemType;
|
||||||
image_url: string;
|
image_url: string;
|
||||||
|
video_url?: string;
|
||||||
|
|
||||||
hpp: number;
|
hpp: number;
|
||||||
sales_margin: number;
|
sales_margin: number;
|
||||||
|
|
|
@ -31,6 +31,15 @@ export class ItemDto extends BaseStatusDto implements ItemEntity {
|
||||||
@ValidateIf((body) => body.image)
|
@ValidateIf((body) => body.image)
|
||||||
image_url: string;
|
image_url: string;
|
||||||
|
|
||||||
|
@ApiProperty({
|
||||||
|
type: String,
|
||||||
|
required: false,
|
||||||
|
example: '...',
|
||||||
|
})
|
||||||
|
@IsString()
|
||||||
|
@ValidateIf((body) => body.video_url)
|
||||||
|
video_url: string;
|
||||||
|
|
||||||
@ApiProperty({
|
@ApiProperty({
|
||||||
type: 'string',
|
type: 'string',
|
||||||
required: true,
|
required: true,
|
||||||
|
|
|
@ -287,7 +287,8 @@ export default <ReportConfigEntity>{
|
||||||
filter_column: 'main__payment_date',
|
filter_column: 'main__payment_date',
|
||||||
field_type: FILTER_FIELD_TYPE.date_range_picker,
|
field_type: FILTER_FIELD_TYPE.date_range_picker,
|
||||||
filter_type: FILTER_TYPE.DATE_IN_RANGE_TIMESTAMP,
|
filter_type: FILTER_TYPE.DATE_IN_RANGE_TIMESTAMP,
|
||||||
date_format: 'DD-MM-YYYY',
|
// date_format: 'DD-MM-YYYY',
|
||||||
|
date_format: 'YYYY-MM-DD',
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
|
@ -338,7 +339,8 @@ export default <ReportConfigEntity>{
|
||||||
filter_column: 'refund__refund_date',
|
filter_column: 'refund__refund_date',
|
||||||
field_type: FILTER_FIELD_TYPE.date_range_picker,
|
field_type: FILTER_FIELD_TYPE.date_range_picker,
|
||||||
filter_type: FILTER_TYPE.DATE_IN_RANGE_TIMESTAMP,
|
filter_type: FILTER_TYPE.DATE_IN_RANGE_TIMESTAMP,
|
||||||
date_format: 'DD-MM-YYYY',
|
// date_format: 'DD-MM-YYYY',
|
||||||
|
date_format: 'YYYY-MM-DD',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
filed_label: 'Kode Pengembalian',
|
filed_label: 'Kode Pengembalian',
|
||||||
|
@ -389,4 +391,9 @@ export default <ReportConfigEntity>{
|
||||||
filter_type: FILTER_TYPE.TEXT_MULTIPLE_CONTAINS,
|
filter_type: FILTER_TYPE.TEXT_MULTIPLE_CONTAINS,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
customQueryColumn(column) {
|
||||||
|
if (column === 'main__payment_date') return 'main.payment_date';
|
||||||
|
else if (column === 'refund__refund_date') return 'refund.refund_date';
|
||||||
|
return;
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
|
@ -168,7 +168,8 @@ export default <ReportConfigEntity>{
|
||||||
filter_column: 'main__payment_date',
|
filter_column: 'main__payment_date',
|
||||||
field_type: FILTER_FIELD_TYPE.date_range_picker,
|
field_type: FILTER_FIELD_TYPE.date_range_picker,
|
||||||
filter_type: FILTER_TYPE.DATE_IN_RANGE_TIMESTAMP,
|
filter_type: FILTER_TYPE.DATE_IN_RANGE_TIMESTAMP,
|
||||||
date_format: 'DD-MM-YYYY',
|
// date_format: 'DD-MM-YYYY',
|
||||||
|
date_format: 'YYYY-MM-DD',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
filed_label: 'Tipe Rate',
|
filed_label: 'Tipe Rate',
|
||||||
|
@ -213,4 +214,8 @@ export default <ReportConfigEntity>{
|
||||||
filter_type: FILTER_TYPE.TEXT_MULTIPLE_CONTAINS,
|
filter_type: FILTER_TYPE.TEXT_MULTIPLE_CONTAINS,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
customQueryColumn(column) {
|
||||||
|
if (column === 'main__payment_date') return 'main.payment_date';
|
||||||
|
return;
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
|
@ -286,7 +286,8 @@ export default <ReportConfigEntity>{
|
||||||
filter_column: 'main__payment_date',
|
filter_column: 'main__payment_date',
|
||||||
field_type: FILTER_FIELD_TYPE.date_range_picker,
|
field_type: FILTER_FIELD_TYPE.date_range_picker,
|
||||||
filter_type: FILTER_TYPE.DATE_IN_RANGE_TIMESTAMP,
|
filter_type: FILTER_TYPE.DATE_IN_RANGE_TIMESTAMP,
|
||||||
date_format: 'DD-MM-YYYY',
|
// date_format: 'DD-MM-YYYY',
|
||||||
|
date_format: 'YYYY-MM-DD',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
filed_label: 'Kepemilikan',
|
filed_label: 'Kepemilikan',
|
||||||
|
@ -360,7 +361,8 @@ export default <ReportConfigEntity>{
|
||||||
filter_column: 'refund__refund_date',
|
filter_column: 'refund__refund_date',
|
||||||
field_type: FILTER_FIELD_TYPE.date_range_picker,
|
field_type: FILTER_FIELD_TYPE.date_range_picker,
|
||||||
filter_type: FILTER_TYPE.DATE_IN_RANGE_TIMESTAMP,
|
filter_type: FILTER_TYPE.DATE_IN_RANGE_TIMESTAMP,
|
||||||
date_format: 'DD-MM-YYYY',
|
// date_format: 'DD-MM-YYYY',
|
||||||
|
date_format: 'YYYY-MM-DD',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
filed_label: 'Kode Pengembalian',
|
filed_label: 'Kode Pengembalian',
|
||||||
|
@ -387,4 +389,9 @@ export default <ReportConfigEntity>{
|
||||||
filter_type: FILTER_TYPE.TEXT_MULTIPLE_CONTAINS,
|
filter_type: FILTER_TYPE.TEXT_MULTIPLE_CONTAINS,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
customQueryColumn(column) {
|
||||||
|
if (column === 'main__payment_date') return 'main.payment_date';
|
||||||
|
else if (column === 'refund__refund_date') return 'refund.refund_date';
|
||||||
|
return;
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
|
@ -256,7 +256,8 @@ export default <ReportConfigEntity>{
|
||||||
filter_column: 'main__payment_date',
|
filter_column: 'main__payment_date',
|
||||||
field_type: FILTER_FIELD_TYPE.date_range_picker,
|
field_type: FILTER_FIELD_TYPE.date_range_picker,
|
||||||
filter_type: FILTER_TYPE.DATE_IN_RANGE_TIMESTAMP,
|
filter_type: FILTER_TYPE.DATE_IN_RANGE_TIMESTAMP,
|
||||||
date_format: 'DD-MM-YYYY',
|
// date_format: 'DD-MM-YYYY',
|
||||||
|
date_format: 'YYYY-MM-DD',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
filed_label: 'Kepemilikan',
|
filed_label: 'Kepemilikan',
|
||||||
|
@ -318,7 +319,8 @@ export default <ReportConfigEntity>{
|
||||||
filter_column: 'refund__refund_date',
|
filter_column: 'refund__refund_date',
|
||||||
field_type: FILTER_FIELD_TYPE.date_range_picker,
|
field_type: FILTER_FIELD_TYPE.date_range_picker,
|
||||||
filter_type: FILTER_TYPE.DATE_IN_RANGE_TIMESTAMP,
|
filter_type: FILTER_TYPE.DATE_IN_RANGE_TIMESTAMP,
|
||||||
date_format: 'DD-MM-YYYY',
|
// date_format: 'DD-MM-YYYY',
|
||||||
|
date_format: 'YYYY-MM-DD',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
filed_label: 'Kode Pengembalian',
|
filed_label: 'Kode Pengembalian',
|
||||||
|
@ -345,4 +347,9 @@ export default <ReportConfigEntity>{
|
||||||
filter_type: FILTER_TYPE.TEXT_MULTIPLE_CONTAINS,
|
filter_type: FILTER_TYPE.TEXT_MULTIPLE_CONTAINS,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
customQueryColumn(column) {
|
||||||
|
if (column === 'main__payment_date') return 'main.payment_date';
|
||||||
|
else if (column === 'refund__refund_date') return 'refund.refund_date';
|
||||||
|
return;
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
|
@ -287,7 +287,8 @@ export default <ReportConfigEntity>{
|
||||||
filter_column: 'main__payment_date',
|
filter_column: 'main__payment_date',
|
||||||
field_type: FILTER_FIELD_TYPE.date_range_picker,
|
field_type: FILTER_FIELD_TYPE.date_range_picker,
|
||||||
filter_type: FILTER_TYPE.DATE_IN_RANGE_TIMESTAMP,
|
filter_type: FILTER_TYPE.DATE_IN_RANGE_TIMESTAMP,
|
||||||
date_format: 'DD-MM-YYYY',
|
// date_format: 'DD-MM-YYYY',
|
||||||
|
date_format: 'YYYY-MM-DD',
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
|
@ -338,7 +339,8 @@ export default <ReportConfigEntity>{
|
||||||
filter_column: 'refund__refund_date',
|
filter_column: 'refund__refund_date',
|
||||||
field_type: FILTER_FIELD_TYPE.date_range_picker,
|
field_type: FILTER_FIELD_TYPE.date_range_picker,
|
||||||
filter_type: FILTER_TYPE.DATE_IN_RANGE_TIMESTAMP,
|
filter_type: FILTER_TYPE.DATE_IN_RANGE_TIMESTAMP,
|
||||||
date_format: 'DD-MM-YYYY',
|
// date_format: 'DD-MM-YYYY',
|
||||||
|
date_format: 'YYYY-MM-DD',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
filed_label: 'Kode Pengembalian',
|
filed_label: 'Kode Pengembalian',
|
||||||
|
@ -389,4 +391,9 @@ export default <ReportConfigEntity>{
|
||||||
filter_type: FILTER_TYPE.TEXT_MULTIPLE_CONTAINS,
|
filter_type: FILTER_TYPE.TEXT_MULTIPLE_CONTAINS,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
customQueryColumn(column) {
|
||||||
|
if (column === 'main__payment_date') return 'main.payment_date';
|
||||||
|
else if (column === 'refund__refund_date') return 'refund.refund_date';
|
||||||
|
return;
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
|
@ -192,14 +192,16 @@ export default <ReportConfigEntity>{
|
||||||
filter_column: 'main__payment_date',
|
filter_column: 'main__payment_date',
|
||||||
field_type: FILTER_FIELD_TYPE.date_range_picker,
|
field_type: FILTER_FIELD_TYPE.date_range_picker,
|
||||||
filter_type: FILTER_TYPE.DATE_IN_RANGE_TIMESTAMP,
|
filter_type: FILTER_TYPE.DATE_IN_RANGE_TIMESTAMP,
|
||||||
date_format: 'DD-MM-YYYY',
|
// date_format: 'DD-MM-YYYY',
|
||||||
|
date_format: 'YYYY-MM-DD',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
filed_label: 'Tgl. Transaksi Bank',
|
filed_label: 'Tgl. Transaksi Bank',
|
||||||
filter_column: 'main__payment_date_bank',
|
filter_column: 'main__payment_date_bank',
|
||||||
field_type: FILTER_FIELD_TYPE.date_range_picker,
|
field_type: FILTER_FIELD_TYPE.date_range_picker,
|
||||||
filter_type: FILTER_TYPE.DATE_IN_RANGE_TIMESTAMP,
|
filter_type: FILTER_TYPE.DATE_IN_RANGE_TIMESTAMP,
|
||||||
date_format: 'DD-MM-YYYY',
|
// date_format: 'DD-MM-YYYY',
|
||||||
|
date_format: 'YYYY-MM-DD',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
filed_label: 'Tgl. Konfirmasi',
|
filed_label: 'Tgl. Konfirmasi',
|
||||||
|
@ -253,4 +255,11 @@ export default <ReportConfigEntity>{
|
||||||
}
|
}
|
||||||
return [];
|
return [];
|
||||||
},
|
},
|
||||||
|
customQueryColumn(column) {
|
||||||
|
if (column === 'main__payment_date') return 'main.payment_date';
|
||||||
|
else if (column === 'main__payment_date_bank') {
|
||||||
|
return 'main.payment_date_bank';
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
|
@ -105,7 +105,8 @@ export default <ReportConfigEntity>{
|
||||||
filter_column: 'main__payment_date',
|
filter_column: 'main__payment_date',
|
||||||
field_type: FILTER_FIELD_TYPE.date_range_picker,
|
field_type: FILTER_FIELD_TYPE.date_range_picker,
|
||||||
filter_type: FILTER_TYPE.DATE_IN_RANGE_TIMESTAMP,
|
filter_type: FILTER_TYPE.DATE_IN_RANGE_TIMESTAMP,
|
||||||
date_format: 'DD-MM-YYYY',
|
// date_format: 'DD-MM-YYYY',
|
||||||
|
date_format: 'YYYY-MM-DD',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
filed_label: 'Sumber',
|
filed_label: 'Sumber',
|
||||||
|
@ -133,4 +134,8 @@ export default <ReportConfigEntity>{
|
||||||
filter_type: FILTER_TYPE.TEXT_MULTIPLE_CONTAINS,
|
filter_type: FILTER_TYPE.TEXT_MULTIPLE_CONTAINS,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
customQueryColumn(column) {
|
||||||
|
if (column === 'main__payment_date') return 'main.payment_date';
|
||||||
|
return;
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
|
@ -12,6 +12,9 @@ export class VipCategoryModel
|
||||||
@Column('varchar', { name: 'name' })
|
@Column('varchar', { name: 'name' })
|
||||||
name: string;
|
name: string;
|
||||||
|
|
||||||
|
@Column('boolean', { default: false })
|
||||||
|
has_vip_pass: boolean;
|
||||||
|
|
||||||
@OneToMany(() => VipCodeModel, (model) => model.vip_category, {
|
@OneToMany(() => VipCodeModel, (model) => model.vip_category, {
|
||||||
cascade: true,
|
cascade: true,
|
||||||
onDelete: 'CASCADE',
|
onDelete: 'CASCADE',
|
||||||
|
|
|
@ -2,4 +2,5 @@ import { BaseStatusEntity } from 'src/core/modules/domain/entities/base-status.e
|
||||||
|
|
||||||
export interface VipCategoryEntity extends BaseStatusEntity {
|
export interface VipCategoryEntity extends BaseStatusEntity {
|
||||||
name: string;
|
name: string;
|
||||||
|
has_vip_pass?: boolean;
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,6 +2,7 @@ import { BaseStatusDto } from 'src/core/modules/infrastructure/dto/base-status.d
|
||||||
import { VipCategoryEntity } from '../../domain/entities/vip-category.entity';
|
import { VipCategoryEntity } from '../../domain/entities/vip-category.entity';
|
||||||
import { ApiProperty } from '@nestjs/swagger';
|
import { ApiProperty } from '@nestjs/swagger';
|
||||||
import { IsString } from 'class-validator';
|
import { IsString } from 'class-validator';
|
||||||
|
import { boolean } from 'mathjs';
|
||||||
|
|
||||||
export class VipCategoryDto extends BaseStatusDto implements VipCategoryEntity {
|
export class VipCategoryDto extends BaseStatusDto implements VipCategoryEntity {
|
||||||
@ApiProperty({
|
@ApiProperty({
|
||||||
|
@ -12,4 +13,12 @@ export class VipCategoryDto extends BaseStatusDto implements VipCategoryEntity {
|
||||||
})
|
})
|
||||||
@IsString()
|
@IsString()
|
||||||
name: string;
|
name: string;
|
||||||
|
|
||||||
|
@ApiProperty({
|
||||||
|
name: 'has_vip_pass',
|
||||||
|
type: boolean,
|
||||||
|
required: false,
|
||||||
|
example: false,
|
||||||
|
})
|
||||||
|
has_vip_pass: boolean;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue