Refactor code structure for improved readability and maintainability
This commit is contained in:
42
src/api/api.service.ts
Normal file
42
src/api/api.service.ts
Normal file
@ -0,0 +1,42 @@
|
||||
import { Injectable } from "@nestjs/common";
|
||||
import { InjectRepository } from "@nestjs/typeorm";
|
||||
import { Token } from "./entities/token.entity";
|
||||
import { Repository } from "typeorm";
|
||||
import { Project } from "src/project/entities/project.entity";
|
||||
|
||||
@Injectable()
|
||||
export class ApiService {
|
||||
constructor(
|
||||
@InjectRepository(Token)
|
||||
private readonly tokenRepository: Repository<Token>,
|
||||
|
||||
@InjectRepository(Project)
|
||||
private readonly projectRepository: Repository<Project>
|
||||
) {}
|
||||
|
||||
async generateToken(projectToken: string) {
|
||||
const project = await this.projectRepository.findOne({
|
||||
where: { token: projectToken },
|
||||
});
|
||||
|
||||
if (!project) {
|
||||
throw new Error("Project not found");
|
||||
}
|
||||
|
||||
const token = this.tokenRepository.create({ project });
|
||||
return this.tokenRepository.save(token);
|
||||
}
|
||||
|
||||
async revokeToken(tokenString: string) {
|
||||
const token = await this.tokenRepository.findOne({
|
||||
where: { token: tokenString },
|
||||
});
|
||||
|
||||
if (!token) {
|
||||
throw new Error("Token not found");
|
||||
}
|
||||
|
||||
token.isActive = false;
|
||||
return this.tokenRepository.save(token);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user