// New creates o. func (os Offers) New(o offer.Offer) (offer.Offer, error) { o.ID = tigertonic.RandomBase62String(8) o.Created = time.Now().UTC() o.Deleted = time.Time{} o.Updated = time.Time{} if err := o.Validate(); err != nil { return offer.Offer{}, err } os.Configuration.OfferRepository.Store(o) return o, nil }