aboutsummaryrefslogtreecommitdiff
path: root/BackEnd/Timeline/Controllers/ActionResultControllerExtensions.cs
blob: a3da73fab82e9097d9d4f8aff2d0e1299cacf0fe (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Timeline.Models.Http;

namespace Timeline.Controllers
{
    public static class ActionResultControllerExtensions
    {
        public static ObjectResult StatusCodeWithCommonResponse(this ControllerBase controller, int statusCode, int code, string message)
        {
            return controller.StatusCode(statusCode, new CommonResponse(code, message));
        }

        public static ObjectResult ForbidWithMessage(this ControllerBase controller, string? message = null)
        {
            return controller.StatusCode(StatusCodes.Status403Forbidden, new CommonResponse(ErrorCodes.Common.Forbid, message ?? Resource.MessageForbid));
        }

        public static BadRequestObjectResult BadRequestWithCommonResponse(this ControllerBase controller, int code, string message)
        {
            return controller.BadRequest(new CommonResponse(code, message));
        }
    }
}