@budibase/backend-core 2.22.12 → 2.22.13

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/index.js CHANGED
@@ -26842,7 +26842,7 @@ var require_private_key = __commonJS({
26842
26842
  var require_identity = __commonJS({
26843
26843
  "../../node_modules/sshpk/lib/identity.js"(exports, module2) {
26844
26844
  "use strict";
26845
- module2.exports = Identity5;
26845
+ module2.exports = Identity6;
26846
26846
  var assert = require_assert();
26847
26847
  var algs = require_algs();
26848
26848
  var crypto2 = require("crypto");
@@ -26881,7 +26881,7 @@ var require_identity = __commonJS({
26881
26881
  Object.keys(oids).forEach(function(k) {
26882
26882
  unoids[oids[k]] = k;
26883
26883
  });
26884
- function Identity5(opts) {
26884
+ function Identity6(opts) {
26885
26885
  var self2 = this;
26886
26886
  assert.object(opts, "options");
26887
26887
  assert.arrayOfObject(opts.components, "options.components");
@@ -26941,7 +26941,7 @@ var require_identity = __commonJS({
26941
26941
  throw new Error("Unknown type " + this.type);
26942
26942
  }
26943
26943
  }
26944
- Identity5.prototype.toString = function() {
26944
+ Identity6.prototype.toString = function() {
26945
26945
  return this.components.map(function(c) {
26946
26946
  var n = c.name.toUpperCase();
26947
26947
  n = n.replace(/=/g, "\\=");
@@ -26950,7 +26950,7 @@ var require_identity = __commonJS({
26950
26950
  return n + "=" + v;
26951
26951
  }).join(", ");
26952
26952
  };
26953
- Identity5.prototype.get = function(name, asArray) {
26953
+ Identity6.prototype.get = function(name, asArray) {
26954
26954
  assert.string(name, "name");
26955
26955
  var arr = this.componentLookup[name];
26956
26956
  if (arr === void 0 || arr.length === 0)
@@ -26963,7 +26963,7 @@ var require_identity = __commonJS({
26963
26963
  return c.value;
26964
26964
  });
26965
26965
  };
26966
- Identity5.prototype.toArray = function(idx) {
26966
+ Identity6.prototype.toArray = function(idx) {
26967
26967
  return this.components.map(function(c) {
26968
26968
  return {
26969
26969
  name: c.name,
@@ -26973,7 +26973,7 @@ var require_identity = __commonJS({
26973
26973
  };
26974
26974
  var NOT_PRINTABLE = /[^a-zA-Z0-9 '(),+.\/:=?-]/;
26975
26975
  var NOT_IA5 = /[^\x00-\x7f]/;
26976
- Identity5.prototype.toAsn1 = function(der, tag) {
26976
+ Identity6.prototype.toAsn1 = function(der, tag) {
26977
26977
  der.startSequence(tag);
26978
26978
  this.components.forEach(function(c) {
26979
26979
  der.startSequence(asn1.Ber.Constructor | asn1.Ber.Set);
@@ -27010,8 +27010,8 @@ var require_identity = __commonJS({
27010
27010
  }
27011
27011
  return true;
27012
27012
  }
27013
- Identity5.prototype.equals = function(other) {
27014
- if (!Identity5.isIdentity(other, [1, 0]))
27013
+ Identity6.prototype.equals = function(other) {
27014
+ if (!Identity6.isIdentity(other, [1, 0]))
27015
27015
  return false;
27016
27016
  if (other.components.length !== this.components.length)
27017
27017
  return false;
@@ -27027,31 +27027,31 @@ var require_identity = __commonJS({
27027
27027
  }
27028
27028
  return true;
27029
27029
  };
27030
- Identity5.forHost = function(hostname) {
27030
+ Identity6.forHost = function(hostname) {
27031
27031
  assert.string(hostname, "hostname");
27032
- return new Identity5({
27032
+ return new Identity6({
27033
27033
  type: "host",
27034
27034
  hostname,
27035
27035
  components: [{ name: "cn", value: hostname }]
27036
27036
  });
27037
27037
  };
27038
- Identity5.forUser = function(uid) {
27038
+ Identity6.forUser = function(uid) {
27039
27039
  assert.string(uid, "uid");
27040
- return new Identity5({
27040
+ return new Identity6({
27041
27041
  type: "user",
27042
27042
  uid,
27043
27043
  components: [{ name: "uid", value: uid }]
27044
27044
  });
27045
27045
  };
27046
- Identity5.forEmail = function(email) {
27046
+ Identity6.forEmail = function(email) {
27047
27047
  assert.string(email, "email");
27048
- return new Identity5({
27048
+ return new Identity6({
27049
27049
  type: "email",
27050
27050
  email,
27051
27051
  components: [{ name: "mail", value: email }]
27052
27052
  });
27053
27053
  };
27054
- Identity5.parseDN = function(dn) {
27054
+ Identity6.parseDN = function(dn) {
27055
27055
  assert.string(dn, "dn");
27056
27056
  var parts = [""];
27057
27057
  var idx = 0;
@@ -27086,9 +27086,9 @@ var require_identity = __commonJS({
27086
27086
  var value = c.slice(eqPos + 1);
27087
27087
  return { name, value };
27088
27088
  });
27089
- return new Identity5({ components: cmps });
27089
+ return new Identity6({ components: cmps });
27090
27090
  };
27091
- Identity5.fromArray = function(components) {
27091
+ Identity6.fromArray = function(components) {
27092
27092
  assert.arrayOfObject(components, "components");
27093
27093
  components.forEach(function(cmp) {
27094
27094
  assert.object(cmp, "component");
@@ -27097,9 +27097,9 @@ var require_identity = __commonJS({
27097
27097
  throw new Error("Invalid component value");
27098
27098
  }
27099
27099
  });
27100
- return new Identity5({ components });
27100
+ return new Identity6({ components });
27101
27101
  };
27102
- Identity5.parseAsn1 = function(der, top) {
27102
+ Identity6.parseAsn1 = function(der, top) {
27103
27103
  var components = [];
27104
27104
  der.readSequence(top);
27105
27105
  var end2 = der.offset + der.length;
@@ -27133,15 +27133,15 @@ var require_identity = __commonJS({
27133
27133
  der._offset = after;
27134
27134
  }
27135
27135
  der._offset = end2;
27136
- return new Identity5({
27136
+ return new Identity6({
27137
27137
  components
27138
27138
  });
27139
27139
  };
27140
- Identity5.isIdentity = function(obj, ver) {
27141
- return utils.isCompatible(obj, Identity5, ver);
27140
+ Identity6.isIdentity = function(obj, ver) {
27141
+ return utils.isCompatible(obj, Identity6, ver);
27142
27142
  };
27143
- Identity5.prototype._sshpkApiVersion = [1, 0];
27144
- Identity5._oldVersionDetect = function(obj) {
27143
+ Identity6.prototype._sshpkApiVersion = [1, 0];
27144
+ Identity6._oldVersionDetect = function(obj) {
27145
27145
  return [1, 0];
27146
27146
  };
27147
27147
  }
@@ -27168,7 +27168,7 @@ var require_openssh_cert = __commonJS({
27168
27168
  var algs = require_algs();
27169
27169
  var Key = require_key();
27170
27170
  var PrivateKey = require_private_key();
27171
- var Identity5 = require_identity();
27171
+ var Identity6 = require_identity();
27172
27172
  var rfc4253 = require_rfc4253();
27173
27173
  var Signature = require_signature();
27174
27174
  var utils = require_utils3();
@@ -27240,9 +27240,9 @@ var require_openssh_cert = __commonJS({
27240
27240
  principals = ["*"];
27241
27241
  cert.subjects = principals.map(function(pr) {
27242
27242
  if (type === "user")
27243
- return Identity5.forUser(pr);
27243
+ return Identity6.forUser(pr);
27244
27244
  else if (type === "host")
27245
- return Identity5.forHost(pr);
27245
+ return Identity6.forHost(pr);
27246
27246
  throw new Error("Unknown identity type " + type);
27247
27247
  });
27248
27248
  cert.validFrom = int64ToDate(sshbuf.readInt64());
@@ -27267,7 +27267,7 @@ var require_openssh_cert = __commonJS({
27267
27267
  sshbuf.readBuffer();
27268
27268
  var signingKeyBuf = sshbuf.readBuffer();
27269
27269
  cert.issuerKey = rfc4253.read(signingKeyBuf);
27270
- cert.issuer = Identity5.forHost("**");
27270
+ cert.issuer = Identity6.forHost("**");
27271
27271
  var sigBuf = sshbuf.readBuffer();
27272
27272
  cert.signatures.openssh.signature = Signature.parse(sigBuf, cert.issuerKey.type, "ssh");
27273
27273
  if (partial !== void 0) {
@@ -27453,7 +27453,7 @@ var require_x509 = __commonJS({
27453
27453
  var Key = require_key();
27454
27454
  var PrivateKey = require_private_key();
27455
27455
  var pem = require_pem();
27456
- var Identity5 = require_identity();
27456
+ var Identity6 = require_identity();
27457
27457
  var Signature = require_signature();
27458
27458
  var Certificate = require_certificate();
27459
27459
  var pkcs8 = require_pkcs8();
@@ -27547,11 +27547,11 @@ var require_x509 = __commonJS({
27547
27547
  if (certAlg === void 0)
27548
27548
  throw new Error("unknown signature algorithm " + certAlgOid);
27549
27549
  der._offset = after;
27550
- cert.issuer = Identity5.parseAsn1(der);
27550
+ cert.issuer = Identity6.parseAsn1(der);
27551
27551
  der.readSequence();
27552
27552
  cert.validFrom = readDate(der);
27553
27553
  cert.validUntil = readDate(der);
27554
- cert.subjects = [Identity5.parseAsn1(der)];
27554
+ cert.subjects = [Identity6.parseAsn1(der)];
27555
27555
  der.readSequence();
27556
27556
  after = der.offset + der.length;
27557
27557
  cert.subjectKey = pkcs8.readPkcs8(void 0, "public", der);
@@ -27727,13 +27727,13 @@ var require_x509 = __commonJS({
27727
27727
  break;
27728
27728
  case ALTNAME.RFC822Name:
27729
27729
  var email = der.readString(ALTNAME.RFC822Name);
27730
- id = Identity5.forEmail(email);
27730
+ id = Identity6.forEmail(email);
27731
27731
  if (!cert.subjects[0].equals(id))
27732
27732
  cert.subjects.push(id);
27733
27733
  break;
27734
27734
  case ALTNAME.DirectoryName:
27735
27735
  der.readSequence(ALTNAME.DirectoryName);
27736
- id = Identity5.parseAsn1(der);
27736
+ id = Identity6.parseAsn1(der);
27737
27737
  if (!cert.subjects[0].equals(id))
27738
27738
  cert.subjects.push(id);
27739
27739
  break;
@@ -27741,7 +27741,7 @@ var require_x509 = __commonJS({
27741
27741
  var host = der.readString(
27742
27742
  ALTNAME.DNSName
27743
27743
  );
27744
- id = Identity5.forHost(host);
27744
+ id = Identity6.forHost(host);
27745
27745
  if (!cert.subjects[0].equals(id))
27746
27746
  cert.subjects.push(id);
27747
27747
  break;
@@ -28085,7 +28085,7 @@ var require_x509_pem = __commonJS({
28085
28085
  var Key = require_key();
28086
28086
  var PrivateKey = require_private_key();
28087
28087
  var pem = require_pem();
28088
- var Identity5 = require_identity();
28088
+ var Identity6 = require_identity();
28089
28089
  var Signature = require_signature();
28090
28090
  var Certificate = require_certificate();
28091
28091
  function read(buf, options2) {
@@ -28166,7 +28166,7 @@ var require_certificate = __commonJS({
28166
28166
  var utils = require_utils3();
28167
28167
  var Key = require_key();
28168
28168
  var PrivateKey = require_private_key();
28169
- var Identity5 = require_identity();
28169
+ var Identity6 = require_identity();
28170
28170
  var formats2 = {};
28171
28171
  formats2["openssh"] = require_openssh_cert();
28172
28172
  formats2["x509"] = require_x509();
@@ -28178,7 +28178,7 @@ var require_certificate = __commonJS({
28178
28178
  assert.arrayOfObject(opts.subjects, "options.subjects");
28179
28179
  utils.assertCompatible(
28180
28180
  opts.subjects[0],
28181
- Identity5,
28181
+ Identity6,
28182
28182
  [1, 0],
28183
28183
  "options.subjects"
28184
28184
  );
@@ -28188,7 +28188,7 @@ var require_certificate = __commonJS({
28188
28188
  [1, 0],
28189
28189
  "options.subjectKey"
28190
28190
  );
28191
- utils.assertCompatible(opts.issuer, Identity5, [1, 0], "options.issuer");
28191
+ utils.assertCompatible(opts.issuer, Identity6, [1, 0], "options.issuer");
28192
28192
  if (opts.issuerKey !== void 0) {
28193
28193
  utils.assertCompatible(
28194
28194
  opts.issuerKey,
@@ -28326,7 +28326,7 @@ var require_certificate = __commonJS({
28326
28326
  subjects = [subjectOrSubjects];
28327
28327
  assert.arrayOfObject(subjects);
28328
28328
  subjects.forEach(function(subject) {
28329
- utils.assertCompatible(subject, Identity5, [1, 0], "subject");
28329
+ utils.assertCompatible(subject, Identity6, [1, 0], "subject");
28330
28330
  });
28331
28331
  utils.assertCompatible(key, PrivateKey, [1, 2], "private key");
28332
28332
  assert.optionalObject(options2, "options");
@@ -28403,12 +28403,12 @@ var require_certificate = __commonJS({
28403
28403
  subjects = [subjectOrSubjects];
28404
28404
  assert.arrayOfObject(subjects);
28405
28405
  subjects.forEach(function(subject) {
28406
- utils.assertCompatible(subject, Identity5, [1, 0], "subject");
28406
+ utils.assertCompatible(subject, Identity6, [1, 0], "subject");
28407
28407
  });
28408
28408
  utils.assertCompatible(key, Key, [1, 0], "key");
28409
28409
  if (PrivateKey.isPrivateKey(key))
28410
28410
  key = key.toPublic();
28411
- utils.assertCompatible(issuer, Identity5, [1, 0], "issuer");
28411
+ utils.assertCompatible(issuer, Identity6, [1, 0], "issuer");
28412
28412
  utils.assertCompatible(issuerKey, PrivateKey, [1, 2], "issuer key");
28413
28413
  assert.optionalObject(options2, "options");
28414
28414
  if (options2 === void 0)
@@ -28953,7 +28953,7 @@ var require_lib5 = __commonJS({
28953
28953
  var Signature = require_signature();
28954
28954
  var PrivateKey = require_private_key();
28955
28955
  var Certificate = require_certificate();
28956
- var Identity5 = require_identity();
28956
+ var Identity6 = require_identity();
28957
28957
  var errs = require_errors();
28958
28958
  module2.exports = {
28959
28959
  /* top-level classes */
@@ -28970,12 +28970,12 @@ var require_lib5 = __commonJS({
28970
28970
  parseCertificate: Certificate.parse,
28971
28971
  createSelfSignedCertificate: Certificate.createSelfSigned,
28972
28972
  createCertificate: Certificate.create,
28973
- Identity: Identity5,
28974
- identityFromDN: Identity5.parseDN,
28975
- identityForHost: Identity5.forHost,
28976
- identityForUser: Identity5.forUser,
28977
- identityForEmail: Identity5.forEmail,
28978
- identityFromArray: Identity5.fromArray,
28973
+ Identity: Identity6,
28974
+ identityFromDN: Identity6.parseDN,
28975
+ identityForHost: Identity6.forHost,
28976
+ identityForUser: Identity6.forUser,
28977
+ identityForEmail: Identity6.forEmail,
28978
+ identityFromArray: Identity6.fromArray,
28979
28979
  /* errors */
28980
28980
  FingerprintFormatError: errs.FingerprintFormatError,
28981
28981
  InvalidAlgorithmError: errs.InvalidAlgorithmError,
@@ -57120,7 +57120,7 @@ var Replication = class {
57120
57120
  }).on("complete", function(info) {
57121
57121
  return resolve(info);
57122
57122
  }).on("error", function(err) {
57123
- throw new Error(`Replication Error: ${err}`);
57123
+ throw err;
57124
57124
  });
57125
57125
  });
57126
57126
  }
@@ -59183,7 +59183,9 @@ __export(platform_exports, {
59183
59183
  // src/platform/users.ts
59184
59184
  var users_exports2 = {};
59185
59185
  __export(users_exports2, {
59186
+ addSsoUser: () => addSsoUser,
59186
59187
  addUser: () => addUser,
59188
+ getUserDoc: () => getUserDoc,
59187
59189
  lookupTenantId: () => lookupTenantId,
59188
59190
  removeUser: () => removeUser
59189
59191
  });
@@ -59240,15 +59242,19 @@ async function addUserDoc(emailOrId, newDocFn) {
59240
59242
  }
59241
59243
  }
59242
59244
  }
59245
+ async function addSsoUser(ssoId, email, userId, tenantId) {
59246
+ return addUserDoc(
59247
+ ssoId,
59248
+ () => newUserSsoIdDoc(ssoId, email, userId, tenantId)
59249
+ );
59250
+ }
59243
59251
  async function addUser(tenantId, userId, email, ssoId) {
59244
59252
  const promises = [
59245
59253
  addUserDoc(userId, () => newUserIdDoc(userId, tenantId)),
59246
59254
  addUserDoc(email, () => newUserEmailDoc(userId, email, tenantId))
59247
59255
  ];
59248
59256
  if (ssoId) {
59249
- promises.push(
59250
- addUserDoc(ssoId, () => newUserSsoIdDoc(ssoId, email, userId, tenantId))
59251
- );
59257
+ promises.push(addSsoUser(ssoId, email, userId, tenantId));
59252
59258
  }
59253
59259
  await Promise.all(promises);
59254
59260
  }
@@ -61807,9 +61813,9 @@ async function publishAsyncEvent(payload) {
61807
61813
  }
61808
61814
 
61809
61815
  // src/events/events.ts
61810
- var publishEvent = async (event, properties, timestamp) => {
61811
- const identity = await identification_default.getCurrentIdentity();
61812
- const backfilling = await isBackfillingEvent(event);
61816
+ var publishEvent = async (event, properties, timestamp, identityOverride) => {
61817
+ const identity = identityOverride || await identification_default.getCurrentIdentity();
61818
+ const backfilling = identityOverride ? false : await isBackfillingEvent(event);
61813
61819
  if (!backfilling) {
61814
61820
  await publishAsyncEvent({
61815
61821
  event,
@@ -61830,11 +61836,16 @@ var publishEvent = async (event, properties, timestamp) => {
61830
61836
  };
61831
61837
 
61832
61838
  // src/events/publishers/account.ts
61833
- async function created(account) {
61839
+ async function created(account, identityOverride) {
61834
61840
  const properties = {
61835
61841
  tenantId: account.tenantId
61836
61842
  };
61837
- await publishEvent("account:created" /* ACCOUNT_CREATED */, properties);
61843
+ await publishEvent(
61844
+ "account:created" /* ACCOUNT_CREATED */,
61845
+ properties,
61846
+ void 0,
61847
+ identityOverride
61848
+ );
61838
61849
  }
61839
61850
  async function deleted(account) {
61840
61851
  const properties = {
@@ -63607,7 +63618,7 @@ var UserDB = class _UserDB {
63607
63618
  await user_exports.invalidateUser(userId);
63608
63619
  await invalidateSessions(userId, { reason: "deletion" });
63609
63620
  }
63610
- static async createAdminUser(email, password, tenantId, opts) {
63621
+ static async createAdminUser(email, tenantId, password, opts) {
63611
63622
  const user = {
63612
63623
  email,
63613
63624
  password,