package models import ( "time" "github.com/google/uuid" ) type OutletSetting struct { ID uuid.UUID OutletID uuid.UUID Key string Value string CreatedAt time.Time UpdatedAt time.Time } type CreateOutletSettingRequest struct { OutletID uuid.UUID `validate:"required"` Key string `validate:"required,min=1,max=255"` Value string `validate:"required"` } type UpdateOutletSettingRequest struct { Value string `validate:"required"` } type OutletSettingResponse struct { ID uuid.UUID `json:"id"` OutletID uuid.UUID `json:"outlet_id"` Key string `json:"key"` Value string `json:"value"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` } type OutletPrinterSettings struct { OutletName string `json:"outlet_name"` Address string `json:"address"` PhoneNumber string `json:"phone_number"` PaperSize string `json:"paper_size"` Footer string `json:"footer"` FooterHashtag string `json:"footer_hashtag"` } type UpdateOutletPrinterSettingsRequest struct { OutletName *string `json:"outlet_name,omitempty" validate:"omitempty,min=1,max=255"` Address *string `json:"address,omitempty" validate:"omitempty,min=1,max=500"` PhoneNumber *string `json:"phone_number,omitempty" validate:"omitempty,e164"` PaperSize *string `json:"paper_size,omitempty" validate:"omitempty,oneof=58mm 80mm A4 A5 Letter"` Footer *string `json:"footer,omitempty" validate:"omitempty,min=1,max=500"` FooterHashtag *string `json:"footer_hashtag,omitempty" validate:"omitempty,min=1,max=100"` }