Пример #1
0
func (s *serverStruct) createDomain(ctx context.Context, in *pb.Domain) (*pb.Domain, error) {
	info := datamodel.NewEmptyInfo()
	info.Name = in.Name
	// FIXME: A Domain's info should have an array of properties for each Sketch (or just an array
	// of Sketches, like what the proto has). This is just a hack to choose the first Sketch and
	// use it's info for now
	info.Properties.MaxUniqueItems = in.GetSketches()[0].GetProperties().MaxUniqueItems
	info.Properties.Size = in.GetSketches()[0].GetProperties().Size
	if info.Properties.Size == nil || *info.Properties.Size == 0 {
		var defaultSize int64 = 100
		info.Properties.Size = &defaultSize
	}
	// FIXME: We should be passing a pb.Domain and not a datamodel.Info to manager.CreateDomain
	err := s.manager.CreateDomain(info)
	if err != nil {
		return nil, err
	}
	return in, nil
}