func (m *ScanManager) Create(raw *scan.Scan) (*scan.Scan, error) { // TODO (m0sth8): add validation raw.Id = bson.NewObjectId() raw.Dates.Created = TimeP(time.Now().UTC()) raw.Dates.Updated = raw.Dates.Created for _, sess := range raw.Sessions { sess.Scan = raw.Id } if err := m.col.Insert(raw); err != nil { return nil, err } return raw, nil }