Merge pull request 'development' (#111) from development into production
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/tag Build is passing Details

Reviewed-on: #111
pull/113/head 1.2.1-production.1
irfan 2024-10-16 15:42:27 +00:00
commit ce1aa86944
14 changed files with 106 additions and 12 deletions

View File

@ -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"`);
}
}

View File

@ -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,

View File

@ -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;

View File

@ -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,

View File

@ -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;
},
}; };

View File

@ -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;
},
}; };

View File

@ -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;
},
}; };

View File

@ -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;
},
}; };

View File

@ -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;
},
}; };

View File

@ -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;
},
}; };

View File

@ -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;
},
}; };

View File

@ -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',

View File

@ -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;
} }

View File

@ -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;
} }