// Code generated by gormcol. DO NOT EDIT.

package dbmodel

import (
	"git.ma-al.com/goc_marek/gormcol"
	"time"
)

const TableNamePsCustomer = "ps_customer"

// PsCustomer mapped from table <ps_customer>
type PsCustomer struct {
	IDCustomer               int32      `gorm:"column:id_customer;primaryKey;autoIncrement:true;index:id_customer_passwd,priority:1" json:"id_customer"`
	IDShopGroup              int32      `gorm:"column:id_shop_group;not null;index:id_shop_group,priority:1;default:1" json:"id_shop_group"`
	IDShop                   int32      `gorm:"column:id_shop;not null;index:id_shop,priority:1;default:1" json:"id_shop"`
	IDGender                 int32      `gorm:"column:id_gender;not null;index:id_gender,priority:1" json:"id_gender"`
	IDDefaultGroup           int32      `gorm:"column:id_default_group;not null;default:1" json:"id_default_group"`
	IDLang                   *int32     `gorm:"column:id_lang" json:"id_lang"`
	IDRisk                   int32      `gorm:"column:id_risk;not null;default:1" json:"id_risk"`
	Company                  *string    `gorm:"column:company" json:"company"`
	Siret                    *string    `gorm:"column:siret" json:"siret"`
	Ape                      *string    `gorm:"column:ape" json:"ape"`
	Firstname                string     `gorm:"column:firstname;not null" json:"firstname"`
	Lastname                 string     `gorm:"column:lastname;not null" json:"lastname"`
	Email                    string     `gorm:"column:email;not null;index:customer_email,priority:1;index:customer_login,priority:1" json:"email"`
	Passwd                   string     `gorm:"column:passwd;not null;index:customer_login,priority:2;index:id_customer_passwd,priority:2" json:"passwd"`
	LastPasswdGen            time.Time  `gorm:"column:last_passwd_gen;not null;default:current_timestamp()" json:"last_passwd_gen"`
	Birthday                 *time.Time `gorm:"column:birthday" json:"birthday"`
	Newsletter               bool       `gorm:"column:newsletter;not null" json:"newsletter"`
	IPRegistrationNewsletter *string    `gorm:"column:ip_registration_newsletter" json:"ip_registration_newsletter"`
	NewsletterDateAdd        *time.Time `gorm:"column:newsletter_date_add" json:"newsletter_date_add"`
	Optin                    bool       `gorm:"column:optin;not null" json:"optin"`
	Website                  *string    `gorm:"column:website" json:"website"`
	OutstandingAllowAmount   float64    `gorm:"column:outstanding_allow_amount;not null;default:0.000000" json:"outstanding_allow_amount"`
	ShowPublicPrices         bool       `gorm:"column:show_public_prices;not null" json:"show_public_prices"`
	MaxPaymentDays           int32      `gorm:"column:max_payment_days;not null;default:60" json:"max_payment_days"`
	SecureKey                string     `gorm:"column:secure_key;not null;default:-1" json:"secure_key"`
	Note                     *string    `gorm:"column:note" json:"note"`
	Active                   bool       `gorm:"column:active;not null" json:"active"`
	IsGuest                  bool       `gorm:"column:is_guest;not null" json:"is_guest"`
	Deleted                  bool       `gorm:"column:deleted;not null" json:"deleted"`
	DateAdd                  time.Time  `gorm:"column:date_add;not null;index:id_shop,priority:2" json:"date_add"`
	DateUpd                  time.Time  `gorm:"column:date_upd;not null" json:"date_upd"`
	ResetPasswordToken       *string    `gorm:"column:reset_password_token" json:"reset_password_token"`
	ResetPasswordValidity    *time.Time `gorm:"column:reset_password_validity" json:"reset_password_validity"`
}

// TableName PsCustomer's table name
func (*PsCustomer) TableName() string {
	return TableNamePsCustomer
}

