@balena/open-balena-api 31.4.9 → 32.0.0-build-api-keys-a9520c445aee5db5d8a95bd55a07c97eb4048991-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.
@@ -2,21 +2,21 @@ import type { Request } from 'express';
2
2
  import { permissions } from '@balena/pinejs';
3
3
  export interface ApiKeyOptions {
4
4
  apiKey?: string;
5
- name?: string;
6
- description?: string;
7
- expiryDate?: string | null;
5
+ name: string | null;
6
+ description: string | null;
7
+ expiryDate: string | null;
8
8
  tx?: Tx;
9
9
  }
10
10
  type ApiKeyActor = 'application' | 'device' | 'user';
11
- export declare const createApiKey: (actorType: ApiKeyActor, roleName: string, req: Request, actorTypeID: number, options?: ApiKeyOptions) => Promise<string>;
12
- export type PartialCreateKey = (req: Request, actorTypeID: number, options?: ApiKeyOptions) => Promise<string>;
13
- export declare const createProvisioningApiKey: PartialCreateKey;
14
- export declare const createDeviceApiKey: PartialCreateKey;
15
- export declare const createNamedUserApiKey: PartialCreateKey;
11
+ export declare const getKeyMetadata: (reqBody: Dictionary<unknown>, prefix?: string) => Pick<ApiKeyOptions, "name" | "description" | "expiryDate">;
12
+ export declare const createApiKey: (actorType: ApiKeyActor, roleName: string, req: Request, actorTypeID: number, options: ApiKeyOptions) => Promise<string>;
13
+ 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
+ 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>;
15
+ export declare const createNamedUserApiKey: (req: Request<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>, actorTypeID: number, options: ApiKeyOptions) => Promise<string>;
16
16
  /**
17
17
  * @deprecated this is a legacy api key for very old devices and should not be used any more
18
18
  */
19
- export declare const createUserApiKey: PartialCreateKey;
19
+ export declare const createUserApiKey: (req: Request<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>, actorTypeID: number, options: ApiKeyOptions) => Promise<string>;
20
20
  export type ApiKeyParameters = {
21
21
  actorType: (typeof supportedActorTypes)[number];
22
22
  actorTypeId: number;
@@ -76,8 +76,10 @@ const $createApiKey = async (actorType, roleName, req, actorTypeID, { apiKey, tx
76
76
  });
77
77
  return apiKey;
78
78
  };
