-
Notifications
You must be signed in to change notification settings - Fork 0
/
contact.go
19 lines (16 loc) · 1.01 KB
/
contact.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
package models
import "errors"
var (
ErrDuplicateContactEmail = errors.New("contact with the same 'email' already exist")
ErrDuplicateContactNumber = errors.New("contact with the same 'phone_number' already exist")
)
type Contact struct {
BaseModel
FirstName string `json:"first_name" validate:"required"`
LastName string `json:"last_name" validate:"required"`
PhoneNumber string `json:"phone_number" validate:"required,e164" gorm:"index:idx_user_id_phone_number,priority:2;not null"`
Email string `json:"email" validate:"required,email" gorm:"index:idx_user_id_email,priority:2;not null"`
UserID uint `json:"user_id" gorm:"index:idx_user_id_email,priority:1,unique;index:idx_user_id_phone_number,priority:1,unique;not null"`
IsEmergencyContact bool `json:"is_emergency_contact"`
EmergencyProbes []EmergencyProbe `json:"emergency_probes,omitempty" gorm:"constraint:OnUpdate:CASCADE,OnDelete:CASCADE;"`
}