Skip to content

Commit 2876cce

Browse files
committed
feat: implement archives module with CRUD operations and corresponding DTOs
1 parent 35da44e commit 2876cce

12 files changed

+244
-21
lines changed

.github/workflows/node-deploy.yml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@ jobs:
3333
ECR_REPOSITORY: lanting-backend
3434
IMAGE_TAG: ${{ github.sha }}
3535
run: |
36-
3736
docker build -t $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG .
3837
docker push $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG
3938
- name: deploy to cluster
@@ -50,4 +49,4 @@ jobs:
5049
env:
5150
KUBE_CONFIG_DATA: ${{ secrets.KUBE_CONFIG_DATA }}
5251
with:
53-
args: rollout status deployment/jakiro-backend --namespace="lanting"
52+
args: rollout status deployment/jakiro-backend --namespace="lanting"

package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,10 @@
2525
"@nestjs/common": "^11.0.1",
2626
"@nestjs/config": "^4.0.2",
2727
"@nestjs/core": "^11.0.1",
28+
"@nestjs/mapped-types": "*",
2829
"@nestjs/platform-express": "^11.0.1",
2930
"@prisma/client": "^6.8.2",
31+
"class-validator": "^0.14.2",
3032
"reflect-metadata": "^0.2.2",
3133
"rxjs": "^7.8.1",
3234
"zod": "^3.25.48"

pnpm-lock.yaml

Lines changed: 71 additions & 18 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/app.module.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
import { Module } from "@nestjs/common"
22
import { AppController } from "./app.controller"
33
import { AppService } from "./app.service"
4+
import { ArchivesModule } from "./archives/archives.module"
45
import { ConfigModule } from "./config/config.module"
56

67
@Module({
7-
imports: [ConfigModule],
8+
imports: [ConfigModule, ArchivesModule],
89
controllers: [AppController],
910
providers: [AppService],
1011
})
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
import { Test, TestingModule } from "@nestjs/testing"
2+
import { ArchivesController } from "./archives.controller"
3+
import { ArchivesService } from "./archives.service"
4+
5+
describe("archivesController", () => {
6+
let controller: ArchivesController
7+
8+
beforeEach(async () => {
9+
const module: TestingModule = await Test.createTestingModule({
10+
controllers: [ArchivesController],
11+
providers: [ArchivesService],
12+
}).compile()
13+
14+
controller = module.get<ArchivesController>(ArchivesController)
15+
})
16+
17+
it("should be defined", () => {
18+
expect(controller).toBeDefined()
19+
})
20+
})
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
import {
2+
Body,
3+
Controller,
4+
Delete,
5+
Get,
6+
Param,
7+
Patch,
8+
Post,
9+
} from "@nestjs/common"
10+
import { ArchivesService } from "./archives.service"
11+
import { CreateArchiveDto } from "./dto/create-archive.dto"
12+
import { UpdateArchiveDto } from "./dto/update-archive.dto"
13+
14+
@Controller("archives")
15+
export class ArchivesController {
16+
constructor(private readonly archivesService: ArchivesService) {}
17+
18+
@Post()
19+
create(@Body() createArchiveDto: CreateArchiveDto) {
20+
return this.archivesService.create(createArchiveDto)
21+
}
22+
23+
@Get()
24+
findAll() {
25+
return this.archivesService.findAll()
26+
}
27+
28+
@Get(":id")
29+
findOne(@Param("id") id: string) {
30+
return this.archivesService.findOne(+id)
31+
}
32+
33+
@Patch(":id")
34+
update(@Param("id") id: string, @Body() updateArchiveDto: UpdateArchiveDto) {
35+
return this.archivesService.update(+id, updateArchiveDto)
36+
}
37+
38+
@Delete(":id")
39+
remove(@Param("id") id: string) {
40+
return this.archivesService.remove(+id)
41+
}
42+
}

src/archives/archives.module.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
import { Module } from "@nestjs/common"
2+
import { ArchivesController } from "./archives.controller"
3+
import { ArchivesService } from "./archives.service"
4+
5+
@Module({
6+
controllers: [ArchivesController],
7+
providers: [ArchivesService],
8+
})
9+
export class ArchivesModule {}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
import { Test, TestingModule } from "@nestjs/testing"
2+
import { ArchivesService } from "./archives.service"
3+
4+
describe("archivesService", () => {
5+
let service: ArchivesService
6+
7+
beforeEach(async () => {
8+
const module: TestingModule = await Test.createTestingModule({
9+
providers: [ArchivesService],
10+
}).compile()
11+
12+
service = module.get<ArchivesService>(ArchivesService)
13+
})
14+
15+
it("should be defined", () => {
16+
expect(service).toBeDefined()
17+
})
18+
})

0 commit comments

Comments
 (0)