feat: faster access checks

This commit is contained in:
Jason Rasmussen
2025-09-11 14:06:27 -04:00
parent 722a464e23
commit 42e1e0c66a
17 changed files with 324 additions and 101 deletions
+17
View File
@@ -2583,6 +2583,14 @@
"get": {
"operationId": "viewAsset",
"parameters": [
{
"name": "hint",
"required": false,
"in": "query",
"schema": {
"$ref": "#/components/schemas/AccessHint"
}
},
{
"name": "id",
"required": true,
@@ -9967,6 +9975,15 @@
},
"type": "object"
},
"AccessHint": {
"enum": [
"owner",
"album",
"partner",
"sharedLink"
],
"type": "string"
},
"ActivityCreateDto": {
"properties": {
"albumId": {
+9 -1
View File
@@ -2391,7 +2391,8 @@ export function replaceAsset({ id, key, slug, assetMediaReplaceDto }: {
/**
* This endpoint requires the `asset.view` permission.
*/
export function viewAsset({ id, key, size, slug }: {
export function viewAsset({ hint, id, key, size, slug }: {
hint?: AccessHint;
id: string;
key?: string;
size?: AssetMediaSize;
@@ -2401,6 +2402,7 @@ export function viewAsset({ id, key, size, slug }: {
status: 200;
data: Blob;
}>(`/assets/${encodeURIComponent(id)}/thumbnail${QS.query(QS.explode({
hint,
key,
size,
slug
@@ -4842,6 +4844,12 @@ export enum AssetJobName {
RegenerateThumbnail = "regenerate-thumbnail",
TranscodeVideo = "transcode-video"
}
export enum AccessHint {
Owner = "owner",
Album = "album",
Partner = "partner",
SharedLink = "sharedLink"
}
export enum AssetMediaSize {
Fullsize = "fullsize",
Preview = "preview",