first commit
This commit is contained in:
@@ -0,0 +1,69 @@
|
||||
import {
|
||||
PaginateCompaniesResults,
|
||||
SysAdminPaginateCompaniesParams,
|
||||
SysAdminUpdateCompanyParams,
|
||||
SysAdminSetCompanyBannedParams,
|
||||
} from "../../../Models/Companies/Companies.Interface";
|
||||
import { ApiValidationError } from "../../../Models/Server.Error.model";
|
||||
import { ApiVoidResult } from "../../../Models/Api.VoidResult.type";
|
||||
import { Body, Controller, Middlewares, Post, Response, Route, SuccessResponse } from "tsoa";
|
||||
import { SA_CompaniesService } from "./SysAdminCompanies.Service";
|
||||
import { sysAdminAuthMiddleware } from "../../../middleware/sysadminAuth";
|
||||
|
||||
@Route("sysadmin/companies")
|
||||
export class SysAdminCompaniesController extends Controller {
|
||||
@Response<ApiValidationError>(500, "Ha ocurrido un error")
|
||||
@SuccessResponse(200, "Done")
|
||||
@Post("paginate")
|
||||
@Middlewares(sysAdminAuthMiddleware)
|
||||
public async sysAdminPaginate(
|
||||
@Body() requestBody: SysAdminPaginateCompaniesParams,
|
||||
): Promise<PaginateCompaniesResults | ApiValidationError> {
|
||||
try {
|
||||
const { payload, ...cleanRequestBody } = requestBody as any;
|
||||
const result = await new SA_CompaniesService().sysAdminPaginate(cleanRequestBody);
|
||||
this.setStatus(200);
|
||||
return result;
|
||||
} catch (e) {
|
||||
const errorOccurred: Error = e as Error;
|
||||
this.setStatus(500);
|
||||
return new ApiValidationError(500, errorOccurred.message);
|
||||
}
|
||||
}
|
||||
|
||||
@Response<ApiValidationError>(500, "Ha ocurrido un error")
|
||||
@SuccessResponse(200, "Done")
|
||||
@Post("update")
|
||||
@Middlewares(sysAdminAuthMiddleware)
|
||||
public async sysAdminUpdate(
|
||||
@Body() requestBody: SysAdminUpdateCompanyParams,
|
||||
): Promise<ApiVoidResult | ApiValidationError> {
|
||||
try {
|
||||
await new SA_CompaniesService().sysAdminUpdate(requestBody);
|
||||
this.setStatus(200);
|
||||
return { success: true, message: "ok" };
|
||||
} catch (e) {
|
||||
const errorOccurred: Error = e as Error;
|
||||
this.setStatus(500);
|
||||
return new ApiValidationError(500, errorOccurred.message);
|
||||
}
|
||||
}
|
||||
|
||||
@Response<ApiValidationError>(500, "Ha ocurrido un error")
|
||||
@SuccessResponse(200, "Done")
|
||||
@Post("set-banned")
|
||||
@Middlewares(sysAdminAuthMiddleware)
|
||||
public async sysAdminSetBanned(
|
||||
@Body() requestBody: SysAdminSetCompanyBannedParams,
|
||||
): Promise<ApiVoidResult | ApiValidationError> {
|
||||
try {
|
||||
await new SA_CompaniesService().sysAdminSetBanned(requestBody);
|
||||
this.setStatus(200);
|
||||
return { success: true, message: "ok" };
|
||||
} catch (e) {
|
||||
const errorOccurred: Error = e as Error;
|
||||
this.setStatus(500);
|
||||
return new ApiValidationError(500, errorOccurred.message);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
import { connect } from "mongoose";
|
||||
import {
|
||||
PaginateCompaniesResults,
|
||||
SysAdminPaginateCompaniesParams,
|
||||
SysAdminUpdateCompanyParams,
|
||||
SysAdminSetCompanyBannedParams,
|
||||
} from "../../../Models/Companies/Companies.Interface";
|
||||
import CompaniesList from "../../../Models/Companies/Companies";
|
||||
|
||||
export class SA_CompaniesService {
|
||||
public async sysAdminPaginate(data: SysAdminPaginateCompaniesParams): Promise<PaginateCompaniesResults> {
|
||||
await connect(`${process.env.DATABASE_CONNECTION}`);
|
||||
return await CompaniesList.sysAdminPaginate(data);
|
||||
}
|
||||
|
||||
public async sysAdminUpdate(data: SysAdminUpdateCompanyParams): Promise<void> {
|
||||
await connect(`${process.env.DATABASE_CONNECTION}`);
|
||||
return await CompaniesList.sysAdminUpdate(data);
|
||||
}
|
||||
|
||||
public async sysAdminSetBanned(data: SysAdminSetCompanyBannedParams): Promise<void> {
|
||||
await connect(`${process.env.DATABASE_CONNECTION}`);
|
||||
return await CompaniesList.sysAdminSetBanned(data);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user