I don't know how to upload image or file in Go. Here I share my code
this is my repository, what i must change or add more code?
func (db *reportConnection) CreateReport(report entity.Report) entity.Report {
db.connection.Save(&report)
db.connection.Preload("User").Find(&report)
return report
}
this is my service, what i must change or add more code?
func (service *reportService) Create(r dto.ReportCreateDTO) entity.Report {
report := entity.Report{}
err := smapping.FillStruct(&report, smapping.MapFields(&r))
if err != nil {
log.Fatalf("failed map %v: ", err)
}
res := service.reportRepo.CreateReport(report)
return res
}
this is my controller, what i must change or add more code?
func (c *reportController) Create(ctx *gin.Context) {
var createReport dto.ReportCreateDTO
err := ctx.ShouldBind(&createReport)
if err != nil {
response := response.BuildErrorResponse("Failed to process!", err.Error(), response.EmptyObj{})
ctx.AbortWithStatusJSON(http.StatusBadRequest, response)
} else {
authHeader := ctx.GetHeader("Authorization")
userID := c.GetUserIDByToken(authHeader)
convertUserID, err := strconv.ParseUint(userID, 10, 64)
if err == nil {
createReport.UserID = convertUserID
}
result := c.reportService.Create(createReport)
response := response.BuildResponse(true, "OK!", result)
ctx.JSON(http.StatusOK, response)
}
}
```
i think i need to set a header, but not sure how