refactor: Standardize type naming conventions and file casing for course and category types.

This commit is contained in:
JakkrapartXD 2026-01-20 07:13:59 +00:00
parent 6bbbde062a
commit 057f640272
6 changed files with 7 additions and 26 deletions

View file

@ -1,7 +1,7 @@
import { Get, Body, Post, Route, Tags, SuccessResponse, Response, Delete, Controller, Security, Request, Put, Path } from 'tsoa'; import { Get, Body, Post, Route, Tags, SuccessResponse, Response, Delete, Controller, Security, Request, Put, Path } from 'tsoa';
import { ValidationError } from '../middleware/errorHandler'; import { ValidationError } from '../middleware/errorHandler';
import { CategoryService } from '../services/categories.service'; import { CategoryService } from '../services/categories.service';
import { createCategory, createCategoryResponse, deleteCategoryResponse, updateCategory, updateCategoryResponse, listCategoriesResponse } from '../types/Categories.type'; import { createCategory, createCategoryResponse, deleteCategoryResponse, updateCategory, updateCategoryResponse, ListCategoriesResponse } from '../types/categories.type';
@Route('api/categories') @Route('api/categories')
@Tags('Categories') @Tags('Categories')
@ -11,7 +11,7 @@ export class CategoriesController {
@Get() @Get()
@SuccessResponse('200', 'Categories fetched successfully') @SuccessResponse('200', 'Categories fetched successfully')
@Response('401', 'Invalid or expired token') @Response('401', 'Invalid or expired token')
public async listCategories(): Promise<listCategoriesResponse> { public async listCategories(): Promise<ListCategoriesResponse> {
return await this.categoryService.listCategories(); return await this.categoryService.listCategories();
} }
} }

View file

@ -1,6 +1,6 @@
import { Get, Body, Post, Route, Tags, SuccessResponse, Response, Delete, Controller, Security, Request, Put, Path } from 'tsoa'; import { Get, Body, Post, Route, Tags, SuccessResponse, Response, Delete, Controller, Security, Request, Put, Path } from 'tsoa';
import { ValidationError } from '../middleware/errorHandler'; import { ValidationError } from '../middleware/errorHandler';
import { listCourseResponse } from '../types/Courses.types'; import { listCourseResponse } from '../types/courses.types';
import { CoursesService } from '../services/courses.service'; import { CoursesService } from '../services/courses.service';
@Route('api/courses') @Route('api/courses')

View file

@ -3,11 +3,11 @@ import { Prisma } from '@prisma/client';
import { config } from '../config'; import { config } from '../config';
import { logger } from '../config/logger'; import { logger } from '../config/logger';
import jwt from 'jsonwebtoken'; import jwt from 'jsonwebtoken';
import { createCategory, createCategoryResponse, deleteCategoryResponse, updateCategory, updateCategoryResponse, listCategoriesResponse, Category } from '../types/Categories.type'; import { createCategory, createCategoryResponse, deleteCategoryResponse, updateCategory, updateCategoryResponse, ListCategoriesResponse, Category } from '../types/categories.type';
import { UnauthorizedError, ValidationError, ForbiddenError } from '../middleware/errorHandler'; import { UnauthorizedError, ValidationError, ForbiddenError } from '../middleware/errorHandler';
export class CategoryService { export class CategoryService {
async listCategories(): Promise<listCategoriesResponse> { async listCategories(): Promise<ListCategoriesResponse> {
try { try {
const categories = await prisma.category.findMany(); const categories = await prisma.category.findMany();
return { return {

View file

@ -2,7 +2,7 @@ import { prisma } from '../config/database';
import { Prisma } from '@prisma/client'; import { Prisma } from '@prisma/client';
import { config } from '../config'; import { config } from '../config';
import { logger } from '../config/logger'; import { logger } from '../config/logger';
import { listCourseResponse, getCourseResponse } from '../types/Courses.types'; import { listCourseResponse, getCourseResponse } from '../types/courses.types';
import { UnauthorizedError, ValidationError, ForbiddenError } from '../middleware/errorHandler'; import { UnauthorizedError, ValidationError, ForbiddenError } from '../middleware/errorHandler';
export class CoursesService { export class CoursesService {

View file

@ -1,19 +0,0 @@
import { Course, Prisma } from '@prisma/client';
// Use Prisma's CourseCreateInput for creating courses
// Response type uses Prisma's Course model
export interface listCourseResponse {
code: number;
message: string;
data: Course[];
total: number | null;
}
export interface getCourseResponse {
code: number;
message: string;
data: Course | null;
}

View file

@ -12,7 +12,7 @@ export interface Category {
updated_at: Date | null; updated_at: Date | null;
} }
export interface listCategoriesResponse { export interface ListCategoriesResponse {
code: number; code: number;
message: string; message: string;
data: { data: {