diff --git a/dev/docker-compose.yaml b/dev/docker-compose.yaml index 2d7e687..b6d3ed9 100644 --- a/dev/docker-compose.yaml +++ b/dev/docker-compose.yaml @@ -1,7 +1,7 @@ version: "3.9" services: - postgres: - image: postgres:13.3 + astra_events: + image: postgres:14.8 environment: POSTGRES_DB: "astra_events_db" POSTGRES_USER: "astra_events" diff --git a/handler/event.go b/handler/event.go index 9f32592..1fa2c81 100644 --- a/handler/event.go +++ b/handler/event.go @@ -11,7 +11,6 @@ import ( ) func (h *Handler) CreateEvent(c echo.Context) (err error) { - newEvent := new(model.Event) event := new(model.CreateEvent) authorId, err := strconv.Atoi(c.Request().Header.Get("UserId")) orgId, err := strconv.Atoi(c.Request().Header.Get("UserOrganizationId")) @@ -33,15 +32,10 @@ func (h *Handler) CreateEvent(c echo.Context) (err error) { employee := usersMap[event.EmployeeId] author := usersMap[uint(authorId)] - newEvent.Start = event.Start - newEvent.End = event.End - newEvent.AuthorId = uint(authorId) - newEvent.EmployeeId = event.EmployeeId - newEvent.MemberId = event.MemberId - newEvent.MedicalCardId = event.MedicalCardId - newEvent.Status = event.Status - newEvent.Services = event.Services + newEvent, err := utils.TypeConverter[model.Event](event) + newEvent.OrgId = uint(orgId) + newEvent.AuthorId = uint(authorId) tx := h.DB.Create(&newEvent) diff --git a/pkg/utils/type-coverter.go b/pkg/utils/type-coverter.go new file mode 100644 index 0000000..3879896 --- /dev/null +++ b/pkg/utils/type-coverter.go @@ -0,0 +1,16 @@ +package utils + +import "encoding/json" + +func TypeConverter[R any](data any) (*R, error) { + var result R + b, err := json.Marshal(&data) + if err != nil { + return nil, err + } + err = json.Unmarshal(b, &result) + if err != nil { + return nil, err + } + return &result, err +}