Пример #1
0
func (spec *workSpec) AddWorkUnit(name string, data map[string]interface{}, meta coordinate.WorkUnitMeta) (coordinate.WorkUnit, error) {
	repr := restdata.WorkUnit{}
	repr.Name = name
	repr.Data = data
	repr.Meta = &meta

	unit := workUnit{workSpec: spec}
	err := spec.PostTo(spec.Representation.WorkUnitsURL, map[string]interface{}{}, repr, &unit.Representation)
	if err == nil {
		unit.URL, err = spec.Template(unit.Representation.URL, map[string]interface{}{})
	}
	if err == nil {
		return &unit, nil
	}
	return nil, err
}