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")
|
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) {
|
func (h *OutletHandler) UpdateOutlet(c *gin.Context) {
|
||||||
ctx := c.Request.Context()
|
ctx := c.Request.Context()
|
||||||
contextInfo := appcontext.FromGinContext(ctx)
|
contextInfo := appcontext.FromGinContext(ctx)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user