<%- import 'context' import 'fmt' import model.package import 'datastore' import 'log' -%> func (s *<%= type.name %>) Update(ctx context.Context, m *<%= model.qualified_name %>) (*datastore.Key, error) { if err := m.PrepareToUpdate(); err != nil { return nil, err } return s.PutWith(ctx, m, func() error { exist, err := s.Exist(ctx, m) if err != nil { return err } if !exist { log.Errorf(ctx, "Failed to update %v because it doesn't exist\n", m) return fmt.Errorf("No data to update %q of %v\n", m.ID, m) } return nil }) }