@balena/open-balena-api 34.0.0 → 34.1.0-build-api-key-v2-edf946093bd454bd4ac0d4d4e704e25fe46d4a8c-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/features/api-keys/index.js +2 -1
- package/dist/features/api-keys/index.js.map +1 -1
- package/dist/features/api-keys/lib.d.ts +3 -1
- package/dist/features/api-keys/lib.js +9 -4
- package/dist/features/api-keys/lib.js.map +1 -1
- package/dist/features/api-keys/routes.d.ts +1 -1
- package/dist/features/api-keys/routes.js +36 -33
- package/dist/features/api-keys/routes.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/package.json +2 -2
@@ -8,6 +8,7 @@ export const setup = (app) => {
|
|
8
8
|
app.post('/api-key/user/full', middleware.fullyAuthenticatedUser, middleware.permissionRequired('auth.create_token'), createNamedUserApiKey);
|
9
9
|
app.post('/api-key/application/:appId/provisioning', middleware.fullyAuthenticatedUser, createProvisioningApiKey);
|
10
10
|
app.post('/api-key/device/:deviceId/device-key', middleware.resolveApiKey, createDeviceApiKey);
|
11
|
-
app.post('/api-key/v1', middleware.fullyAuthenticatedUser, createGenericApiKey);
|
11
|
+
app.post('/api-key/v1', middleware.fullyAuthenticatedUser, createGenericApiKey('v1'));
|
12
|
+
app.post('/api-key/v2', middleware.fullyAuthenticatedUser, createGenericApiKey('v2'));
|
12
13
|
};
|
13
14
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/features/api-keys/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EACN,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,wBAAwB,EACxB,gBAAgB,GAChB,MAAM,aAAa,CAAC;AAErB,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,GAAgB,EAAE,EAAE;IACzC;;OAEG;IACH,GAAG,CAAC,IAAI,CACP,sCAAsC,EACtC,UAAU,CAAC,sBAAsB,EACjC,gBAAgB,CAChB,CAAC;IACF,GAAG,CAAC,IAAI,CACP,oBAAoB,EACpB,UAAU,CAAC,sBAAsB,EACjC,UAAU,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,EAClD,qBAAqB,CACrB,CAAC;IACF,GAAG,CAAC,IAAI,CACP,0CAA0C,EAC1C,UAAU,CAAC,sBAAsB,EACjC,wBAAwB,CACxB,CAAC;IACF,GAAG,CAAC,IAAI,CACP,sCAAsC,EACtC,UAAU,CAAC,aAAa,EACxB,kBAAkB,CAClB,CAAC;IAEF,GAAG,CAAC,IAAI,CACP,aAAa,EACb,UAAU,CAAC,sBAAsB,EACjC,mBAAmB,
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/features/api-keys/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EACN,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,wBAAwB,EACxB,gBAAgB,GAChB,MAAM,aAAa,CAAC;AAErB,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,GAAgB,EAAE,EAAE;IACzC;;OAEG;IACH,GAAG,CAAC,IAAI,CACP,sCAAsC,EACtC,UAAU,CAAC,sBAAsB,EACjC,gBAAgB,CAChB,CAAC;IACF,GAAG,CAAC,IAAI,CACP,oBAAoB,EACpB,UAAU,CAAC,sBAAsB,EACjC,UAAU,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,EAClD,qBAAqB,CACrB,CAAC;IACF,GAAG,CAAC,IAAI,CACP,0CAA0C,EAC1C,UAAU,CAAC,sBAAsB,EACjC,wBAAwB,CACxB,CAAC;IACF,GAAG,CAAC,IAAI,CACP,sCAAsC,EACtC,UAAU,CAAC,aAAa,EACxB,kBAAkB,CAClB,CAAC;IAEF,GAAG,CAAC,IAAI,CACP,aAAa,EACb,UAAU,CAAC,sBAAsB,EACjC,mBAAmB,CAAC,IAAI,CAAC,CACzB,CAAC;IAEF,GAAG,CAAC,IAAI,CACP,aAAa,EACb,UAAU,CAAC,sBAAsB,EACjC,mBAAmB,CAAC,IAAI,CAAC,CACzB,CAAC;AACH,CAAC,CAAC"}
|
@@ -8,7 +8,9 @@ export interface ApiKeyOptions {
|
|
8
8
|
tx?: Tx;
|
9
9
|
}
|
10
10
|
type ApiKeyActor = 'application' | 'device' | 'user';
|
11
|
-
export declare
|
11
|
+
export declare function getApiKeyOptsFromRequest(params: Dictionary<unknown>, prefix?: string, mandatoryExpiryDate?: false): Pick<ApiKeyOptions, 'name' | 'description' | 'expiryDate'>;
|
12
|
+
export declare function getApiKeyOptsFromRequest(params: Dictionary<unknown>, prefix: string | undefined, mandatoryExpiryDate: true): NonNullableField<Pick<ApiKeyOptions, 'name' | 'description' | 'expiryDate'>, 'expiryDate'>;
|
13
|
+
export declare function getApiKeyOptsFromRequest(params: Dictionary<unknown>, prefix?: string, mandatoryExpiryDate?: boolean): Pick<ApiKeyOptions, 'name' | 'description' | 'expiryDate'>;
|
12
14
|
export declare const createApiKey: (actorType: ApiKeyActor, roleName: string, req: Request, actorTypeID: number, options: ApiKeyOptions) => Promise<string>;
|
13
15
|
export declare const createProvisioningApiKey: (req: Request<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>, actorTypeID: number, options: ApiKeyOptions) => Promise<string>;
|
14
16
|
export declare const createDeviceApiKey: (req: Request<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>, actorTypeID: number, options: ApiKeyOptions) => Promise<string>;
|
@@ -76,7 +76,13 @@ const $createApiKey = async (actorType, roleName, req, actorTypeID, { apiKey, tx
|
|
76
76
|
});
|
77
77
|
return apiKey;
|
78
78
|
};
|
79
|
-
|
79
|
+
function validateFieldProp(field, mandatory, fn) {
|
80
|
+
if (mandatory) {
|
81
|
+
return field != null && fn(field);
|
82
|
+
}
|
83
|
+
return field == null || fn(field);
|
84
|
+
}
|
85
|
+
export function getApiKeyOptsFromRequest(params, prefix, mandatoryExpiryDate = false) {
|
80
86
|
const name = params[prefix ? `${prefix}Name` : 'name'];
|
81
87
|
const description = params[prefix ? `${prefix}Description` : 'description'];
|
82
88
|
const expiryDate = params[prefix ? `${prefix}ExpiryDate` : 'expiryDate'];
|
@@ -86,8 +92,7 @@ export const getApiKeyOptsFromRequest = (params, prefix) => {
|
|
86
92
|
if (description != null && typeof description !== 'string') {
|
87
93
|
throw new errors.BadRequestError('Key description should be a string value');
|
88
94
|
}
|
89
|
-
if (expiryDate
|
90
|
-
(typeof expiryDate !== 'string' || isNaN(new Date(expiryDate).getTime()))) {
|
95
|
+
if (!validateFieldProp(expiryDate, mandatoryExpiryDate, (f) => typeof f === 'string' && !isNaN(new Date(f).getTime()))) {
|
91
96
|
throw new errors.BadRequestError('Key expiry date should be a valid date');
|
92
97
|
}
|
93
98
|
return {
|
@@ -95,7 +100,7 @@ export const getApiKeyOptsFromRequest = (params, prefix) => {
|
|
95
100
|
description: description ?? null,
|
96
101
|
expiryDate: expiryDate ? new Date(expiryDate).toISOString() : null,
|
97
102
|
};
|
98
|
-
}
|
103
|
+
}
|
99
104
|
export const createApiKey = async (actorType, roleName, req, actorTypeID, options) => {
|
100
105
|
const { name, description, expiryDate } = getApiKeyOptsFromRequest(req.body);
|
101
106
|
const create = async (tx) => {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"lib.js","sourceRoot":"","sources":["../../../src/features/api-keys/lib.ts"],"names":[],"mappings":"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
|
1
|
+
{"version":3,"file":"lib.js","sourceRoot":"","sources":["../../../src/features/api-keys/lib.ts"],"names":[],"mappings":"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"}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import type { RequestHandler } from 'express';
|
2
|
-
export declare const createGenericApiKey: RequestHandler;
|
2
|
+
export declare const createGenericApiKey: (version: "v1" | "v2") => RequestHandler;
|
3
3
|
export declare const createDeviceApiKey: RequestHandler;
|
4
4
|
export declare const createProvisioningApiKey: RequestHandler;
|
5
5
|
/**
|
@@ -2,41 +2,44 @@ import { errors, sbvrUtils } from '@balena/pinejs';
|
|
2
2
|
import { getUser } from '../../infra/auth/auth.js';
|
3
3
|
import { captureException, handleHttpErrors, translateError, } from '../../infra/error-handling/index.js';
|
4
4
|
import { createGenericApiKey as $createGenericApiKey, createDeviceApiKey as $createDeviceApiKey, createNamedUserApiKey as $createNamedUserApiKey, createProvisioningApiKey as $createProvisioningApiKey, createUserApiKey as $createUserApiKey, getApiKeyOptsFromRequest, supportedActorTypes, } from './lib.js';
|
5
|
-
export const createGenericApiKey =
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
5
|
+
export const createGenericApiKey = (version) => {
|
6
|
+
const mandatoryExpiryDate = version !== 'v1';
|
7
|
+
return async (req, res) => {
|
8
|
+
try {
|
9
|
+
const apiKeyOptions = getApiKeyOptsFromRequest(req.body, undefined, mandatoryExpiryDate);
|
10
|
+
const { actorType, actorTypeId, roles, apiKey: chosenApiKey, } = req.body;
|
11
|
+
if (typeof actorType !== 'string' ||
|
12
|
+
!supportedActorTypes.includes(actorType)) {
|
13
|
+
throw new errors.BadRequestError('Unsupported actor type');
|
14
|
+
}
|
15
|
+
if (typeof actorTypeId !== 'number' || !Number.isFinite(actorTypeId)) {
|
16
|
+
throw new errors.BadRequestError('Actor type id must be a number');
|
17
|
+
}
|
18
|
+
if (!Array.isArray(roles) ||
|
19
|
+
roles.length === 0 ||
|
20
|
+
roles.some((r) => typeof r !== 'string' || r.length === 0)) {
|
21
|
+
throw new errors.BadRequestError('Roles should be an array of role names');
|
22
|
+
}
|
23
|
+
if (chosenApiKey != null && typeof chosenApiKey !== 'string') {
|
24
|
+
throw new errors.BadRequestError('API key must be a string');
|
25
|
+
}
|
26
|
+
const apiKey = await $createGenericApiKey(req, {
|
27
|
+
actorType: actorType,
|
28
|
+
actorTypeId,
|
29
|
+
roles,
|
30
|
+
apiKey: chosenApiKey ?? undefined,
|
31
|
+
...apiKeyOptions,
|
32
|
+
});
|
33
|
+
res.json(apiKey);
|
20
34
|
}
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
roles,
|
28
|
-
apiKey: chosenApiKey ?? undefined,
|
29
|
-
...apiKeyOptions,
|
30
|
-
});
|
31
|
-
res.json(apiKey);
|
32
|
-
}
|
33
|
-
catch (err) {
|
34
|
-
if (handleHttpErrors(req, res, err)) {
|
35
|
-
return;
|
35
|
+
catch (err) {
|
36
|
+
if (handleHttpErrors(req, res, err)) {
|
37
|
+
return;
|
38
|
+
}
|
39
|
+
captureException(err, 'Error generating API key', { req });
|
40
|
+
res.status(500).send(translateError(err));
|
36
41
|
}
|
37
|
-
|
38
|
-
res.status(500).send(translateError(err));
|
39
|
-
}
|
42
|
+
};
|
40
43
|
};
|
41
44
|
export const createDeviceApiKey = async (req, res) => {
|
42
45
|
const deviceId = parseInt(req.params.deviceId, 10);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"routes.js","sourceRoot":"","sources":["../../../src/features/api-keys/routes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAGnD,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EACN,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,GACd,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EACN,mBAAmB,IAAI,oBAAoB,EAC3C,kBAAkB,IAAI,mBAAmB,EACzC,qBAAqB,IAAI,sBAAsB,EAC/C,wBAAwB,IAAI,yBAAyB,EACrD,gBAAgB,IAAI,iBAAiB,EACrC,wBAAwB,EACxB,mBAAmB,GACnB,MAAM,UAAU,CAAC;AAElB,MAAM,CAAC,MAAM,mBAAmB,
|
1
|
+
{"version":3,"file":"routes.js","sourceRoot":"","sources":["../../../src/features/api-keys/routes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAGnD,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EACN,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,GACd,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EACN,mBAAmB,IAAI,oBAAoB,EAC3C,kBAAkB,IAAI,mBAAmB,EACzC,qBAAqB,IAAI,sBAAsB,EAC/C,wBAAwB,IAAI,yBAAyB,EACrD,gBAAgB,IAAI,iBAAiB,EACrC,wBAAwB,EACxB,mBAAmB,GACnB,MAAM,UAAU,CAAC;AAElB,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,OAAoB,EAAkB,EAAE;IAC3E,MAAM,mBAAmB,GAAG,OAAO,KAAK,IAAI,CAAC;IAC7C,OAAO,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QACzB,IAAI,CAAC;YACJ,MAAM,aAAa,GAAG,wBAAwB,CAC7C,GAAG,CAAC,IAAI,EACR,SAAS,EACT,mBAAmB,CACnB,CAAC;YACF,MAAM,EACL,SAAS,EACT,WAAW,EACX,KAAK,EACL,MAAM,EAAE,YAAY,GACpB,GAAG,GAAG,CAAC,IAA2B,CAAC;YAEpC,IACC,OAAO,SAAS,KAAK,QAAQ;gBAC7B,CAAC,mBAAmB,CAAC,QAAQ,CAC5B,SAAiD,CACjD,EACA,CAAC;gBACF,MAAM,IAAI,MAAM,CAAC,eAAe,CAAC,wBAAwB,CAAC,CAAC;YAC5D,CAAC;YACD,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;gBACtE,MAAM,IAAI,MAAM,CAAC,eAAe,CAAC,gCAAgC,CAAC,CAAC;YACpE,CAAC;YACD,IACC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;gBACrB,KAAK,CAAC,MAAM,KAAK,CAAC;gBAClB,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,EACzD,CAAC;gBACF,MAAM,IAAI,MAAM,CAAC,eAAe,CAC/B,wCAAwC,CACxC,CAAC;YACH,CAAC;YAED,IAAI,YAAY,IAAI,IAAI,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;gBAC9D,MAAM,IAAI,MAAM,CAAC,eAAe,CAAC,0BAA0B,CAAC,CAAC;YAC9D,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,GAAG,EAAE;gBAC9C,SAAS,EAAE,SAAiD;gBAC5D,WAAW;gBACX,KAAK;gBACL,MAAM,EAAE,YAAY,IAAI,SAAS;gBACjC,GAAG,aAAa;aAChB,CAAC,CAAC;YACH,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAClB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,IAAI,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;gBACrC,OAAO;YACR,CAAC;YACD,gBAAgB,CAAC,GAAG,EAAE,0BAA0B,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;YAC3D,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3C,CAAC;IACF,CAAC,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAmB,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;IACpE,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACnD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAChC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;QACnD,OAAO;IACR,CAAC;IAED,IAAI,CAAC;QACJ,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,GAAG,EAAE,QAAQ,EAAE;YACvD,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM;YACvB,GAAG,wBAAwB,CAAC,GAAG,CAAC,IAAI,CAAC;SACrC,CAAC,CAAC;QACH,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAClB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,IAAI,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;YACrC,OAAO;QACR,CAAC;QACD,gBAAgB,CAAC,GAAG,EAAE,iCAAiC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;QAClE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3C,CAAC;AACF,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAmB,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;IAC1E,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC7C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7B,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QACxD,OAAO;IACR,CAAC;IAED,IAAI,CAAC;QACJ,MAAM,MAAM,GAAG,MAAM,yBAAyB,CAC7C,GAAG,EACH,KAAK,EACL,wBAAwB,CAAC,GAAG,CAAC,IAAI,CAAC,CAClC,CAAC;QACF,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAClB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,IAAI,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;YACrC,OAAO;QACR,CAAC;QACD,gBAAgB,CAAC,GAAG,EAAE,uCAAuC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;QACxE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3C,CAAC;AACF,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAmB,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;IAClE,IAAI,CAAC;QACJ,MAAM,WAAW,GAAG,wBAAwB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAEvD,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;YAC1D,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACpC,OAAO,MAAM,iBAAiB,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,WAAW,EAAE,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;QACH,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAClB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,IAAI,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;YACrC,OAAO;QACR,CAAC;QACD,gBAAgB,CAAC,GAAG,EAAE,+BAA+B,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;QAChE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3C,CAAC;AACF,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAmB,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;IACvE,IAAI,CAAC;QACJ,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACpB,MAAM,IAAI,MAAM,CAAC,eAAe,CAAC,yBAAyB,CAAC,CAAC;QAC7D,CAAC;QAED,IAAI,GAAG,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;YACtB,MAAM,IAAI,MAAM,CAAC,eAAe,CAAC,oBAAoB,CAAC,CAAC;QACxD,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAC1C,GAAG,EACH,GAAG,CAAC,IAAI,CAAC,EAAE,EACX,wBAAwB,CAAC,GAAG,CAAC,IAAI,CAAC,CAClC,CAAC;QACF,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAClB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,IAAI,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;YACrC,OAAO;QACR,CAAC;QACD,gBAAgB,CAAC,GAAG,EAAE,qCAAqC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;QACtE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3C,CAAC;AACF,CAAC,CAAC"}
|
package/dist/index.d.ts
CHANGED
@@ -10,6 +10,7 @@ import { findUser, getUser } from './infra/auth/auth.js';
|
|
10
10
|
import { setUserTokenDataCallback } from './infra/auth/jwt.js';
|
11
11
|
import { createAllPermissions } from './infra/auth/permissions.js';
|
12
12
|
import { createScopedAccessToken } from './infra/auth/jwt.js';
|
13
|
+
import { getApiKeyOptsFromRequest } from './features/api-keys/lib.js';
|
13
14
|
import { createRateLimiter } from './infra/rate-limiting/index.js';
|
14
15
|
import { DeviceOnlineStates } from './features/device-heartbeat/index.js';
|
15
16
|
import type { GetUrlFunction } from './features/request-logging/index.js';
|
@@ -156,7 +157,7 @@ export declare const utils: {
|
|
156
157
|
export declare const apiKeys: {
|
157
158
|
augmentReqApiKeyPermissions: <T extends pine.permissions.PermissionReq>(req: T, extraPermissions: string[], mutateRequestObject?: boolean) => T;
|
158
159
|
isApiKeyWithRole: import("./infra/cache/multi-level-memoizee.js").MemoizedFn<(key: string, roleName: string, tx?: Tx) => Promise<boolean>>;
|
159
|
-
getApiKeyOptsFromRequest:
|
160
|
+
getApiKeyOptsFromRequest: typeof getApiKeyOptsFromRequest;
|
160
161
|
};
|
161
162
|
export declare const application: {
|
162
163
|
addUserHasDirectAccessToApplicationToModel: (abstractSql: import("@balena/abstract-sql-compiler").AbstractSqlModel, selectQueryNodeTransformer?: (selectQueryNode: import("@balena/abstract-sql-compiler").SelectQueryNode) => import("@balena/abstract-sql-compiler").SelectQueryNode) => void;
|
package/package.json
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"name": "@balena/open-balena-api",
|
3
3
|
"description": "Internet of things, Made Simple",
|
4
|
-
"version": "34.
|
4
|
+
"version": "34.1.0-build-api-key-v2-edf946093bd454bd4ac0d4d4e704e25fe46d4a8c-1",
|
5
5
|
"license": "AGPL-3.0",
|
6
6
|
"repository": {
|
7
7
|
"type": "git",
|
@@ -166,6 +166,6 @@
|
|
166
166
|
"loader": "ts-node/esm/transpile-only"
|
167
167
|
},
|
168
168
|
"versionist": {
|
169
|
-
"publishedAt": "2024-12-
|
169
|
+
"publishedAt": "2024-12-13T17:05:16.413Z"
|
170
170
|
}
|
171
171
|
}
|