package constants

const (
	UnverifiedStatus = iota + 1
	DisabledStatus
	VerifiedStatus
	ActiveStatus
	PassiveStatus
	DelayedPaymentStatus
	SettledPaymentStatus
	AwaitingPaymentStatus
	MailVerificationSubject        = "Nur noch ein kleiner Schritt!"
	MailChangePasswordSubject      = "Passwort Änderung angefordert"
	MailGrantBackendAccessSubject  = "Dein Dörpsmobil Hasloh e.V. Zugang"
	MailRegistrationSubject        = "Neues Mitglied hat sich registriert"
	MailWelcomeSubject             = "Willkommen beim Dörpsmobil Hasloh e.V."
	MailContactSubject             = "Jemand hat das Kontaktformular gefunden"
	SupporterSubscriptionModelName = "Keins"
)

var Licences = struct {
	AM  string
	A1  string
	A2  string
	A   string
	B   string
	C1  string
	C   string
	D1  string
	D   string
	BE  string
	C1E string
	CE  string
	D1E string
	DE  string
	L   string
	T   string
}{
	AM:  "AM",
	A1:  "A1",
	A2:  "A2",
	A:   "A",
	B:   "B",
	C1:  "C1",
	C:   "C",
	D1:  "D1",
	D:   "D",
	BE:  "BE",
	C1E: "C1E",
	CE:  "CE",
	D1E: "D1E",
	DE:  "DE",
	L:   "L",
	T:   "T",
}

var VerificationTypes = struct {
	Email    string
	Password string
}{
	Email:    "email",
	Password: "password",
}

var Priviliges = struct {
	View          int8
	Create        int8
	Update        int8
	Delete        int8
	AccessControl int8
}{
	View:          2,
	Update:        4,
	Create:        4,
	Delete:        4,
	AccessControl: 8,
}

var Roles = struct {
	Supporter int8
	Member    int8
	Viewer    int8
	Editor    int8
	Admin     int8
}{
	Supporter: 0,
	Member:    1,
	Viewer:    2,
	Editor:    4,
	Admin:     8,
}

var MemberUpdateFields = map[string]bool{
	"Email":                         true,
	"Phone":                         true,
	"Company":                       true,
	"Address":                       true,
	"ZipCode":                       true,
	"City":                          true,
	"Licence.Categories":            true,
	"BankAccount.Bank":              true,
	"BankAccount.AccountHolderName": true,
	"BankAccount.IBAN":              true,
	"BankAccount.BIC":               true,
}

// "Password":                      true,
