Skip to content

[DT-3107, DT-3108, DT-3110, DT-3112, DT-3113] Add entity-scoped FSO endpoints and access-controlled FileStorageObjectService#2867

Draft
kevinmarete wants to merge 7 commits intodevelopfrom
km-dt-3113-file-storage-apis
Draft

[DT-3107, DT-3108, DT-3110, DT-3112, DT-3113] Add entity-scoped FSO endpoints and access-controlled FileStorageObjectService#2867
kevinmarete wants to merge 7 commits intodevelopfrom
km-dt-3113-file-storage-apis

Conversation

@kevinmarete
Copy link
Copy Markdown
Contributor

@kevinmarete kevinmarete commented Apr 16, 2026

Addresses

https://broadworkbench.atlassian.net/browse/DT-3107
https://broadworkbench.atlassian.net/browse/DT-3108
https://broadworkbench.atlassian.net/browse/DT-3110
https://broadworkbench.atlassian.net/browse/DT-3112
https://broadworkbench.atlassian.net/browse/DT-3113

Summary

This PR introduces core API functionality for managing entity-scoped File Storage Objects (FSOs). It includes endpoints for uploading files, streaming file content, soft-deleting FSOs, and updating file categories. Additionally, it adds a centralized FileStorageObjectService to enforce consistent access control policies based on entity, category, and user roles across all FSO operations.

After

Have you read CONTRIBUTING.md lately? If not, do that first.

  • Label PR with a Jira ticket number and include a link to the ticket
  • Label PR with a security risk modifier [no, low, medium, high]
  • PR describes scope of changes
  • Get a minimum of one thumbs worth of review, preferably two if enough team members are available
  • Get PO sign-off for all non-trivial UI or workflow changes
  • Verify all tests go green
  • Test this change deployed correctly and works on dev environment after deployment

@kevinmarete kevinmarete self-assigned this Apr 16, 2026
@kevinmarete kevinmarete changed the title Km dt 3113 file storage apis [DT-3107, DT-3108, DT-3110, DT-3112, DT-3113] Add entity-scoped FSO endpoints and access-controlled FileStorageObjectService Apr 16, 2026
@sonarqubecloud
Copy link
Copy Markdown

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant