Skip to content

Restructure artifact URLs

See https://salsa.debian.org/freexian-team/debusine/-/blob/devel/docs/reference/devel-blueprints/url-redesign.rst?ref_type=heads

  • /<scope>/artifact/<int:artifact_id>/: should move to /<scope>/<workspace>/artifact/<id>, which would simplify its implementation by sharing URL handling with workspace and collection views, and make sense visually as it shares the same UI components as the other views that are workspace-scoped. Done in !1326 (merged)
  • /<scope>/artifact/<int:artifact_id>/file/<int:file_in_artifact_id>/<path:path>: likewise, move to /<scope>/<workspace>/artifact/<id>/file/<file_in_artifact_id>/<path:path>. Done in !1326 (merged)
  • /<scope>/artifact/<int:artifact_id>/raw/<int:file_in_artifact_id>/<path:path>: likewise, move to /<scope>/<workspace>/artifact/<id>/raw/<file_in_artifact_id>/<path:path>. Done in !1326 (merged)
  • /<scope>/artifact/create/: this should move to /<scope>/<workspace>/artifact/create/: that way it can only show for workspaces that can be written to, get rid of the workspace field in the form, and only upload to the workspace named in the URL. Done in !1304 (merged)
  • /<scope>/artifact/<int:artifact_id>/download/*: this should move to /<scope>/<workspace>/artifact/<id>/download/*. When the worker downloads an artifact, it already queries the API first to get its download URL, so this can be moved without breaking clients, as long as the API response is updated: see ArtifactSerializerResponse._build_absolute_download_url. See also #586 (closed) for further notes about this view. Done in !1348 (merged)
Edited by Enrico Zini
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information