paulgessinger / swift-paperless

Native iOS app for interacting with a Paperless-ngx installation to manage documents
https://swift-paperless.gessinger.dev/
MIT License
367 stars 15 forks source link

No tag / correspondences selection in search #138

Closed EugenMayer closed 1 month ago

EugenMayer commented 1 month ago

Fairly new user of the app - so first thank you for providing it, open sourced!

Env: paperless-ngx 2.12.1 Ingress: k8s ingress, ngingx User: my user is not an admin, but has read access to all perm categories (and some write)

Issue: Being in the app, I can not see any tags in the tags facet. Is it supposed to list available tags or do I need to enter them exactly, without any auto-completion or drop down exploration? Same for correspondents, document types and so forth

Thanks

EugenMayer commented 1 month ago

Checked https://github.com/paulgessinger/swift-paperless/blob/main/swift-paperless/Networking/Endpoint.swift and assuming that the URL i configured (which is actually a domain, we should change the wording, since https:// is not part of the string)

I can access https://mydomain/api/tags and i do get a proper json response.

Checking https://docs.paperless-ngx.com/api/ seems like the endpoints are still there with my current version.

Seeing https://github.com/paulgessinger/swift-paperless/blob/27214b4a538e7ecc3312305093cb1481292b7484/swift-paperless/Networking/Api/ApiRepository.swift#L696 it seems like the API version is automatically determined and thus API Version 6 will be used, so i assume on that part, it is all.

Did the DTO`s change?

{
    "count": 18,
    "next": null,
    "previous": null,
    "all": [
        9,
        19,
        2,
        15,
        14,
        10,
        11,
        4,
        8,
        7,
        6,
        5,
        12,
        13,
        3,
        16,
        17,
        18
    ],
    "results": [
 {
            "id": 2,
            "slug": "inbox",
            "name": "Inbox",
            "colour": 1,
            "match": "",
            "matching_algorithm": 6,
            "is_insensitive": true,
            "is_inbox_tag": true,
            "document_count": 16,
            "owner": 3,
            "user_can_change": true
        },
]
}

would be my response. Could not find the DTO parser here at the moment

EugenMayer commented 1 month ago

After trying the api with my non-admin user i happened to noticed that the endpoint was accessible, but the list was empty.

This is when i found out that all the entities have permissions by entity, and since i had no default view permissions applied yet, non of them where visible.

So it was an layer8 issue - sorry for the fuzz!

paulgessinger commented 1 month ago

Hey @EugenMayer, thanks for the feedback in any case.

Indeed this scenario sounds like it would not be possible to detect this, because to the app it just looks like the logged in user simply does not have any elements to show.

The whole permissions system server-side is a bit rough around the edges.