deck icon indicating copy to clipboard operation
deck copied to clipboard

Document attachments in API v 1.1/(Deck 1?3+)

Open stefan-niedermann opened this issue 4 years ago • 2 comments
trafficstars

Describe the bug Starting with Deck 1.3.0, the attachments property of a card is an empty array. The Deck Android app is no longer able to display attachments.

To Reproduce Steps to reproduce the behavior:

  1. Install Deck 1.3.0
  2. Install Deck Android 1.14.6 (or any other version)
  3. Add a new attachment via Web UI
  4. Do not see it the attachment

Expected behavior Obvious, API should deliver the attachments as with version 1.2.0

I'm just the UI guy, but i think the called endpoint is this:

/boards/{boardId}/stacks/{stackId}/cards/{cardId}
{
    "title": "130 buggy",
    "description": "",
    "stackId": 505,
    "type": "plain",
    "lastModified": 1615300299,
    "lastEditor": "stefan",
    "createdAt": 1615300016,
    "labels": [],
    "assignedUsers": [],
    "attachments": [],             // → Here's the error
    "attachmentCount": 1,          // → LOL
    "owner": {
        "primaryKey": "stefan",
        "uid": "stefan",
        "displayname": "Stefan Niedermann",
        "type": 0
    },
    "order": 999,
    "archived": false,
    "duedate": null,
    "deletedAt": 0,
    "commentsUnread": 0,
    "id": 756,
    "ETag": "7273ce30eb6e6132d944bf27b6f6f181",
    "overdue": 0
}
Server details

Operating system: Don'tk now

Web server: Apache

Database: MySQL

PHP version: 7.4

Nextcloud version: 21

Where did you install Nextcloud from: Upgrade since a few versions

Signing status:

Login as admin user into your Nextcloud and access
http://example.com/index.php/settings/integrity/failed
paste the results here.

List of activated apps:

If you have access to your command line run e.g.:
sudo -u www-data php occ app:list
from within your Nextcloud installation folder

Nextcloud configuration:

If you have access to your command line run e.g.:
sudo -u www-data php occ config:list system
from within your Nextcloud installation folder

or

Insert your config.php content here
Make sure to remove all sensitive content such as passwords. (e.g. database password, passwordsalt, secret, smtp password, …)

Are you using an external user-backend, if yes which one: LDAP/ActiveDirectory/Webdav/...

Logs

Nextcloud log (data/nextcloud.log)

Insert your Nextcloud log here

Browser log

Insert your browser log here, this could for example include:

a) The javascript console log
b) The network log
c) ...

stefan-niedermann avatar Mar 09 '21 14:03 stefan-niedermann

Solution:

There is a new v1.1 endpoint since Deck 1.3.0. The old endpoint does only return attachments of type deck_file, the new one returns attachments of all types.

@GET("v1.0/boards/{boardId}/stacks/{stackId}/cards/{cardId}")
Observable<FullCard> getCard_1_0(@Path("boardId") long boardId, @Path("stackId") long stackId, @Path("cardId") long cardId, @Header(MODIFIED_SINCE_HEADER) String lastSync);

@GET("v1.1/boards/{boardId}/stacks/{stackId}/cards/{cardId}")
Observable<FullCard> getCard_1_1(@Path("boardId") long boardId, @Path("stackId") long stackId, @Path("cardId") long cardId, @Header(MODIFIED_SINCE_HEADER) String lastSync);

I will leave this issue open as a reminder to update the docs which are outdated.

stefan-niedermann avatar Mar 11 '21 19:03 stefan-niedermann

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

stale[bot] avatar Jul 21 '21 00:07 stale[bot]