swagger in config
and update entity
This commit is contained in:
parent
66391a2ab2
commit
1d40b6544a
@ -41,4 +41,8 @@ export class AppConfigService {
|
||||
getMailConfig() {
|
||||
return configMaster[this.defaultEnv].mailConfig;
|
||||
}
|
||||
|
||||
getSwaggerConfig() {
|
||||
return configMaster[this.defaultEnv].swaggerConfig;
|
||||
}
|
||||
}
|
||||
|
||||
@ -29,6 +29,13 @@
|
||||
"defaults": {
|
||||
"from": "\"No Reply\" <admin@wct.co.in>"
|
||||
}
|
||||
},
|
||||
"swaggerConfig": {
|
||||
"swagger": {
|
||||
"title": "Remedify Payment API",
|
||||
"description": "Remedify Payment API",
|
||||
"version": "1.0.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -29,6 +29,14 @@
|
||||
"defaults": {
|
||||
"from": "\"No Reply\" <admin@wct.co.in>"
|
||||
}
|
||||
},
|
||||
"swaggerConfig": {
|
||||
"swagger": {
|
||||
"title": "Remedify Payment API",
|
||||
"description": "Remedify Payment API",
|
||||
"version": "1.0.0",
|
||||
"tag": "Remedify Payment API"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -41,6 +41,10 @@ export class AppService {
|
||||
const emailConfig = this.configService.getMailConfig();
|
||||
this.commonService.mailConfig = emailConfig;
|
||||
Utility.mailConfig = emailConfig;
|
||||
|
||||
const swaggerConfig = this.configService.getSwaggerConfig();
|
||||
this.commonService.swaggerConfig = swaggerConfig;
|
||||
Utility.swaggerConfig = swaggerConfig;
|
||||
}
|
||||
|
||||
getModels() {
|
||||
|
||||
@ -4,7 +4,8 @@ export class Utility {
|
||||
static sequelize: Sequelize;
|
||||
static appPort: number = 3000;
|
||||
static models: any;
|
||||
static fileConfig: any = {"storagePath": "./uploads"};
|
||||
static fileConfig: any = { "storagePath": "./uploads" };
|
||||
static swaggerConfig: any;
|
||||
static mailConfig: any = {
|
||||
"transport": {
|
||||
"host": "smtppro.zoho.in",
|
||||
|
||||
@ -7,6 +7,7 @@ export class CommonService {
|
||||
models: any;
|
||||
fileConfig: any;
|
||||
mailConfig: any;
|
||||
swaggerConfig: any;
|
||||
|
||||
constructor() {
|
||||
}
|
||||
|
||||
@ -1,29 +1,36 @@
|
||||
import { Table, Column, Model, Default, DataType } from 'sequelize-typescript';
|
||||
import { ApiProperty } from '@nestjs/swagger';
|
||||
|
||||
@Table({tableName: 'crud_config_info', paranoid : true})
|
||||
@Table({tableName: 'crud_config_info', paranoid: true})
|
||||
export default class DataModel extends Model {
|
||||
|
||||
@ApiProperty({ type: Number })
|
||||
@Column({type: DataType.NUMBER})
|
||||
endPtNm: number;
|
||||
|
||||
@ApiProperty({ type: String })
|
||||
@Column({type: DataType.TEXT})
|
||||
sqlQueryText: string;
|
||||
|
||||
@ApiProperty({ type: String })
|
||||
@Column({type: DataType.TEXT})
|
||||
opsTypeName: string;
|
||||
|
||||
@ApiProperty({ type: Date, default: new Date() })
|
||||
@Default(new Date())
|
||||
@Column({type: DataType.DATEONLY})
|
||||
validFrom: Date;
|
||||
|
||||
@ApiProperty({ type: Date, default: new Date('2070-12-31') })
|
||||
@Default(new Date("2070-12-31"))
|
||||
@Column({type: DataType.DATEONLY})
|
||||
validTill: Date;
|
||||
|
||||
@ApiProperty({ type: String })
|
||||
@Column({type: DataType.TEXT})
|
||||
createBy: string;
|
||||
|
||||
@ApiProperty({ type: String })
|
||||
@Column({type: DataType.TEXT})
|
||||
modifiedBy: string;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,60 +1,78 @@
|
||||
import { Table, Column, Model, Default, DataType, ForeignKey } from 'sequelize-typescript';
|
||||
import Payment from 'src/payment/payment.entity';
|
||||
import { ApiProperty } from '@nestjs/swagger';
|
||||
import Payment from 'src/payment/payment.entity';
|
||||
|
||||
@Table({ tableName: 'invoice' , paranoid : true})
|
||||
@Table({ tableName: 'invoice', paranoid: true })
|
||||
export default class Invoice extends Model {
|
||||
|
||||
@ApiProperty({ type: Number })
|
||||
@Column({ type: DataType.BIGINT, allowNull: false })
|
||||
user_id: number;
|
||||
|
||||
@ApiProperty({ type: Number })
|
||||
@ForeignKey(() => Payment)
|
||||
@Column({ type: DataType.BIGINT, allowNull: false, field: 'payment_id' })
|
||||
payment_id: number;
|
||||
|
||||
@ApiProperty({ type: String })
|
||||
@Column({ type: DataType.TEXT, field: 'invoice_number' })
|
||||
invoice_number: string;
|
||||
|
||||
@ApiProperty({ type: Number })
|
||||
@Column({ type: DataType.NUMBER, field: 'amount' })
|
||||
amount: number;
|
||||
|
||||
@ApiProperty({ type: Number })
|
||||
@Column({ type: DataType.NUMBER, field: 'remaining_balance' })
|
||||
remaining_balance: number;
|
||||
|
||||
@ApiProperty({ type: Number })
|
||||
@Column({ type: DataType.NUMBER, field: 'tax' })
|
||||
tax: number;
|
||||
|
||||
@ApiProperty({ type: Date })
|
||||
@Column({ type: DataType.DATEONLY, field: 'issue_date' })
|
||||
issue_date: Date;
|
||||
|
||||
@ApiProperty({ type: Date })
|
||||
@Column({ type: DataType.DATEONLY, field: 'due_date' })
|
||||
due_date: Date;
|
||||
|
||||
@ApiProperty({ type: String })
|
||||
@Column({ type: DataType.TEXT, field: 'status' })
|
||||
status: string;
|
||||
|
||||
@ApiProperty({ type: Date, default: new Date() })
|
||||
@Default(new Date())
|
||||
@Column({ type: DataType.DATEONLY, field: 'validFrom' })
|
||||
valid_from: Date;
|
||||
|
||||
@ApiProperty({ type: Date, default: new Date("2070-12-31") })
|
||||
@Default(new Date("2070-12-31"))
|
||||
@Column({ type: DataType.DATEONLY, field: 'validTill' })
|
||||
valid_till: Date;
|
||||
|
||||
@ApiProperty({ type: Date })
|
||||
@Column({ type: DataType.DATEONLY, field: 'createdAt' })
|
||||
created_at: Date;
|
||||
|
||||
@ApiProperty({ type: Date })
|
||||
@Column({ type: DataType.DATEONLY, field: 'updatedAt' })
|
||||
updated_at: Date;
|
||||
|
||||
@ApiProperty({ type: String })
|
||||
@Column({ type: DataType.TEXT, field: 'createdBy' })
|
||||
created_by: string;
|
||||
|
||||
@ApiProperty({ type: String })
|
||||
@Column({ type: DataType.TEXT, field: 'modifiedBy' })
|
||||
modified_by: string;
|
||||
|
||||
@ApiProperty({ type: Date })
|
||||
@Column({ type: DataType.DATEONLY, field: 'deletedAt' })
|
||||
deleted_at: Date;
|
||||
|
||||
@ApiProperty({ type: Number })
|
||||
@Column({ type: DataType.NUMBER, field: 'version' })
|
||||
version: number;
|
||||
|
||||
|
||||
11
src/main.ts
11
src/main.ts
@ -9,10 +9,19 @@ async function bootstrap() {
|
||||
Utility.appPort = configMaster.local.appConfig.port;
|
||||
Utility.mailConfig = configMaster.local.mailConfig;
|
||||
Utility.fileConfig = configMaster.local.fileConfig;
|
||||
Utility.swaggerConfig = configMaster.local.swaggerConfig;
|
||||
|
||||
const app = await NestFactory.create(AppModule, { cors: true });
|
||||
const config = new DocumentBuilder().setTitle('Payment API').setVersion('1.0').addTag('payments').build();
|
||||
|
||||
const config = new DocumentBuilder()
|
||||
.setTitle(Utility.swaggerConfig.swagger.title)
|
||||
.setVersion(Utility.swaggerConfig.swagger.version)
|
||||
.addTag(Utility.swaggerConfig.swagger.tag)
|
||||
.setDescription(Utility.swaggerConfig.swagger.description)
|
||||
.build();
|
||||
const document = SwaggerModule.createDocument(app, config);
|
||||
SwaggerModule.setup('api', app, document);
|
||||
|
||||
app.use(bodyParser.json({ limit: '50mb' }));
|
||||
app.use(bodyParser.urlencoded({ limit: '50mb', extended: true }));
|
||||
await app.listen(Utility.appPort);
|
||||
|
||||
@ -1,46 +1,60 @@
|
||||
import { Table, Column, Model, Default, DataType } from 'sequelize-typescript';
|
||||
import { ApiProperty } from '@nestjs/swagger';
|
||||
|
||||
@Table({ tableName: 'offers_redemption' , paranoid : true})
|
||||
@Table({ tableName: 'offers_redemption', paranoid: true })
|
||||
export default class OfferRedemption extends Model {
|
||||
|
||||
@ApiProperty({ type: Number })
|
||||
@Column(DataType.BIGINT)
|
||||
user_id: number;
|
||||
|
||||
@ApiProperty({ type: Number })
|
||||
@Column(DataType.BIGINT)
|
||||
offer_id: number;
|
||||
|
||||
@ApiProperty({ type: Number })
|
||||
@Column(DataType.BIGINT)
|
||||
payment_id: number;
|
||||
|
||||
@ApiProperty({ type: Date })
|
||||
@Column(DataType.DATEONLY)
|
||||
redemption_date: Date;
|
||||
|
||||
@ApiProperty({ type: String })
|
||||
@Column(DataType.TEXT)
|
||||
status: string;
|
||||
|
||||
@ApiProperty({ type: Date, default: new Date() })
|
||||
@Default(new Date())
|
||||
@Column(DataType.DATEONLY)
|
||||
validFrom: Date;
|
||||
|
||||
@ApiProperty({ type: Date, default: new Date("2070-12-31") })
|
||||
@Default(new Date("2070-12-31"))
|
||||
@Column(DataType.DATEONLY)
|
||||
validTill: Date;
|
||||
|
||||
@ApiProperty({ type: Date })
|
||||
@Column(DataType.DATEONLY)
|
||||
createdAt: Date;
|
||||
|
||||
@ApiProperty({ type: Date })
|
||||
@Column(DataType.DATEONLY)
|
||||
updatedAt: Date;
|
||||
|
||||
@ApiProperty({ type: String })
|
||||
@Column(DataType.TEXT)
|
||||
createdBy: string;
|
||||
|
||||
@ApiProperty({ type: String })
|
||||
@Column(DataType.TEXT)
|
||||
modifiedBy: string;
|
||||
|
||||
@ApiProperty({ type: Date })
|
||||
@Column(DataType.DATEONLY)
|
||||
deletedAt: Date;
|
||||
|
||||
@ApiProperty({ type: Number })
|
||||
@Column(DataType.NUMBER)
|
||||
version: number;
|
||||
}
|
||||
|
||||
@ -1,43 +1,56 @@
|
||||
import { Table, Column, Model, Default, DataType, Unique } from 'sequelize-typescript';
|
||||
import { ApiProperty } from '@nestjs/swagger';
|
||||
|
||||
@Table({ tableName: 'offers' , paranoid : true})
|
||||
@Table({ tableName: 'offers', paranoid: true })
|
||||
export default class Offer extends Model {
|
||||
|
||||
@ApiProperty({ type: String })
|
||||
@Column(DataType.TEXT)
|
||||
code: string;
|
||||
|
||||
@ApiProperty({ type: String })
|
||||
@Column(DataType.TEXT)
|
||||
description: string;
|
||||
|
||||
@ApiProperty({ type: Number })
|
||||
@Column(DataType.NUMBER)
|
||||
discount_value: number;
|
||||
|
||||
@ApiProperty({ type: String })
|
||||
@Column(DataType.TEXT)
|
||||
status: string;
|
||||
|
||||
@ApiProperty({ type: Date, default: new Date() })
|
||||
@Default(new Date())
|
||||
@Column(DataType.DATEONLY)
|
||||
validFrom: Date;
|
||||
|
||||
@ApiProperty({ type: Date, default: new Date("2070-12-31") })
|
||||
@Default(new Date("2070-12-31"))
|
||||
@Column(DataType.DATEONLY)
|
||||
validTill: Date;
|
||||
|
||||
@ApiProperty({ type: Date })
|
||||
@Column(DataType.DATEONLY)
|
||||
createdAt: Date;
|
||||
|
||||
@ApiProperty({ type: Date })
|
||||
@Column(DataType.DATEONLY)
|
||||
updatedAt: Date;
|
||||
|
||||
@ApiProperty({ type: String })
|
||||
@Column(DataType.TEXT)
|
||||
createdBy: string;
|
||||
|
||||
@ApiProperty({ type: String })
|
||||
@Column(DataType.TEXT)
|
||||
modifiedBy: string;
|
||||
|
||||
@ApiProperty({ type: Date })
|
||||
@Column(DataType.DATEONLY)
|
||||
deletedAt: Date;
|
||||
|
||||
@ApiProperty({ type: Number })
|
||||
@Column(DataType.NUMBER)
|
||||
version: number;
|
||||
}
|
||||
|
||||
@ -1,58 +1,76 @@
|
||||
import { Table, Column, Model, Default, DataType } from 'sequelize-typescript';
|
||||
import { ApiProperty } from '@nestjs/swagger';
|
||||
|
||||
@Table({ tableName: 'payment' , paranoid : true})
|
||||
@Table({ tableName: 'payment', paranoid: true })
|
||||
export default class Payment extends Model {
|
||||
|
||||
@ApiProperty({ type: Number })
|
||||
@Column(DataType.BIGINT)
|
||||
user_id: number;
|
||||
|
||||
@ApiProperty({ type: Number })
|
||||
@Column(DataType.NUMBER)
|
||||
amount: number;
|
||||
|
||||
@ApiProperty({ type: Date })
|
||||
@Column(DataType.DATEONLY)
|
||||
payment_date: Date;
|
||||
|
||||
@ApiProperty({ type: String })
|
||||
@Column(DataType.TEXT)
|
||||
method: string;
|
||||
|
||||
@ApiProperty({ type: String })
|
||||
@Column(DataType.TEXT)
|
||||
payment_signature: string;
|
||||
|
||||
@ApiProperty({ type: String })
|
||||
@Column(DataType.TEXT)
|
||||
from_account: string;
|
||||
|
||||
@ApiProperty({ type: String })
|
||||
@Column(DataType.TEXT)
|
||||
to_account: string;
|
||||
|
||||
@ApiProperty({ type: Number })
|
||||
@Column(DataType.NUMBER)
|
||||
remaining_amount: number;
|
||||
|
||||
@ApiProperty({ type: String })
|
||||
@Column(DataType.TEXT)
|
||||
status: string;
|
||||
|
||||
@ApiProperty({ type: Date, default: new Date() })
|
||||
@Default(new Date())
|
||||
@Column(DataType.DATEONLY)
|
||||
validFrom: Date;
|
||||
|
||||
@ApiProperty({ type: Date, default: new Date("2070-12-31") })
|
||||
@Default(new Date("2070-12-31"))
|
||||
@Column(DataType.DATEONLY)
|
||||
validTill: Date;
|
||||
|
||||
@ApiProperty({ type: Date })
|
||||
@Column(DataType.DATEONLY)
|
||||
createdAt: Date;
|
||||
|
||||
@ApiProperty({ type: Date })
|
||||
@Column(DataType.DATEONLY)
|
||||
updatedAt: Date;
|
||||
|
||||
@ApiProperty({ type: String })
|
||||
@Column(DataType.TEXT)
|
||||
createdBy: string;
|
||||
|
||||
@ApiProperty({ type: String })
|
||||
@Column(DataType.TEXT)
|
||||
modifiedBy: string;
|
||||
|
||||
@ApiProperty({ type: Date })
|
||||
@Column(DataType.DATEONLY)
|
||||
deletedAt: Date;
|
||||
|
||||
@ApiProperty({ type: Number })
|
||||
@Column(DataType.NUMBER)
|
||||
version: number;
|
||||
}
|
||||
|
||||
@ -1,46 +1,60 @@
|
||||
import { Table, Column, Model, Default, DataType } from 'sequelize-typescript';
|
||||
import { ApiProperty } from '@nestjs/swagger';
|
||||
|
||||
@Table({ tableName: 'plan_usage' , paranoid : true})
|
||||
@Table({ tableName: 'plan_usage', paranoid: true })
|
||||
export default class PlanUsage extends Model {
|
||||
|
||||
@ApiProperty({ type: Number })
|
||||
@Column(DataType.BIGINT)
|
||||
user_id: number;
|
||||
|
||||
@ApiProperty({ type: Number })
|
||||
@Column(DataType.BIGINT)
|
||||
plan_id: number;
|
||||
|
||||
@ApiProperty({ type: String })
|
||||
@Column(DataType.TEXT)
|
||||
usage_type: string;
|
||||
|
||||
@ApiProperty({ type: Date })
|
||||
@Column(DataType.DATEONLY)
|
||||
usage_quantity: Date;
|
||||
|
||||
@ApiProperty({ type: String })
|
||||
@Column(DataType.TEXT)
|
||||
status: string;
|
||||
|
||||
@ApiProperty({ type: Date, default: new Date() })
|
||||
@Default(new Date())
|
||||
@Column(DataType.DATEONLY)
|
||||
validFrom: Date;
|
||||
|
||||
@ApiProperty({ type: Date, default: new Date("2070-12-31") })
|
||||
@Default(new Date("2070-12-31"))
|
||||
@Column(DataType.DATEONLY)
|
||||
validTill: Date;
|
||||
|
||||
@ApiProperty({ type: Date })
|
||||
@Column(DataType.DATEONLY)
|
||||
createdAt: Date;
|
||||
|
||||
@ApiProperty({ type: Date })
|
||||
@Column(DataType.DATEONLY)
|
||||
updatedAt: Date;
|
||||
|
||||
@ApiProperty({ type: String })
|
||||
@Column(DataType.TEXT)
|
||||
createdBy: string;
|
||||
|
||||
@ApiProperty({ type: String })
|
||||
@Column(DataType.TEXT)
|
||||
modifiedBy: string;
|
||||
|
||||
@ApiProperty({ type: Date })
|
||||
@Column(DataType.DATEONLY)
|
||||
deletedAt: Date;
|
||||
|
||||
@ApiProperty({ type: Number })
|
||||
@Column(DataType.NUMBER)
|
||||
version: number;
|
||||
}
|
||||
|
||||
@ -1,46 +1,60 @@
|
||||
import { Table, Column, Model, Default, DataType } from 'sequelize-typescript';
|
||||
import { ApiProperty } from '@nestjs/swagger';
|
||||
|
||||
@Table({ tableName: 'plans_ref' , paranoid : true})
|
||||
@Table({ tableName: 'plans_ref', paranoid: true })
|
||||
export default class Plan extends Model {
|
||||
|
||||
@ApiProperty({ type: String })
|
||||
@Column(DataType.TEXT)
|
||||
name: string;
|
||||
|
||||
@ApiProperty({ type: Number })
|
||||
@Column(DataType.NUMBER)
|
||||
price: number;
|
||||
|
||||
@ApiProperty({ type: Date })
|
||||
@Column(DataType.DATEONLY)
|
||||
duration: Date;
|
||||
|
||||
@ApiProperty({ type: String })
|
||||
@Column(DataType.TEXT)
|
||||
description: string;
|
||||
|
||||
@ApiProperty({ type: String })
|
||||
@Column(DataType.TEXT)
|
||||
status: string;
|
||||
|
||||
@ApiProperty({ type: Date, default: new Date() })
|
||||
@Default(new Date())
|
||||
@Column(DataType.DATEONLY)
|
||||
validFrom: Date;
|
||||
|
||||
@ApiProperty({ type: Date, default: new Date("2070-12-31") })
|
||||
@Default(new Date("2070-12-31"))
|
||||
@Column(DataType.DATEONLY)
|
||||
validTill: Date;
|
||||
|
||||
@ApiProperty({ type: Date })
|
||||
@Column(DataType.DATEONLY)
|
||||
createdAt: Date;
|
||||
|
||||
@ApiProperty({ type: Date })
|
||||
@Column(DataType.DATEONLY)
|
||||
updatedAt: Date;
|
||||
|
||||
@ApiProperty({ type: String })
|
||||
@Column(DataType.TEXT)
|
||||
createdBy: string;
|
||||
|
||||
@ApiProperty({ type: String })
|
||||
@Column(DataType.TEXT)
|
||||
modifiedBy: string;
|
||||
|
||||
@ApiProperty({ type: Date })
|
||||
@Column(DataType.DATEONLY)
|
||||
deletedAt: Date;
|
||||
|
||||
@ApiProperty({ type: Number })
|
||||
@Column(DataType.NUMBER)
|
||||
version: number;
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user