Skip to content

Commit

Permalink
Merge pull request #1 from opticrd:develop
Browse files Browse the repository at this point in the history
[REF] versioning project structure implemented
  • Loading branch information
marluanespiritusanto committed Aug 4, 2021
2 parents 88e2e55 + 3f19471 commit 25d13b2
Show file tree
Hide file tree
Showing 54 changed files with 26 additions and 22 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/prod-cd.yml
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ jobs:
service: ${{ env.GITHUB_REPOSITORY_NAME_PART_SLUG }}-${{ needs.versioning.outputs.api_version }}
credentials: ${{ secrets.GAR_JSON_KEY }}
region: ${{ secrets.GCP_REGION }}
env_vars: DB_HOST=${{ secrets.DB_HOST }},DB_PORT=${{ secrets.DB_PORT }},DB_USER=${{ secrets.DB_USER }},DB_PASSWORD=${{ secrets.DB_PASSWORD }},DB_NAME=${{ secrets.DB_NAME }},HASH_CONVERT_SERVICE_URI=${{ secrets.HASH_CONVERT_SERVICE_URI }},JCE_CITIZENS_API=${{ secrets.JCE_CITIZENS_API }}
env_vars: DB_HOST=${{ secrets.DB_HOST }},DB_PORT=${{ secrets.DB_PORT }},DB_USER=${{ secrets.DB_USER }},DB_PASSWORD=${{ secrets.DB_PASSWORD }},DB_NAME=${{ secrets.DB_NAME }},API_VERSION=${{ needs.versioning.outputs.api_version }}

- name: Testing Service By Curl
run: curl "${{ steps.deploy.outputs.url }}"
2 changes: 2 additions & 0 deletions src/app.module.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,10 @@ import { TerritorialDivisionModule } from '@modules/territorial-division/territo
})
export class AppModule {
static port: number;
static apiVersion: string;

constructor(private readonly configService: ConfigService) {
AppModule.port = +this.configService.get('PORT');
AppModule.apiVersion = this.configService.get('API_VERSION');
}
}
7 changes: 3 additions & 4 deletions src/config/swagger.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,22 +3,21 @@ import { INestApplication } from '@nestjs/common';

const title = 'Territorial Division';
const description = 'Territorial Division api definition.';
const version = '1.0';

/**
* Setup swagger in the application boostrap
* @param app {INestApplication}
*/
export const configSwagger = (app: INestApplication) => {
export const configSwagger = (app: INestApplication, apiVersion: string) => {
const options = new DocumentBuilder()
.setTitle(title)
.setDescription(description)
.setVersion(version)
.setVersion(apiVersion)
.build();

const document = SwaggerModule.createDocument(app, options, {
operationIdFactory: (controllerKey: string, methodKey: string) => methodKey,
});

SwaggerModule.setup('v1/territories/api', app, document);
SwaggerModule.setup(`${apiVersion}/territories/api`, app, document);
};
2 changes: 1 addition & 1 deletion src/main.ts
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ async function bootstrap() {
);
app.enableVersioning();

configSwagger(app);
configSwagger(app, AppModule.apiVersion);

await app.listen(AppModule.port);
}
Expand Down
25 changes: 14 additions & 11 deletions src/modules/territorial-division/territorial-division.module.ts
Original file line number Diff line number Diff line change
@@ -1,15 +1,18 @@
import { Module } from '@nestjs/common';
import { TypeOrmModule } from '@nestjs/typeorm';

import { District } from './entities/district.model';
import { Municipality } from './entities/municipality.model';
import { Neighborhood } from './entities/neighborhood.model';
import { Province } from './entities/province.model';
import { Region } from './entities/region.model';
import { Section } from './entities/section.model';
import { SubNeighborhood } from './entities/sub-neighborhood.model';
import { TerritorialDivisionController } from './territorial-division.controller';
import { TerritorialDivisionService } from './territorial-division.service';
/**
* V1
*/
import { District } from './v1/entities/district.model';
import { Municipality } from './v1/entities/municipality.model';
import { Neighborhood } from './v1/entities/neighborhood.model';
import { Province } from './v1/entities/province.model';
import { Region } from './v1/entities/region.model';
import { Section } from './v1/entities/section.model';
import { SubNeighborhood } from './v1/entities/sub-neighborhood.model';
import { TerritorialDivisionV1Controller } from './v1/territorial-division-v1.controller';
import { TerritorialDivisionV1Service } from './v1/territorial-division-v1.service';

@Module({
imports: [
Expand All @@ -23,7 +26,7 @@ import { TerritorialDivisionService } from './territorial-division.service';
SubNeighborhood,
]),
],
controllers: [TerritorialDivisionController],
providers: [TerritorialDivisionService],
controllers: [TerritorialDivisionV1Controller],
providers: [TerritorialDivisionV1Service],
})
export class TerritorialDivisionModule {}
Original file line number Diff line number Diff line change
Expand Up @@ -25,17 +25,17 @@ import {
ResponseSectionDto,
ResponseSubNeighborhoodDto,
} from './dto';
import { TerritorialDivisionService } from './territorial-division.service';
import { TerritorialDivisionV1Service } from './territorial-division-v1.service';

@Controller({
path: 'territories',
version: '1',
})
@ApiTags('Territorial Division')
@ApiTags('Territorial Division: Version 1')
@UseInterceptors(EnvelopInterceptor)
export class TerritorialDivisionController {
export class TerritorialDivisionV1Controller {
constructor(
private readonly territorialDivisionService: TerritorialDivisionService,
private readonly territorialDivisionService: TerritorialDivisionV1Service,
) {}

@Get('regions')
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ import {
} from './strategies';

@Injectable()
export class TerritorialDivisionService {
export class TerritorialDivisionV1Service {
constructor(
@InjectRepository(Region) private readonly regionRepo: Repository<Region>,
@InjectRepository(Province)
Expand Down

0 comments on commit 25d13b2

Please sign in to comment.