79
- const getKeyMetadata = (reqBody) => {
80
- const { name, description, expiryDate } = reqBody;
79
+ export const getKeyMetadata = (reqBody, prefix) => {
80
+ const name = reqBody[prefix ? `${prefix}Name` : 'name'];
81
+ const description = reqBody[prefix ? `${prefix}Description` : 'description'];
82
+ const expiryDate = reqBody[prefix ? `${prefix}ExpiryDate` : 'expiryDate'];
81
83
  if (name != null && typeof name !== 'string') {
82
84
  throw new errors.BadRequestError('Key name should be a string value');
83
85
  }
@@ -89,33 +91,28 @@ const getKeyMetadata = (reqBody) => {
89
91
  throw new errors.BadRequestError('Key expiry date should be a valid date');
90
92
  }
91
93
  return {
92
- name,
93
- description,
94
- ...(expiryDate && {
95
- expiryDate: new Date(expiryDate),
96
- }),
94
+ name: name ?? null,
95
+ description: description ?? null,
96
+ expiryDate: expiryDate ? new Date(expiryDate).toISOString() : null,
97
97
  };
98
98
  };
99
- export const createApiKey = async (actorType, roleName, req, actorTypeID, options = {}) => {
100
- options.apiKey ??= randomstring.generate();
99
+ export const createApiKey = async (actorType, roleName, req, actorTypeID, options) => {
101
100
  const { name, description, expiryDate } = getKeyMetadata(req.body);
102
- if (!options.name) {
103
- options.name = name;
104
- }
105
- if (!options.description) {
106
- options.description = description;
107
- }
108
- if (!options.expiryDate) {
109
- options.expiryDate = expiryDate;
110
- }
101
+ const create = async (tx) => {
102
+ return await $createApiKey(actorType, roleName, req, actorTypeID, {
103
+ ...options,
104
+ apiKey: options.apiKey ?? randomstring.generate(),
105
+ name: options.name ?? name,
106
+ description: options.description ?? description,
107
+ expiryDate: options.expiryDate ?? expiryDate,
108
+ tx,
109
+ });
110
+ };
111
111
  if (options.tx != null) {
112
- return await $createApiKey(actorType, roleName, req, actorTypeID, options);
112
+ return await create(options.tx);
113
113
  }
114
114
  else {
115
- return await sbvrUtils.db.transaction(async (tx) => {
116
- options.tx = tx;
117
- return await $createApiKey(actorType, roleName, req, actorTypeID, options);
118
- });
115
+ return await sbvrUtils.db.transaction(async (tx) => await create(tx));
119
116
  }
120
117
  };
121
118
  export const createProvisioningApiKey = _.partial(createApiKey, 'application', 'provisioning-api-key');
@@ -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":"AACA,OAAO,YAAY,MAAM,cAAc,CAAC;AACxC,OAAO,CAAC,MAAM,QAAQ,CAAC;AAEvB,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAEnD,MAAM,EAAE,GAAG,EAAE,GAAG,SAAS,CAAC;AAC1B,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,CAAC;AAiBnC,MAAM,aAAa,GAAG,KAAK,EAC1B,SAAsB,EACtB,QAAgB,EAChB,GAAY,EACZ,WAAmB,EACnB,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAyB,EAClD,EAAE;IACpB,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC;QACrC,QAAQ,EAAE,SAAS;QACnB,EAAE,EAAE,WAAW;QACf,WAAW,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;QACxB,OAAO,EAAE;YACR,OAAO,EAAE,OAAO;SAChB;KACD,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC;IACtC,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,MAAM,SAAS,sCAAsC,CAAC,CAAC;IACxE,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC;QACnC,MAAM,EAAE,MAAM;QACd,GAAG,EAAE,GAAG,SAAS,IAAI,WAAW,aAAa;QAC7C,WAAW,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;QACxB,IAAI,EAAE;YACL,MAAM,EAAE,UAAU,QAAQ,EAAE;SAC5B;KACD,CAAC,CAAC;IAEH,MAAM,KAAK,GAAuB,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAClD,IAAI,KAAK,KAAK,WAAW,EAAE,CAAC;QAC3B,MAAM,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;IACnC,CAAC;IAED,IAAI,SAAS,KAAK,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC;QACxE,MAAM,IAAI,MAAM,CAAC,iBAAiB,CAAC,qCAAqC,CAAC,CAAC;IAC3E,CAAC;IAED,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;QAChC,WAAW,EAAE;YACZ,EAAE;YACF,GAAG,EAAE,WAAW,CAAC,IAAI;SACrB;KACD,CAAC,CAAC;IAEH,MAAM,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAClD,SAAS,CAAC,IAAI,CAAC;YACd,QAAQ,EAAE,SAAS;YACnB,IAAI,EAAE;gBACL,YAAY,EAAE,OAAO;gBACrB,GAAG,EAAE,MAAM;gBACX,IAAI;gBACJ,WAAW;gBACX,WAAW,EAAE,UAAU;aACvB;YACD,OAAO,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE;SAClC,CAAC;QACF,SAAS,CAAC,GAAG,CAAC;YACb,QAAQ,EAAE,MAAM;YAChB,EAAE,EAAE;gBACH,IAAI,EAAE,QAAQ;aACd;YACD,OAAO,EAAE;gBACR,OAAO,EAAE,IAAI;aACb;SACD,CAAC;KACF,CAAC,CAAC;IAEH,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;QAClB,MAAM,IAAI,MAAM,CAAC,aAAa,CAAC,SAAS,QAAQ,aAAa,CAAC,CAAC;IAChE,CAAC;IAED,MAAM,SAAS,CAAC,IAAI,CAAC;QACpB,QAAQ,EAAE,oBAAoB;QAC9B,IAAI,EAAE;YACL,OAAO,EAAE,QAAQ;YACjB,IAAI,EAAE,IAAI,CAAC,EAAE;SACb;QACD,OAAO,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE;KAClC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,CAC7B,OAA4B,EAC5B,MAAe,EAC8C,EAAE;IAC/D,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACxD,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;IAC7E,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;IAE1E,IAAI,IAAI,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC9C,MAAM,IAAI,MAAM,CAAC,eAAe,CAAC,mCAAmC,CAAC,CAAC;IACvE,CAAC;IAED,IAAI,WAAW,IAAI,IAAI,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;QAC5D,MAAM,IAAI,MAAM,CAAC,eAAe,CAC/B,0CAA0C,CAC1C,CAAC;IACH,CAAC;IAED,IACC,UAAU,IAAI,IAAI;QAClB,CAAC,OAAO,UAAU,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,EACxE,CAAC;QACF,MAAM,IAAI,MAAM,CAAC,eAAe,CAAC,wCAAwC,CAAC,CAAC;IAC5E,CAAC;IAED,OAAO;QACN,IAAI,EAAE,IAAI,IAAI,IAAI;QAClB,WAAW,EAAE,WAAW,IAAI,IAAI;QAChC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI;KAClE,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAChC,SAAsB,EACtB,QAAgB,EAChB,GAAY,EACZ,WAAmB,EACnB,OAAsB,EACJ,EAAE;IACpB,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACnE,MAAM,MAAM,GAAG,KAAK,EAAE,EAAM,EAAE,EAAE;QAC/B,OAAO,MAAM,aAAa,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,EAAE,WAAW,EAAE;YACjE,GAAG,OAAO;YACV,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,YAAY,CAAC,QAAQ,EAAE;YACjD,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,IAAI;YAC1B,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,WAAW;YAC/C,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,UAAU;YAC5C,EAAE;SACF,CAAC,CAAC;IACJ,CAAC,CAAC;IAEF,IAAI,OAAO,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC;QACxB,OAAO,MAAM,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACjC,CAAC;SAAM,CAAC;QACP,OAAO,MAAM,SAAS,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,MAAM,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IACvE,CAAC;AACF,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,OAAO,CAChD,YAAY,EACZ,aAAa,EACb,sBAAsB,CACtB,CAAC;AACF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,OAAO,CAC1C,YAAY,EACZ,QAAQ,EACR,gBAAgB,CAChB,CAAC;AACF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,OAAO,CAC7C,YAAY,EACZ,MAAM,EACN,oBAAoB,CACpB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;AAQhF,MAAM,mBAAmB,GAAG,CAAC,aAAa,EAAE,MAAM,EAAE,QAAQ,CAAU,CAAC;AAEvE,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EACvC,GAAY,EACZ,EACC,SAAS,EACT,WAAW,EACX,KAAK,EACL,IAAI,EACJ,WAAW,EACX,UAAU,EACV,MAAM,GACY,EAClB,EAAE;IACH,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,eAAe,CAAC,wBAAwB,CAAC,CAAC;IACrD,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,eAAe,CAAC,gCAAgC,CAAC,CAAC;IAC7D,CAAC;IAED,IACC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACrB,KAAK,CAAC,MAAM,KAAK,CAAC;QAClB,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,EACzD,CAAC;QACF,MAAM,IAAI,eAAe,CAAC,wCAAwC,CAAC,CAAC;IACrE,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,eAAe,CAAC,+CAA+C,CAAC,CAAC;IAC5E,CAAC;IAED,IAAI,CAAC,IAAI,EAAE,CAAC;QACX,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;QAE5D,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,IAAI,eAAe,CACxB,sBAAsB,SAAS,uBAAuB,CACtD,CAAC;QACH,CAAC;IACF,CAAC;IAED,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAE1B,OAAO,YAAY,CAClB,SAAS,EACT,QAAQ,EACR,GAAG,EACH,WAAW;IACX,sDAAsD;IACtD;QACC,IAAI;QACJ,WAAW;QACX,UAAU;QACV,MAAM;KACN,CACD,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,GAAG,EAAE;IACrC,MAAM,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAC7B,GAAG,CAAC,IAAI,CAAC,OAAO,CACf;QACC,QAAQ,EAAE,MAAM;QAChB,WAAW,EAAE,EAAE,GAAG,EAAE,WAAW,CAAC,IAAI,EAAE;QACtC,EAAE,EAAE;YACH,IAAI,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE;SACzB;QACD,OAAO,EAAE;YACR,OAAO,EAAE,IAAI;YACb,OAAO,EAAE;gBACR,cAAc,EAAE;oBACf,IAAI,EAAE;wBACL,MAAM,EAAE,KAAK;wBACb,KAAK,EAAE;4BACN,GAAG,EAAE;gCACJ,OAAO,EAAE;oCACR,IAAI,EAAE;wCACL,MAAM,EAAE,GAAG;wCACX,KAAK,EAAE;4CACN,CAAC,EAAE;gDACF,GAAG,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE;6CACnB;yCACD;qCACD;iCACD;6BACD;yBACD;qBACD;iBACD;aACD;SACD;KACQ,EACV,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE,CACzC,CACD,CAAC;IACF,OAAO,kBAAkB,CACxB,KAAK,EAAE,GAAW,EAAE,QAAgB,EAAE,EAAO,EAAoB,EAAE;QAClE,MAAM,IAAI,GAAG,MAAM,SAAS,EAAE,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,SAAS,EAAE;YAC5D,EAAE;SACF,CAAC,CAAC;QACH,OAAO,IAAI,IAAI,IAAI,CAAC;IACrB,CAAC,EACD;QACC,QAAQ,EAAE,kBAAkB;QAC5B,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,IAAI;QACf,MAAM,EAAE,0BAA0B;QAClC,UAAU,EAAE,CAAC,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,GAAG,QAAQ,IAAI,GAAG,EAAE;KACrD,EACD,EAAE,UAAU,EAAE,KAAK,EAAE,CACrB,CAAC;AACH,CAAC,CAAC,EAAE,CAAC;AAEL;;;GAGG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAG1C,GAAM,EACN,gBAA0B;AAC1B;;;;;GAKG;AACH,mBAAmB,GAAG,KAAK,EACvB,EAAE;IACN,IAAI,YAAY,GAAG,GAAG,CAAC;IAEvB,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC1B,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC5B,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IACxD,CAAC;SAAM,IAAI,YAAY,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC;QAC7C,2DAA2D;QAC3D,0DAA0D;QAC1D,4DAA4D;QAC5D,YAAY,CAAC,MAAM,CAAC,WAAW,GAAG,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACxE,CAAC;IAED,YAAY,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,GAAG,gBAAgB,CAAC,CAAC;IAC5D,OAAO,YAAY,CAAC;AACrB,CAAC,CAAC"}
@@ -1,7 +1,7 @@
1
1
  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
- import { createGenericApiKey as $createGenericApiKey, createDeviceApiKey as $createDeviceApiKey, createNamedUserApiKey as $createNamedUserApiKey, createProvisioningApiKey as $createProvisioningApiKey, createUserApiKey as $createUserApiKey, } from './lib.js';
4
+ import { createGenericApiKey as $createGenericApiKey, createDeviceApiKey as $createDeviceApiKey, createNamedUserApiKey as $createNamedUserApiKey, createProvisioningApiKey as $createProvisioningApiKey, createUserApiKey as $createUserApiKey, getKeyMetadata, } from './lib.js';
5
5
  export const createGenericApiKey = async (req, res) => {
6
6
  const body = req.body;
7
7
  try {
@@ -25,6 +25,7 @@ export const createDeviceApiKey = async (req, res) => {
25
25
  try {
26
26
  const apiKey = await $createDeviceApiKey(req, deviceId, {
27
27
  apiKey: req.body.apiKey,
28
+ ...getKeyMetadata(req.body),
28
29
  });
29
30
  res.json(apiKey);
30
31
  }
@@ -43,11 +44,7 @@ export const createProvisioningApiKey = async (req, res) => {
43
44
  return;
44
45
  }
45
46
  try {
46
- const expiryDate = req.body.expiryDate ?? null;
47
- if (expiryDate != null && typeof expiryDate !== 'string') {
48
- throw new errors.BadRequestError('Expiry date must be a string or null');
49
- }
50
- const apiKey = await $createProvisioningApiKey(req, appId, { expiryDate });
47
+ const apiKey = await $createProvisioningApiKey(req, appId, getKeyMetadata(req.body));
51
48
  res.json(apiKey);
52
49
  }
53
50
  catch (err) {
@@ -63,13 +60,10 @@ export const createProvisioningApiKey = async (req, res) => {
63
60
  */
64
61
  export const createUserApiKey = async (req, res) => {
65
62
  try {
66
- const expiryDate = req.body.expiryDate ?? null;
67
- if (expiryDate != null && typeof expiryDate !== 'string') {
68
- throw new errors.BadRequestError('Expiry date must be a string or null');
69
- }
63
+ const keyMetadata = getKeyMetadata(req.body);
70
64
  const apiKey = await sbvrUtils.db.transaction(async (tx) => {
71
65
  const user = await getUser(req, tx);
72
- return await $createUserApiKey(req, user.id, { expiryDate, tx });
66
+ return await $createUserApiKey(req, user.id, { tx, ...keyMetadata });
73
67
  });
74
68
  res.json(apiKey);
75
69
  }
@@ -89,13 +83,7 @@ export const createNamedUserApiKey = async (req, res) => {
89
83
  if (req.user == null) {
90
84
  throw new errors.BadRequestError('Must use user auth');
91
85
  }
92
- const expiryDate = req.body.expiryDate ?? null;
93
- if (expiryDate != null && typeof expiryDate !== 'string') {
94
- throw new errors.BadRequestError('Expiry date must be a string or null');
95
- }
96
- const apiKey = await $createNamedUserApiKey(req, req.user.id, {
97
- expiryDate,
98
- });
86
+ const apiKey = await $createNamedUserApiKey(req, req.user.id, getKeyMetadata(req.body));
99
87
  res.json(apiKey);
100
88
  }
101
89
  catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"routes.js","sourceRoot":"","sources":["../../../src/features/api-keys/routes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"routes.js","sourceRoot":"","sources":["../../../src/features/api-keys/routes.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { Request } from 'express';
2
2
  import deviceConfig from 'balena-device-config';
3
+ import type { ApiKeyOptions } from '../api-keys/lib.js';
3
4
  import type { DeviceTypeJson } from '../device-types/device-type-json.js';
4
- export declare const generateConfig: (req: Request, app: deviceConfig.GenerateOptions["application"], deviceType: DeviceTypeJson, osVersion?: string, provisioningKeyExpiryDate?: string | null) => Promise<any>;
5
+ export declare const generateConfig: (req: Request, app: deviceConfig.GenerateOptions["application"], provisioningKeyOptions: ApiKeyOptions, deviceType: DeviceTypeJson, osVersion?: string) => Promise<any>;
@@ -11,7 +11,7 @@ const { BadRequestError } = errors;
11
11
  import { API_HOST, DELTA_HOST, MIXPANEL_TOKEN, NODE_EXTRA_CA_CERTS, REGISTRY2_HOST, VPN_HOST, VPN_PORT, LOGS_HOST, } from '../../lib/config.js';
12
12
  import { getBodyOrQueryParam } from '../../lib/utils.js';
13
13
  // `osVersion == null` means assume "latest"
14
- export const generateConfig = async (req, app, deviceType, osVersion, provisioningKeyExpiryDate) => {
14
+ export const generateConfig = async (req, app, provisioningKeyOptions, deviceType, osVersion) => {
15
15
  // Devices running ResinOS >=1.2.1 are capable of using Registry v2, while earlier ones must use v1
16
16
  if (osVersion != null && semver.lte(osVersion, '1.2.0')) {
17
17
  throw new BadRequestError('balenaOS versions <= 1.2.0 are no longer supported, please update');
@@ -22,19 +22,14 @@ export const generateConfig = async (req, app, deviceType, osVersion, provisioni
22
22
  userPromise,
23
23
  (async () => {
24
24
  const apiKeyOptions = {
25
- expiryDate: provisioningKeyExpiryDate,
26
25
  tx,
26
+ ...provisioningKeyOptions,
27
27
  };
28
28
  // Devices running ResinOS >= 2.7.8 can use provisioning keys
29
29
  if (osVersion != null && semver.satisfies(osVersion, '<2.7.8')) {
30
30
  // Older ones have to use the old "user api keys"
31
31
  return await createUserApiKey(req, (await userPromise).id, apiKeyOptions);
32
32
  }
33
- // Checking both req.body and req.query given both GET and POST support
34
- // Ref: https://github.com/balena-io/balena-api/blob/master/src/routes/applications.ts#L95
35
- apiKeyOptions.name = getBodyOrQueryParam(req, 'provisioningKeyName', 'Automatically generated provisioning key');
36
- apiKeyOptions.description = getBodyOrQueryParam(req, 'provisioningKeyDescription', 'Automatically generated for an image download or config file generation');
37
- apiKeyOptions.expiryDate = getBodyOrQueryParam(req, 'provisioningKeyExpiryDate');
38
33
  return await createProvisioningApiKey(req, app.id, apiKeyOptions);
39
34
  })(),
40
35
  ]);
@@ -1 +1 @@
1
- {"version":3,"file":"device-config.js","sourceRoot":"","sources":["../../../src/features/device-config/device-config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,CAAC,MAAM,QAAQ,CAAC;AAEvB,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,YAAY,MAAM,sBAAsB,CAAC;AAEhD,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAGvE,OAAO,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGhF,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,CAAC;AAEnC,4DAA4D;AAC5D,OAAO,EACN,QAAQ,EACR,UAAU,EACV,cAAc,EACd,mBAAmB,EACnB,cAAc,EACd,QAAQ,EACR,QAAQ,EACR,SAAS,GACT,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEzD,4CAA4C;AAC5C,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EAClC,GAAY,EACZ,GAAgD,EAChD,UAA0B,EAC1B,SAAkB,EAClB,yBAAyC,EACxC,EAAE;IACH,mGAAmG;IACnG,IAAI,SAAS,IAAI,IAAI,IAAI,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,CAAC;QACzD,MAAM,IAAI,eAAe,CACxB,mEAAmE,CACnE,CAAC;IACH,CAAC;IAED,MAAM,oBAAoB,GAAG,SAAS,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;QAClE,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAErC,OAAO,MAAM,OAAO,CAAC,GAAG,CAAC;YACxB,WAAW;YACX,CAAC,KAAK,IAAI,EAAE;gBACX,MAAM,aAAa,GAAkB;oBACpC,UAAU,EAAE,yBAAyB;oBACrC,EAAE;iBACF,CAAC;gBAEF,6DAA6D;gBAC7D,IAAI,SAAS,IAAI,IAAI,IAAI,MAAM,CAAC,SAAS,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,CAAC;oBAChE,iDAAiD;oBACjD,OAAO,MAAM,gBAAgB,CAC5B,GAAG,EACH,CAAC,MAAM,WAAW,CAAC,CAAC,EAAE,EACtB,aAAa,CACb,CAAC;gBACH,CAAC;gBAED,uEAAuE;gBACvE,0FAA0F;gBAC1F,aAAa,CAAC,IAAI,GAAG,mBAAmB,CACvC,GAAG,EACH,qBAAqB,EACrB,0CAA0C,CAC1C,CAAC;gBAEF,aAAa,CAAC,WAAW,GAAG,mBAAmB,CAC9C,GAAG,EACH,4BAA4B,EAC5B,yEAAyE,CACzE,CAAC;gBAEF,aAAa,CAAC,UAAU,GAAG,mBAAmB,CAC7C,GAAG,EACH,2BAA2B,CAC3B,CAAC;gBAEF,OAAO,MAAM,wBAAwB,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;YACnE,CAAC,CAAC,EAAE;SACJ,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,qFAAqF;IACrF,MAAM,qBAAqB,GAAG,CAAC,KAAK,IAAI,EAAE;QACzC,MAAM,MAAM,GAAG,mBAAmB,CAAC;QACnC,IAAI,CAAC,MAAM,EAAE,CAAC;YACb,OAAO;QACR,CAAC;QACD,IAAI,CAAC;YACJ,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC/B,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACvD,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC5C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC3B,gBAAgB,CAAC,GAAG,EAAE,uCAAuC,CAAC,CAAC;YAChE,CAAC;QACF,CAAC;IACF,CAAC,CAAC,EAAE,CAAC;IAEL,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,MAAM,oBAAoB,CAAC;IAClD,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC;IAE3C,MAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,CACnC;QACC,WAAW,EAAE,GAAG;QAChB,UAAU,EAAE,UAAU,CAAC,IAAI;QAC3B,IAAI;QACJ,MAAM;QACN,QAAQ,EAAE;YACT,KAAK,EAAE,cAAc;SACrB;QACD,OAAO,EAAE,QAAQ;QACjB,SAAS,EAAE;YACV,GAAG,EAAE,WAAW,QAAQ,EAAE;YAC1B,KAAK,EAAE,WAAW,UAAU,EAAE;YAC9B,QAAQ,EAAE,cAAc;YACxB,GAAG,EAAE,QAAQ;YACb,oEAAoE;YACpE,IAAI,EAAE,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS;SAC5D;QACD,OAAO,EAAE,SAAS;KAClB,EACD;QACC,qBAAqB,EACpB,QAAQ,CAAC,mBAAmB,CAAC,GAAG,EAAE,uBAAuB,CAAC,EAAE,EAAE,CAAC;YAC/D,EAAE;YACF,IAAI;QACL,OAAO,EAAE,mBAAmB,CAAC,GAAG,EAAE,SAAS,CAAC;QAC5C,QAAQ,EAAE,mBAAmB,CAAC,GAAG,EAAE,UAAU,CAAC;QAC9C,OAAO,EAAE,mBAAmB,CAAC,GAAG,EAAE,SAAS,CAAC;QAC5C,EAAE,EAAE,mBAAmB,CAAC,GAAG,EAAE,IAAI,CAAC;QAClC,OAAO,EAAE,mBAAmB,CAAC,GAAG,EAAE,SAAS,CAAC;QAC5C,OAAO,EAAE,mBAAmB,CAAC,GAAG,EAAE,SAAS,CAAC;KAC5C,CACD,CAAC;IAEF,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC;SACnB,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QAChB,IAAI,SAAS,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YACrC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAChD,wBAAwB;gBACxB,OAAO,EAAE,CAAC;YACX,CAAC;iBAAM,CAAC;gBACP,OAAO,GAAG,CAAC,OAAO,CAAC;YACpB,CAAC;QACF,CAAC;aAAM,CAAC;YACP,OAAO,GAAG,CAAC;QACZ,CAAC;IACF,CAAC,CAAC;SACD,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE;QAC9B,MAAM,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IACJ,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;QACpB,MAAM,CAAC,YAAY,GAAG,MAAM,CAAC;IAC9B,CAAC;IAED,MAAM,eAAe,GAAG,CACvB,mBAAmB,CAAC,GAAG,EAAE,iBAAiB,CAAC,IAAI,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,CAC1E,EAAE,QAAQ,EAAE,CAAC;IACd,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,eAAe,IAAI,EAAE,CAAC,EAAE,CAAC;QACzD,MAAM,CAAC,eAAe,GAAG,IAAI,CAAC;IAC/B,CAAC;IAED,OAAO,MAAM,CAAC;AACf,CAAC,CAAC"}
1
+ {"version":3,"file":"device-config.js","sourceRoot":"","sources":["../../../src/features/device-config/device-config.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import { captureException, handleHttpErrors, translateError, } from '../../infra
3
3
  import { generateConfig } from './device-config.js';
4
4
  import { getDeviceTypeJsonBySlug } from '../device-types/device-types.js';
5
5
  import { checkInt, getBodyOrQueryParam } from '../../lib/utils.js';
6
+ import { getKeyMetadata } from '../api-keys/lib.js';
6
7
  const { UnauthorizedError, NotFoundError } = errors;
7
8
  const { api } = sbvrUtils;
8
9
  const getApp = async (appId, req) => {
@@ -33,16 +34,27 @@ export const downloadImageConfig = async (req, res) => {
33
34
  }
34
35
  const deviceTypeSlug = getBodyOrQueryParam(req, 'deviceType');
35
36
  const osVersion = getBodyOrQueryParam(req, 'version');
36
- const provisioningKeyExpiryDate = getBodyOrQueryParam(req, 'provisioningKeyExpiryDate');
37
37
  if (!osVersion) {
38
38
  res.status(400).send('A version is required.');
39
39
  return;
40
40
  }
41
41
  try {
42
+ // Checking both req.body and req.query given both GET and POST support
43
+ // Ref: https://github.com/balena-io/balena-api/blob/master/src/routes/applications.ts#L95
44
+ const provisioningKeyOptions = getKeyMetadata(req.body, 'provisioningKey');
45
+ const provisioningKeyQueryOptions = getKeyMetadata(req.query, 'provisioningKey');
46
+ provisioningKeyOptions.name ??=
47
+ provisioningKeyQueryOptions.name ??
48
+ 'Automatically generated provisioning key';
49
+ provisioningKeyOptions.description ??=
50
+ provisioningKeyQueryOptions.description ??
51
+ 'Automatically generated for an image download or config file generation';
52
+ provisioningKeyOptions.expiryDate ??=
53
+ provisioningKeyQueryOptions.expiryDate;
42
54
  const resinApi = api.resin.clone({ passthrough: { req } });
43
55
  const app = await getApp(appId, req);
44
56
  const deviceTypeJson = await getDeviceTypeJsonBySlug(resinApi, deviceTypeSlug || app.is_for__device_type[0].slug);
45
- const config = await generateConfig(req, app, deviceTypeJson, osVersion, provisioningKeyExpiryDate);
57
+ const config = await generateConfig(req, app, provisioningKeyOptions, deviceTypeJson, osVersion);
46
58
  res.json(config);
47
59
  }
48
60
  catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"download.js","sourceRoot":"","sources":["../../../src/features/device-config/download.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"download.js","sourceRoot":"","sources":["../../../src/features/device-config/download.ts"],"names":[],"mappings":"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"}
@@ -69,8 +69,11 @@ export const register = async (req, res) => {
69
69
  throw new Error('Failed to create device');
70
70
  }
71
71
  const apiKey = await createDeviceApiKey(req, device.id, {
72
- apiKey: deviceApiKey,
73
72
  tx,
73
+ apiKey: deviceApiKey,
74
+ name: null,
75
+ description: null,
76
+ expiryDate: null,
74
77
  });
75
78
  return {
76
79
  id: device.id,
@@ -1 +1 @@
1
- {"version":3,"file":"register.js","sourceRoot":"","sources":["../../../src/features/device-provisioning/register.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"register.js","sourceRoot":"","sources":["../../../src/features/device-provisioning/register.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -164,7 +164,7 @@ export declare const application: {
164
164
  export declare const device: {
165
165
  addVirtualFieldsToModel: (abstractSql: import("@balena/abstract-sql-compiler").AbstractSqlModel) => void;
166
166
  supervisorProxy: (req: Request, res: import("express").Response) => Promise<void>;
167
- generateConfig: (req: Request, app: import("balena-device-config").GenerateOptions["application"], deviceType: import("./features/device-types/device-type-json.js").DeviceTypeJson, osVersion?: string, provisioningKeyExpiryDate?: string | null) => Promise<any>;
167
+ generateConfig: (req: Request, app: import("balena-device-config").GenerateOptions["application"], provisioningKeyOptions: import("./features/api-keys/lib.js").ApiKeyOptions, deviceType: import("./features/device-types/device-type-json.js").DeviceTypeJson, osVersion?: string) => Promise<any>;
168
168
  getPollInterval: (deviceId: number, config?: Dictionary<string>) => Promise<number>;
169
169
  DeviceOnlineStates: typeof DeviceOnlineStates;
170
170
  getDeviceOnlineStateManager: () => import("./features/device-heartbeat/index.js").DeviceOnlineStateManager;
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": "31.4.9",
4
+ "version": "32.0.0-build-api-keys-a9520c445aee5db5d8a95bd55a07c97eb4048991-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-05T10:55:27.456Z"
169
+ "publishedAt": "2024-12-05T18:43:16.753Z"
170
170
  }
171
171
  }