launchpad-dev team mailing list archive
-
launchpad-dev team
-
Mailing list archive
-
Message #03353
Re: API issue moving branches
> I agree with Francis, but I'd also like to add that it seems hard to
> expose 'never both' over API's AIUI - that is, setTarget doesn't
> permit both package and project to be set, but individual fields would
> permit that.
If the individual fields have setTarget() as their mutator, then any
attempt to set both 'package' and 'project' would fail, just as any
attempt to invoke setTarget(package=foo, project=bar) would fail. Any
attempt to set 'package' when 'project' is already set would implicitly
clear out 'project'.
I take Francis's general point that we should think about the API that
will feel most natural to the end-user, rather than publishing our
internal API directly.
I also take his specific point that having a single, polymorphous
'target' field > two fields > named operation. You can set 'target' to a
package or a project, if you need to see what kind of object the target
is you can GET it, if you want there to be no target you can set a
single field to None.
Leonard
Attachment:
signature.asc
Description: This is a digitally signed message part
Follow ups
References