feat: 增加 pipeline和 deployment
This commit is contained in:
45
apps/server/controllers/deployment/index.ts
Normal file
45
apps/server/controllers/deployment/index.ts
Normal file
@@ -0,0 +1,45 @@
|
||||
import { Controller, Get, Post } from '../../decorators/route.ts';
|
||||
import type { Prisma } from '../../generated/prisma/index.js';
|
||||
import prisma from '../../libs/db.ts';
|
||||
import type { Context } from 'koa';
|
||||
|
||||
@Controller('/deployments')
|
||||
export class DeploymentController {
|
||||
@Get('')
|
||||
async list(ctx: Context) {
|
||||
const { page = 1, pageSize = 10 } = ctx.query;
|
||||
const result = await prisma.deployment.findMany({
|
||||
where: {
|
||||
valid: 1,
|
||||
},
|
||||
take: Number(pageSize),
|
||||
skip: (Number(page) - 1) * Number(pageSize),
|
||||
orderBy: {
|
||||
createdAt: 'desc',
|
||||
},
|
||||
});
|
||||
const total = await prisma.deployment.count();
|
||||
|
||||
return {
|
||||
data: result,
|
||||
page: Number(page),
|
||||
pageSize: Number(pageSize),
|
||||
total: total,
|
||||
};
|
||||
}
|
||||
|
||||
@Post('')
|
||||
async create(ctx: Context) {
|
||||
const body = ctx.request.body as Prisma.DeploymentCreateInput;
|
||||
|
||||
prisma.deployment.create({
|
||||
data: {
|
||||
branch: body.branch,
|
||||
commitHash: body.commitHash,
|
||||
commitMessage: body.commitMessage,
|
||||
|
||||
valid: 1,
|
||||
},
|
||||
});
|
||||
}
|
||||
}
|
||||
0
apps/server/controllers/deployment/types.ts
Normal file
0
apps/server/controllers/deployment/types.ts
Normal file
@@ -2,3 +2,5 @@
|
||||
export { ProjectController } from './project/index.ts';
|
||||
export { UserController } from './user/index.ts';
|
||||
export { AuthController } from './auth/index.ts';
|
||||
export { DeploymentController } from './deployment/index.ts';
|
||||
export { PipelineController } from './pipeline/index.ts'
|
||||
|
||||
22
apps/server/controllers/pipeline/index.ts
Normal file
22
apps/server/controllers/pipeline/index.ts
Normal file
@@ -0,0 +1,22 @@
|
||||
import type { Context } from 'koa';
|
||||
import { Controller, Get, Post } from '../../decorators/route.ts';
|
||||
import prisma from '../../libs/db.ts';
|
||||
|
||||
@Controller('/pipelines')
|
||||
export class PipelineController {
|
||||
@Get('/:id')
|
||||
async get(ctx: Context) {
|
||||
const id = ctx.params.id;
|
||||
const pipeline = await prisma.pipeline.findUnique({
|
||||
where: {
|
||||
id: id,
|
||||
},
|
||||
});
|
||||
return pipeline;
|
||||
}
|
||||
|
||||
@Post('')
|
||||
async create(ctx: Context) {
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user