48 lines
1.1 KiB
Go
48 lines
1.1 KiB
Go
package models
|
|
|
|
import (
|
|
"time"
|
|
|
|
"github.com/google/uuid"
|
|
)
|
|
|
|
type Category struct {
|
|
ID uuid.UUID
|
|
OrganizationID uuid.UUID
|
|
Name string
|
|
Description *string
|
|
ImageURL *string
|
|
Order int
|
|
IsActive bool
|
|
CreatedAt time.Time
|
|
UpdatedAt time.Time
|
|
}
|
|
|
|
type CreateCategoryRequest struct {
|
|
OrganizationID uuid.UUID `validate:"required"`
|
|
Name string `validate:"required,min=1,max=255"`
|
|
Description *string `validate:"omitempty,max=1000"`
|
|
ImageURL *string `validate:"omitempty,url"`
|
|
Order int `validate:"min=0"`
|
|
}
|
|
|
|
type UpdateCategoryRequest struct {
|
|
Name *string `validate:"omitempty,min=1,max=255"`
|
|
Description *string `validate:"omitempty,max=1000"`
|
|
ImageURL *string `validate:"omitempty,url"`
|
|
Order *int `validate:"omitempty,min=0"`
|
|
IsActive *bool
|
|
}
|
|
|
|
type CategoryResponse struct {
|
|
ID uuid.UUID
|
|
OrganizationID uuid.UUID
|
|
Name string
|
|
Description *string
|
|
ImageURL *string
|
|
Order int
|
|
IsActive bool
|
|
CreatedAt time.Time
|
|
UpdatedAt time.Time
|
|
}
|