@trokky/trokky 3.4.1 → 3.5.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/dist/adapters/filesystem-data/filesystem-data-adapter.d.ts.map +1 -1
- package/dist/adapters/filesystem-data/filesystem-data-adapter.js +3 -1
- package/dist/adapters/filesystem-data/filesystem-data-adapter.js.map +1 -1
- package/dist/adapters/filesystem-media/filesystem-media-adapter.d.ts.map +1 -1
- package/dist/adapters/filesystem-media/filesystem-media-adapter.js +3 -1
- package/dist/adapters/filesystem-media/filesystem-media-adapter.js.map +1 -1
- package/dist/adapters/s3-media/index-key.d.ts +52 -0
- package/dist/adapters/s3-media/index-key.d.ts.map +1 -0
- package/dist/adapters/s3-media/index-key.js +91 -0
- package/dist/adapters/s3-media/index-key.js.map +1 -0
- package/dist/adapters/s3-media/index.d.ts +3 -0
- package/dist/adapters/s3-media/index.d.ts.map +1 -0
- package/dist/adapters/s3-media/index.js +12 -0
- package/dist/adapters/s3-media/index.js.map +1 -0
- package/dist/adapters/s3-media/s3-client.d.ts +112 -0
- package/dist/adapters/s3-media/s3-client.d.ts.map +1 -0
- package/dist/adapters/s3-media/s3-client.js +261 -0
- package/dist/adapters/s3-media/s3-client.js.map +1 -0
- package/dist/adapters/s3-media/s3-media-adapter.d.ts +118 -0
- package/dist/adapters/s3-media/s3-media-adapter.d.ts.map +1 -0
- package/dist/adapters/s3-media/s3-media-adapter.js +631 -0
- package/dist/adapters/s3-media/s3-media-adapter.js.map +1 -0
- package/dist/adapters/s3-media/types.d.ts +63 -0
- package/dist/adapters/s3-media/types.d.ts.map +1 -0
- package/dist/adapters/s3-media/types.js +2 -0
- package/dist/adapters/s3-media/types.js.map +1 -0
- package/dist/core/services/auth-service.d.ts.map +1 -1
- package/dist/core/services/auth-service.js +4 -1
- package/dist/core/services/auth-service.js.map +1 -1
- package/dist/core/services/token-service.d.ts.map +1 -1
- package/dist/core/services/token-service.js +11 -1
- package/dist/core/services/token-service.js.map +1 -1
- package/dist/core/types/storage-adapters.d.ts +7 -0
- package/dist/core/types/storage-adapters.d.ts.map +1 -1
- package/dist/integrations/express/config.d.ts +6 -1
- package/dist/integrations/express/config.d.ts.map +1 -1
- package/dist/integrations/express/config.js.map +1 -1
- package/dist/integrations/express/integration.js +3 -3
- package/dist/integrations/express/integration.js.map +1 -1
- package/dist/integrations/workers/index.d.ts +5 -0
- package/dist/integrations/workers/index.d.ts.map +1 -1
- package/dist/integrations/workers/index.js +10 -1
- package/dist/integrations/workers/index.js.map +1 -1
- package/dist/routes/handlers/base.d.ts +21 -0
- package/dist/routes/handlers/base.d.ts.map +1 -1
- package/dist/routes/handlers/base.js +62 -12
- package/dist/routes/handlers/base.js.map +1 -1
- package/dist/routes/handlers/documents.d.ts.map +1 -1
- package/dist/routes/handlers/documents.js +16 -0
- package/dist/routes/handlers/documents.js.map +1 -1
- package/dist/routes/handlers/media.js +7 -7
- package/dist/routes/handlers/media.js.map +1 -1
- package/dist/routes/handlers/search.d.ts.map +1 -1
- package/dist/routes/handlers/search.js +8 -2
- package/dist/routes/handlers/search.js.map +1 -1
- package/dist/routes/handlers/tokens.d.ts.map +1 -1
- package/dist/routes/handlers/tokens.js +42 -8
- package/dist/routes/handlers/tokens.js.map +1 -1
- package/package.json +6 -1
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { InvalidInputError } from '../../core/index.js';
|
|
5
5
|
import { BaseRoutes } from './base.js';
|
|
6
|
+
// `resource:action` or `resource:*`, where resource is a collection-style name
|
|
7
|
+
const PERMISSION_FORMAT = /^[A-Za-z][A-Za-z0-9_-]*:(\*|[a-z]+)$/;
|
|
6
8
|
export class TokenRoutes extends BaseRoutes {
|
|
7
9
|
getRoutes() {
|
|
8
10
|
const basePath = this.config.basePath || '';
|
|
@@ -17,7 +19,7 @@ export class TokenRoutes extends BaseRoutes {
|
|
|
17
19
|
// Token Management Routes
|
|
18
20
|
async listTokens(request) {
|
|
19
21
|
try {
|
|
20
|
-
await this.
|
|
22
|
+
await this.requirePermission(request, 'tokens:read');
|
|
21
23
|
const { limit, offset, isActive } = request.query;
|
|
22
24
|
const options = {};
|
|
23
25
|
if (limit)
|
|
@@ -35,17 +37,49 @@ export class TokenRoutes extends BaseRoutes {
|
|
|
35
37
|
}
|
|
36
38
|
async createToken(request) {
|
|
37
39
|
try {
|
|
38
|
-
await this.
|
|
40
|
+
const session = await this.requirePermission(request, 'tokens:write');
|
|
39
41
|
if (!request.body || typeof request.body !== 'object') {
|
|
40
42
|
return this.errorResponse(new InvalidInputError('Token data is required'));
|
|
41
43
|
}
|
|
42
44
|
const tokenData = request.body;
|
|
43
45
|
// Validate required fields
|
|
44
|
-
if (!tokenData.name || !tokenData.permissions)
|
|
46
|
+
if (!tokenData.name || !Array.isArray(tokenData.permissions) || tokenData.permissions.length === 0 ||
|
|
47
|
+
!tokenData.permissions.every(p => typeof p === 'string')) {
|
|
45
48
|
return this.errorResponse(new InvalidInputError('Token name and permissions are required'));
|
|
46
49
|
}
|
|
47
|
-
|
|
48
|
-
const
|
|
50
|
+
const permissions = tokenData.permissions;
|
|
51
|
+
const malformed = permissions.filter(p => !PERMISSION_FORMAT.test(p));
|
|
52
|
+
if (malformed.length > 0) {
|
|
53
|
+
return this.errorResponse(new InvalidInputError(`Malformed permissions: ${malformed.join(', ')}`, 'permissions_format'));
|
|
54
|
+
}
|
|
55
|
+
let expiresAt;
|
|
56
|
+
if (tokenData.expiresAt !== undefined) {
|
|
57
|
+
expiresAt = typeof tokenData.expiresAt === 'string' ? Date.parse(tokenData.expiresAt) : NaN;
|
|
58
|
+
if (Number.isNaN(expiresAt) || expiresAt <= Date.now()) {
|
|
59
|
+
return this.errorResponse(new InvalidInputError('expiresAt must be a future date, as an ISO 8601 string', 'expiresAt'));
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
if (session) {
|
|
63
|
+
// A token can never hold more than the person minting it
|
|
64
|
+
const exceeding = permissions.filter(p => !this.sessionHasPermission(session, p));
|
|
65
|
+
if (exceeding.length > 0) {
|
|
66
|
+
return this.errorResponse(new InvalidInputError(`Cannot grant permissions you do not hold: ${exceeding.join(', ')}`, 'permissions'));
|
|
67
|
+
}
|
|
68
|
+
// A token minting tokens must not be able to outlive or out-replicate itself:
|
|
69
|
+
// children cannot manage tokens, and cannot expire after their parent.
|
|
70
|
+
if (session.role === 'api') {
|
|
71
|
+
if (permissions.some(p => p.startsWith('tokens:'))) {
|
|
72
|
+
return this.errorResponse(new InvalidInputError('An API token cannot grant token permissions', 'permissions'));
|
|
73
|
+
}
|
|
74
|
+
if (session.expiresAt) {
|
|
75
|
+
const parentExpiry = Date.parse(session.expiresAt);
|
|
76
|
+
if (expiresAt === undefined || expiresAt > parentExpiry) {
|
|
77
|
+
return this.errorResponse(new InvalidInputError('A token created by an API token must expire no later than it', 'permissions'));
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
const createdBy = session?.userId ?? 'system';
|
|
49
83
|
const result = await this.core.createAppToken(tokenData, createdBy);
|
|
50
84
|
if (!result.success) {
|
|
51
85
|
return this.errorResponse(new Error(result.error || 'Failed to create token'));
|
|
@@ -61,7 +95,7 @@ export class TokenRoutes extends BaseRoutes {
|
|
|
61
95
|
}
|
|
62
96
|
async getToken(request) {
|
|
63
97
|
try {
|
|
64
|
-
await this.
|
|
98
|
+
await this.requirePermission(request, 'tokens:read');
|
|
65
99
|
const { id } = request.params;
|
|
66
100
|
if (!id) {
|
|
67
101
|
return this.errorResponse(new InvalidInputError('Token ID is required'));
|
|
@@ -75,7 +109,7 @@ export class TokenRoutes extends BaseRoutes {
|
|
|
75
109
|
}
|
|
76
110
|
async updateToken(request) {
|
|
77
111
|
try {
|
|
78
|
-
await this.
|
|
112
|
+
await this.requirePermission(request, 'tokens:write');
|
|
79
113
|
const { id } = request.params;
|
|
80
114
|
if (!id) {
|
|
81
115
|
return this.errorResponse(new InvalidInputError('Token ID is required'));
|
|
@@ -93,7 +127,7 @@ export class TokenRoutes extends BaseRoutes {
|
|
|
93
127
|
}
|
|
94
128
|
async deleteToken(request) {
|
|
95
129
|
try {
|
|
96
|
-
await this.
|
|
130
|
+
await this.requirePermission(request, 'tokens:delete');
|
|
97
131
|
const { id } = request.params;
|
|
98
132
|
if (!id) {
|
|
99
133
|
return this.errorResponse(new InvalidInputError('Token ID is required'));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../../src/routes/handlers/tokens.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAEvD,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAEtC,MAAM,OAAO,WAAY,SAAQ,UAAU;IAClC,SAAS;QACd,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAA;QAC3C,OAAO,IAAI,CAAC,YAAY,CAAC;YACvB,CAAC,KAAK,EAAE,GAAG,QAAQ,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACzD,CAAC,MAAM,EAAE,GAAG,QAAQ,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3D,CAAC,KAAK,EAAE,GAAG,QAAQ,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3D,CAAC,KAAK,EAAE,GAAG,QAAQ,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9D,CAAC,QAAQ,EAAE,GAAG,QAAQ,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAClE,CAAC,CAAA;IACJ,CAAC;IAED,0BAA0B;IAClB,KAAK,CAAC,UAAU,CAAC,OAAoB;QAC3C,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../../src/routes/handlers/tokens.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@trokky/trokky",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.5.1",
|
|
4
4
|
"description": "Modern, composable Content Management System - Server package",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -93,6 +93,10 @@
|
|
|
93
93
|
"types": "./dist/adapters/postgres-data/index.d.ts",
|
|
94
94
|
"import": "./dist/adapters/postgres-data/index.js"
|
|
95
95
|
},
|
|
96
|
+
"./adapters/s3-media": {
|
|
97
|
+
"import": "./dist/adapters/s3-media/index.js",
|
|
98
|
+
"types": "./dist/adapters/s3-media/index.d.ts"
|
|
99
|
+
},
|
|
96
100
|
"./express": {
|
|
97
101
|
"types": "./dist/integrations/express/index.d.ts",
|
|
98
102
|
"import": "./dist/integrations/express/index.js"
|
|
@@ -157,6 +161,7 @@
|
|
|
157
161
|
},
|
|
158
162
|
"dependencies": {
|
|
159
163
|
"@simplewebauthn/server": "^13.2.2",
|
|
164
|
+
"aws4fetch": "^1.0.20",
|
|
160
165
|
"bcrypt": "^6.0.0",
|
|
161
166
|
"busboy": "^1.6.0",
|
|
162
167
|
"cors": "^2.8.5",
|