Merge pull request 'feat: move api versioning' (#3) from feat/report into development
continuous-integration/drone/tag Build is passing Details

Reviewed-on: #3
pull/4/head^2 devel_10.5.0
firmanr 2024-06-25 05:24:42 +00:00
commit c35f966b5a
39 changed files with 62 additions and 62 deletions

View File

@ -9,7 +9,7 @@ import { MODULE_NAME } from 'src/core/strings/constants/module.constants';
import { Public } from 'src/core/guards';
@ApiTags(`${MODULE_NAME.{{constantCase name}}.split('-').join(' ')} - read`)
@Controller(MODULE_NAME.{{constantCase name}})
@Controller(`v1/${MODULE_NAME.{{constantCase name}}}`)
@Public(false)
@ApiBearerAuth('JWT')
export class {{pascalCase name}}ReadController {

View File

@ -17,7 +17,7 @@ import { BatchIdsDto } from 'src/core/modules/infrastructure/dto/base-batch.dto'
import { Public } from 'src/core/guards';
@ApiTags(`${MODULE_NAME.{{constantCase name}}.split('-').join(' ')} - data`)
@Controller(MODULE_NAME.{{constantCase name}})
@Controller(`v1/${MODULE_NAME.{{constantCase name}}}`)
@Public(false)
@ApiBearerAuth('JWT')
export class {{pascalCase name}}DataController {

View File

@ -16,7 +16,7 @@ import {
import { Public } from 'src/core/guards';
@ApiTags(`${MODULE_NAME.{{constantCase name}}.split('-').join(' ')} - data`)
@Controller(MODULE_NAME.{{constantCase name}})
@Controller(`v1/${MODULE_NAME.{{constantCase name}}}`)
@Public(false)
@ApiBearerAuth('JWT')
export class {{pascalCase name}}DataController {

View File

@ -15,7 +15,8 @@ async function bootstrap() {
const app = await NestFactory.create(AppModule);
app.setGlobalPrefix('api/v1');
// app.setGlobalPrefix('api/v1');
app.setGlobalPrefix('api');
app.enableCors();
app.useGlobalPipes(
new ValidationPipe({ transform: true, forbidUnknownValues: false }),
@ -35,7 +36,8 @@ async function bootstrap() {
swaggerOptions: { docExpansion: 'list' },
};
const document = SwaggerModule.createDocument(app, config);
SwaggerModule.setup('api/v1/pos/docs', app, document, options);
// SwaggerModule.setup('api/v1/pos/docs', app, document, options);
SwaggerModule.setup('api/pos/docs', app, document, options);
await app.listen(process.env.PORT || 3000);
}

View File

@ -4,7 +4,7 @@ import { AuthOrchestrator } from '../domain/auth.orchestrator';
import { ApiBearerAuth } from '@nestjs/swagger';
import { LoginDto } from './dto/login.dto';
@Controller('auth')
@Controller('v1/auth')
export class AuthController {
constructor(private orchestrator: AuthOrchestrator) {}

View File

@ -7,7 +7,7 @@ import { LimitType } from 'src/modules/item-related/item/constants';
import { PaymentMethodType } from 'src/modules/transaction/payment-method/constants';
@ApiTags('configuration - constant')
@Controller('constant')
@Controller('v1/constant')
@Public(true)
export class ConstantController {
constructor() {}

View File

@ -6,7 +6,7 @@ import * as Nano from 'nano';
import { CreateUserPrivilegeDto } from 'src/modules/user-related/user-privilege/infrastructure/dto/create-user-privilege.dto';
@ApiTags(`couch`)
@Controller('couch')
@Controller('v1/couch')
@Unprotected()
export class CouchDataController {
@Post()

View File

@ -5,15 +5,13 @@ import { Public } from 'src/core/guards';
import { FilterGoogleCalendarDto } from './dto/filter-google-calendar.dto';
@ApiTags(`google calendar - read`)
@Controller('google-calendar')
@Controller('v1/google-calendar')
@Public(true)
export class GoogleCalendarController {
constructor(private orchestrator: GoogleCalendarOrchestrator) { }
constructor(private orchestrator: GoogleCalendarOrchestrator) {}
@Get('/holiday')
async calendar(
@Query() params: FilterGoogleCalendarDto,
) {
async calendar(@Query() params: FilterGoogleCalendarDto) {
return await this.orchestrator.holiday(params);
}
}

View File

@ -17,7 +17,7 @@ import { BatchIdsDto } from 'src/core/modules/infrastructure/dto/base-batch.dto'
import { Public } from 'src/core/guards';
@ApiTags(`${MODULE_NAME.ITEM_CATEGORY.split('-').join(' ')} - data`)
@Controller(MODULE_NAME.ITEM_CATEGORY)
@Controller(`v1/${MODULE_NAME.ITEM_CATEGORY}`)
@Public(false)
@ApiBearerAuth('JWT')
export class ItemCategoryDataController {

View File

@ -9,7 +9,7 @@ import { MODULE_NAME } from 'src/core/strings/constants/module.constants';
import { Public } from 'src/core/guards';
@ApiTags(`${MODULE_NAME.ITEM_CATEGORY.split('-').join(' ')} - read`)
@Controller(MODULE_NAME.ITEM_CATEGORY)
@Controller(`v1/${MODULE_NAME.ITEM_CATEGORY}`)
@Public(false)
@ApiBearerAuth('JWT')
export class ItemCategoryReadController {

View File

@ -8,12 +8,12 @@ import { BatchResult } from 'src/core/response/domain/ok-response.interface';
import { BatchIdsDto } from 'src/core/modules/infrastructure/dto/base-batch.dto';
import { Public } from 'src/core/guards';
@ApiTags(`${ MODULE_NAME.ITEM_RATE.split('-').join(' ') } - data`)
@Controller(MODULE_NAME.ITEM_RATE)
@ApiTags(`${MODULE_NAME.ITEM_RATE.split('-').join(' ')} - data`)
@Controller(`v1/${MODULE_NAME.ITEM_RATE}`)
@Public(false)
@ApiBearerAuth('JWT')
export class ItemRateDataController {
constructor(private orchestrator: ItemRateDataOrchestrator) { }
constructor(private orchestrator: ItemRateDataOrchestrator) {}
// untuk sementara, tidak dapat create
// @Post()

View File

@ -9,12 +9,12 @@ import { MODULE_NAME } from 'src/core/strings/constants/module.constants';
import { Public } from 'src/core/guards';
import { ItemEntity } from '../../item/domain/entities/item.entity';
@ApiTags(`${ MODULE_NAME.ITEM_RATE.split('-').join(' ') } - read`)
@Controller(MODULE_NAME.ITEM_RATE)
@ApiTags(`${MODULE_NAME.ITEM_RATE.split('-').join(' ')} - read`)
@Controller(`v1/${MODULE_NAME.ITEM_RATE}`)
@Public(false)
@ApiBearerAuth('JWT')
export class ItemRateReadController {
constructor(private orchestrator: ItemRateReadOrchestrator) { }
constructor(private orchestrator: ItemRateReadOrchestrator) {}
@Get()
@Pagination()

View File

@ -17,7 +17,7 @@ import { BatchIdsDto } from 'src/core/modules/infrastructure/dto/base-batch.dto'
import { Public } from 'src/core/guards';
@ApiTags(`${MODULE_NAME.ITEM.split('-').join(' ')} - data`)
@Controller(MODULE_NAME.ITEM)
@Controller(`v1/${MODULE_NAME.ITEM}`)
@Public(false)
@ApiBearerAuth('JWT')
export class ItemDataController {

View File

@ -10,12 +10,12 @@ import { Public } from 'src/core/guards';
import { ItemRateEntity } from '../../item-rate/domain/entities/item-rate.entity';
import { FilterItemRateDto } from '../../item-rate/infrastructure/dto/filter-item-rate.dto';
@ApiTags(`${ MODULE_NAME.ITEM.split('-').join(' ') } - read`)
@Controller(MODULE_NAME.ITEM)
@ApiTags(`${MODULE_NAME.ITEM.split('-').join(' ')} - read`)
@Controller(`v1/${MODULE_NAME.ITEM}`)
@Public(false)
@ApiBearerAuth('JWT')
export class ItemReadController {
constructor(private orchestrator: ItemReadOrchestrator) { }
constructor(private orchestrator: ItemReadOrchestrator) {}
@Get()
@Pagination()
@ -34,7 +34,7 @@ export class ItemReadController {
@Pagination()
async indexRate(
@Query() params: FilterItemRateDto,
@Param('id') id: string
@Param('id') id: string,
): Promise<PaginationResponse<ItemRateEntity>> {
params.item_ids = [id];
return await this.orchestrator.indexRate(params);

View File

@ -20,12 +20,12 @@ import { UpdateSeasonPeriodDto } from './dto/update-season-period.dto';
import { UpdateSeasonPeriodItemDto } from './dto/update-season-period-item.dto';
import { UpdateSeasonPriceDto } from './dto/update-season-price.dto';
@ApiTags(`${ MODULE_NAME.SEASON_PERIOD.split('-').join(' ') } - data`)
@Controller(MODULE_NAME.SEASON_PERIOD)
@ApiTags(`${MODULE_NAME.SEASON_PERIOD.split('-').join(' ')} - data`)
@Controller(`v1/${MODULE_NAME.SEASON_PERIOD}`)
@Public(false)
@ApiBearerAuth('JWT')
export class SeasonPeriodDataController {
constructor(private orchestrator: SeasonPeriodDataOrchestrator) { }
constructor(private orchestrator: SeasonPeriodDataOrchestrator) {}
@Post()
async create(@Body() data: SeasonPeriodDto): Promise<SeasonPeriodEntity> {
@ -34,7 +34,7 @@ export class SeasonPeriodDataController {
@Post('/update-price')
async updatePrice(@Body() body: UpdateSeasonPriceDto): Promise<BatchResult> {
console.log('here')
console.log('here');
return await this.orchestrator.updatePrice(body);
}

View File

@ -10,12 +10,12 @@ import { Public } from 'src/core/guards';
import { ItemRateEntity } from 'src/modules/item-related/item-rate/domain/entities/item-rate.entity';
import { FilterItemRateDto } from 'src/modules/item-related/item-rate/infrastructure/dto/filter-item-rate.dto';
@ApiTags(`${ MODULE_NAME.SEASON_PERIOD.split('-').join(' ') } - read`)
@Controller(MODULE_NAME.SEASON_PERIOD)
@ApiTags(`${MODULE_NAME.SEASON_PERIOD.split('-').join(' ')} - read`)
@Controller(`v1/${MODULE_NAME.SEASON_PERIOD}`)
@Public(false)
@ApiBearerAuth('JWT')
export class SeasonPeriodReadController {
constructor(private orchestrator: SeasonPeriodReadOrchestrator) { }
constructor(private orchestrator: SeasonPeriodReadOrchestrator) {}
@Get()
@Pagination()
@ -34,7 +34,7 @@ export class SeasonPeriodReadController {
@Pagination()
async indexItem(
@Query() params: FilterItemRateDto,
@Param('id') id: string
@Param('id') id: string,
): Promise<PaginationResponse<ItemRateEntity>> {
params.season_period_ids = [id];
return await this.orchestrator.indexItem(params);

View File

@ -17,7 +17,7 @@ import { BatchIdsDto } from 'src/core/modules/infrastructure/dto/base-batch.dto'
import { Public } from 'src/core/guards';
@ApiTags(`${MODULE_NAME.SEASON_TYPE.split('-').join(' ')} - data`)
@Controller(MODULE_NAME.SEASON_TYPE)
@Controller(`v1/${MODULE_NAME.SEASON_TYPE}`)
@Public(false)
@ApiBearerAuth('JWT')
export class SeasonTypeDataController {

View File

@ -9,7 +9,7 @@ import { MODULE_NAME } from 'src/core/strings/constants/module.constants';
import { Public } from 'src/core/guards';
@ApiTags(`${MODULE_NAME.SEASON_TYPE.split('-').join(' ')} - read`)
@Controller(MODULE_NAME.SEASON_TYPE)
@Controller(`v1/${MODULE_NAME.SEASON_TYPE}`)
@Public(false)
@ApiBearerAuth('JWT')
export class SeasonTypeReadController {

View File

@ -17,7 +17,7 @@ import { BatchIdsDto } from 'src/core/modules/infrastructure/dto/base-batch.dto'
import { Public } from 'src/core/guards';
@ApiTags(`${MODULE_NAME.PAYMENT_METHOD.split('-').join(' ')} - data`)
@Controller(MODULE_NAME.PAYMENT_METHOD)
@Controller(`v1/${MODULE_NAME.PAYMENT_METHOD}`)
@Public(false)
@ApiBearerAuth('JWT')
export class PaymentMethodDataController {

View File

@ -9,7 +9,7 @@ import { MODULE_NAME } from 'src/core/strings/constants/module.constants';
import { Public } from 'src/core/guards';
@ApiTags(`${MODULE_NAME.PAYMENT_METHOD.split('-').join(' ')} - read`)
@Controller(MODULE_NAME.PAYMENT_METHOD)
@Controller(`v1/${MODULE_NAME.PAYMENT_METHOD}`)
@Public(false)
@ApiBearerAuth('JWT')
export class PaymentMethodReadController {

View File

@ -6,7 +6,7 @@ import { SalesPriceFormulaEntity } from '../../sales-price-formula/domain/entiti
import { SalesPriceFormulaDto } from '../../sales-price-formula/infrastructure/dto/sales-price-formula.dto';
@ApiTags(`profit share formula - data`)
@Controller('profit-share-formula')
@Controller('v1/profit-share-formula')
@Public(false)
@ApiBearerAuth('JWT')
export class ProfitShareFormulaDataController {

View File

@ -5,7 +5,7 @@ import { Public } from 'src/core/guards';
import { SalesPriceFormulaEntity } from '../../sales-price-formula/domain/entities/sales-price-formula.entity';
@ApiTags(`profit share formula - read`)
@Controller('profit-share-formula')
@Controller('v1/profit-share-formula')
@Public(false)
@ApiBearerAuth('JWT')
export class ProfitShareFormulaReadController {

View File

@ -6,7 +6,7 @@ import { SalesPriceFormulaEntity } from '../domain/entities/sales-price-formula.
import { Public } from 'src/core/guards';
@ApiTags(`sales price formulas - data`)
@Controller('sales-price-formula')
@Controller('v1/sales-price-formula')
@Public(false)
@ApiBearerAuth('JWT')
export class SalesPriceFormulaDataController {

View File

@ -5,7 +5,7 @@ import { ApiBearerAuth, ApiTags } from '@nestjs/swagger';
import { Public } from 'src/core/guards';
@ApiTags(`sales price formulas - read`)
@Controller('sales-price-formula')
@Controller('v1/sales-price-formula')
@Public(false)
@ApiBearerAuth('JWT')
export class SalesPriceFormulaReadController {

View File

@ -17,7 +17,7 @@ import { BatchIdsDto } from 'src/core/modules/infrastructure/dto/base-batch.dto'
import { Public } from 'src/core/guards';
@ApiTags(`${MODULE_NAME.TAX.split('-').join(' ')} - data`)
@Controller(MODULE_NAME.TAX)
@Controller(`v1/${MODULE_NAME.TAX}`)
@Public(false)
@ApiBearerAuth('JWT')
export class TaxDataController {

View File

@ -9,7 +9,7 @@ import { MODULE_NAME } from 'src/core/strings/constants/module.constants';
import { Public } from 'src/core/guards';
@ApiTags(`${MODULE_NAME.TAX.split('-').join(' ')} - read`)
@Controller(MODULE_NAME.TAX)
@Controller(`v1/${MODULE_NAME.TAX}`)
@Public(false)
@ApiBearerAuth('JWT')
export class TaxReadController {

View File

@ -17,7 +17,7 @@ import { BatchIdsDto } from 'src/core/modules/infrastructure/dto/base-batch.dto'
import { Public } from 'src/core/guards';
@ApiTags(`${MODULE_NAME.VIP_CATEGORY.split('-').join(' ')} - data`)
@Controller(MODULE_NAME.VIP_CATEGORY)
@Controller(`v1/${MODULE_NAME.VIP_CATEGORY}`)
@Public(false)
@ApiBearerAuth('JWT')
export class VipCategoryDataController {

View File

@ -9,7 +9,7 @@ import { MODULE_NAME } from 'src/core/strings/constants/module.constants';
import { Public } from 'src/core/guards';
@ApiTags(`${MODULE_NAME.VIP_CATEGORY.split('-').join(' ')} - read`)
@Controller(MODULE_NAME.VIP_CATEGORY)
@Controller(`v1/${MODULE_NAME.VIP_CATEGORY}`)
@Public(false)
@ApiBearerAuth('JWT')
export class VipCategoryReadController {

View File

@ -7,7 +7,7 @@ import { VipCodeEntity } from '../domain/entities/vip-code.entity';
import { Public } from 'src/core/guards';
@ApiTags(`${MODULE_NAME.VIP_CODE.split('-').join(' ')} - data`)
@Controller(MODULE_NAME.VIP_CODE)
@Controller(`v1/${MODULE_NAME.VIP_CODE}`)
@Public(false)
@ApiBearerAuth('JWT')
export class VipCodeDataController {

View File

@ -9,7 +9,7 @@ import { MODULE_NAME } from 'src/core/strings/constants/module.constants';
import { Public } from 'src/core/guards';
@ApiTags(`${MODULE_NAME.VIP_CODE.split('-').join(' ')} - read`)
@Controller(MODULE_NAME.VIP_CODE)
@Controller(`v1/${MODULE_NAME.VIP_CODE}`)
@Public(false)
@ApiBearerAuth('JWT')
export class VipCodeReadController {

View File

@ -19,7 +19,7 @@ import { UpdateTenantDto } from './dto/update-tenant.dto';
import { UpdatePasswordTenantDto } from './dto/update-password-tenant.dto';
@ApiTags(`${MODULE_NAME.TENANT.split('-').join(' ')} - data`)
@Controller(MODULE_NAME.TENANT)
@Controller(`v1/${MODULE_NAME.TENANT}`)
@Public(false)
@ApiBearerAuth('JWT')
export class TenantDataController {

View File

@ -16,12 +16,12 @@ import { ItemEntity } from 'src/modules/item-related/item/domain/entities/item.e
import { ItemDataOrchestrator } from 'src/modules/item-related/item/domain/usecases/item-data.orchestrator';
import { ItemDto } from 'src/modules/item-related/item/infrastructure/dto/item.dto';
@ApiTags(`${ MODULE_NAME.TENANT.split('-').join(' ') } item - data`)
@Controller(`${ MODULE_NAME.TENANT }/:tenant_id/item`)
@ApiTags(`${MODULE_NAME.TENANT.split('-').join(' ')} item - data`)
@Controller(`v1/${MODULE_NAME.TENANT}/:tenant_id/item`)
@Public(false)
@ApiBearerAuth('JWT')
export class TenantItemDataController {
constructor(private orchestrator: ItemDataOrchestrator) { }
constructor(private orchestrator: ItemDataOrchestrator) {}
@Post()
async create(

View File

@ -8,12 +8,12 @@ import { ItemEntity } from 'src/modules/item-related/item/domain/entities/item.e
import { ItemReadOrchestrator } from 'src/modules/item-related/item/domain/usecases/item-read.orchestrator';
import { FilterItemDto } from 'src/modules/item-related/item/infrastructure/dto/filter-item.dto';
@ApiTags(`${ MODULE_NAME.TENANT.split('-').join(' ') } item - read`)
@Controller(`${ MODULE_NAME.TENANT }/:tenant_id/item`)
@ApiTags(`${MODULE_NAME.TENANT.split('-').join(' ')} item - read`)
@Controller(`v1/${MODULE_NAME.TENANT}/:tenant_id/item`)
@Public(false)
@ApiBearerAuth('JWT')
export class TenantItemReadController {
constructor(private orchestrator: ItemReadOrchestrator) { }
constructor(private orchestrator: ItemReadOrchestrator) {}
@Get()
@Pagination()

View File

@ -9,7 +9,7 @@ import { Public } from 'src/core/guards';
import { UserEntity } from '../../user/domain/entities/user.entity';
@ApiTags(`${MODULE_NAME.TENANT.split('-').join(' ')} - read`)
@Controller(MODULE_NAME.TENANT)
@Controller(`v1/${MODULE_NAME.TENANT}`)
@Public(false)
@ApiBearerAuth('JWT')
export class TenantReadController {

View File

@ -12,7 +12,7 @@ import { Pagination } from 'src/core/response';
@ApiTags(
`${MODULE_NAME.USER_PRIVILEGE_CONFIGURATION.split('-').join(' ')} - data`,
)
@Controller(MODULE_NAME.USER_PRIVILEGE_CONFIGURATION)
@Controller(`v1/${MODULE_NAME.USER_PRIVILEGE_CONFIGURATION}`)
@Public(false)
@ApiBearerAuth('JWT')
export class UserPrivilegeConfigurationController {

View File

@ -17,7 +17,7 @@ import { BatchIdsDto } from 'src/core/modules/infrastructure/dto/base-batch.dto'
import { Public } from 'src/core/guards';
@ApiTags(`${MODULE_NAME.USER_PRIVILEGE.split('-').join(' ')} - data`)
@Controller(MODULE_NAME.USER_PRIVILEGE)
@Controller(`v1/${MODULE_NAME.USER_PRIVILEGE}`)
@Public(false)
@ApiBearerAuth('JWT')
export class UserPrivilegeDataController {

View File

@ -9,7 +9,7 @@ import { MODULE_NAME } from 'src/core/strings/constants/module.constants';
import { Public } from 'src/core/guards';
@ApiTags(`${MODULE_NAME.USER_PRIVILEGE.split('-').join(' ')} - read`)
@Controller(MODULE_NAME.USER_PRIVILEGE)
@Controller(`v1/${MODULE_NAME.USER_PRIVILEGE}`)
@Public(false)
@ApiBearerAuth('JWT')
export class UserPrivilegeReadController {

View File

@ -19,7 +19,7 @@ import { UpdateUserDto } from './dto/update-user.dto';
import { UpdatePasswordUserDto } from './dto/update-password-user.dto';
@ApiTags(`${MODULE_NAME.USER.split('-').join(' ')} - data`)
@Controller(MODULE_NAME.USER)
@Controller(`v1/${MODULE_NAME.USER}`)
@Public(false)
@ApiBearerAuth('JWT')
export class UserDataController {

View File

@ -9,7 +9,7 @@ import { MODULE_NAME } from 'src/core/strings/constants/module.constants';
import { Public } from 'src/core/guards';
@ApiTags(`${MODULE_NAME.USER.split('-').join(' ')} - read`)
@Controller(MODULE_NAME.USER)
@Controller(`v1/${MODULE_NAME.USER}`)
@Public(false)
@ApiBearerAuth('JWT')
export class UserReadController {