package customer import ( "strconv" "time" apiKafka "git.slaventius.ru/test3k/umate/pkg/kafka" ) // Покупатель type Customer struct { SimpleRow Login string `json:"login"` Password string `json:"password"` Confirmed bool `json:"confirmed"` apiKafka.MessageRegistration TimeReregistration time.Time `json:"reregistration_at"` // Время начиная с которого допустима повторная регистрация } func (c *Customer) refreshCode(minutes int) string { return strconv.Itoa(time.Now().Nanosecond()) } func (c *Customer) refreshTime(minutes int) time.Time { return time.Now().Add(time.Minute * time.Duration(minutes)) } func (c *Customer) Add(minutes int) error { c.Code = c.refreshCode(minutes) c.TimeReregistration = c.refreshTime(minutes) // meta, err := c.collection.CreateDocument(c.ctx, c) if err != nil { return err } else { c.key = meta.Key } return nil } func (c *Customer) Update() error { c.UpdatedAt = time.Now() // _, err := c.collection.UpdateDocument(c.ctx, c.key, c) return err } func (c *Customer) Delete() error { return c.SimpleRow.Delete() } func (c *Customer) Refresh(minutes int) error { c.Code = c.refreshCode(minutes) c.TimeReregistration = c.refreshTime(minutes) return c.Update() } func (c *Customer) Confirm() error { c.Confirmed = true return c.Update() }