package request

type MasterSettingsCreateAttributes struct {
	CompanyName   string  `json:"company_name" validate:"required" example:"Wucher"`
	Title         *string `json:"title,omitempty" example:"Welcome to Wucher"`
	Subtitle      *string `json:"subtitle,omitempty" example:"Flight operations platform"`
	LogoFileUUID  *string `json:"logo_file_uuid,omitempty" example:"018f3a5c-7a6f-7c2a-8d4a-4b5b1f6c8e9d"`
	CoverFileUUID *string `json:"cover_file_uuid,omitempty" example:"018f3a5c-7a6f-7c2a-8d4a-4b5b1f6c8e9d"`
}

type MasterSettingsCreateData struct {
	Type       string                         `json:"type" validate:"required,oneof=master_settings_create master_settings" example:"master_settings_create"`
	Attributes MasterSettingsCreateAttributes `json:"attributes" validate:"required"`
}

type MasterSettingsCreateRequest struct {
	Data MasterSettingsCreateData `json:"data" validate:"required"`
}

type MasterSettingsUpdateAttributes struct {
	CompanyName   *string `json:"company_name,omitempty" example:"Wucher"`
	Title         *string `json:"title,omitempty" example:"Welcome to Wucher"`
	Subtitle      *string `json:"subtitle,omitempty" example:"Flight operations platform"`
	LogoFileUUID  *string `json:"logo_file_uuid,omitempty" example:"018f3a5c-7a6f-7c2a-8d4a-4b5b1f6c8e9d"`
	CoverFileUUID *string `json:"cover_file_uuid,omitempty" example:"018f3a5c-7a6f-7c2a-8d4a-4b5b1f6c8e9d"`
}

type MasterSettingsUpdateData struct {
	Type       string                         `json:"type" validate:"required,oneof=master_settings_update master_settings" example:"master_settings_update"`
	ID         string                         `json:"id" example:"018f3a5c-7a6f-7c2a-8d4a-4b5b1f6c8e9d"`
	Attributes MasterSettingsUpdateAttributes `json:"attributes" validate:"required"`
}

type MasterSettingsUpdateRequest struct {
	Data MasterSettingsUpdateData `json:"data" validate:"required"`
}
