SSHOC / sshoc-marketplace-backend

Code for the backend
Apache License 2.0
2 stars 0 forks source link

Allow to list items of a given actor #135

Closed dpancic closed 1 year ago

dpancic commented 2 years ago

In GitLab by @vronk on Jan 4, 2022, 20:24

We currently don't seem to have and would need a way to list all the items in which a given actor is assigned as a contributor (whichever role). Currently the only way seems to be via an item-search with filter on the actor.label

We propose to extend the GET /actor endpoint so that, governed by a parameter, optionally the response would be extended with a list of items connected to that actor. (Not sure about the detail-level of the items in such a list, but I would expect something similar to related items)

So the call could be something like: https://sshoc-marketplace-api-stage.acdh-dev.oeaw.ac.at/api/actors/2558?include=items

(notify @laureD19, @KlausIllmayer, @tparkola, @tparkola )

dpancic commented 2 years ago

In GitLab by @tparkola on Jan 12, 2022, 10:55

For GET /actor method boolean items flag was added. GET /api/actors/{id}?items=true returns output with items included, where this actor is ItemContributor. Default value items=false.

dpancic commented 2 years ago

In GitLab by @KlausIllmayer on Jan 12, 2022, 12:38

One question here: the current method returns all versions of an item where an actor is/was applied, even deprecated and invalid ones. Is this on purpose? I would have expected that only valid item versions show up. Currently you could get the impression that an actor is applied to an item where the actor may only be applied to deprecated versions of this item and not to the valid version of the item anymore.

Had also a discussion with @laureD19 on this and don't know about her expectation. Also including @vronk and @cesareconcordia for their expectations about the interpretation of the items-flag for this method.

dpancic commented 2 years ago

In GitLab by @vronk on Jan 12, 2022, 15:28

But is this correct? "ItemContributor" is indeed the Actor with some defined role with respect to the described "thing"? Like an author of the publication. It is not a user, who edited an MPitem, correct?

(The naming is somewhat ambiguous and thus unfortunate

dpancic commented 2 years ago

In GitLab by @tparkola on Jan 12, 2022, 15:35

Exactly, and User is InformationContributor. Current version returns all version of the items, despite its status. @KlausIllmayer @vronk do you need only approved ones?

dpancic commented 2 years ago

In GitLab by @vronk on Jan 12, 2022, 17:00

maybe yet another flag approved. as we have with items?

dpancic commented 2 years ago

In GitLab by @KlausIllmayer on Jan 12, 2022, 17:09

Seems to be a good agreement, although I still wonder why we would need the information on deprecated item versions (but who knows, maybe it will be useful for something else)

dpancic commented 2 years ago

In GitLab by @KlausIllmayer on Jan 12, 2022, 17:11

Probably I should create a new issue for this: but we found out that we would also need the information if an actor is used as an affiliation by another actor. Do you think there is also a way to integrate this in the return value of this call (in the case of using the flag items=true ).