78 lines
2.9 KiB
Go
78 lines
2.9 KiB
Go
package dto
|
|
|
|
// JSON:API OPC DTOs
|
|
|
|
type OpcAttributes struct {
|
|
Title string `json:"title" example:"Main OPC Base"`
|
|
SortKey *int `json:"sortkey" example:"1"`
|
|
Note string `json:"note,omitempty" example:"Primary operation control center"`
|
|
IsActive bool `json:"is_active" example:"true"`
|
|
CreatedAt string `json:"created_at,omitempty" example:"2026-03-12T03:04:05Z"`
|
|
CreatedBy string `json:"created_by" example:"018f3a5c-7a6f-7c2a-8d4a-4b5b1f6c8e9d"`
|
|
UpdatedAt string `json:"updated_at,omitempty" example:"2026-03-12T03:04:05Z"`
|
|
UpdatedBy string `json:"updated_by" example:"018f3a5c-7a6f-7c2a-8d4a-4b5b1f6c8e9d"`
|
|
DeletedAt string `json:"deleted_at,omitempty" example:"2026-03-12T03:04:05Z"`
|
|
DeletedBy string `json:"deleted_by,omitempty" example:"018f3a5c-7a6f-7c2a-8d4a-4b5b1f6c8e9d"`
|
|
}
|
|
|
|
type OpcResource struct {
|
|
Type string `json:"type" example:"opc"`
|
|
ID string `json:"id" example:"018f3a5c-7a6f-7c2a-8d4a-4b5b1f6c8e9d"`
|
|
Attributes OpcAttributes `json:"attributes"`
|
|
}
|
|
|
|
type OpcResponse struct {
|
|
Data OpcResource `json:"data"`
|
|
}
|
|
|
|
type OpcListResponse struct {
|
|
Data []OpcResource `json:"data"`
|
|
Meta struct {
|
|
PageNumber int `json:"page_number" example:"1"`
|
|
PageSize int `json:"page_size" example:"20"`
|
|
Total int64 `json:"total" example:"120"`
|
|
} `json:"meta"`
|
|
}
|
|
|
|
type OpcDataTableResponse struct {
|
|
Data []OpcResource `json:"data"`
|
|
Meta struct {
|
|
Draw int `json:"draw" example:"1"`
|
|
RecordsTotal int64 `json:"records_total" example:"120"`
|
|
RecordsFiltered int64 `json:"records_filtered" example:"12"`
|
|
} `json:"meta"`
|
|
}
|
|
|
|
type OpcCreateAttributes struct {
|
|
Title string `json:"title" validate:"required" example:"Main OPC Base"`
|
|
SortKey *int `json:"sortkey" example:"1"`
|
|
Note *string `json:"note,omitempty" example:"Primary operation control center"`
|
|
IsActive *bool `json:"is_active,omitempty" example:"true"`
|
|
}
|
|
|
|
type OpcCreateData struct {
|
|
Type string `json:"type" validate:"required,oneof=opc_create opc" example:"opc_create"`
|
|
Attributes OpcCreateAttributes `json:"attributes" validate:"required"`
|
|
}
|
|
|
|
type OpcCreateRequest struct {
|
|
Data OpcCreateData `json:"data" validate:"required"`
|
|
}
|
|
|
|
type OpcUpdateAttributes struct {
|
|
Title *string `json:"title,omitempty" example:"Main OPC Base"`
|
|
SortKey NullInt `json:"sortkey,omitempty" swaggertype:"integer" example:"1"`
|
|
Note *string `json:"note,omitempty" example:"Primary operation control center"`
|
|
IsActive *bool `json:"is_active,omitempty" example:"true"`
|
|
}
|
|
|
|
type OpcUpdateData struct {
|
|
Type string `json:"type" validate:"required,oneof=opc_update opc" example:"opc_update"`
|
|
ID string `json:"id" example:"018f3a5c-7a6f-7c2a-8d4a-4b5b1f6c8e9d"`
|
|
Attributes OpcUpdateAttributes `json:"attributes" validate:"required"`
|
|
}
|
|
|
|
type OpcUpdateRequest struct {
|
|
Data OpcUpdateData `json:"data" validate:"required"`
|
|
}
|