From e49ce35c308691bfa732584bfa8b8d257ac56a8d Mon Sep 17 00:00:00 2001 From: Kenny Jung Date: Sun, 17 Sep 2023 16:18:12 +0900 Subject: [PATCH 1/2] Add get all users route --- apps/backend/src/app/app.module.ts | 4 +++- apps/backend/src/users/user.entity.ts | 16 ++++++++++++++++ apps/backend/src/users/users.controller.ts | 13 +++++++++++++ apps/backend/src/users/users.module.ts | 13 +++++++++++++ apps/backend/src/users/users.service.ts | 17 +++++++++++++++++ 5 files changed, 62 insertions(+), 1 deletion(-) create mode 100644 apps/backend/src/users/user.entity.ts create mode 100644 apps/backend/src/users/users.controller.ts create mode 100644 apps/backend/src/users/users.module.ts create mode 100644 apps/backend/src/users/users.service.ts diff --git a/apps/backend/src/app/app.module.ts b/apps/backend/src/app/app.module.ts index 5ae0939..77876a4 100644 --- a/apps/backend/src/app/app.module.ts +++ b/apps/backend/src/app/app.module.ts @@ -3,6 +3,7 @@ import { TypeOrmModule } from '@nestjs/typeorm'; import { AppController } from './app.controller'; import { AppService } from './app.service'; +import { UsersModule } from '../users/users.module'; import { PluralNamingStrategy } from '../strategies/plural-naming.strategy'; @Module({ @@ -11,7 +12,7 @@ import { PluralNamingStrategy } from '../strategies/plural-naming.strategy'; type: 'mongodb', host: 'localhost', port: 27017, - database: 'scaffoldingTest', + database: 'c4cOpsTest', // username: 'root', // password: 'root', autoLoadEntities: true, @@ -20,6 +21,7 @@ import { PluralNamingStrategy } from '../strategies/plural-naming.strategy'; synchronize: true, namingStrategy: new PluralNamingStrategy(), }), + UsersModule, ], controllers: [AppController], providers: [AppService], diff --git a/apps/backend/src/users/user.entity.ts b/apps/backend/src/users/user.entity.ts new file mode 100644 index 0000000..fb43b7f --- /dev/null +++ b/apps/backend/src/users/user.entity.ts @@ -0,0 +1,16 @@ +import { Entity, Column, PrimaryGeneratedColumn } from 'typeorm'; + +@Entity() +export class User { + @PrimaryGeneratedColumn() + id: number; + + @Column() + firstName: string; + + @Column() + lastName: string; + + @Column() + email: string; +} diff --git a/apps/backend/src/users/users.controller.ts b/apps/backend/src/users/users.controller.ts new file mode 100644 index 0000000..55f0c84 --- /dev/null +++ b/apps/backend/src/users/users.controller.ts @@ -0,0 +1,13 @@ +import { Controller, Get } from '@nestjs/common'; + +import { UsersService } from './users.service'; + +@Controller('users') +export class UsersController { + constructor(private readonly usersService: UsersService) {} + + @Get() + getAllUsers() { + return this.usersService.findAll(); + } +} diff --git a/apps/backend/src/users/users.module.ts b/apps/backend/src/users/users.module.ts new file mode 100644 index 0000000..7008d71 --- /dev/null +++ b/apps/backend/src/users/users.module.ts @@ -0,0 +1,13 @@ +import { Module } from '@nestjs/common'; +import { TypeOrmModule } from '@nestjs/typeorm'; + +import { UsersService } from './users.service'; +import { UsersController } from './users.controller'; +import { User } from './user.entity'; + +@Module({ + imports: [TypeOrmModule.forFeature([User])], + providers: [UsersService], + controllers: [UsersController], +}) +export class UsersModule {} diff --git a/apps/backend/src/users/users.service.ts b/apps/backend/src/users/users.service.ts new file mode 100644 index 0000000..7c477d9 --- /dev/null +++ b/apps/backend/src/users/users.service.ts @@ -0,0 +1,17 @@ +import { Injectable } from '@nestjs/common'; +import { InjectRepository } from '@nestjs/typeorm'; +import { Repository } from 'typeorm'; + +import { User } from './user.entity'; + +@Injectable() +export class UsersService { + constructor( + @InjectRepository(User) + private usersRepository: Repository, + ) {} + + findAll(): Promise { + return this.usersRepository.find(); + } +} From a2fbcedac79039bb58e7fc02ca1ec390abd7f9d3 Mon Sep 17 00:00:00 2001 From: Kenny Jung Date: Sun, 17 Sep 2023 16:21:58 +0900 Subject: [PATCH 2/2] Update CI/CD for c4c ops --- .github/workflows/ci-cd.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/ci-cd.yml b/.github/workflows/ci-cd.yml index fdf007d..8ca3dd1 100644 --- a/.github/workflows/ci-cd.yml +++ b/.github/workflows/ci-cd.yml @@ -77,19 +77,19 @@ jobs: deploy-frontend: needs: pre-deploy - if: (contains(github.event.inputs.manual-deploy, 'scaffolding-frontend') || contains(needs.pre-deploy.outputs.affected, 'scaffolding-frontend')) && (github.event_name == 'push' || github.event_name == 'workflow_dispatch') && github.ref == 'refs/heads/main' + if: (contains(github.event.inputs.manual-deploy, 'c4c-ops-frontend') || contains(needs.pre-deploy.outputs.affected, 'scaffolding-frontend')) && (github.event_name == 'push' || github.event_name == 'workflow_dispatch') && github.ref == 'refs/heads/main' runs-on: ubuntu-latest # For "simplicity", deployment settings are configured in the AWS Amplify Console # This just posts to a webhook telling Amplify to redeploy the main branch steps: - name: Tell Amplify to rebuild - run: curl -X POST -d {} ${SCAFFOLDING_WEBHOOK_DEPLOY} -H "Content-Type:application/json" + run: curl -X POST -d {} ${C4C_OPS_WEBHOOK_DEPLOY} -H "Content-Type:application/json" env: - SCAFFOLDING_WEBHOOK_DEPLOY: ${{ secrets.SCAFFOLDING_WEBHOOK_DEPLOY }} + C4C_OPS_WEBHOOK_DEPLOY: ${{ secrets.C4C_OPS_WEBHOOK_DEPLOY }} # deploy-backend: # needs: pre-deploy - # if: (contains(github.event.inputs.manual-deploy, 'scaffolding-backend') || contains(needs.pre-deploy.outputs.affected, 'scaffolding-backend')) && (github.event_name == 'push' || github.event_name == 'workflow_dispatch') && github.ref == 'refs/heads/main' + # if: (contains(github.event.inputs.manual-deploy, 'c4c-ops-backend') || contains(needs.pre-deploy.outputs.affected, 'scaffolding-backend')) && (github.event_name == 'push' || github.event_name == 'workflow_dispatch') && github.ref == 'refs/heads/main' # runs-on: ubuntu-latest # steps: # - uses: actions/checkout@v3 @@ -102,12 +102,12 @@ jobs: # - name: Install Dependencies # run: yarn install - # - run: npx nx build scaffolding-backend --configuration production + # - run: npx nx build c4c-ops-backend --configuration production # - name: default deploy # uses: appleboy/lambda-action@master # with: # aws_access_key_id: ${{ secrets.AWS_ACCESS_KEY_ID }} # aws_secret_access_key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} # aws_region: ${{ secrets.AWS_REGION }} - # function_name: scaffolding-monolith-lambda - # source: dist/apps/scaffolding/scaffolding-backend/main.js + # function_name: c4c-ops-monolith-lambda + # source: dist/apps/c4c-ops/c4c-ops-backend/main.js