@budibase/backend-core 2.13.13 → 2.13.15
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 +355 -24
- package/dist/index.js.map +4 -4
- package/dist/index.js.meta.json +1 -1
- package/dist/package.json +4 -4
- package/dist/src/auth/auth.js.map +1 -1
- package/dist/src/configs/configs.js +3 -4
- package/dist/src/configs/configs.js.map +1 -1
- package/dist/src/constants/db.js.map +1 -1
- package/dist/src/db/utils.js.map +1 -1
- package/dist/src/docIds/conversions.js.map +1 -1
- package/dist/src/events/processors/posthog/index.js.map +1 -1
- package/dist/src/features/index.js.map +1 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/installation.js +2 -3
- package/dist/src/installation.js.map +1 -1
- package/dist/src/logging/correlation/correlation.js.map +1 -1
- package/dist/src/logging/correlation/middleware.js.map +1 -1
- package/dist/src/logging/pino/middleware.js.map +1 -1
- package/dist/src/middleware/index.js.map +1 -1
- package/dist/src/middleware/passport/sso/google.js.map +1 -1
- package/dist/src/objectStore/objectStore.js.map +1 -1
- package/dist/src/security/roles.js +1 -2
- package/dist/src/security/roles.js.map +1 -1
- package/dist/src/security/sessions.js.map +1 -1
- package/dist/src/users/db.d.ts +5 -0
- package/dist/src/users/db.js +28 -2
- package/dist/src/users/db.js.map +1 -1
- package/dist/src/users/users.d.ts +12 -11
- package/dist/src/users/users.js +175 -144
- package/dist/src/users/users.js.map +1 -1
- package/dist/src/utils/hashing.js.map +1 -1
- package/dist/src/utils/utils.js.map +1 -1
- package/dist/tests/core/utilities/mocks/alerts.js.map +1 -1
- package/dist/tests/core/utilities/mocks/index.js.map +1 -1
- package/dist/tests/core/utilities/structures/generator.js.map +1 -1
- package/dist/tests/jestSetup.js.map +1 -1
- package/package.json +4 -4
- package/src/auth/auth.ts +2 -0
- package/src/configs/configs.ts +3 -4
- package/src/constants/db.ts +1 -0
- package/src/db/utils.ts +1 -0
- package/src/docIds/conversions.ts +1 -0
- package/src/events/processors/posthog/index.ts +1 -0
- package/src/events/processors/posthog/tests/PosthogProcessor.spec.ts +2 -0
- package/src/features/index.ts +1 -0
- package/src/index.ts +1 -0
- package/src/installation.ts +1 -2
- package/src/logging/correlation/correlation.ts +1 -0
- package/src/logging/correlation/middleware.ts +1 -0
- package/src/logging/pino/middleware.ts +3 -0
- package/src/middleware/index.ts +1 -0
- package/src/middleware/passport/sso/google.ts +1 -0
- package/src/middleware/passport/sso/tests/google.spec.ts +1 -0
- package/src/middleware/passport/sso/tests/sso.spec.ts +1 -0
- package/src/middleware/tests/builder.spec.ts +1 -0
- package/src/objectStore/objectStore.ts +1 -0
- package/src/security/roles.ts +7 -2
- package/src/security/sessions.ts +1 -0
- package/src/users/db.ts +33 -5
- package/src/users/users.ts +28 -16
- package/src/utils/hashing.ts +1 -0
- package/src/utils/utils.ts +1 -0
- package/tests/core/utilities/mocks/alerts.ts +1 -0
- package/tests/core/utilities/mocks/index.ts +1 -0
- package/tests/core/utilities/structures/generator.ts +1 -0
- package/tests/jestSetup.ts +1 -0
package/dist/index.js
CHANGED
|
@@ -8,6 +8,9 @@ var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
|
8
8
|
var __esm = (fn, res) => function __init() {
|
|
9
9
|
return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
|
|
10
10
|
};
|
|
11
|
+
var __commonJS = (cb, mod) => function __require() {
|
|
12
|
+
return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
|
|
13
|
+
};
|
|
11
14
|
var __export = (target, all) => {
|
|
12
15
|
for (var name in all)
|
|
13
16
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
@@ -5601,6 +5604,301 @@ var init_logging = __esm({
|
|
|
5601
5604
|
}
|
|
5602
5605
|
});
|
|
5603
5606
|
|
|
5607
|
+
// ../../node_modules/dayjs/dayjs.min.js
|
|
5608
|
+
var require_dayjs_min = __commonJS({
|
|
5609
|
+
"../../node_modules/dayjs/dayjs.min.js"(exports, module2) {
|
|
5610
|
+
"use strict";
|
|
5611
|
+
!function(t, e) {
|
|
5612
|
+
"object" == typeof exports && "undefined" != typeof module2 ? module2.exports = e() : "function" == typeof define && define.amd ? define(e) : (t = "undefined" != typeof globalThis ? globalThis : t || self).dayjs = e();
|
|
5613
|
+
}(exports, function() {
|
|
5614
|
+
"use strict";
|
|
5615
|
+
var t = 1e3, e = 6e4, n = 36e5, r = "millisecond", i = "second", s = "minute", u = "hour", a = "day", o = "week", c = "month", f = "quarter", h = "year", d = "date", l = "Invalid Date", $ = /^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/, y = /\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g, M = { name: "en", weekdays: "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"), months: "January_February_March_April_May_June_July_August_September_October_November_December".split("_"), ordinal: function(t2) {
|
|
5616
|
+
var e2 = ["th", "st", "nd", "rd"], n2 = t2 % 100;
|
|
5617
|
+
return "[" + t2 + (e2[(n2 - 20) % 10] || e2[n2] || e2[0]) + "]";
|
|
5618
|
+
} }, m = function(t2, e2, n2) {
|
|
5619
|
+
var r2 = String(t2);
|
|
5620
|
+
return !r2 || r2.length >= e2 ? t2 : "" + Array(e2 + 1 - r2.length).join(n2) + t2;
|
|
5621
|
+
}, v = { s: m, z: function(t2) {
|
|
5622
|
+
var e2 = -t2.utcOffset(), n2 = Math.abs(e2), r2 = Math.floor(n2 / 60), i2 = n2 % 60;
|
|
5623
|
+
return (e2 <= 0 ? "+" : "-") + m(r2, 2, "0") + ":" + m(i2, 2, "0");
|
|
5624
|
+
}, m: function t2(e2, n2) {
|
|
5625
|
+
if (e2.date() < n2.date())
|
|
5626
|
+
return -t2(n2, e2);
|
|
5627
|
+
var r2 = 12 * (n2.year() - e2.year()) + (n2.month() - e2.month()), i2 = e2.clone().add(r2, c), s2 = n2 - i2 < 0, u2 = e2.clone().add(r2 + (s2 ? -1 : 1), c);
|
|
5628
|
+
return +(-(r2 + (n2 - i2) / (s2 ? i2 - u2 : u2 - i2)) || 0);
|
|
5629
|
+
}, a: function(t2) {
|
|
5630
|
+
return t2 < 0 ? Math.ceil(t2) || 0 : Math.floor(t2);
|
|
5631
|
+
}, p: function(t2) {
|
|
5632
|
+
return { M: c, y: h, w: o, d: a, D: d, h: u, m: s, s: i, ms: r, Q: f }[t2] || String(t2 || "").toLowerCase().replace(/s$/, "");
|
|
5633
|
+
}, u: function(t2) {
|
|
5634
|
+
return void 0 === t2;
|
|
5635
|
+
} }, g = "en", D = {};
|
|
5636
|
+
D[g] = M;
|
|
5637
|
+
var p = function(t2) {
|
|
5638
|
+
return t2 instanceof b;
|
|
5639
|
+
}, S = function t2(e2, n2, r2) {
|
|
5640
|
+
var i2;
|
|
5641
|
+
if (!e2)
|
|
5642
|
+
return g;
|
|
5643
|
+
if ("string" == typeof e2) {
|
|
5644
|
+
var s2 = e2.toLowerCase();
|
|
5645
|
+
D[s2] && (i2 = s2), n2 && (D[s2] = n2, i2 = s2);
|
|
5646
|
+
var u2 = e2.split("-");
|
|
5647
|
+
if (!i2 && u2.length > 1)
|
|
5648
|
+
return t2(u2[0]);
|
|
5649
|
+
} else {
|
|
5650
|
+
var a2 = e2.name;
|
|
5651
|
+
D[a2] = e2, i2 = a2;
|
|
5652
|
+
}
|
|
5653
|
+
return !r2 && i2 && (g = i2), i2 || !r2 && g;
|
|
5654
|
+
}, w = function(t2, e2) {
|
|
5655
|
+
if (p(t2))
|
|
5656
|
+
return t2.clone();
|
|
5657
|
+
var n2 = "object" == typeof e2 ? e2 : {};
|
|
5658
|
+
return n2.date = t2, n2.args = arguments, new b(n2);
|
|
5659
|
+
}, O = v;
|
|
5660
|
+
O.l = S, O.i = p, O.w = function(t2, e2) {
|
|
5661
|
+
return w(t2, { locale: e2.$L, utc: e2.$u, x: e2.$x, $offset: e2.$offset });
|
|
5662
|
+
};
|
|
5663
|
+
var b = function() {
|
|
5664
|
+
function M2(t2) {
|
|
5665
|
+
this.$L = S(t2.locale, null, true), this.parse(t2);
|
|
5666
|
+
}
|
|
5667
|
+
var m2 = M2.prototype;
|
|
5668
|
+
return m2.parse = function(t2) {
|
|
5669
|
+
this.$d = function(t3) {
|
|
5670
|
+
var e2 = t3.date, n2 = t3.utc;
|
|
5671
|
+
if (null === e2)
|
|
5672
|
+
return /* @__PURE__ */ new Date(NaN);
|
|
5673
|
+
if (O.u(e2))
|
|
5674
|
+
return /* @__PURE__ */ new Date();
|
|
5675
|
+
if (e2 instanceof Date)
|
|
5676
|
+
return new Date(e2);
|
|
5677
|
+
if ("string" == typeof e2 && !/Z$/i.test(e2)) {
|
|
5678
|
+
var r2 = e2.match($);
|
|
5679
|
+
if (r2) {
|
|
5680
|
+
var i2 = r2[2] - 1 || 0, s2 = (r2[7] || "0").substring(0, 3);
|
|
5681
|
+
return n2 ? new Date(Date.UTC(r2[1], i2, r2[3] || 1, r2[4] || 0, r2[5] || 0, r2[6] || 0, s2)) : new Date(r2[1], i2, r2[3] || 1, r2[4] || 0, r2[5] || 0, r2[6] || 0, s2);
|
|
5682
|
+
}
|
|
5683
|
+
}
|
|
5684
|
+
return new Date(e2);
|
|
5685
|
+
}(t2), this.$x = t2.x || {}, this.init();
|
|
5686
|
+
}, m2.init = function() {
|
|
5687
|
+
var t2 = this.$d;
|
|
5688
|
+
this.$y = t2.getFullYear(), this.$M = t2.getMonth(), this.$D = t2.getDate(), this.$W = t2.getDay(), this.$H = t2.getHours(), this.$m = t2.getMinutes(), this.$s = t2.getSeconds(), this.$ms = t2.getMilliseconds();
|
|
5689
|
+
}, m2.$utils = function() {
|
|
5690
|
+
return O;
|
|
5691
|
+
}, m2.isValid = function() {
|
|
5692
|
+
return !(this.$d.toString() === l);
|
|
5693
|
+
}, m2.isSame = function(t2, e2) {
|
|
5694
|
+
var n2 = w(t2);
|
|
5695
|
+
return this.startOf(e2) <= n2 && n2 <= this.endOf(e2);
|
|
5696
|
+
}, m2.isAfter = function(t2, e2) {
|
|
5697
|
+
return w(t2) < this.startOf(e2);
|
|
5698
|
+
}, m2.isBefore = function(t2, e2) {
|
|
5699
|
+
return this.endOf(e2) < w(t2);
|
|
5700
|
+
}, m2.$g = function(t2, e2, n2) {
|
|
5701
|
+
return O.u(t2) ? this[e2] : this.set(n2, t2);
|
|
5702
|
+
}, m2.unix = function() {
|
|
5703
|
+
return Math.floor(this.valueOf() / 1e3);
|
|
5704
|
+
}, m2.valueOf = function() {
|
|
5705
|
+
return this.$d.getTime();
|
|
5706
|
+
}, m2.startOf = function(t2, e2) {
|
|
5707
|
+
var n2 = this, r2 = !!O.u(e2) || e2, f2 = O.p(t2), l2 = function(t3, e3) {
|
|
5708
|
+
var i2 = O.w(n2.$u ? Date.UTC(n2.$y, e3, t3) : new Date(n2.$y, e3, t3), n2);
|
|
5709
|
+
return r2 ? i2 : i2.endOf(a);
|
|
5710
|
+
}, $2 = function(t3, e3) {
|
|
5711
|
+
return O.w(n2.toDate()[t3].apply(n2.toDate("s"), (r2 ? [0, 0, 0, 0] : [23, 59, 59, 999]).slice(e3)), n2);
|
|
5712
|
+
}, y2 = this.$W, M3 = this.$M, m3 = this.$D, v2 = "set" + (this.$u ? "UTC" : "");
|
|
5713
|
+
switch (f2) {
|
|
5714
|
+
case h:
|
|
5715
|
+
return r2 ? l2(1, 0) : l2(31, 11);
|
|
5716
|
+
case c:
|
|
5717
|
+
return r2 ? l2(1, M3) : l2(0, M3 + 1);
|
|
5718
|
+
case o:
|
|
5719
|
+
var g2 = this.$locale().weekStart || 0, D2 = (y2 < g2 ? y2 + 7 : y2) - g2;
|
|
5720
|
+
return l2(r2 ? m3 - D2 : m3 + (6 - D2), M3);
|
|
5721
|
+
case a:
|
|
5722
|
+
case d:
|
|
5723
|
+
return $2(v2 + "Hours", 0);
|
|
5724
|
+
case u:
|
|
5725
|
+
return $2(v2 + "Minutes", 1);
|
|
5726
|
+
case s:
|
|
5727
|
+
return $2(v2 + "Seconds", 2);
|
|
5728
|
+
case i:
|
|
5729
|
+
return $2(v2 + "Milliseconds", 3);
|
|
5730
|
+
default:
|
|
5731
|
+
return this.clone();
|
|
5732
|
+
}
|
|
5733
|
+
}, m2.endOf = function(t2) {
|
|
5734
|
+
return this.startOf(t2, false);
|
|
5735
|
+
}, m2.$set = function(t2, e2) {
|
|
5736
|
+
var n2, o2 = O.p(t2), f2 = "set" + (this.$u ? "UTC" : ""), l2 = (n2 = {}, n2[a] = f2 + "Date", n2[d] = f2 + "Date", n2[c] = f2 + "Month", n2[h] = f2 + "FullYear", n2[u] = f2 + "Hours", n2[s] = f2 + "Minutes", n2[i] = f2 + "Seconds", n2[r] = f2 + "Milliseconds", n2)[o2], $2 = o2 === a ? this.$D + (e2 - this.$W) : e2;
|
|
5737
|
+
if (o2 === c || o2 === h) {
|
|
5738
|
+
var y2 = this.clone().set(d, 1);
|
|
5739
|
+
y2.$d[l2]($2), y2.init(), this.$d = y2.set(d, Math.min(this.$D, y2.daysInMonth())).$d;
|
|
5740
|
+
} else
|
|
5741
|
+
l2 && this.$d[l2]($2);
|
|
5742
|
+
return this.init(), this;
|
|
5743
|
+
}, m2.set = function(t2, e2) {
|
|
5744
|
+
return this.clone().$set(t2, e2);
|
|
5745
|
+
}, m2.get = function(t2) {
|
|
5746
|
+
return this[O.p(t2)]();
|
|
5747
|
+
}, m2.add = function(r2, f2) {
|
|
5748
|
+
var d2, l2 = this;
|
|
5749
|
+
r2 = Number(r2);
|
|
5750
|
+
var $2 = O.p(f2), y2 = function(t2) {
|
|
5751
|
+
var e2 = w(l2);
|
|
5752
|
+
return O.w(e2.date(e2.date() + Math.round(t2 * r2)), l2);
|
|
5753
|
+
};
|
|
5754
|
+
if ($2 === c)
|
|
5755
|
+
return this.set(c, this.$M + r2);
|
|
5756
|
+
if ($2 === h)
|
|
5757
|
+
return this.set(h, this.$y + r2);
|
|
5758
|
+
if ($2 === a)
|
|
5759
|
+
return y2(1);
|
|
5760
|
+
if ($2 === o)
|
|
5761
|
+
return y2(7);
|
|
5762
|
+
var M3 = (d2 = {}, d2[s] = e, d2[u] = n, d2[i] = t, d2)[$2] || 1, m3 = this.$d.getTime() + r2 * M3;
|
|
5763
|
+
return O.w(m3, this);
|
|
5764
|
+
}, m2.subtract = function(t2, e2) {
|
|
5765
|
+
return this.add(-1 * t2, e2);
|
|
5766
|
+
}, m2.format = function(t2) {
|
|
5767
|
+
var e2 = this, n2 = this.$locale();
|
|
5768
|
+
if (!this.isValid())
|
|
5769
|
+
return n2.invalidDate || l;
|
|
5770
|
+
var r2 = t2 || "YYYY-MM-DDTHH:mm:ssZ", i2 = O.z(this), s2 = this.$H, u2 = this.$m, a2 = this.$M, o2 = n2.weekdays, c2 = n2.months, f2 = n2.meridiem, h2 = function(t3, n3, i3, s3) {
|
|
5771
|
+
return t3 && (t3[n3] || t3(e2, r2)) || i3[n3].slice(0, s3);
|
|
5772
|
+
}, d2 = function(t3) {
|
|
5773
|
+
return O.s(s2 % 12 || 12, t3, "0");
|
|
5774
|
+
}, $2 = f2 || function(t3, e3, n3) {
|
|
5775
|
+
var r3 = t3 < 12 ? "AM" : "PM";
|
|
5776
|
+
return n3 ? r3.toLowerCase() : r3;
|
|
5777
|
+
};
|
|
5778
|
+
return r2.replace(y, function(t3, r3) {
|
|
5779
|
+
return r3 || function(t4) {
|
|
5780
|
+
switch (t4) {
|
|
5781
|
+
case "YY":
|
|
5782
|
+
return String(e2.$y).slice(-2);
|
|
5783
|
+
case "YYYY":
|
|
5784
|
+
return O.s(e2.$y, 4, "0");
|
|
5785
|
+
case "M":
|
|
5786
|
+
return a2 + 1;
|
|
5787
|
+
case "MM":
|
|
5788
|
+
return O.s(a2 + 1, 2, "0");
|
|
5789
|
+
case "MMM":
|
|
5790
|
+
return h2(n2.monthsShort, a2, c2, 3);
|
|
5791
|
+
case "MMMM":
|
|
5792
|
+
return h2(c2, a2);
|
|
5793
|
+
case "D":
|
|
5794
|
+
return e2.$D;
|
|
5795
|
+
case "DD":
|
|
5796
|
+
return O.s(e2.$D, 2, "0");
|
|
5797
|
+
case "d":
|
|
5798
|
+
return String(e2.$W);
|
|
5799
|
+
case "dd":
|
|
5800
|
+
return h2(n2.weekdaysMin, e2.$W, o2, 2);
|
|
5801
|
+
case "ddd":
|
|
5802
|
+
return h2(n2.weekdaysShort, e2.$W, o2, 3);
|
|
5803
|
+
case "dddd":
|
|
5804
|
+
return o2[e2.$W];
|
|
5805
|
+
case "H":
|
|
5806
|
+
return String(s2);
|
|
5807
|
+
case "HH":
|
|
5808
|
+
return O.s(s2, 2, "0");
|
|
5809
|
+
case "h":
|
|
5810
|
+
return d2(1);
|
|
5811
|
+
case "hh":
|
|
5812
|
+
return d2(2);
|
|
5813
|
+
case "a":
|
|
5814
|
+
return $2(s2, u2, true);
|
|
5815
|
+
case "A":
|
|
5816
|
+
return $2(s2, u2, false);
|
|
5817
|
+
case "m":
|
|
5818
|
+
return String(u2);
|
|
5819
|
+
case "mm":
|
|
5820
|
+
return O.s(u2, 2, "0");
|
|
5821
|
+
case "s":
|
|
5822
|
+
return String(e2.$s);
|
|
5823
|
+
case "ss":
|
|
5824
|
+
return O.s(e2.$s, 2, "0");
|
|
5825
|
+
case "SSS":
|
|
5826
|
+
return O.s(e2.$ms, 3, "0");
|
|
5827
|
+
case "Z":
|
|
5828
|
+
return i2;
|
|
5829
|
+
}
|
|
5830
|
+
return null;
|
|
5831
|
+
}(t3) || i2.replace(":", "");
|
|
5832
|
+
});
|
|
5833
|
+
}, m2.utcOffset = function() {
|
|
5834
|
+
return 15 * -Math.round(this.$d.getTimezoneOffset() / 15);
|
|
5835
|
+
}, m2.diff = function(r2, d2, l2) {
|
|
5836
|
+
var $2, y2 = this, M3 = O.p(d2), m3 = w(r2), v2 = (m3.utcOffset() - this.utcOffset()) * e, g2 = this - m3, D2 = function() {
|
|
5837
|
+
return O.m(y2, m3);
|
|
5838
|
+
};
|
|
5839
|
+
switch (M3) {
|
|
5840
|
+
case h:
|
|
5841
|
+
$2 = D2() / 12;
|
|
5842
|
+
break;
|
|
5843
|
+
case c:
|
|
5844
|
+
$2 = D2();
|
|
5845
|
+
break;
|
|
5846
|
+
case f:
|
|
5847
|
+
$2 = D2() / 3;
|
|
5848
|
+
break;
|
|
5849
|
+
case o:
|
|
5850
|
+
$2 = (g2 - v2) / 6048e5;
|
|
5851
|
+
break;
|
|
5852
|
+
case a:
|
|
5853
|
+
$2 = (g2 - v2) / 864e5;
|
|
5854
|
+
break;
|
|
5855
|
+
case u:
|
|
5856
|
+
$2 = g2 / n;
|
|
5857
|
+
break;
|
|
5858
|
+
case s:
|
|
5859
|
+
$2 = g2 / e;
|
|
5860
|
+
break;
|
|
5861
|
+
case i:
|
|
5862
|
+
$2 = g2 / t;
|
|
5863
|
+
break;
|
|
5864
|
+
default:
|
|
5865
|
+
$2 = g2;
|
|
5866
|
+
}
|
|
5867
|
+
return l2 ? $2 : O.a($2);
|
|
5868
|
+
}, m2.daysInMonth = function() {
|
|
5869
|
+
return this.endOf(c).$D;
|
|
5870
|
+
}, m2.$locale = function() {
|
|
5871
|
+
return D[this.$L];
|
|
5872
|
+
}, m2.locale = function(t2, e2) {
|
|
5873
|
+
if (!t2)
|
|
5874
|
+
return this.$L;
|
|
5875
|
+
var n2 = this.clone(), r2 = S(t2, e2, true);
|
|
5876
|
+
return r2 && (n2.$L = r2), n2;
|
|
5877
|
+
}, m2.clone = function() {
|
|
5878
|
+
return O.w(this.$d, this);
|
|
5879
|
+
}, m2.toDate = function() {
|
|
5880
|
+
return new Date(this.valueOf());
|
|
5881
|
+
}, m2.toJSON = function() {
|
|
5882
|
+
return this.isValid() ? this.toISOString() : null;
|
|
5883
|
+
}, m2.toISOString = function() {
|
|
5884
|
+
return this.$d.toISOString();
|
|
5885
|
+
}, m2.toString = function() {
|
|
5886
|
+
return this.$d.toUTCString();
|
|
5887
|
+
}, M2;
|
|
5888
|
+
}(), _2 = b.prototype;
|
|
5889
|
+
return w.prototype = _2, [["$ms", r], ["$s", i], ["$m", s], ["$H", u], ["$W", a], ["$M", c], ["$y", h], ["$D", d]].forEach(function(t2) {
|
|
5890
|
+
_2[t2[1]] = function(e2) {
|
|
5891
|
+
return this.$g(e2, t2[0], t2[1]);
|
|
5892
|
+
};
|
|
5893
|
+
}), w.extend = function(t2, e2) {
|
|
5894
|
+
return t2.$i || (t2(e2, b, w), t2.$i = true), w;
|
|
5895
|
+
}, w.locale = S, w.isDayjs = p, w.unix = function(t2) {
|
|
5896
|
+
return w(1e3 * t2);
|
|
5897
|
+
}, w.en = D[g], w.Ls = D, w.p = {}, w;
|
|
5898
|
+
});
|
|
5899
|
+
}
|
|
5900
|
+
});
|
|
5901
|
+
|
|
5604
5902
|
// src/index.ts
|
|
5605
5903
|
var src_exports = {};
|
|
5606
5904
|
__export(src_exports, {
|
|
@@ -6377,6 +6675,7 @@ __export(users_exports3, {
|
|
|
6377
6675
|
bulkGetGlobalUsersById: () => bulkGetGlobalUsersById,
|
|
6378
6676
|
bulkUpdateGlobalUsers: () => bulkUpdateGlobalUsers,
|
|
6379
6677
|
cleanseUserObject: () => cleanseUserObject,
|
|
6678
|
+
doesUserExist: () => doesUserExist,
|
|
6380
6679
|
getAccountHolderFromUserIds: () => getAccountHolderFromUserIds,
|
|
6381
6680
|
getAllUserIds: () => getAllUserIds,
|
|
6382
6681
|
getById: () => getById,
|
|
@@ -6949,6 +7248,7 @@ var OperatorOptions = {
|
|
|
6949
7248
|
|
|
6950
7249
|
// ../shared-core/src/filters.ts
|
|
6951
7250
|
init_src();
|
|
7251
|
+
var import_dayjs = __toESM(require_dayjs_min());
|
|
6952
7252
|
|
|
6953
7253
|
// ../shared-core/src/helpers/integrations.ts
|
|
6954
7254
|
init_src();
|
|
@@ -7193,7 +7493,7 @@ function removeUserPassword(users) {
|
|
|
7193
7493
|
}
|
|
7194
7494
|
return users;
|
|
7195
7495
|
}
|
|
7196
|
-
|
|
7496
|
+
function isSupportedUserSearch(query) {
|
|
7197
7497
|
const allowed = [
|
|
7198
7498
|
{ op: "string" /* STRING */, key: "email" },
|
|
7199
7499
|
{ op: "equal" /* EQUAL */, key: "_id" }
|
|
@@ -7214,8 +7514,8 @@ var isSupportedUserSearch = (query) => {
|
|
|
7214
7514
|
}
|
|
7215
7515
|
}
|
|
7216
7516
|
return true;
|
|
7217
|
-
}
|
|
7218
|
-
|
|
7517
|
+
}
|
|
7518
|
+
async function bulkGetGlobalUsersById(userIds, opts) {
|
|
7219
7519
|
const db = getGlobalDB();
|
|
7220
7520
|
let users = (await db.allDocs({
|
|
7221
7521
|
keys: userIds,
|
|
@@ -7225,8 +7525,8 @@ var bulkGetGlobalUsersById = async (userIds, opts) => {
|
|
|
7225
7525
|
users = removeUserPassword(users);
|
|
7226
7526
|
}
|
|
7227
7527
|
return users;
|
|
7228
|
-
}
|
|
7229
|
-
|
|
7528
|
+
}
|
|
7529
|
+
async function getAllUserIds() {
|
|
7230
7530
|
const db = getGlobalDB();
|
|
7231
7531
|
const startKey = `${"us" /* USER */}${SEPARATOR}`;
|
|
7232
7532
|
const response = await db.allDocs({
|
|
@@ -7234,11 +7534,11 @@ var getAllUserIds = async () => {
|
|
|
7234
7534
|
endkey: `${startKey}${UNICODE_MAX}`
|
|
7235
7535
|
});
|
|
7236
7536
|
return response.rows.map((row) => row.id);
|
|
7237
|
-
}
|
|
7238
|
-
|
|
7537
|
+
}
|
|
7538
|
+
async function bulkUpdateGlobalUsers(users) {
|
|
7239
7539
|
const db = getGlobalDB();
|
|
7240
7540
|
return await db.bulkDocs(users);
|
|
7241
|
-
}
|
|
7541
|
+
}
|
|
7242
7542
|
async function getById(id, opts) {
|
|
7243
7543
|
const db = getGlobalDB();
|
|
7244
7544
|
let user = await db.get(id);
|
|
@@ -7247,7 +7547,7 @@ async function getById(id, opts) {
|
|
|
7247
7547
|
}
|
|
7248
7548
|
return user;
|
|
7249
7549
|
}
|
|
7250
|
-
|
|
7550
|
+
async function getGlobalUserByEmail(email, opts) {
|
|
7251
7551
|
if (email == null) {
|
|
7252
7552
|
throw "Must supply an email address to view";
|
|
7253
7553
|
}
|
|
@@ -7263,8 +7563,19 @@ var getGlobalUserByEmail = async (email, opts) => {
|
|
|
7263
7563
|
user = removeUserPassword(user);
|
|
7264
7564
|
}
|
|
7265
7565
|
return user;
|
|
7266
|
-
}
|
|
7267
|
-
|
|
7566
|
+
}
|
|
7567
|
+
async function doesUserExist(email) {
|
|
7568
|
+
try {
|
|
7569
|
+
const user = await getGlobalUserByEmail(email);
|
|
7570
|
+
if (Array.isArray(user) || user != null) {
|
|
7571
|
+
return true;
|
|
7572
|
+
}
|
|
7573
|
+
} catch (err) {
|
|
7574
|
+
return false;
|
|
7575
|
+
}
|
|
7576
|
+
return false;
|
|
7577
|
+
}
|
|
7578
|
+
async function searchGlobalUsersByApp(appId, opts, getOpts) {
|
|
7268
7579
|
if (typeof appId !== "string") {
|
|
7269
7580
|
throw new Error("Must provide a string based app ID");
|
|
7270
7581
|
}
|
|
@@ -7281,8 +7592,8 @@ var searchGlobalUsersByApp = async (appId, opts, getOpts) => {
|
|
|
7281
7592
|
users = removeUserPassword(users);
|
|
7282
7593
|
}
|
|
7283
7594
|
return users;
|
|
7284
|
-
}
|
|
7285
|
-
|
|
7595
|
+
}
|
|
7596
|
+
async function searchGlobalUsersByAppAccess(appId, opts) {
|
|
7286
7597
|
const roleSelector = `roles.${appId}`;
|
|
7287
7598
|
let orQuery = [
|
|
7288
7599
|
{
|
|
@@ -7311,14 +7622,14 @@ var searchGlobalUsersByAppAccess = async (appId, opts) => {
|
|
|
7311
7622
|
};
|
|
7312
7623
|
const resp = await directCouchFind(getGlobalDBName(), searchOptions);
|
|
7313
7624
|
return resp.rows;
|
|
7314
|
-
}
|
|
7315
|
-
|
|
7625
|
+
}
|
|
7626
|
+
function getGlobalUserByAppPage(appId, user) {
|
|
7316
7627
|
if (!user) {
|
|
7317
7628
|
return;
|
|
7318
7629
|
}
|
|
7319
7630
|
return generateAppUserID(getProdAppID(appId), user._id);
|
|
7320
|
-
}
|
|
7321
|
-
|
|
7631
|
+
}
|
|
7632
|
+
async function searchGlobalUsersByEmail(email, opts, getOpts) {
|
|
7322
7633
|
if (typeof email !== "string") {
|
|
7323
7634
|
throw new Error("Must provide a string to search by");
|
|
7324
7635
|
}
|
|
@@ -7337,14 +7648,14 @@ var searchGlobalUsersByEmail = async (email, opts, getOpts) => {
|
|
|
7337
7648
|
users = removeUserPassword(users);
|
|
7338
7649
|
}
|
|
7339
7650
|
return users;
|
|
7340
|
-
}
|
|
7651
|
+
}
|
|
7341
7652
|
var PAGE_LIMIT = 8;
|
|
7342
|
-
|
|
7653
|
+
async function paginatedUsers({
|
|
7343
7654
|
bookmark,
|
|
7344
7655
|
query,
|
|
7345
7656
|
appId,
|
|
7346
7657
|
limit
|
|
7347
|
-
} = {})
|
|
7658
|
+
} = {}) {
|
|
7348
7659
|
const db = getGlobalDB();
|
|
7349
7660
|
const pageSize = limit ?? PAGE_LIMIT;
|
|
7350
7661
|
const pageLimit = pageSize + 1;
|
|
@@ -7373,7 +7684,7 @@ var paginatedUsers = async ({
|
|
|
7373
7684
|
property,
|
|
7374
7685
|
getKey
|
|
7375
7686
|
});
|
|
7376
|
-
}
|
|
7687
|
+
}
|
|
7377
7688
|
async function getUserCount() {
|
|
7378
7689
|
const response = await queryGlobalViewRaw("by_email2" /* USER_BY_EMAIL */, {
|
|
7379
7690
|
limit: 0,
|
|
@@ -8126,7 +8437,6 @@ __export(installation_exports, {
|
|
|
8126
8437
|
getInstallFromDB: () => getInstallFromDB
|
|
8127
8438
|
});
|
|
8128
8439
|
init_db4();
|
|
8129
|
-
init_db4();
|
|
8130
8440
|
init_src();
|
|
8131
8441
|
init_context2();
|
|
8132
8442
|
var import_semver = __toESM(require("semver"));
|
|
@@ -10398,6 +10708,29 @@ var UserDB = class _UserDB {
|
|
|
10398
10708
|
await user_exports.invalidateUser(userId);
|
|
10399
10709
|
await invalidateSessions(userId, { reason: "deletion" });
|
|
10400
10710
|
}
|
|
10711
|
+
static async createAdminUser(email, password, tenantId, opts) {
|
|
10712
|
+
const user = {
|
|
10713
|
+
email,
|
|
10714
|
+
password,
|
|
10715
|
+
createdAt: Date.now(),
|
|
10716
|
+
roles: {},
|
|
10717
|
+
builder: {
|
|
10718
|
+
global: true
|
|
10719
|
+
},
|
|
10720
|
+
admin: {
|
|
10721
|
+
global: true
|
|
10722
|
+
},
|
|
10723
|
+
tenantId
|
|
10724
|
+
};
|
|
10725
|
+
if (opts?.ssoId) {
|
|
10726
|
+
user.ssoId = opts.ssoId;
|
|
10727
|
+
}
|
|
10728
|
+
await bustCache("checklist" /* CHECKLIST */);
|
|
10729
|
+
return await _UserDB.save(user, {
|
|
10730
|
+
hashPassword: opts?.hashPassword,
|
|
10731
|
+
requirePassword: opts?.requirePassword
|
|
10732
|
+
});
|
|
10733
|
+
}
|
|
10401
10734
|
static async getGroups(groupIds) {
|
|
10402
10735
|
return await this.groups.getBulk(groupIds);
|
|
10403
10736
|
}
|
|
@@ -10635,7 +10968,6 @@ async function getCode2(code) {
|
|
|
10635
10968
|
// src/configs/configs.ts
|
|
10636
10969
|
init_context2();
|
|
10637
10970
|
init_environment2();
|
|
10638
|
-
init_environment2();
|
|
10639
10971
|
function generateConfigID(type) {
|
|
10640
10972
|
return `${"config" /* CONFIG */}${SEPARATOR}${type}`;
|
|
10641
10973
|
}
|
|
@@ -11147,7 +11479,6 @@ var GLOBAL_BUILDER = "globalBuilder" /* GLOBAL_BUILDER */;
|
|
|
11147
11479
|
// src/security/roles.ts
|
|
11148
11480
|
init_db4();
|
|
11149
11481
|
init_context2();
|
|
11150
|
-
init_db4();
|
|
11151
11482
|
var import_cloneDeep2 = __toESM(require("lodash/fp/cloneDeep"));
|
|
11152
11483
|
var BUILTIN_ROLE_IDS = {
|
|
11153
11484
|
ADMIN: "ADMIN",
|