var PsCustomerCols = struct {
	IDCustomer gormcol.Field
	IDShopGroup gormcol.Field
	IDShop gormcol.Field
	IDGender gormcol.Field
	IDDefaultGroup gormcol.Field
	IDLang gormcol.Field
	IDRisk gormcol.Field
	Company gormcol.Field
	Siret gormcol.Field
	Ape gormcol.Field
	Firstname gormcol.Field
	Lastname gormcol.Field
	Email gormcol.Field
	Passwd gormcol.Field
	LastPasswdGen gormcol.Field
	Birthday gormcol.Field
	Newsletter gormcol.Field
	IPRegistrationNewsletter gormcol.Field
	NewsletterDateAdd gormcol.Field
	Optin gormcol.Field
	Website gormcol.Field
	OutstandingAllowAmount gormcol.Field
	ShowPublicPrices gormcol.Field
	MaxPaymentDays gormcol.Field
	SecureKey gormcol.Field
	Note gormcol.Field
	Active gormcol.Field
	IsGuest gormcol.Field
	Deleted gormcol.Field
	DateAdd gormcol.Field
	DateUpd gormcol.Field
	ResetPasswordToken gormcol.Field
	ResetPasswordValidity gormcol.Field
}{
	IDCustomer: gormcol.Field{}.Set((&PsCustomer{}).TableName(), "id_customer"),
	IDShopGroup: gormcol.Field{}.Set((&PsCustomer{}).TableName(), "id_shop_group"),
	IDShop: gormcol.Field{}.Set((&PsCustomer{}).TableName(), "id_shop"),
	IDGender: gormcol.Field{}.Set((&PsCustomer{}).TableName(), "id_gender"),
	IDDefaultGroup: gormcol.Field{}.Set((&PsCustomer{}).TableName(), "id_default_group"),
	IDLang: gormcol.Field{}.Set((&PsCustomer{}).TableName(), "id_lang"),
	IDRisk: gormcol.Field{}.Set((&PsCustomer{}).TableName(), "id_risk"),
	Company: gormcol.Field{}.Set((&PsCustomer{}).TableName(), "company"),
	Siret: gormcol.Field{}.Set((&PsCustomer{}).TableName(), "siret"),
	Ape: gormcol.Field{}.Set((&PsCustomer{}).TableName(), "ape"),
	Firstname: gormcol.Field{}.Set((&PsCustomer{}).TableName(), "firstname"),
	Lastname: gormcol.Field{}.Set((&PsCustomer{}).TableName(), "lastname"),
	Email: gormcol.Field{}.Set((&PsCustomer{}).TableName(), "email"),
	Passwd: gormcol.Field{}.Set((&PsCustomer{}).TableName(), "passwd"),
	LastPasswdGen: gormcol.Field{}.Set((&PsCustomer{}).TableName(), "last_passwd_gen"),
	Birthday: gormcol.Field{}.Set((&PsCustomer{}).TableName(), "birthday"),
	Newsletter: gormcol.Field{}.Set((&PsCustomer{}).TableName(), "newsletter"),
	IPRegistrationNewsletter: gormcol.Field{}.Set((&PsCustomer{}).TableName(), "ip_registration_newsletter"),
	NewsletterDateAdd: gormcol.Field{}.Set((&PsCustomer{}).TableName(), "newsletter_date_add"),
	Optin: gormcol.Field{}.Set((&PsCustomer{}).TableName(), "optin"),
	Website: gormcol.Field{}.Set((&PsCustomer{}).TableName(), "website"),
	OutstandingAllowAmount: gormcol.Field{}.Set((&PsCustomer{}).TableName(), "outstanding_allow_amount"),
	ShowPublicPrices: gormcol.Field{}.Set((&PsCustomer{}).TableName(), "show_public_prices"),
	MaxPaymentDays: gormcol.Field{}.Set((&PsCustomer{}).TableName(), "max_payment_days"),
	SecureKey: gormcol.Field{}.Set((&PsCustomer{}).TableName(), "secure_key"),
	Note: gormcol.Field{}.Set((&PsCustomer{}).TableName(), "note"),
	Active: gormcol.Field{}.Set((&PsCustomer{}).TableName(), "active"),
	IsGuest: gormcol.Field{}.Set((&PsCustomer{}).TableName(), "is_guest"),
	Deleted: gormcol.Field{}.Set((&PsCustomer{}).TableName(), "deleted"),
	DateAdd: gormcol.Field{}.Set((&PsCustomer{}).TableName(), "date_add"),
	DateUpd: gormcol.Field{}.Set((&PsCustomer{}).TableName(), "date_upd"),
	ResetPasswordToken: gormcol.Field{}.Set((&PsCustomer{}).TableName(), "reset_password_token"),
	ResetPasswordValidity: gormcol.Field{}.Set((&PsCustomer{}).TableName(), "reset_password_validity"),
}
