replace id type
This commit is contained in:
@@ -4,6 +4,7 @@ import (
|
|||||||
"astra-events/model"
|
"astra-events/model"
|
||||||
"astra-events/pkg/utils"
|
"astra-events/pkg/utils"
|
||||||
"astra-events/services"
|
"astra-events/services"
|
||||||
|
"github.com/google/uuid"
|
||||||
"github.com/hashicorp/go-set"
|
"github.com/hashicorp/go-set"
|
||||||
"github.com/labstack/echo/v4"
|
"github.com/labstack/echo/v4"
|
||||||
"net/http"
|
"net/http"
|
||||||
@@ -12,8 +13,8 @@ import (
|
|||||||
|
|
||||||
func (h *Handler) CreateEvent(c echo.Context) (err error) {
|
func (h *Handler) CreateEvent(c echo.Context) (err error) {
|
||||||
event := new(model.CreateEvent)
|
event := new(model.CreateEvent)
|
||||||
authorId, err := strconv.Atoi(c.Request().Header.Get("UserId"))
|
authorId, err := uuid.Parse(c.Request().Header.Get("UserId"))
|
||||||
orgId, err := strconv.Atoi(c.Request().Header.Get("UserOrganizationId"))
|
orgId, err := uuid.Parse(c.Request().Header.Get("UserOrganizationId"))
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return c.NoContent(http.StatusUnauthorized)
|
return c.NoContent(http.StatusUnauthorized)
|
||||||
@@ -23,19 +24,19 @@ func (h *Handler) CreateEvent(c echo.Context) (err error) {
|
|||||||
return c.NoContent(http.StatusBadRequest)
|
return c.NoContent(http.StatusBadRequest)
|
||||||
}
|
}
|
||||||
|
|
||||||
usersMap, err := services.GetUsers([]uint{event.EmployeeId, uint(authorId)}, c.Request().Header)
|
usersMap, err := services.GetUsers([]uuid.UUID{event.EmployeeId, authorId}, c.Request().Header)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return c.HTML(http.StatusBadGateway, err.Error())
|
return c.HTML(http.StatusBadGateway, err.Error())
|
||||||
}
|
}
|
||||||
|
|
||||||
employee := usersMap[event.EmployeeId]
|
employee := usersMap[event.EmployeeId]
|
||||||
author := usersMap[uint(authorId)]
|
author := usersMap[authorId]
|
||||||
|
|
||||||
newEvent, err := utils.TypeConverter[model.Event](event)
|
newEvent, err := utils.TypeConverter[model.Event](event)
|
||||||
|
|
||||||
newEvent.OrgId = uint(orgId)
|
newEvent.OrgId = orgId
|
||||||
newEvent.AuthorId = uint(authorId)
|
newEvent.AuthorId = authorId
|
||||||
|
|
||||||
tx := h.DB.Create(&newEvent)
|
tx := h.DB.Create(&newEvent)
|
||||||
|
|
||||||
@@ -53,7 +54,7 @@ func (h *Handler) GetEvents(c echo.Context) (err error) {
|
|||||||
var events []model.Event
|
var events []model.Event
|
||||||
query := c.Request().URL.Query()
|
query := c.Request().URL.Query()
|
||||||
_, _, filterMap := utils.GetFilterParams(query)
|
_, _, filterMap := utils.GetFilterParams(query)
|
||||||
orgId, err := strconv.Atoi(c.Request().Header.Get("UserOrganizationId"))
|
orgId, err := uuid.Parse(c.Request().Header.Get("UserOrganizationId"))
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return c.NoContent(http.StatusUnauthorized)
|
return c.NoContent(http.StatusUnauthorized)
|
||||||
@@ -67,7 +68,7 @@ func (h *Handler) GetEvents(c echo.Context) (err error) {
|
|||||||
|
|
||||||
tx.Find(&events)
|
tx.Find(&events)
|
||||||
|
|
||||||
ids := set.New[uint](len(events) * 2)
|
ids := set.New[uuid.UUID](len(events) * 2)
|
||||||
|
|
||||||
for _, event := range events {
|
for _, event := range events {
|
||||||
ids.Insert(event.EmployeeId)
|
ids.Insert(event.EmployeeId)
|
||||||
@@ -102,7 +103,7 @@ func (h *Handler) GetEvent(c echo.Context) error {
|
|||||||
return c.NoContent(http.StatusNotFound)
|
return c.NoContent(http.StatusNotFound)
|
||||||
}
|
}
|
||||||
|
|
||||||
usersMap, err := services.GetUsers([]uint{event.EmployeeId, event.AuthorId}, c.Request().Header)
|
usersMap, err := services.GetUsers([]uuid.UUID{event.EmployeeId, event.AuthorId}, c.Request().Header)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return c.HTML(http.StatusBadGateway, err.Error())
|
return c.HTML(http.StatusBadGateway, err.Error())
|
||||||
|
|||||||
@@ -13,24 +13,24 @@ type Event struct {
|
|||||||
Start time.Time `json:"start"`
|
Start time.Time `json:"start"`
|
||||||
End time.Time `json:"end"`
|
End time.Time `json:"end"`
|
||||||
Author User `json:"author" gorm:"-"`
|
Author User `json:"author" gorm:"-"`
|
||||||
AuthorId uint `json:"-"`
|
AuthorId uuid.UUID `json:"-"`
|
||||||
Employee User `json:"employee" gorm:"-"`
|
Employee User `json:"employee" gorm:"-"`
|
||||||
EmployeeId uint `json:"-"`
|
EmployeeId uuid.UUID `json:"-"`
|
||||||
Member PD `json:"member" gorm:"-"`
|
Member PD `json:"member" gorm:"-"`
|
||||||
MemberId uint `json:"-"`
|
MemberId uuid.UUID `json:"-"`
|
||||||
Status string `json:"status"`
|
Status string `json:"status"`
|
||||||
MedicalCard Card `json:"medicalCard" gorm:"-"`
|
MedicalCard Card `json:"medicalCard" gorm:"-"`
|
||||||
MedicalCardId uint `json:"-"`
|
MedicalCardId uuid.UUID `json:"-"`
|
||||||
Services pq.Int32Array `json:"services" gorm:"type:integer[]"`
|
Services pq.Int32Array `json:"services" gorm:"type:integer[]"`
|
||||||
OrgId uint `json:"-"`
|
OrgId uuid.UUID `json:"-"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type CreateEvent struct {
|
type CreateEvent struct {
|
||||||
Start time.Time `json:"start"`
|
Start time.Time `json:"start"`
|
||||||
End time.Time `json:"end"`
|
End time.Time `json:"end"`
|
||||||
EmployeeId uint `json:"employee_id"`
|
EmployeeId uuid.UUID `json:"employee_id"`
|
||||||
MemberId uint `json:"member_id"`
|
MemberId uuid.UUID `json:"member_id"`
|
||||||
Status string `json:"status"`
|
Status string `json:"status"`
|
||||||
MedicalCardId uint `json:"medical_card_id"`
|
MedicalCardId uuid.UUID `json:"medical_card_id"`
|
||||||
Services []int32 `json:"services"`
|
Services []int32 `json:"services"`
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,9 +1,13 @@
|
|||||||
package model
|
package model
|
||||||
|
|
||||||
import "gorm.io/gorm"
|
import (
|
||||||
|
"github.com/google/uuid"
|
||||||
|
"gorm.io/gorm"
|
||||||
|
)
|
||||||
|
|
||||||
type (
|
type (
|
||||||
User struct {
|
User struct {
|
||||||
|
ID uuid.UUID
|
||||||
gorm.Model
|
gorm.Model
|
||||||
UserName string `json:"user_name" gorm:"unique"`
|
UserName string `json:"user_name" gorm:"unique"`
|
||||||
Password string `json:"password,omitempty"`
|
Password string `json:"password,omitempty"`
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ import (
|
|||||||
"astra-events/pkg/api"
|
"astra-events/pkg/api"
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"errors"
|
"errors"
|
||||||
|
"github.com/google/uuid"
|
||||||
"net/http"
|
"net/http"
|
||||||
"net/url"
|
"net/url"
|
||||||
"strconv"
|
"strconv"
|
||||||
@@ -33,9 +34,9 @@ func GetUser(ID uint, header http.Header) (*model.User, error) {
|
|||||||
return u, nil
|
return u, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func GetUsers(ids []uint, header http.Header) (map[uint]model.User, error) {
|
func GetUsers(ids []uuid.UUID, header http.Header) (map[uuid.UUID]model.User, error) {
|
||||||
var users []model.User
|
var users []model.User
|
||||||
var usersMap = make(map[uint]model.User)
|
var usersMap = make(map[uuid.UUID]model.User)
|
||||||
Url, err := url.Parse(config.Env.MSHosts.UsersHost)
|
Url, err := url.Parse(config.Env.MSHosts.UsersHost)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
|
|||||||
Reference in New Issue
Block a user