package request import ( "go-humas-be/app/database/entity" "go-humas-be/utils/paginator" "time" ) type UserRoleAccessesGeneric interface { ToEntity() } type UserRoleAccessesQueryRequest struct { UserRoleId int `json:"user_role_id" validate:"required"` MenuId int `json:"menu_id" validate:"required"` IsViewEnabled bool `json:"is_view_enabled" validate:"required"` IsInsertEnabled bool `json:"is_insert_enabled" validate:"required"` IsUpdateEnabled bool `json:"is_update_enabled" validate:"required"` IsDeleteEnabled bool `json:"is_delete_enabled" validate:"required"` IsApprovalEnabled bool `json:"is_approval_enabled" validate:"required"` IsAdminEnabled bool `json:"is_admin_enabled" validate:"required"` IsActive bool `json:"is_active" validate:"required"` Pagination *paginator.Pagination `json:"pagination"` } type UserRoleAccessesCreateRequest struct { UserRoleId int `json:"user_role_id" validate:"required"` MenuId int `json:"menu_id" validate:"required"` IsViewEnabled bool `json:"is_view_enabled" validate:"required"` IsInsertEnabled bool `json:"is_insert_enabled" validate:"required"` IsUpdateEnabled bool `json:"is_update_enabled" validate:"required"` IsDeleteEnabled bool `json:"is_delete_enabled" validate:"required"` IsApprovalEnabled bool `json:"is_approval_enabled" validate:"required"` IsAdminEnabled bool `json:"is_admin_enabled" validate:"required"` IsActive bool `json:"is_active" validate:"required"` } func (req UserRoleAccessesCreateRequest) ToEntity() *entity.UserRoleAccesses { return &entity.UserRoleAccesses{ UserRoleId: req.UserRoleId, MenuId: req.MenuId, IsViewEnabled: req.IsViewEnabled, IsInsertEnabled: req.IsInsertEnabled, IsUpdateEnabled: req.IsUpdateEnabled, IsDeleteEnabled: req.IsDeleteEnabled, IsApprovalEnabled: req.IsApprovalEnabled, IsAdminEnabled: req.IsAdminEnabled, IsActive: req.IsActive, } } type UserRoleAccessesUpdateRequest struct { ID uint `json:"id" validate:"required"` UserRoleId int `json:"user_role_id" validate:"required"` MenuId int `json:"menu_id" validate:"required"` IsViewEnabled bool `json:"is_view_enabled" validate:"required"` IsInsertEnabled bool `json:"is_insert_enabled" validate:"required"` IsUpdateEnabled bool `json:"is_update_enabled" validate:"required"` IsDeleteEnabled bool `json:"is_delete_enabled" validate:"required"` IsApprovalEnabled bool `json:"is_approval_enabled" validate:"required"` IsAdminEnabled bool `json:"is_admin_enabled" validate:"required"` IsActive bool `json:"is_active" validate:"required"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` } func (req UserRoleAccessesUpdateRequest) ToEntity() *entity.UserRoleAccesses { return &entity.UserRoleAccesses{ ID: req.ID, UserRoleId: req.UserRoleId, MenuId: req.MenuId, IsViewEnabled: req.IsViewEnabled, IsInsertEnabled: req.IsInsertEnabled, IsUpdateEnabled: req.IsUpdateEnabled, IsDeleteEnabled: req.IsDeleteEnabled, IsApprovalEnabled: req.IsApprovalEnabled, IsAdminEnabled: req.IsAdminEnabled, IsActive: req.IsActive, CreatedAt: req.CreatedAt, UpdatedAt: req.UpdatedAt, } }