[Koha-bugs] [Bug 16330] REST API: add routes to add, update and delete patrons
bugzilla-daemon at bugs.koha-community.org
bugzilla-daemon at bugs.koha-community.org
Mon Aug 29 11:45:34 CEST 2016
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=16330
--- Comment #30 from Jonathan Druart <jonathan.druart at bugs.koha-community.org> ---
(In reply to Benjamin Rokseth from comment #26)
> (In reply to Jonathan Druart from comment #21)
> > Are you sure we want to raise such specific error like "library does not
> > exist" or "category does not exist"?
> > I'd go for an eval { $patron->store } and return a 500 if something went
> > wrong.
>
>
> Well, yes and no. If missing category or branch is not part of error
> response, it is no good. API user must not be expected to know about koha
> internal dependencies, so a generic internal server response is not a good
> option.
>
> That being said, the Patron object is probably the best place to handle
> exceptions, e.g. Bug 16907. So if patron->store gives the needed feedback,
> it is no point duplicating code/logic in api.
>
> So yes, I agree, but am a bit unsure about alternatives?
Actually if you call $patron->store and a FK is wrong/missing, DBIx::Class will
raise the relevant DBI error, something like:
DBD::mysql::st execute failed: Cannot add or update a child row: a foreign key
constraint fails (`koha_ut`.`borrowers`, CONSTRAINT `borrowers_ibfk_1` FOREIGN
KEY (`categorycode`) REFERENCES `categories` (`categorycode`)).
That's why I think we should not handle it somewhere else.
Of course it would be better to get something more readable for the response :)
Did you mean we have to answer "This branchcode XYZ does not exist" or
something like "One of the parameter is wrong/missing" would be enough?
--
You are receiving this mail because:
You are watching all bug changes.
More information about the Koha-bugs
mailing list