Initial commit: LACA parking management system

This commit is contained in:
2025-08-13 10:05:36 +07:00
commit 8b07467b61
275 changed files with 66828 additions and 0 deletions

View File

@@ -0,0 +1,41 @@
import {
Injectable,
NestInterceptor,
ExecutionContext,
CallHandler,
StreamableFile,
} from '@nestjs/common';
import { Observable } from 'rxjs';
import { map } from 'rxjs/operators';
import { DEFAULT_SUCCESS_MSG } from 'src/share/constans';
export interface Response<T> {
statusCode: number;
message: string;
data: T;
}
@Injectable()
export class TransformResponseInterceptor<T>
implements NestInterceptor<T, Response<T> | StreamableFile>
{
intercept(
context: ExecutionContext,
next: CallHandler,
): Observable<Response<any> | StreamableFile> {
return next.handle().pipe(
map((data) => {
if (data instanceof StreamableFile) {
return data;
}
return {
statusCode:
<number>data?.statusCode ||
<number>context.switchToHttp().getResponse().statusCode,
message: <string>data?.message || DEFAULT_SUCCESS_MSG,
data: data,
};
}),
);
}
}