@mano8/astro-media-m8 0.1.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +201 -0
- package/README.md +203 -0
- package/dist/src/integration.d.ts +57 -0
- package/dist/src/integration.d.ts.map +1 -0
- package/dist/src/integration.js +87 -0
- package/dist/src/integration.js.map +1 -0
- package/dist/src/lib/csp.d.ts +27 -0
- package/dist/src/lib/csp.d.ts.map +1 -0
- package/dist/src/lib/csp.js +54 -0
- package/dist/src/lib/csp.js.map +1 -0
- package/dist/src/middleware.d.ts +4 -0
- package/dist/src/middleware.d.ts.map +1 -0
- package/dist/src/middleware.js +24 -0
- package/dist/src/middleware.js.map +1 -0
- package/dist/src/runtime/api/admin.d.ts +22 -0
- package/dist/src/runtime/api/admin.d.ts.map +1 -0
- package/dist/src/runtime/api/admin.js +115 -0
- package/dist/src/runtime/api/admin.js.map +1 -0
- package/dist/src/runtime/api/categories.d.ts +12 -0
- package/dist/src/runtime/api/categories.d.ts.map +1 -0
- package/dist/src/runtime/api/categories.js +56 -0
- package/dist/src/runtime/api/categories.js.map +1 -0
- package/dist/src/runtime/api/dashboard.d.ts +5 -0
- package/dist/src/runtime/api/dashboard.d.ts.map +1 -0
- package/dist/src/runtime/api/dashboard.js +22 -0
- package/dist/src/runtime/api/dashboard.js.map +1 -0
- package/dist/src/runtime/api/index.d.ts +72 -0
- package/dist/src/runtime/api/index.d.ts.map +1 -0
- package/dist/src/runtime/api/index.js +74 -0
- package/dist/src/runtime/api/index.js.map +1 -0
- package/dist/src/runtime/api/internal.server.d.ts +19 -0
- package/dist/src/runtime/api/internal.server.d.ts.map +1 -0
- package/dist/src/runtime/api/internal.server.js +64 -0
- package/dist/src/runtime/api/internal.server.js.map +1 -0
- package/dist/src/runtime/api/objects.d.ts +7 -0
- package/dist/src/runtime/api/objects.d.ts.map +1 -0
- package/dist/src/runtime/api/objects.js +71 -0
- package/dist/src/runtime/api/objects.js.map +1 -0
- package/dist/src/runtime/api/presets.d.ts +6 -0
- package/dist/src/runtime/api/presets.d.ts.map +1 -0
- package/dist/src/runtime/api/presets.js +31 -0
- package/dist/src/runtime/api/presets.js.map +1 -0
- package/dist/src/runtime/api/shares.d.ts +10 -0
- package/dist/src/runtime/api/shares.d.ts.map +1 -0
- package/dist/src/runtime/api/shares.js +38 -0
- package/dist/src/runtime/api/shares.js.map +1 -0
- package/dist/src/runtime/api/uploads.d.ts +5 -0
- package/dist/src/runtime/api/uploads.d.ts.map +1 -0
- package/dist/src/runtime/api/uploads.js +28 -0
- package/dist/src/runtime/api/uploads.js.map +1 -0
- package/dist/src/runtime/api/variants.d.ts +18 -0
- package/dist/src/runtime/api/variants.d.ts.map +1 -0
- package/dist/src/runtime/api/variants.js +61 -0
- package/dist/src/runtime/api/variants.js.map +1 -0
- package/dist/src/runtime/authAdapter.d.ts +48 -0
- package/dist/src/runtime/authAdapter.d.ts.map +1 -0
- package/dist/src/runtime/authAdapter.js +62 -0
- package/dist/src/runtime/authAdapter.js.map +1 -0
- package/dist/src/runtime/client.d.ts +24 -0
- package/dist/src/runtime/client.d.ts.map +1 -0
- package/dist/src/runtime/client.js +87 -0
- package/dist/src/runtime/client.js.map +1 -0
- package/dist/src/runtime/compatibility.d.ts +32 -0
- package/dist/src/runtime/compatibility.d.ts.map +1 -0
- package/dist/src/runtime/compatibility.js +101 -0
- package/dist/src/runtime/compatibility.js.map +1 -0
- package/dist/src/runtime/config.d.ts +27 -0
- package/dist/src/runtime/config.d.ts.map +1 -0
- package/dist/src/runtime/config.js +32 -0
- package/dist/src/runtime/config.js.map +1 -0
- package/dist/src/runtime/errors.d.ts +23 -0
- package/dist/src/runtime/errors.d.ts.map +1 -0
- package/dist/src/runtime/errors.js +50 -0
- package/dist/src/runtime/errors.js.map +1 -0
- package/dist/src/runtime/hooks/index.d.ts +8 -0
- package/dist/src/runtime/hooks/index.d.ts.map +1 -0
- package/dist/src/runtime/hooks/index.js +8 -0
- package/dist/src/runtime/hooks/index.js.map +1 -0
- package/dist/src/runtime/hooks/useDownloadUrl.d.ts +12 -0
- package/dist/src/runtime/hooks/useDownloadUrl.d.ts.map +1 -0
- package/dist/src/runtime/hooks/useDownloadUrl.js +40 -0
- package/dist/src/runtime/hooks/useDownloadUrl.js.map +1 -0
- package/dist/src/runtime/hooks/useMediaAdmin.d.ts +30 -0
- package/dist/src/runtime/hooks/useMediaAdmin.d.ts.map +1 -0
- package/dist/src/runtime/hooks/useMediaAdmin.js +145 -0
- package/dist/src/runtime/hooks/useMediaAdmin.js.map +1 -0
- package/dist/src/runtime/hooks/useMediaObject.d.ts +17 -0
- package/dist/src/runtime/hooks/useMediaObject.d.ts.map +1 -0
- package/dist/src/runtime/hooks/useMediaObject.js +62 -0
- package/dist/src/runtime/hooks/useMediaObject.js.map +1 -0
- package/dist/src/runtime/hooks/useMediaObjects.d.ts +12 -0
- package/dist/src/runtime/hooks/useMediaObjects.d.ts.map +1 -0
- package/dist/src/runtime/hooks/useMediaObjects.js +76 -0
- package/dist/src/runtime/hooks/useMediaObjects.js.map +1 -0
- package/dist/src/runtime/hooks/useMediaPresets.d.ts +24 -0
- package/dist/src/runtime/hooks/useMediaPresets.d.ts.map +1 -0
- package/dist/src/runtime/hooks/useMediaPresets.js +55 -0
- package/dist/src/runtime/hooks/useMediaPresets.js.map +1 -0
- package/dist/src/runtime/hooks/useMediaUpload.d.ts +11 -0
- package/dist/src/runtime/hooks/useMediaUpload.d.ts.map +1 -0
- package/dist/src/runtime/hooks/useMediaUpload.js +34 -0
- package/dist/src/runtime/hooks/useMediaUpload.js.map +1 -0
- package/dist/src/runtime/hooks/useMediaVariants.d.ts +18 -0
- package/dist/src/runtime/hooks/useMediaVariants.d.ts.map +1 -0
- package/dist/src/runtime/hooks/useMediaVariants.js +78 -0
- package/dist/src/runtime/hooks/useMediaVariants.js.map +1 -0
- package/dist/src/runtime/listParams.d.ts +27 -0
- package/dist/src/runtime/listParams.d.ts.map +1 -0
- package/dist/src/runtime/listParams.js +66 -0
- package/dist/src/runtime/listParams.js.map +1 -0
- package/dist/src/runtime/queryKeys.d.ts +18 -0
- package/dist/src/runtime/queryKeys.d.ts.map +1 -0
- package/dist/src/runtime/queryKeys.js +23 -0
- package/dist/src/runtime/queryKeys.js.map +1 -0
- package/dist/src/runtime/react/AdminMediaPanel.d.ts +2 -0
- package/dist/src/runtime/react/AdminMediaPanel.d.ts.map +1 -0
- package/dist/src/runtime/react/AdminMediaPanel.js +14 -0
- package/dist/src/runtime/react/AdminMediaPanel.js.map +1 -0
- package/dist/src/runtime/react/MediaLibrary.d.ts +6 -0
- package/dist/src/runtime/react/MediaLibrary.d.ts.map +1 -0
- package/dist/src/runtime/react/MediaLibrary.js +138 -0
- package/dist/src/runtime/react/MediaLibrary.js.map +1 -0
- package/dist/src/runtime/react/MediaProvider.d.ts +18 -0
- package/dist/src/runtime/react/MediaProvider.d.ts.map +1 -0
- package/dist/src/runtime/react/MediaProvider.js +79 -0
- package/dist/src/runtime/react/MediaProvider.js.map +1 -0
- package/dist/src/runtime/react/MediaQueryProvider.d.ts +8 -0
- package/dist/src/runtime/react/MediaQueryProvider.d.ts.map +1 -0
- package/dist/src/runtime/react/MediaQueryProvider.js +11 -0
- package/dist/src/runtime/react/MediaQueryProvider.js.map +1 -0
- package/dist/src/runtime/react/MediaUploadDropzone.d.ts +8 -0
- package/dist/src/runtime/react/MediaUploadDropzone.d.ts.map +1 -0
- package/dist/src/runtime/react/MediaUploadDropzone.js +34 -0
- package/dist/src/runtime/react/MediaUploadDropzone.js.map +1 -0
- package/dist/src/runtime/react/ObjectDetail.d.ts +5 -0
- package/dist/src/runtime/react/ObjectDetail.d.ts.map +1 -0
- package/dist/src/runtime/react/ObjectDetail.js +34 -0
- package/dist/src/runtime/react/ObjectDetail.js.map +1 -0
- package/dist/src/runtime/react/PresetEditor.d.ts +3 -0
- package/dist/src/runtime/react/PresetEditor.d.ts.map +1 -0
- package/dist/src/runtime/react/PresetEditor.js +36 -0
- package/dist/src/runtime/react/PresetEditor.js.map +1 -0
- package/dist/src/runtime/react/RequireSuperuser.d.ts +7 -0
- package/dist/src/runtime/react/RequireSuperuser.d.ts.map +1 -0
- package/dist/src/runtime/react/RequireSuperuser.js +10 -0
- package/dist/src/runtime/react/RequireSuperuser.js.map +1 -0
- package/dist/src/runtime/react/VariantPicker.d.ts +5 -0
- package/dist/src/runtime/react/VariantPicker.d.ts.map +1 -0
- package/dist/src/runtime/react/VariantPicker.js +28 -0
- package/dist/src/runtime/react/VariantPicker.js.map +1 -0
- package/dist/src/runtime/react/default-ui/index.d.ts +25 -0
- package/dist/src/runtime/react/default-ui/index.d.ts.map +1 -0
- package/dist/src/runtime/react/default-ui/index.js +33 -0
- package/dist/src/runtime/react/default-ui/index.js.map +1 -0
- package/dist/src/runtime/react/index.d.ts +10 -0
- package/dist/src/runtime/react/index.d.ts.map +1 -0
- package/dist/src/runtime/react/index.js +10 -0
- package/dist/src/runtime/react/index.js.map +1 -0
- package/dist/src/runtime/routes.d.ts +19 -0
- package/dist/src/runtime/routes.d.ts.map +1 -0
- package/dist/src/runtime/routes.js +35 -0
- package/dist/src/runtime/routes.js.map +1 -0
- package/dist/src/runtime/schemas.d.ts +812 -0
- package/dist/src/runtime/schemas.d.ts.map +1 -0
- package/dist/src/runtime/schemas.js +427 -0
- package/dist/src/runtime/schemas.js.map +1 -0
- package/dist/src/runtime/upload/index.d.ts +2 -0
- package/dist/src/runtime/upload/index.d.ts.map +1 -0
- package/dist/src/runtime/upload/index.js +2 -0
- package/dist/src/runtime/upload/index.js.map +1 -0
- package/dist/src/runtime/upload/uploadController.d.ts +71 -0
- package/dist/src/runtime/upload/uploadController.d.ts.map +1 -0
- package/dist/src/runtime/upload/uploadController.js +217 -0
- package/dist/src/runtime/upload/uploadController.js.map +1 -0
- package/package.json +97 -0
- package/registry/r/admin-media-dashboard.json +23 -0
- package/registry/r/data-table.json +23 -0
- package/registry/r/media-dashboard-overview.json +26 -0
- package/registry/r/media-maintenance-panel.json +23 -0
- package/registry/r/media-storage-chart.json +21 -0
- package/registry/r/registry.json +37 -0
- package/registry.json +92 -0
- package/src/routes/admin/media.astro +12 -0
- package/src/routes/library.astro +12 -0
- package/src/routes/object/[id].astro +14 -0
- package/src/routes/presets.astro +12 -0
- package/src/routes/upload.astro +12 -0
- package/src/scaffold/styles/media.css +208 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../src/middleware.ts"],"names":[],"mappings":"AAAA,KAAK,cAAc,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC;AAczD,wBAAgB,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAW/F"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
function withCsp(response, policy) {
|
|
2
|
+
const headers = new Headers(response.headers);
|
|
3
|
+
if (!headers.has("Content-Security-Policy")) {
|
|
4
|
+
headers.set("Content-Security-Policy", policy);
|
|
5
|
+
}
|
|
6
|
+
return new Response(response.body, {
|
|
7
|
+
status: response.status,
|
|
8
|
+
statusText: response.statusText,
|
|
9
|
+
headers,
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
export function onRequest(_context, next) {
|
|
13
|
+
// Policy is injected by vite.define in the integration setup; read as a runtime env var in tests.
|
|
14
|
+
const policy = import.meta.env.PUBLIC_FA_MEDIA_CSP_POLICY;
|
|
15
|
+
if (!policy) {
|
|
16
|
+
return next();
|
|
17
|
+
}
|
|
18
|
+
const result = next();
|
|
19
|
+
if (result instanceof Promise) {
|
|
20
|
+
return result.then(r => withCsp(r, policy));
|
|
21
|
+
}
|
|
22
|
+
return withCsp(result, policy);
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=middleware.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../src/middleware.ts"],"names":[],"mappings":"AAEA,SAAS,OAAO,CAAC,QAAkB,EAAE,MAAc;IACjD,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC9C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,EAAE,CAAC;QAC5C,OAAO,CAAC,GAAG,CAAC,yBAAyB,EAAE,MAAM,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE;QACjC,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,OAAO;KACR,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,QAAiB,EAAE,IAAoB;IAC/D,kGAAkG;IAClG,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,0BAA0B,CAAC;IAC1D,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,IAAI,EAAE,CAAC;IAChB,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,EAAE,CAAC;IACtB,IAAI,MAAM,YAAY,OAAO,EAAE,CAAC;QAC9B,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AACjC,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { type HardPurgeResponse, type OrphanReport, type PurgeStaleResponse, type QuotaUpdateRequest, type StaleUploadsResponse, type StorageStatsResponse, type StorageUsagePublic, type SubscriptionCreateRequest, type SubscriptionListResponse, type SubscriptionPublic } from "../schemas.js";
|
|
2
|
+
/**
|
|
3
|
+
* Superuser-only operations. Every wrapper sets `admin: true` so the client
|
|
4
|
+
* can short-circuit with a `ForbiddenError` before the request when the auth
|
|
5
|
+
* adapter already knows the user is not a superuser.
|
|
6
|
+
*/
|
|
7
|
+
export declare function getStorageStats(): Promise<StorageStatsResponse>;
|
|
8
|
+
export declare function getStaleUploads(): Promise<StaleUploadsResponse>;
|
|
9
|
+
export declare function purgeStaleUploads(): Promise<PurgeStaleResponse>;
|
|
10
|
+
export declare function getQuota(ownerUserId: string, tenantId?: string): Promise<StorageUsagePublic>;
|
|
11
|
+
export declare function setQuota(ownerUserId: string, body: QuotaUpdateRequest, tenantId?: string): Promise<StorageUsagePublic>;
|
|
12
|
+
export declare function getOrphans(): Promise<OrphanReport>;
|
|
13
|
+
/**
|
|
14
|
+
* Reconcile orphans. Defaults to a dry-run; pass `confirm: true` only behind an
|
|
15
|
+
* explicit operator confirmation — it deletes storage-orphan bytes.
|
|
16
|
+
*/
|
|
17
|
+
export declare function repairOrphans(confirm?: boolean): Promise<OrphanReport>;
|
|
18
|
+
export declare function purgeExpired(): Promise<HardPurgeResponse>;
|
|
19
|
+
export declare function createSubscription(body: SubscriptionCreateRequest): Promise<SubscriptionPublic>;
|
|
20
|
+
export declare function listSubscriptions(): Promise<SubscriptionListResponse>;
|
|
21
|
+
export declare function deleteSubscription(subscriptionId: string): Promise<void>;
|
|
22
|
+
//# sourceMappingURL=admin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admin.d.ts","sourceRoot":"","sources":["../../../../src/runtime/api/admin.ts"],"names":[],"mappings":"AACA,OAAO,EASL,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,EAC7B,KAAK,kBAAkB,EACxB,MAAM,eAAe,CAAC;AAEvB;;;;GAIG;AAEH,wBAAgB,eAAe,IAAI,OAAO,CAAC,oBAAoB,CAAC,CAQ/D;AAED,wBAAgB,eAAe,IAAI,OAAO,CAAC,oBAAoB,CAAC,CAQ/D;AAED,wBAAgB,iBAAiB,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAQ/D;AAED,wBAAgB,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAS5F;AAED,wBAAgB,QAAQ,CACtB,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,kBAAkB,EACxB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,kBAAkB,CAAC,CAU7B;AAED,wBAAgB,UAAU,IAAI,OAAO,CAAC,YAAY,CAAC,CAQlD;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,OAAO,UAAQ,GAAG,OAAO,CAAC,YAAY,CAAC,CASpE;AAED,wBAAgB,YAAY,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAQzD;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAS/F;AAED,wBAAgB,iBAAiB,IAAI,OAAO,CAAC,wBAAwB,CAAC,CAQrE;AAED,wBAAgB,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAOxE"}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { request } from "../client.js";
|
|
2
|
+
import { HardPurgeResponseSchema, OrphanReportSchema, PurgeStaleResponseSchema, StaleUploadsResponseSchema, StorageStatsResponseSchema, StorageUsagePublicSchema, SubscriptionListResponseSchema, SubscriptionPublicSchema } from "../schemas.js";
|
|
3
|
+
/**
|
|
4
|
+
* Superuser-only operations. Every wrapper sets `admin: true` so the client
|
|
5
|
+
* can short-circuit with a `ForbiddenError` before the request when the auth
|
|
6
|
+
* adapter already knows the user is not a superuser.
|
|
7
|
+
*/
|
|
8
|
+
export function getStorageStats() {
|
|
9
|
+
return request({
|
|
10
|
+
method: "GET",
|
|
11
|
+
path: "/admin/storage/stats",
|
|
12
|
+
schema: StorageStatsResponseSchema,
|
|
13
|
+
auth: true,
|
|
14
|
+
admin: true
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
export function getStaleUploads() {
|
|
18
|
+
return request({
|
|
19
|
+
method: "GET",
|
|
20
|
+
path: "/admin/uploads/stale",
|
|
21
|
+
schema: StaleUploadsResponseSchema,
|
|
22
|
+
auth: true,
|
|
23
|
+
admin: true
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
export function purgeStaleUploads() {
|
|
27
|
+
return request({
|
|
28
|
+
method: "POST",
|
|
29
|
+
path: "/admin/uploads/purge-stale",
|
|
30
|
+
schema: PurgeStaleResponseSchema,
|
|
31
|
+
auth: true,
|
|
32
|
+
admin: true
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
export function getQuota(ownerUserId, tenantId) {
|
|
36
|
+
return request({
|
|
37
|
+
method: "GET",
|
|
38
|
+
path: `/admin/quotas/${encodeURIComponent(ownerUserId)}`,
|
|
39
|
+
query: { tenant_id: tenantId },
|
|
40
|
+
schema: StorageUsagePublicSchema,
|
|
41
|
+
auth: true,
|
|
42
|
+
admin: true
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
export function setQuota(ownerUserId, body, tenantId) {
|
|
46
|
+
return request({
|
|
47
|
+
method: "PUT",
|
|
48
|
+
path: `/admin/quotas/${encodeURIComponent(ownerUserId)}`,
|
|
49
|
+
query: { tenant_id: tenantId },
|
|
50
|
+
body,
|
|
51
|
+
schema: StorageUsagePublicSchema,
|
|
52
|
+
auth: true,
|
|
53
|
+
admin: true
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
export function getOrphans() {
|
|
57
|
+
return request({
|
|
58
|
+
method: "GET",
|
|
59
|
+
path: "/admin/maintenance/orphans",
|
|
60
|
+
schema: OrphanReportSchema,
|
|
61
|
+
auth: true,
|
|
62
|
+
admin: true
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Reconcile orphans. Defaults to a dry-run; pass `confirm: true` only behind an
|
|
67
|
+
* explicit operator confirmation — it deletes storage-orphan bytes.
|
|
68
|
+
*/
|
|
69
|
+
export function repairOrphans(confirm = false) {
|
|
70
|
+
return request({
|
|
71
|
+
method: "POST",
|
|
72
|
+
path: "/admin/maintenance/orphans/repair",
|
|
73
|
+
query: { confirm },
|
|
74
|
+
schema: OrphanReportSchema,
|
|
75
|
+
auth: true,
|
|
76
|
+
admin: true
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
export function purgeExpired() {
|
|
80
|
+
return request({
|
|
81
|
+
method: "POST",
|
|
82
|
+
path: "/admin/maintenance/purge-expired",
|
|
83
|
+
schema: HardPurgeResponseSchema,
|
|
84
|
+
auth: true,
|
|
85
|
+
admin: true
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
export function createSubscription(body) {
|
|
89
|
+
return request({
|
|
90
|
+
method: "POST",
|
|
91
|
+
path: "/admin/subscriptions",
|
|
92
|
+
body,
|
|
93
|
+
schema: SubscriptionPublicSchema,
|
|
94
|
+
auth: true,
|
|
95
|
+
admin: true
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
export function listSubscriptions() {
|
|
99
|
+
return request({
|
|
100
|
+
method: "GET",
|
|
101
|
+
path: "/admin/subscriptions",
|
|
102
|
+
schema: SubscriptionListResponseSchema,
|
|
103
|
+
auth: true,
|
|
104
|
+
admin: true
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
export function deleteSubscription(subscriptionId) {
|
|
108
|
+
return request({
|
|
109
|
+
method: "DELETE",
|
|
110
|
+
path: `/admin/subscriptions/${encodeURIComponent(subscriptionId)}`,
|
|
111
|
+
auth: true,
|
|
112
|
+
admin: true
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
//# sourceMappingURL=admin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admin.js","sourceRoot":"","sources":["../../../../src/runtime/api/admin.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { type CategoriesPublic, type CategoryCreate, type CategoryUpdate, type ResponseMessage, type ResponseModelBase, type ResponseModelOrMessage } from "../schemas.js";
|
|
2
|
+
/**
|
|
3
|
+
* Legacy category CRUD. These routes live under `legacyBase` (no `/v1`) and use
|
|
4
|
+
* the older `{success, ...}` envelope shape. Kept for completeness; the object
|
|
5
|
+
* API uses enum categories, so this is an auxiliary surface.
|
|
6
|
+
*/
|
|
7
|
+
export declare function listCategories(skip?: number, limit?: number): Promise<CategoriesPublic>;
|
|
8
|
+
export declare function getCategory(itemId: number): Promise<ResponseModelOrMessage>;
|
|
9
|
+
export declare function createCategory(body: CategoryCreate): Promise<ResponseModelBase>;
|
|
10
|
+
export declare function updateCategory(itemId: number, body: CategoryUpdate): Promise<ResponseModelBase>;
|
|
11
|
+
export declare function deleteCategory(itemId: number): Promise<ResponseMessage>;
|
|
12
|
+
//# sourceMappingURL=categories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"categories.d.ts","sourceRoot":"","sources":["../../../../src/runtime/api/categories.ts"],"names":[],"mappings":"AACA,OAAO,EAKL,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC5B,MAAM,eAAe,CAAC;AAEvB;;;;GAIG;AAEH,wBAAgB,cAAc,CAAC,IAAI,SAAI,EAAE,KAAK,SAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAS/E;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAQ3E;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAS/E;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAS/F;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAQvE"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { request } from "../client.js";
|
|
2
|
+
import { CategoriesPublicSchema, ResponseMessageSchema, ResponseModelBaseSchema, ResponseModelOrMessageSchema } from "../schemas.js";
|
|
3
|
+
/**
|
|
4
|
+
* Legacy category CRUD. These routes live under `legacyBase` (no `/v1`) and use
|
|
5
|
+
* the older `{success, ...}` envelope shape. Kept for completeness; the object
|
|
6
|
+
* API uses enum categories, so this is an auxiliary surface.
|
|
7
|
+
*/
|
|
8
|
+
export function listCategories(skip = 0, limit = 100) {
|
|
9
|
+
return request({
|
|
10
|
+
method: "GET",
|
|
11
|
+
base: "legacy",
|
|
12
|
+
path: "/category/",
|
|
13
|
+
query: { skip, limit },
|
|
14
|
+
schema: CategoriesPublicSchema,
|
|
15
|
+
auth: true
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
export function getCategory(itemId) {
|
|
19
|
+
return request({
|
|
20
|
+
method: "GET",
|
|
21
|
+
base: "legacy",
|
|
22
|
+
path: `/category/get/${encodeURIComponent(itemId)}/`,
|
|
23
|
+
schema: ResponseModelOrMessageSchema,
|
|
24
|
+
auth: true
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
export function createCategory(body) {
|
|
28
|
+
return request({
|
|
29
|
+
method: "POST",
|
|
30
|
+
base: "legacy",
|
|
31
|
+
path: "/category/add/",
|
|
32
|
+
body,
|
|
33
|
+
schema: ResponseModelBaseSchema,
|
|
34
|
+
auth: true
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
export function updateCategory(itemId, body) {
|
|
38
|
+
return request({
|
|
39
|
+
method: "PUT",
|
|
40
|
+
base: "legacy",
|
|
41
|
+
path: `/category/edit/${encodeURIComponent(itemId)}/`,
|
|
42
|
+
body,
|
|
43
|
+
schema: ResponseModelBaseSchema,
|
|
44
|
+
auth: true
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
export function deleteCategory(itemId) {
|
|
48
|
+
return request({
|
|
49
|
+
method: "DELETE",
|
|
50
|
+
base: "legacy",
|
|
51
|
+
path: `/category/delete/${encodeURIComponent(itemId)}/`,
|
|
52
|
+
schema: ResponseMessageSchema,
|
|
53
|
+
auth: true
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=categories.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"categories.js","sourceRoot":"","sources":["../../../../src/runtime/api/categories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,uBAAuB,EACvB,4BAA4B,EAO7B,MAAM,eAAe,CAAC;AAEvB;;;;GAIG;AAEH,MAAM,UAAU,cAAc,CAAC,IAAI,GAAG,CAAC,EAAE,KAAK,GAAG,GAAG;IAClD,OAAO,OAAO,CAAC;QACb,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,YAAY;QAClB,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;QACtB,MAAM,EAAE,sBAAsB;QAC9B,IAAI,EAAE,IAAI;KACX,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,MAAc;IACxC,OAAO,OAAO,CAAC;QACb,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,iBAAiB,kBAAkB,CAAC,MAAM,CAAC,GAAG;QACpD,MAAM,EAAE,4BAA4B;QACpC,IAAI,EAAE,IAAI;KACX,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAAoB;IACjD,OAAO,OAAO,CAAC;QACb,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,gBAAgB;QACtB,IAAI;QACJ,MAAM,EAAE,uBAAuB;QAC/B,IAAI,EAAE,IAAI;KACX,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,MAAc,EAAE,IAAoB;IACjE,OAAO,OAAO,CAAC;QACb,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,kBAAkB,kBAAkB,CAAC,MAAM,CAAC,GAAG;QACrD,IAAI;QACJ,MAAM,EAAE,uBAAuB;QAC/B,IAAI,EAAE,IAAI;KACX,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,MAAc;IAC3C,OAAO,OAAO,CAAC;QACb,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,oBAAoB,kBAAkB,CAAC,MAAM,CAAC,GAAG;QACvD,MAAM,EAAE,qBAAqB;QAC7B,IAAI,EAAE,IAAI;KACX,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { type UsersActivity } from "../schemas.js";
|
|
2
|
+
/** Dashboard activity. These routes live under `legacyBase` (no `/v1`). */
|
|
3
|
+
export declare function getActivityAll(): Promise<UsersActivity>;
|
|
4
|
+
export declare function getActivityCurrent(): Promise<UsersActivity>;
|
|
5
|
+
//# sourceMappingURL=dashboard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dashboard.d.ts","sourceRoot":"","sources":["../../../../src/runtime/api/dashboard.ts"],"names":[],"mappings":"AACA,OAAO,EAAuB,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAExE,2EAA2E;AAE3E,wBAAgB,cAAc,IAAI,OAAO,CAAC,aAAa,CAAC,CAQvD;AAED,wBAAgB,kBAAkB,IAAI,OAAO,CAAC,aAAa,CAAC,CAQ3D"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { request } from "../client.js";
|
|
2
|
+
import { UsersActivitySchema } from "../schemas.js";
|
|
3
|
+
/** Dashboard activity. These routes live under `legacyBase` (no `/v1`). */
|
|
4
|
+
export function getActivityAll() {
|
|
5
|
+
return request({
|
|
6
|
+
method: "GET",
|
|
7
|
+
base: "legacy",
|
|
8
|
+
path: "/dashboard/users/activity/",
|
|
9
|
+
schema: UsersActivitySchema,
|
|
10
|
+
auth: true
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
export function getActivityCurrent() {
|
|
14
|
+
return request({
|
|
15
|
+
method: "GET",
|
|
16
|
+
base: "legacy",
|
|
17
|
+
path: "/dashboard/users/activity/current/",
|
|
18
|
+
schema: UsersActivitySchema,
|
|
19
|
+
auth: true
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=dashboard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dashboard.js","sourceRoot":"","sources":["../../../../src/runtime/api/dashboard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,mBAAmB,EAAsB,MAAM,eAAe,CAAC;AAExE,2EAA2E;AAE3E,MAAM,UAAU,cAAc;IAC5B,OAAO,OAAO,CAAC;QACb,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,4BAA4B;QAClC,MAAM,EAAE,mBAAmB;QAC3B,IAAI,EAAE,IAAI;KACX,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,kBAAkB;IAChC,OAAO,OAAO,CAAC;QACb,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,oCAAoC;QAC1C,MAAM,EAAE,mBAAmB;QAC3B,IAAI,EAAE,IAAI;KACX,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import * as uploadsApi from "./uploads.js";
|
|
2
|
+
import * as objectsApi from "./objects.js";
|
|
3
|
+
import * as variantsApi from "./variants.js";
|
|
4
|
+
import * as presetsApi from "./presets.js";
|
|
5
|
+
import * as sharesApi from "./shares.js";
|
|
6
|
+
import * as categoriesApi from "./categories.js";
|
|
7
|
+
import * as dashboardApi from "./dashboard.js";
|
|
8
|
+
import * as adminApi from "./admin.js";
|
|
9
|
+
export * from "./uploads.js";
|
|
10
|
+
export * from "./objects.js";
|
|
11
|
+
export * from "./variants.js";
|
|
12
|
+
export * from "./presets.js";
|
|
13
|
+
export * from "./shares.js";
|
|
14
|
+
export * from "./categories.js";
|
|
15
|
+
export * from "./dashboard.js";
|
|
16
|
+
export * from "./admin.js";
|
|
17
|
+
export declare const uploads: {
|
|
18
|
+
readonly initiate: typeof uploadsApi.initiateUpload;
|
|
19
|
+
readonly complete: typeof uploadsApi.completeUpload;
|
|
20
|
+
readonly abort: typeof uploadsApi.abortUpload;
|
|
21
|
+
};
|
|
22
|
+
export declare const objects: {
|
|
23
|
+
readonly list: typeof objectsApi.listObjects;
|
|
24
|
+
readonly get: typeof objectsApi.getObject;
|
|
25
|
+
readonly downloadUrl: typeof objectsApi.getDownloadUrl;
|
|
26
|
+
readonly update: typeof objectsApi.updateObject;
|
|
27
|
+
readonly delete: typeof objectsApi.deleteObject;
|
|
28
|
+
};
|
|
29
|
+
export declare const variants: {
|
|
30
|
+
readonly generate: typeof variantsApi.generateVariants;
|
|
31
|
+
readonly list: typeof variantsApi.listVariants;
|
|
32
|
+
readonly getJob: typeof variantsApi.getVariantJob;
|
|
33
|
+
readonly delete: typeof variantsApi.deleteVariant;
|
|
34
|
+
readonly waitForJob: typeof variantsApi.waitForVariantJob;
|
|
35
|
+
};
|
|
36
|
+
export declare const presets: {
|
|
37
|
+
readonly list: typeof presetsApi.listPresets;
|
|
38
|
+
readonly create: typeof presetsApi.createPreset;
|
|
39
|
+
readonly update: typeof presetsApi.updatePreset;
|
|
40
|
+
readonly delete: typeof presetsApi.deletePreset;
|
|
41
|
+
};
|
|
42
|
+
export declare const shares: {
|
|
43
|
+
readonly create: typeof sharesApi.createShare;
|
|
44
|
+
readonly list: typeof sharesApi.listShares;
|
|
45
|
+
readonly revoke: typeof sharesApi.revokeShare;
|
|
46
|
+
readonly resolve: typeof sharesApi.resolveShare;
|
|
47
|
+
};
|
|
48
|
+
export declare const categories: {
|
|
49
|
+
readonly list: typeof categoriesApi.listCategories;
|
|
50
|
+
readonly get: typeof categoriesApi.getCategory;
|
|
51
|
+
readonly create: typeof categoriesApi.createCategory;
|
|
52
|
+
readonly update: typeof categoriesApi.updateCategory;
|
|
53
|
+
readonly delete: typeof categoriesApi.deleteCategory;
|
|
54
|
+
};
|
|
55
|
+
export declare const dashboard: {
|
|
56
|
+
readonly activityAll: typeof dashboardApi.getActivityAll;
|
|
57
|
+
readonly activityCurrent: typeof dashboardApi.getActivityCurrent;
|
|
58
|
+
};
|
|
59
|
+
export declare const admin: {
|
|
60
|
+
readonly storageStats: typeof adminApi.getStorageStats;
|
|
61
|
+
readonly staleUploads: typeof adminApi.getStaleUploads;
|
|
62
|
+
readonly purgeStaleUploads: typeof adminApi.purgeStaleUploads;
|
|
63
|
+
readonly getQuota: typeof adminApi.getQuota;
|
|
64
|
+
readonly setQuota: typeof adminApi.setQuota;
|
|
65
|
+
readonly orphans: typeof adminApi.getOrphans;
|
|
66
|
+
readonly repairOrphans: typeof adminApi.repairOrphans;
|
|
67
|
+
readonly purgeExpired: typeof adminApi.purgeExpired;
|
|
68
|
+
readonly createSubscription: typeof adminApi.createSubscription;
|
|
69
|
+
readonly listSubscriptions: typeof adminApi.listSubscriptions;
|
|
70
|
+
readonly deleteSubscription: typeof adminApi.deleteSubscription;
|
|
71
|
+
};
|
|
72
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/runtime/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,WAAW,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,aAAa,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,YAAY,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AAGvC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAG3B,eAAO,MAAM,OAAO;;;;CAIV,CAAC;AAEX,eAAO,MAAM,OAAO;;;;;;CAMV,CAAC;AAEX,eAAO,MAAM,QAAQ;;;;;;CAMX,CAAC;AAEX,eAAO,MAAM,OAAO;;;;;CAKV,CAAC;AAEX,eAAO,MAAM,MAAM;;;;;CAKT,CAAC;AAEX,eAAO,MAAM,UAAU;;;;;;CAMb,CAAC;AAEX,eAAO,MAAM,SAAS;;;CAGZ,CAAC;AAEX,eAAO,MAAM,KAAK;;;;;;;;;;;;CAYR,CAAC"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import * as uploadsApi from "./uploads.js";
|
|
2
|
+
import * as objectsApi from "./objects.js";
|
|
3
|
+
import * as variantsApi from "./variants.js";
|
|
4
|
+
import * as presetsApi from "./presets.js";
|
|
5
|
+
import * as sharesApi from "./shares.js";
|
|
6
|
+
import * as categoriesApi from "./categories.js";
|
|
7
|
+
import * as dashboardApi from "./dashboard.js";
|
|
8
|
+
import * as adminApi from "./admin.js";
|
|
9
|
+
// Flat named exports (tree-shakeable direct imports).
|
|
10
|
+
export * from "./uploads.js";
|
|
11
|
+
export * from "./objects.js";
|
|
12
|
+
export * from "./variants.js";
|
|
13
|
+
export * from "./presets.js";
|
|
14
|
+
export * from "./shares.js";
|
|
15
|
+
export * from "./categories.js";
|
|
16
|
+
export * from "./dashboard.js";
|
|
17
|
+
export * from "./admin.js";
|
|
18
|
+
// Grouped namespaces (`uploads.initiate`, `objects.list`, ...).
|
|
19
|
+
export const uploads = {
|
|
20
|
+
initiate: uploadsApi.initiateUpload,
|
|
21
|
+
complete: uploadsApi.completeUpload,
|
|
22
|
+
abort: uploadsApi.abortUpload
|
|
23
|
+
};
|
|
24
|
+
export const objects = {
|
|
25
|
+
list: objectsApi.listObjects,
|
|
26
|
+
get: objectsApi.getObject,
|
|
27
|
+
downloadUrl: objectsApi.getDownloadUrl,
|
|
28
|
+
update: objectsApi.updateObject,
|
|
29
|
+
delete: objectsApi.deleteObject
|
|
30
|
+
};
|
|
31
|
+
export const variants = {
|
|
32
|
+
generate: variantsApi.generateVariants,
|
|
33
|
+
list: variantsApi.listVariants,
|
|
34
|
+
getJob: variantsApi.getVariantJob,
|
|
35
|
+
delete: variantsApi.deleteVariant,
|
|
36
|
+
waitForJob: variantsApi.waitForVariantJob
|
|
37
|
+
};
|
|
38
|
+
export const presets = {
|
|
39
|
+
list: presetsApi.listPresets,
|
|
40
|
+
create: presetsApi.createPreset,
|
|
41
|
+
update: presetsApi.updatePreset,
|
|
42
|
+
delete: presetsApi.deletePreset
|
|
43
|
+
};
|
|
44
|
+
export const shares = {
|
|
45
|
+
create: sharesApi.createShare,
|
|
46
|
+
list: sharesApi.listShares,
|
|
47
|
+
revoke: sharesApi.revokeShare,
|
|
48
|
+
resolve: sharesApi.resolveShare
|
|
49
|
+
};
|
|
50
|
+
export const categories = {
|
|
51
|
+
list: categoriesApi.listCategories,
|
|
52
|
+
get: categoriesApi.getCategory,
|
|
53
|
+
create: categoriesApi.createCategory,
|
|
54
|
+
update: categoriesApi.updateCategory,
|
|
55
|
+
delete: categoriesApi.deleteCategory
|
|
56
|
+
};
|
|
57
|
+
export const dashboard = {
|
|
58
|
+
activityAll: dashboardApi.getActivityAll,
|
|
59
|
+
activityCurrent: dashboardApi.getActivityCurrent
|
|
60
|
+
};
|
|
61
|
+
export const admin = {
|
|
62
|
+
storageStats: adminApi.getStorageStats,
|
|
63
|
+
staleUploads: adminApi.getStaleUploads,
|
|
64
|
+
purgeStaleUploads: adminApi.purgeStaleUploads,
|
|
65
|
+
getQuota: adminApi.getQuota,
|
|
66
|
+
setQuota: adminApi.setQuota,
|
|
67
|
+
orphans: adminApi.getOrphans,
|
|
68
|
+
repairOrphans: adminApi.repairOrphans,
|
|
69
|
+
purgeExpired: adminApi.purgeExpired,
|
|
70
|
+
createSubscription: adminApi.createSubscription,
|
|
71
|
+
listSubscriptions: adminApi.listSubscriptions,
|
|
72
|
+
deleteSubscription: adminApi.deleteSubscription
|
|
73
|
+
};
|
|
74
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/runtime/api/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { type MediaObjectPublic, type ScanResultRequest, type VariantJobPublic, type VariantJobUpdate, type VariantPublic, type VariantRegisterRequest } from "../schemas.js";
|
|
2
|
+
export type InternalClientOptions = {
|
|
3
|
+
/** Env var holding the shared service token. Default MEDIA_INTERNAL_SERVICE_TOKEN. */
|
|
4
|
+
serviceTokenEnv?: string;
|
|
5
|
+
/** Explicit token override (e.g. injected by a secret manager). */
|
|
6
|
+
token?: string;
|
|
7
|
+
};
|
|
8
|
+
export type InternalMediaClient = {
|
|
9
|
+
applyScanResult(objectId: string, body: ScanResultRequest): Promise<MediaObjectPublic>;
|
|
10
|
+
registerVariant(objectId: string, body: VariantRegisterRequest): Promise<VariantPublic>;
|
|
11
|
+
updateVariantJob(jobId: string, body: VariantJobUpdate): Promise<VariantJobPublic>;
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* Build a server-only client for the service-to-service internal callbacks.
|
|
15
|
+
* The shared service token is attached directly (never via the user auth
|
|
16
|
+
* adapter) and refresh is disabled, since there is no user session to renew.
|
|
17
|
+
*/
|
|
18
|
+
export declare function createInternalMediaClient(options?: InternalClientOptions): InternalMediaClient;
|
|
19
|
+
//# sourceMappingURL=internal.server.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"internal.server.d.ts","sourceRoot":"","sources":["../../../../src/runtime/api/internal.server.ts"],"names":[],"mappings":"AACA,OAAO,EAKL,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,sBAAsB,EAC5B,MAAM,eAAe,CAAC;AA0BvB,MAAM,MAAM,qBAAqB,GAAG;IAClC,sFAAsF;IACtF,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mEAAmE;IACnE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACvF,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,sBAAsB,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IACxF,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;CACpF,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,GAAE,qBAA0B,GAAG,mBAAmB,CAqClG"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { request } from "../client.js";
|
|
2
|
+
import { MediaObjectPublicSchema, ScanResultRequestSchema, VariantJobPublicSchema, VariantPublicSchema } from "../schemas.js";
|
|
3
|
+
const DEFAULT_TOKEN_ENV = "MEDIA_INTERNAL_SERVICE_TOKEN";
|
|
4
|
+
/**
|
|
5
|
+
* Fail fast if this module is ever pulled into a browser bundle. The internal
|
|
6
|
+
* routes are authenticated with a shared service token that must never leave
|
|
7
|
+
* the server.
|
|
8
|
+
*/
|
|
9
|
+
function assertServerOnly() {
|
|
10
|
+
if (typeof window !== "undefined") {
|
|
11
|
+
throw new Error("@fa-m8/astro-media-m8/internal-server must only be imported on the server");
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
function resolveServiceToken(envVar) {
|
|
15
|
+
const env = globalThis.process?.env;
|
|
16
|
+
const token = env?.[envVar];
|
|
17
|
+
if (!token) {
|
|
18
|
+
throw new Error(`Missing service token: set ${envVar} in the server environment`);
|
|
19
|
+
}
|
|
20
|
+
return token;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Build a server-only client for the service-to-service internal callbacks.
|
|
24
|
+
* The shared service token is attached directly (never via the user auth
|
|
25
|
+
* adapter) and refresh is disabled, since there is no user session to renew.
|
|
26
|
+
*/
|
|
27
|
+
export function createInternalMediaClient(options = {}) {
|
|
28
|
+
assertServerOnly();
|
|
29
|
+
const token = options.token ?? resolveServiceToken(options.serviceTokenEnv ?? DEFAULT_TOKEN_ENV);
|
|
30
|
+
const headers = { Authorization: `Bearer ${token}` };
|
|
31
|
+
return {
|
|
32
|
+
applyScanResult(objectId, body) {
|
|
33
|
+
return request({
|
|
34
|
+
method: "POST",
|
|
35
|
+
path: `/internal/objects/${encodeURIComponent(objectId)}/scan-result`,
|
|
36
|
+
body: ScanResultRequestSchema.parse(body),
|
|
37
|
+
schema: MediaObjectPublicSchema,
|
|
38
|
+
headers,
|
|
39
|
+
skipRefresh: true
|
|
40
|
+
});
|
|
41
|
+
},
|
|
42
|
+
registerVariant(objectId, body) {
|
|
43
|
+
return request({
|
|
44
|
+
method: "POST",
|
|
45
|
+
path: `/internal/objects/${encodeURIComponent(objectId)}/variants`,
|
|
46
|
+
body,
|
|
47
|
+
schema: VariantPublicSchema,
|
|
48
|
+
headers,
|
|
49
|
+
skipRefresh: true
|
|
50
|
+
});
|
|
51
|
+
},
|
|
52
|
+
updateVariantJob(jobId, body) {
|
|
53
|
+
return request({
|
|
54
|
+
method: "PATCH",
|
|
55
|
+
path: `/internal/variant-jobs/${encodeURIComponent(jobId)}`,
|
|
56
|
+
body,
|
|
57
|
+
schema: VariantJobPublicSchema,
|
|
58
|
+
headers,
|
|
59
|
+
skipRefresh: true
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=internal.server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"internal.server.js","sourceRoot":"","sources":["../../../../src/runtime/api/internal.server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,sBAAsB,EACtB,mBAAmB,EAOpB,MAAM,eAAe,CAAC;AAEvB,MAAM,iBAAiB,GAAG,8BAA8B,CAAC;AAEzD;;;;GAIG;AACH,SAAS,gBAAgB;IACvB,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CACb,2EAA2E,CAC5E,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAc;IACzC,MAAM,GAAG,GAAI,UAAyE,CAAC,OAAO,EAAE,GAAG,CAAC;IACpG,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC;IAC5B,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,8BAA8B,MAAM,4BAA4B,CAAC,CAAC;IACpF,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAeD;;;;GAIG;AACH,MAAM,UAAU,yBAAyB,CAAC,UAAiC,EAAE;IAC3E,gBAAgB,EAAE,CAAC;IACnB,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,mBAAmB,CAAC,OAAO,CAAC,eAAe,IAAI,iBAAiB,CAAC,CAAC;IACjG,MAAM,OAAO,GAAG,EAAE,aAAa,EAAE,UAAU,KAAK,EAAE,EAAE,CAAC;IAErD,OAAO;QACL,eAAe,CAAC,QAAQ,EAAE,IAAI;YAC5B,OAAO,OAAO,CAAC;gBACb,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,qBAAqB,kBAAkB,CAAC,QAAQ,CAAC,cAAc;gBACrE,IAAI,EAAE,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC;gBACzC,MAAM,EAAE,uBAAuB;gBAC/B,OAAO;gBACP,WAAW,EAAE,IAAI;aAClB,CAAC,CAAC;QACL,CAAC;QACD,eAAe,CAAC,QAAQ,EAAE,IAAI;YAC5B,OAAO,OAAO,CAAC;gBACb,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,qBAAqB,kBAAkB,CAAC,QAAQ,CAAC,WAAW;gBAClE,IAAI;gBACJ,MAAM,EAAE,mBAAmB;gBAC3B,OAAO;gBACP,WAAW,EAAE,IAAI;aAClB,CAAC,CAAC;QACL,CAAC;QACD,gBAAgB,CAAC,KAAK,EAAE,IAAI;YAC1B,OAAO,OAAO,CAAC;gBACb,MAAM,EAAE,OAAO;gBACf,IAAI,EAAE,0BAA0B,kBAAkB,CAAC,KAAK,CAAC,EAAE;gBAC3D,IAAI;gBACJ,MAAM,EAAE,sBAAsB;gBAC9B,OAAO;gBACP,WAAW,EAAE,IAAI;aAClB,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type DownloadUrlResponse, type MediaObjectPublic, type MediaObjectUpdate, type ObjectListParams, type ObjectListResponse } from "../schemas.js";
|
|
2
|
+
export declare function listObjects(params?: ObjectListParams): Promise<ObjectListResponse>;
|
|
3
|
+
export declare function getObject(objectId: string): Promise<MediaObjectPublic>;
|
|
4
|
+
export declare function getDownloadUrl(objectId: string): Promise<DownloadUrlResponse>;
|
|
5
|
+
export declare function updateObject(objectId: string, body: MediaObjectUpdate): Promise<MediaObjectPublic>;
|
|
6
|
+
export declare function deleteObject(objectId: string): Promise<void>;
|
|
7
|
+
//# sourceMappingURL=objects.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"objects.d.ts","sourceRoot":"","sources":["../../../../src/runtime/api/objects.ts"],"names":[],"mappings":"AAEA,OAAO,EAIL,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACxB,MAAM,eAAe,CAAC;AAkBvB,wBAAsB,WAAW,CAAC,MAAM,GAAE,gBAAqB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAsB5F;AAED,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAOtE;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAO7E;AAED,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,iBAAiB,GACtB,OAAO,CAAC,iBAAiB,CAAC,CAQ5B;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAM5D"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { request } from "../client.js";
|
|
2
|
+
import { ApiError } from "../errors.js";
|
|
3
|
+
import { DownloadUrlResponseSchema, MediaObjectPublicSchema, ObjectListResponseSchema } from "../schemas.js";
|
|
4
|
+
const LEGACY_SORT_FALLBACKS = {
|
|
5
|
+
original_filename: "created_at",
|
|
6
|
+
category: "created_at",
|
|
7
|
+
status: "created_at"
|
|
8
|
+
};
|
|
9
|
+
function legacySortFallback(params) {
|
|
10
|
+
return params.sort_by === undefined ? undefined : LEGACY_SORT_FALLBACKS[params.sort_by];
|
|
11
|
+
}
|
|
12
|
+
function shouldRetryLegacySort(error, fallback) {
|
|
13
|
+
return error instanceof ApiError && error.status === 422 && fallback !== undefined;
|
|
14
|
+
}
|
|
15
|
+
export async function listObjects(params = {}) {
|
|
16
|
+
const options = {
|
|
17
|
+
method: "GET",
|
|
18
|
+
path: "/objects",
|
|
19
|
+
query: { ...params },
|
|
20
|
+
schema: ObjectListResponseSchema,
|
|
21
|
+
auth: true
|
|
22
|
+
};
|
|
23
|
+
try {
|
|
24
|
+
return await request(options);
|
|
25
|
+
}
|
|
26
|
+
catch (error) {
|
|
27
|
+
const fallback = legacySortFallback(params);
|
|
28
|
+
if (!shouldRetryLegacySort(error, fallback))
|
|
29
|
+
throw error;
|
|
30
|
+
return request({
|
|
31
|
+
...options,
|
|
32
|
+
query: {
|
|
33
|
+
...params,
|
|
34
|
+
sort_by: fallback
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
export function getObject(objectId) {
|
|
40
|
+
return request({
|
|
41
|
+
method: "GET",
|
|
42
|
+
path: `/objects/${encodeURIComponent(objectId)}`,
|
|
43
|
+
schema: MediaObjectPublicSchema,
|
|
44
|
+
auth: true
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
export function getDownloadUrl(objectId) {
|
|
48
|
+
return request({
|
|
49
|
+
method: "GET",
|
|
50
|
+
path: `/objects/${encodeURIComponent(objectId)}/download-url`,
|
|
51
|
+
schema: DownloadUrlResponseSchema,
|
|
52
|
+
auth: true
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
export function updateObject(objectId, body) {
|
|
56
|
+
return request({
|
|
57
|
+
method: "PATCH",
|
|
58
|
+
path: `/objects/${encodeURIComponent(objectId)}`,
|
|
59
|
+
body,
|
|
60
|
+
schema: MediaObjectPublicSchema,
|
|
61
|
+
auth: true
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
export function deleteObject(objectId) {
|
|
65
|
+
return request({
|
|
66
|
+
method: "DELETE",
|
|
67
|
+
path: `/objects/${encodeURIComponent(objectId)}`,
|
|
68
|
+
auth: true
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=objects.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"objects.js","sourceRoot":"","sources":["../../../../src/runtime/api/objects.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EACL,yBAAyB,EACzB,uBAAuB,EACvB,wBAAwB,EAMzB,MAAM,eAAe,CAAC;AAIvB,MAAM,qBAAqB,GAA0C;IACnE,iBAAiB,EAAE,YAAY;IAC/B,QAAQ,EAAE,YAAY;IACtB,MAAM,EAAE,YAAY;CACrB,CAAC;AAEF,SAAS,kBAAkB,CAAC,MAAwB;IAClD,OAAO,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,qBAAqB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAC1F,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAc,EAAE,QAAiD;IAC9F,OAAO,KAAK,YAAY,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,IAAI,QAAQ,KAAK,SAAS,CAAC;AACrF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,SAA2B,EAAE;IAC7D,MAAM,OAAO,GAAG;QACd,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,EAAE,GAAG,MAAM,EAAE;QACpB,MAAM,EAAE,wBAAwB;QAChC,IAAI,EAAE,IAAI;KACF,CAAC;IAEX,IAAI,CAAC;QACH,OAAO,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,QAAQ,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,QAAQ,CAAC;YAAE,MAAM,KAAK,CAAC;QACzD,OAAO,OAAO,CAAC;YACb,GAAG,OAAO;YACV,KAAK,EAAE;gBACL,GAAG,MAAM;gBACT,OAAO,EAAE,QAAQ;aAClB;SACF,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,QAAgB;IACxC,OAAO,OAAO,CAAC;QACb,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,YAAY,kBAAkB,CAAC,QAAQ,CAAC,EAAE;QAChD,MAAM,EAAE,uBAAuB;QAC/B,IAAI,EAAE,IAAI;KACX,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,QAAgB;IAC7C,OAAO,OAAO,CAAC;QACb,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,YAAY,kBAAkB,CAAC,QAAQ,CAAC,eAAe;QAC7D,MAAM,EAAE,yBAAyB;QACjC,IAAI,EAAE,IAAI;KACX,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,YAAY,CAC1B,QAAgB,EAChB,IAAuB;IAEvB,OAAO,OAAO,CAAC;QACb,MAAM,EAAE,OAAO;QACf,IAAI,EAAE,YAAY,kBAAkB,CAAC,QAAQ,CAAC,EAAE;QAChD,IAAI;QACJ,MAAM,EAAE,uBAAuB;QAC/B,IAAI,EAAE,IAAI;KACX,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,QAAgB;IAC3C,OAAO,OAAO,CAAC;QACb,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,YAAY,kBAAkB,CAAC,QAAQ,CAAC,EAAE;QAChD,IAAI,EAAE,IAAI;KACX,CAAC,CAAC;AACL,CAAC"}
|