create outlet
This commit is contained in:
parent
b3359fa6ff
commit
f25ec1c06f
@ -102,6 +102,37 @@ func (h *OutletHandler) GetOutlet(c *gin.Context) {
|
||||
util.HandleResponse(c.Writer, c.Request, outletResponse, "OutletHandler::GetOutlet")
|
||||
}
|
||||
|
||||
func (h *OutletHandler) CreateOutlet(c *gin.Context) {
|
||||
ctx := c.Request.Context()
|
||||
contextInfo := appcontext.FromGinContext(ctx)
|
||||
|
||||
var req contract.CreateOutletRequest
|
||||
if err := c.ShouldBindJSON(&req); err != nil {
|
||||
logger.FromContext(ctx).WithError(err).Error("OutletHandler::CreateOutlet -> Failed to bind JSON")
|
||||
validationResponseError := contract.NewResponseError(constants.MalformedFieldErrorCode, constants.RequestEntity, "Invalid request body")
|
||||
util.HandleResponse(c.Writer, c.Request, contract.BuildErrorResponse([]*contract.ResponseError{validationResponseError}), "OutletHandler::CreateOutlet")
|
||||
return
|
||||
}
|
||||
|
||||
req.OrganizationID = contextInfo.OrganizationID
|
||||
|
||||
validationError, validationErrorCode := h.outletValidator.ValidateCreateOutletRequest(&req)
|
||||
if validationError != nil {
|
||||
logger.FromContext(ctx).WithError(validationError).Error("OutletHandler::CreateOutlet -> request validation failed")
|
||||
validationResponseError := contract.NewResponseError(validationErrorCode, constants.RequestEntity, validationError.Error())
|
||||
util.HandleResponse(c.Writer, c.Request, contract.BuildErrorResponse([]*contract.ResponseError{validationResponseError}), "OutletHandler::CreateOutlet")
|
||||
return
|
||||
}
|
||||
|
||||
outletResponse := h.outletService.CreateOutlet(ctx, &req)
|
||||
if outletResponse.HasErrors() {
|
||||
errorResp := outletResponse.GetErrors()[0]
|
||||
logger.FromContext(ctx).WithError(errorResp).Error("OutletHandler::CreateOutlet -> Failed to create outlet from service")
|
||||
}
|
||||
|
||||
util.HandleResponse(c.Writer, c.Request, outletResponse, "OutletHandler::CreateOutlet")
|
||||
}
|
||||
|
||||
func (h *OutletHandler) UpdateOutlet(c *gin.Context) {
|
||||
ctx := c.Request.Context()
|
||||
contextInfo := appcontext.FromGinContext(ctx)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user