36 lines
1.2 KiB
Go
36 lines
1.2 KiB
Go
package domain
|
|
|
|
import (
|
|
"time"
|
|
|
|
"github.com/google/uuid"
|
|
)
|
|
|
|
// FormField representa um campo do formulário de cadastro
|
|
type FormField struct {
|
|
Name string `json:"name"`
|
|
Label string `json:"label"`
|
|
Type string `json:"type"` // email, password, text, tel, etc
|
|
Required bool `json:"required"`
|
|
Order int `json:"order"`
|
|
}
|
|
|
|
// SignupTemplate representa um template de cadastro personalizado
|
|
type SignupTemplate struct {
|
|
ID uuid.UUID `json:"id"`
|
|
Name string `json:"name"`
|
|
Description string `json:"description"`
|
|
Slug string `json:"slug"`
|
|
FormFields []FormField `json:"form_fields"`
|
|
EnabledModules []string `json:"enabled_modules"` // ["CRM", "ERP", "PROJECTS"]
|
|
RedirectURL string `json:"redirect_url,omitempty"`
|
|
SuccessMessage string `json:"success_message,omitempty"`
|
|
CustomLogoURL string `json:"custom_logo_url,omitempty"`
|
|
CustomPrimaryColor string `json:"custom_primary_color,omitempty"`
|
|
IsActive bool `json:"is_active"`
|
|
UsageCount int `json:"usage_count"`
|
|
CreatedBy uuid.UUID `json:"created_by"`
|
|
CreatedAt time.Time `json:"created_at"`
|
|
UpdatedAt time.Time `json:"updated_at"`
|
|
}
|