package models import "time" type PDF struct { ID int64 `json:"id"` Filename string `json:"filename"` Original string `json:"original_name"` FilePath string `json:"file_path"` Size int64 `json:"size"` Description string `json:"description,omitempty"` CreatedAt time.Time `json:"created_at"` } type FieldType string const ( FieldText FieldType = "text" FieldCheck FieldType = "checkbox" FieldRadio FieldType = "radio" FieldCombo FieldType = "combobox" FieldList FieldType = "listbox" FieldSign FieldType = "signature" ) type FormField struct { ID int64 `json:"id"` PDFID int64 `json:"pdf_id"` Name string `json:"name"` Type FieldType `json:"type"` Choices []string `json:"choices,omitempty"` Value string `json:"value"` DefaultVal string `json:"default_value"` Title string `json:"title,omitempty"` Required bool `json:"required"` Page int `json:"page,omitempty"` Rect string `json:"rect,omitempty"` Question string `json:"question,omitempty"` ValueGroup string `json:"value_group,omitempty"` WizardPage *int `json:"wizard_page,omitempty"` } type UploadResponse struct { PDF PDF `json:"pdf"` Fields []FormField `json:"fields"` } type FillRequest struct { Fields map[string]string `json:"fields"` }