Refactor customer form and service for company ID validation.

This commit is contained in:
Mazyar
2026-06-01 10:56:50 +03:30
parent cc6c0e1660
commit 64be9f4ef7
3 changed files with 88 additions and 45 deletions
+6 -5
View File
@@ -24,11 +24,12 @@ type UpdateCustomerForm struct {
FullName *string `json:"full_name,omitempty" valid:"optional,length(2|100)" example:"User"`
Type string `json:"type" valid:"required,in(individual|company|government)" example:"individual"`
Role string `json:"role" valid:"required,in(admin|analyst)" example:"analyst"`
Companies []string `json:"companies,omitempty" valid:"optional"`
Username string `json:"username" valid:"required,username,length(3|30)" example:"user"`
Email string `json:"email" valid:"required,email" example:"user@opplens.com"`
Phone *string `json:"phone,omitempty" valid:"optional,length(10|20)" example:"+1234567890"`
Keywords []string `json:"keywords,omitempty" valid:"optional"`
// Companies is a pointer so omitted/null leaves assignments unchanged; an empty JSON array clears them.
Companies *[]string `json:"companies,omitempty" valid:"optional"`
Username string `json:"username" valid:"required,username,length(3|30)" example:"user"`
Email string `json:"email" valid:"required,email" example:"user@opplens.com"`
Phone *string `json:"phone,omitempty" valid:"optional,length(10|20)" example:"+1234567890"`
Keywords []string `json:"keywords,omitempty" valid:"optional"`
}
// CustomerStatusForm represents the form for suspending a customer