@laboratoria/sdk-js 7.1.0 → 7.1.2
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/laboratoria-sdk-es.js +101 -54
- package/dist/laboratoria-sdk-umd.js +5 -5
- package/package.json +6 -6
@@ -253,13 +253,13 @@ function Un() {
|
|
253
253
|
* See the License for the specific language governing permissions and
|
254
254
|
* limitations under the License.
|
255
255
|
*/
|
256
|
-
const jn = () => Un().__FIREBASE_DEFAULTS__,
|
256
|
+
const jn = () => Un().__FIREBASE_DEFAULTS__, Bn = () => {
|
257
257
|
if (typeof process > "u" || typeof process.env > "u")
|
258
258
|
return;
|
259
259
|
const n = process.env.__FIREBASE_DEFAULTS__;
|
260
260
|
if (n)
|
261
261
|
return JSON.parse(n);
|
262
|
-
},
|
262
|
+
}, Fn = () => {
|
263
263
|
if (typeof document > "u")
|
264
264
|
return;
|
265
265
|
let n;
|
@@ -272,7 +272,7 @@ const jn = () => Un().__FIREBASE_DEFAULTS__, Fn = () => {
|
|
272
272
|
return e && JSON.parse(e);
|
273
273
|
}, nt = () => {
|
274
274
|
try {
|
275
|
-
return jn() ||
|
275
|
+
return jn() || Bn() || Fn();
|
276
276
|
} catch (n) {
|
277
277
|
console.info(`Unable to get __FIREBASE_DEFAULTS__ due to: ${n}`);
|
278
278
|
return;
|
@@ -603,7 +603,7 @@ function He() {
|
|
603
603
|
* See the License for the specific language governing permissions and
|
604
604
|
* limitations under the License.
|
605
605
|
*/
|
606
|
-
function
|
606
|
+
function B(n) {
|
607
607
|
return n && n._delegate ? n._delegate : n;
|
608
608
|
}
|
609
609
|
class ae {
|
@@ -1145,7 +1145,7 @@ function wr(n) {
|
|
1145
1145
|
const e = n.getComponent();
|
1146
1146
|
return (e == null ? void 0 : e.type) === "VERSION";
|
1147
1147
|
}
|
1148
|
-
const Ye = "@firebase/app", _t = "0.9.
|
1148
|
+
const Ye = "@firebase/app", _t = "0.9.26";
|
1149
1149
|
/**
|
1150
1150
|
* @license
|
1151
1151
|
* Copyright 2019 Google LLC
|
@@ -1162,7 +1162,7 @@ const Ye = "@firebase/app", _t = "0.9.25";
|
|
1162
1162
|
* See the License for the specific language governing permissions and
|
1163
1163
|
* limitations under the License.
|
1164
1164
|
*/
|
1165
|
-
const ee = new Kt("@firebase/app"), Er = "@firebase/app-compat", Tr = "@firebase/analytics-compat", Ar = "@firebase/analytics", Sr = "@firebase/app-check-compat", Cr = "@firebase/app-check", Rr = "@firebase/auth", Pr = "@firebase/auth-compat", Or = "@firebase/database", kr = "@firebase/database-compat", Nr = "@firebase/functions", Dr = "@firebase/functions-compat", Lr = "@firebase/installations", $r = "@firebase/installations-compat", Mr = "@firebase/messaging", Ur = "@firebase/messaging-compat", jr = "@firebase/performance",
|
1165
|
+
const ee = new Kt("@firebase/app"), Er = "@firebase/app-compat", Tr = "@firebase/analytics-compat", Ar = "@firebase/analytics", Sr = "@firebase/app-check-compat", Cr = "@firebase/app-check", Rr = "@firebase/auth", Pr = "@firebase/auth-compat", Or = "@firebase/database", kr = "@firebase/database-compat", Nr = "@firebase/functions", Dr = "@firebase/functions-compat", Lr = "@firebase/installations", $r = "@firebase/installations-compat", Mr = "@firebase/messaging", Ur = "@firebase/messaging-compat", jr = "@firebase/performance", Br = "@firebase/performance-compat", Fr = "@firebase/remote-config", Hr = "@firebase/remote-config-compat", Vr = "@firebase/storage", Wr = "@firebase/storage-compat", xr = "@firebase/firestore", zr = "@firebase/firestore-compat", qr = "firebase", Gr = "10.7.2";
|
1166
1166
|
/**
|
1167
1167
|
* @license
|
1168
1168
|
* Copyright 2019 Google LLC
|
@@ -1197,8 +1197,8 @@ const Qe = "[DEFAULT]", Jr = {
|
|
1197
1197
|
[Mr]: "fire-fcm",
|
1198
1198
|
[Ur]: "fire-fcm-compat",
|
1199
1199
|
[jr]: "fire-perf",
|
1200
|
-
[
|
1201
|
-
[
|
1200
|
+
[Br]: "fire-perf-compat",
|
1201
|
+
[Fr]: "fire-rc",
|
1202
1202
|
[Hr]: "fire-rc-compat",
|
1203
1203
|
[Vr]: "fire-gcs",
|
1204
1204
|
[Wr]: "fire-gcs-compat",
|
@@ -1423,7 +1423,11 @@ function en() {
|
|
1423
1423
|
upgrade: (n, e) => {
|
1424
1424
|
switch (e) {
|
1425
1425
|
case 0:
|
1426
|
-
|
1426
|
+
try {
|
1427
|
+
n.createObjectStore(pe);
|
1428
|
+
} catch (t) {
|
1429
|
+
console.warn(t);
|
1430
|
+
}
|
1427
1431
|
}
|
1428
1432
|
}
|
1429
1433
|
}).catch((n) => {
|
@@ -1626,7 +1630,7 @@ function ai(n) {
|
|
1626
1630
|
)), ie(Ye, _t, n), ie(Ye, _t, "esm2017"), ie("fire-js", "");
|
1627
1631
|
}
|
1628
1632
|
ai("");
|
1629
|
-
var ci = "firebase", li = "10.7.
|
1633
|
+
var ci = "firebase", li = "10.7.2";
|
1630
1634
|
/**
|
1631
1635
|
* @license
|
1632
1636
|
* Copyright 2020 Google LLC
|
@@ -2001,7 +2005,7 @@ const yi = new Ie(3e4, 6e4);
|
|
2001
2005
|
function Y(n, e) {
|
2002
2006
|
return n.tenantId && !e.tenantId ? Object.assign(Object.assign({}, e), { tenantId: n.tenantId }) : e;
|
2003
2007
|
}
|
2004
|
-
async function
|
2008
|
+
async function F(n, e, t, r, i = {}) {
|
2005
2009
|
return on(n, i, async () => {
|
2006
2010
|
let s = {}, o = {};
|
2007
2011
|
r && (e === "GET" ? o = r : s = {
|
@@ -2055,7 +2059,7 @@ async function on(n, e, t) {
|
|
2055
2059
|
}
|
2056
2060
|
}
|
2057
2061
|
async function Ue(n, e, t, r, i = {}) {
|
2058
|
-
const s = await
|
2062
|
+
const s = await F(n, e, t, r, i);
|
2059
2063
|
return "mfaPendingCredential" in s && N(n, "multi-factor-auth-required", {
|
2060
2064
|
_serverResponse: s
|
2061
2065
|
}), s;
|
@@ -2132,7 +2136,7 @@ class bi {
|
|
2132
2136
|
}
|
2133
2137
|
}
|
2134
2138
|
async function Ii(n, e) {
|
2135
|
-
return
|
2139
|
+
return F(n, "GET", "/v2/recaptchaConfig", Y(n, e));
|
2136
2140
|
}
|
2137
2141
|
/**
|
2138
2142
|
* @license
|
@@ -2151,10 +2155,10 @@ async function Ii(n, e) {
|
|
2151
2155
|
* limitations under the License.
|
2152
2156
|
*/
|
2153
2157
|
async function wi(n, e) {
|
2154
|
-
return
|
2158
|
+
return F(n, "POST", "/v1/accounts:delete", e);
|
2155
2159
|
}
|
2156
2160
|
async function Ei(n, e) {
|
2157
|
-
return
|
2161
|
+
return F(n, "POST", "/v1/accounts:lookup", e);
|
2158
2162
|
}
|
2159
2163
|
/**
|
2160
2164
|
* @license
|
@@ -2182,7 +2186,7 @@ function he(n) {
|
|
2182
2186
|
}
|
2183
2187
|
}
|
2184
2188
|
async function Ti(n, e = !1) {
|
2185
|
-
const t =
|
2189
|
+
const t = B(n), r = await t.getIdToken(e), i = at(r);
|
2186
2190
|
_(
|
2187
2191
|
i && i.exp && i.auth_time && i.iat,
|
2188
2192
|
t.auth,
|
@@ -2395,7 +2399,7 @@ async function Ne(n) {
|
|
2395
2399
|
Object.assign(n, b);
|
2396
2400
|
}
|
2397
2401
|
async function Ri(n) {
|
2398
|
-
const e =
|
2402
|
+
const e = B(n);
|
2399
2403
|
await Ne(e), await e.auth._persistUserIfCurrent(e), e.auth._notifyListenersIfCurrent(e);
|
2400
2404
|
}
|
2401
2405
|
function Pi(n, e) {
|
@@ -2452,7 +2456,7 @@ async function ki(n, e) {
|
|
2452
2456
|
};
|
2453
2457
|
}
|
2454
2458
|
async function Ni(n, e) {
|
2455
|
-
return
|
2459
|
+
return F(n, "POST", "/v2/accounts:revokeToken", Y(n, e));
|
2456
2460
|
}
|
2457
2461
|
/**
|
2458
2462
|
* @license
|
@@ -3030,7 +3034,7 @@ class Mi {
|
|
3030
3034
|
* limitations under the License.
|
3031
3035
|
*/
|
3032
3036
|
async function Ui(n, e = {}) {
|
3033
|
-
return
|
3037
|
+
return F(n, "GET", "/v2/passwordPolicy", Y(n, e));
|
3034
3038
|
}
|
3035
3039
|
/**
|
3036
3040
|
* @license
|
@@ -3049,7 +3053,7 @@ async function Ui(n, e = {}) {
|
|
3049
3053
|
* limitations under the License.
|
3050
3054
|
*/
|
3051
3055
|
const ji = 6;
|
3052
|
-
class
|
3056
|
+
class Bi {
|
3053
3057
|
constructor(e) {
|
3054
3058
|
var t, r, i, s;
|
3055
3059
|
const o = e.customStrengthOptions;
|
@@ -3136,7 +3140,7 @@ class Fi {
|
|
3136
3140
|
* See the License for the specific language governing permissions and
|
3137
3141
|
* limitations under the License.
|
3138
3142
|
*/
|
3139
|
-
class
|
3143
|
+
class Fi {
|
3140
3144
|
constructor(e, t, r, i) {
|
3141
3145
|
this.app = e, this.heartbeatServiceProvider = t, this.appCheckServiceProvider = r, this.config = i, this.currentUser = null, this.emulatorConfig = null, this.operations = Promise.resolve(), this.authStateSubscription = new Ct(this), this.idTokenSubscription = new Ct(this), this.beforeStateQueue = new Mi(this), this.redirectUser = null, this.isProactiveRefreshEnabled = !1, this.EXPECTED_PASSWORD_POLICY_SCHEMA_VERSION = 1, this._canInitEmulator = !0, this._isInitialized = !1, this._deleted = !1, this._initializationPromise = null, this._popupRedirectResolver = null, this._errorFactory = rn, this._agentRecaptchaConfig = null, this._tenantRecaptchaConfigs = {}, this._projectPasswordPolicy = null, this._tenantPasswordPolicies = {}, this.lastNotifiedUid = void 0, this.languageCode = null, this.tenantId = null, this.settings = { appVerificationDisabledForTesting: !1 }, this.frameworks = [], this.name = e.name, this.clientVersion = i.sdkClientVersion;
|
3142
3146
|
}
|
@@ -3224,7 +3228,7 @@ class Bi {
|
|
3224
3228
|
this._deleted = !0;
|
3225
3229
|
}
|
3226
3230
|
async updateCurrentUser(e) {
|
3227
|
-
const t = e ?
|
3231
|
+
const t = e ? B(e) : null;
|
3228
3232
|
return t && _(
|
3229
3233
|
t.auth.config.apiKey === this.config.apiKey,
|
3230
3234
|
this,
|
@@ -3267,7 +3271,7 @@ class Bi {
|
|
3267
3271
|
return this.tenantId === null ? this._projectPasswordPolicy : this._tenantPasswordPolicies[this.tenantId];
|
3268
3272
|
}
|
3269
3273
|
async _updatePasswordPolicy() {
|
3270
|
-
const e = await Ui(this), t = new
|
3274
|
+
const e = await Ui(this), t = new Bi(e);
|
3271
3275
|
this.tenantId === null ? this._projectPasswordPolicy = t : this._tenantPasswordPolicies[this.tenantId] = t;
|
3272
3276
|
}
|
3273
3277
|
_getPersistence() {
|
@@ -3454,7 +3458,7 @@ class Bi {
|
|
3454
3458
|
}
|
3455
3459
|
}
|
3456
3460
|
function ne(n) {
|
3457
|
-
return
|
3461
|
+
return B(n);
|
3458
3462
|
}
|
3459
3463
|
class Ct {
|
3460
3464
|
constructor(e) {
|
@@ -3750,7 +3754,7 @@ class lt {
|
|
3750
3754
|
}
|
3751
3755
|
}
|
3752
3756
|
async function Xi(n, e) {
|
3753
|
-
return
|
3757
|
+
return F(n, "POST", "/v1/accounts:signUp", e);
|
3754
3758
|
}
|
3755
3759
|
/**
|
3756
3760
|
* @license
|
@@ -3772,7 +3776,7 @@ async function Zi(n, e) {
|
|
3772
3776
|
return Ue(n, "POST", "/v1/accounts:signInWithPassword", Y(n, e));
|
3773
3777
|
}
|
3774
3778
|
async function es(n, e) {
|
3775
|
-
return
|
3779
|
+
return F(n, "POST", "/v1/accounts:sendOobCode", Y(n, e));
|
3776
3780
|
}
|
3777
3781
|
async function ts(n, e) {
|
3778
3782
|
return es(n, e);
|
@@ -4764,21 +4768,21 @@ async function hs(n, e, t) {
|
|
4764
4768
|
t && ds(r, i, t), await et(r, i, "getOobCode", ts);
|
4765
4769
|
}
|
4766
4770
|
function fs(n, e, t) {
|
4767
|
-
return ls(
|
4771
|
+
return ls(B(n), le.credential(e, t)).catch(async (r) => {
|
4768
4772
|
throw r.code === "auth/password-does-not-meet-requirements" && us(n), r;
|
4769
4773
|
});
|
4770
4774
|
}
|
4771
4775
|
function ps(n, e, t, r) {
|
4772
|
-
return
|
4776
|
+
return B(n).onIdTokenChanged(e, t, r);
|
4773
4777
|
}
|
4774
4778
|
function gs(n, e, t) {
|
4775
|
-
return
|
4779
|
+
return B(n).beforeAuthStateChanged(e, t);
|
4776
4780
|
}
|
4777
4781
|
function ms(n, e, t, r) {
|
4778
|
-
return
|
4782
|
+
return B(n).onAuthStateChanged(e, t, r);
|
4779
4783
|
}
|
4780
4784
|
function ys(n) {
|
4781
|
-
return
|
4785
|
+
return B(n).signOut();
|
4782
4786
|
}
|
4783
4787
|
const Le = "__sak";
|
4784
4788
|
/**
|
@@ -5007,7 +5011,7 @@ function ws(n) {
|
|
5007
5011
|
* See the License for the specific language governing permissions and
|
5008
5012
|
* limitations under the License.
|
5009
5013
|
*/
|
5010
|
-
class
|
5014
|
+
class Be {
|
5011
5015
|
constructor(e) {
|
5012
5016
|
this.eventTarget = e, this.handlersMap = {}, this.boundEventHandler = this.handleEvent.bind(this);
|
5013
5017
|
}
|
@@ -5021,7 +5025,7 @@ class Fe {
|
|
5021
5025
|
const t = this.receivers.find((i) => i.isListeningto(e));
|
5022
5026
|
if (t)
|
5023
5027
|
return t;
|
5024
|
-
const r = new
|
5028
|
+
const r = new Be(e);
|
5025
5029
|
return this.receivers.push(r), r;
|
5026
5030
|
}
|
5027
5031
|
isListeningto(e) {
|
@@ -5075,7 +5079,7 @@ class Fe {
|
|
5075
5079
|
this.handlersMap[e] && t && this.handlersMap[e].delete(t), (!t || this.handlersMap[e].size === 0) && delete this.handlersMap[e], Object.keys(this.handlersMap).length === 0 && this.eventTarget.removeEventListener("message", this.boundEventHandler);
|
5076
5080
|
}
|
5077
5081
|
}
|
5078
|
-
|
5082
|
+
Be.receivers = [];
|
5079
5083
|
/**
|
5080
5084
|
* @license
|
5081
5085
|
* Copyright 2020 Google LLC
|
@@ -5283,7 +5287,7 @@ class Ee {
|
|
5283
5287
|
});
|
5284
5288
|
}
|
5285
5289
|
}
|
5286
|
-
function
|
5290
|
+
function Fe(n, e) {
|
5287
5291
|
return n.transaction([$e], e ? "readwrite" : "readonly").objectStore($e);
|
5288
5292
|
}
|
5289
5293
|
function Ps() {
|
@@ -5309,18 +5313,18 @@ function tt() {
|
|
5309
5313
|
});
|
5310
5314
|
}
|
5311
5315
|
async function kt(n, e, t) {
|
5312
|
-
const r =
|
5316
|
+
const r = Fe(n, !0).put({
|
5313
5317
|
[Pn]: e,
|
5314
5318
|
value: t
|
5315
5319
|
});
|
5316
5320
|
return new Ee(r).toPromise();
|
5317
5321
|
}
|
5318
5322
|
async function Os(n, e) {
|
5319
|
-
const t =
|
5323
|
+
const t = Fe(n, !1).get(e), r = await new Ee(t).toPromise();
|
5320
5324
|
return r === void 0 ? null : r.value;
|
5321
5325
|
}
|
5322
5326
|
function Nt(n, e) {
|
5323
|
-
const t =
|
5327
|
+
const t = Fe(n, !0).delete(e);
|
5324
5328
|
return new Ee(t).toPromise();
|
5325
5329
|
}
|
5326
5330
|
const ks = 800, Ns = 3;
|
@@ -5356,7 +5360,7 @@ class On {
|
|
5356
5360
|
* As the worker we should listen to events from the main window.
|
5357
5361
|
*/
|
5358
5362
|
async initializeReceiver() {
|
5359
|
-
this.receiver =
|
5363
|
+
this.receiver = Be._getInstance(Cs()), this.receiver._subscribe("keyChanged", async (e, t) => ({
|
5360
5364
|
keyProcessed: (await this._poll()).includes(t.key)
|
5361
5365
|
})), this.receiver._subscribe("ping", async (e, t) => [
|
5362
5366
|
"keyChanged"
|
@@ -5438,7 +5442,7 @@ class On {
|
|
5438
5442
|
}
|
5439
5443
|
async _poll() {
|
5440
5444
|
const e = await this._withRetries((i) => {
|
5441
|
-
const s =
|
5445
|
+
const s = Fe(i, !1).getAll();
|
5442
5446
|
return new Ee(s).toPromise();
|
5443
5447
|
});
|
5444
5448
|
if (!e)
|
@@ -5752,8 +5756,8 @@ re.currentPopupAction = null;
|
|
5752
5756
|
* See the License for the specific language governing permissions and
|
5753
5757
|
* limitations under the License.
|
5754
5758
|
*/
|
5755
|
-
const
|
5756
|
-
class
|
5759
|
+
const Bs = "pendingRedirect", Ce = /* @__PURE__ */ new Map();
|
5760
|
+
class Fs extends kn {
|
5757
5761
|
constructor(e, t, r = !1) {
|
5758
5762
|
super(e, [
|
5759
5763
|
"signInViaRedirect",
|
@@ -5813,10 +5817,10 @@ function Ws(n) {
|
|
5813
5817
|
return U(n._redirectPersistence);
|
5814
5818
|
}
|
5815
5819
|
function xs(n) {
|
5816
|
-
return Se(
|
5820
|
+
return Se(Bs, n.config.apiKey, n.name);
|
5817
5821
|
}
|
5818
5822
|
async function zs(n, e, t = !1) {
|
5819
|
-
const r = ne(n), i = Ls(r, e), o = await new
|
5823
|
+
const r = ne(n), i = Ls(r, e), o = await new Fs(r, i, t).execute();
|
5820
5824
|
return o && !t && (delete o.user._redirectEventId, await r._persistUserIfCurrent(o.user), await r._setRedirectUser(null, e)), o;
|
5821
5825
|
}
|
5822
5826
|
/**
|
@@ -5908,7 +5912,7 @@ function Js(n) {
|
|
5908
5912
|
* limitations under the License.
|
5909
5913
|
*/
|
5910
5914
|
async function Ks(n, e = {}) {
|
5911
|
-
return
|
5915
|
+
return F(n, "GET", "/v1/projects", e);
|
5912
5916
|
}
|
5913
5917
|
/**
|
5914
5918
|
* @license
|
@@ -6399,7 +6403,7 @@ function So(n) {
|
|
6399
6403
|
tokenApiHost: "securetoken.googleapis.com",
|
6400
6404
|
apiScheme: "https",
|
6401
6405
|
sdkClientVersion: yn(n)
|
6402
|
-
}, u = new
|
6406
|
+
}, u = new Fi(r, i, s, a);
|
6403
6407
|
return Ji(u, t), u;
|
6404
6408
|
},
|
6405
6409
|
"PUBLIC"
|
@@ -6445,13 +6449,13 @@ function So(n) {
|
|
6445
6449
|
* limitations under the License.
|
6446
6450
|
*/
|
6447
6451
|
const Co = 5 * 60, Ro = Jt("authIdTokenMaxAge") || Co;
|
6448
|
-
let
|
6452
|
+
let Bt = null;
|
6449
6453
|
const Po = (n) => async (e) => {
|
6450
6454
|
const t = e && await e.getIdTokenResult(), r = t && ((/* @__PURE__ */ new Date()).getTime() - Date.parse(t.issuedAtTime)) / 1e3;
|
6451
6455
|
if (r && r > Ro)
|
6452
6456
|
return;
|
6453
6457
|
const i = t == null ? void 0 : t.token;
|
6454
|
-
|
6458
|
+
Bt !== i && (Bt = i, await fetch(n, {
|
6455
6459
|
method: i ? "POST" : "DELETE",
|
6456
6460
|
headers: i ? {
|
6457
6461
|
Authorization: `Bearer ${i}`
|
@@ -6627,10 +6631,10 @@ const Lo = /* @__PURE__ */ No(Do), ft = (n, e) => async (t, r = {}) => {
|
|
6627
6631
|
}, Mo = (n = {}) => Object.keys(n).length ? `?q=${JSON.stringify(n)}` : "", Uo = (n) => [...n].reduce(
|
6628
6632
|
(e, t) => t === t.toUpperCase() ? `${e}-${t.toLowerCase()}` : `${e}${t}`,
|
6629
6633
|
""
|
6630
|
-
), jo = (n) => `${n[0].toLowerCase()}${n.slice(1)}`,
|
6634
|
+
), jo = (n) => `${n[0].toLowerCase()}${n.slice(1)}`, Bo = (n) => {
|
6631
6635
|
const e = Uo(n);
|
6632
6636
|
return (t, r) => `/${e}${t ? `/${encodeURIComponent(t)}` : ""}${Mo(r)}`;
|
6633
|
-
},
|
6637
|
+
}, Ft = (n, e) => {
|
6634
6638
|
const t = Array.isArray(e.inputProps);
|
6635
6639
|
return Object.keys(n).reduce(
|
6636
6640
|
(r, i) => {
|
@@ -6644,7 +6648,7 @@ const Lo = /* @__PURE__ */ No(Do), ft = (n, e) => async (t, r = {}) => {
|
|
6644
6648
|
},
|
6645
6649
|
{}
|
6646
6650
|
);
|
6647
|
-
},
|
6651
|
+
}, Fo = ({ primaryKey: n, properties: e, ...t }) => ({
|
6648
6652
|
primaryKey: n || "id",
|
6649
6653
|
properties: Object.keys(e || {}).reduce(
|
6650
6654
|
(r, i) => {
|
@@ -6666,14 +6670,14 @@ const Lo = /* @__PURE__ */ No(Do), ft = (n, e) => async (t, r = {}) => {
|
|
6666
6670
|
),
|
6667
6671
|
...t
|
6668
6672
|
}), Ho = (n, e, t, r = {}, i = {}) => {
|
6669
|
-
const s =
|
6673
|
+
const s = Fo(r), { primaryKey: o, properties: c } = s, a = $o(s), u = Bo(t), y = (...v) => ft(n, e.authUser)(...v), b = ({ data: v, ...I }) => y(u(null, I), {
|
6670
6674
|
method: "POST",
|
6671
|
-
body:
|
6675
|
+
body: Ft(v, s)
|
6672
6676
|
}), A = ({ data: v, ...I }) => {
|
6673
6677
|
const { where: D, ...C } = I;
|
6674
6678
|
return y(u(D[o], C), {
|
6675
6679
|
method: "PUT",
|
6676
|
-
body:
|
6680
|
+
body: Ft(v, s)
|
6677
6681
|
});
|
6678
6682
|
}, P = (v) => {
|
6679
6683
|
if (!v)
|
@@ -7136,6 +7140,12 @@ const Lo = /* @__PURE__ */ No(Do), ft = (n, e) => async (t, r = {}) => {
|
|
7136
7140
|
items: {
|
7137
7141
|
$ref: "#/definitions/JobProfileType"
|
7138
7142
|
}
|
7143
|
+
},
|
7144
|
+
applicationChallenges: {
|
7145
|
+
type: "array",
|
7146
|
+
items: {
|
7147
|
+
$ref: "#/definitions/ApplicationChallengeTrack"
|
7148
|
+
}
|
7139
7149
|
}
|
7140
7150
|
}
|
7141
7151
|
},
|
@@ -7874,6 +7884,12 @@ const Lo = /* @__PURE__ */ No(Do), ft = (n, e) => async (t, r = {}) => {
|
|
7874
7884
|
trackId: {
|
7875
7885
|
type: "integer"
|
7876
7886
|
},
|
7887
|
+
tracks: {
|
7888
|
+
type: "array",
|
7889
|
+
items: {
|
7890
|
+
$ref: "#/definitions/ApplicationChallengeTrack"
|
7891
|
+
}
|
7892
|
+
},
|
7877
7893
|
langs: {
|
7878
7894
|
type: "array",
|
7879
7895
|
enum: [
|
@@ -7919,6 +7935,34 @@ const Lo = /* @__PURE__ */ No(Do), ft = (n, e) => async (t, r = {}) => {
|
|
7919
7935
|
}
|
7920
7936
|
}
|
7921
7937
|
},
|
7938
|
+
ApplicationChallengeTrack: {
|
7939
|
+
type: "object",
|
7940
|
+
properties: {
|
7941
|
+
id: {
|
7942
|
+
type: "integer"
|
7943
|
+
},
|
7944
|
+
createdAt: {
|
7945
|
+
type: "string",
|
7946
|
+
format: "date-time"
|
7947
|
+
},
|
7948
|
+
updatedAt: {
|
7949
|
+
type: "string",
|
7950
|
+
format: "date-time"
|
7951
|
+
},
|
7952
|
+
createdBy: {
|
7953
|
+
type: [
|
7954
|
+
"string",
|
7955
|
+
"null"
|
7956
|
+
]
|
7957
|
+
},
|
7958
|
+
applicationChallenge: {
|
7959
|
+
$ref: "#/definitions/ApplicationChallenge"
|
7960
|
+
},
|
7961
|
+
track: {
|
7962
|
+
$ref: "#/definitions/Track"
|
7963
|
+
}
|
7964
|
+
}
|
7965
|
+
},
|
7922
7966
|
ActivityLogEntry: {
|
7923
7967
|
type: "object",
|
7924
7968
|
properties: {
|
@@ -9006,6 +9050,9 @@ const Lo = /* @__PURE__ */ No(Do), ft = (n, e) => async (t, r = {}) => {
|
|
9006
9050
|
applicationChallengeAssignment: {
|
9007
9051
|
$ref: "#/definitions/ApplicationChallengeAssignment"
|
9008
9052
|
},
|
9053
|
+
applicationChallengeTrack: {
|
9054
|
+
$ref: "#/definitions/ApplicationChallengeTrack"
|
9055
|
+
},
|
9009
9056
|
activityLogEntry: {
|
9010
9057
|
$ref: "#/definitions/ActivityLogEntry"
|
9011
9058
|
},
|
@@ -208,7 +208,7 @@
|
|
208
208
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
209
209
|
* See the License for the specific language governing permissions and
|
210
210
|
* limitations under the License.
|
211
|
-
*/class Tr{constructor(e){this.container=e}getPlatformInfoString(){return this.container.getProviders().map(t=>{if(Ar(t)){const r=t.getImmediate();return`${r.library}/${r.version}`}else return null}).filter(t=>t).join(" ")}}function Ar(n){const e=n.getComponent();return(e==null?void 0:e.type)==="VERSION"}const Qe="@firebase/app",Rt="0.9.
|
211
|
+
*/class Tr{constructor(e){this.container=e}getPlatformInfoString(){return this.container.getProviders().map(t=>{if(Ar(t)){const r=t.getImmediate();return`${r.library}/${r.version}`}else return null}).filter(t=>t).join(" ")}}function Ar(n){const e=n.getComponent();return(e==null?void 0:e.type)==="VERSION"}const Qe="@firebase/app",Rt="0.9.26";/**
|
212
212
|
* @license
|
213
213
|
* Copyright 2019 Google LLC
|
214
214
|
*
|
@@ -223,7 +223,7 @@
|
|
223
223
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
224
224
|
* See the License for the specific language governing permissions and
|
225
225
|
* limitations under the License.
|
226
|
-
*/const Z=new wt("@firebase/app"),Sr="@firebase/app-compat",Cr="@firebase/analytics-compat",Rr="@firebase/analytics",Pr="@firebase/app-check-compat",Or="@firebase/app-check",kr="@firebase/auth",Nr="@firebase/auth-compat",Dr="@firebase/database",Lr="@firebase/database-compat",$r="@firebase/functions",Mr="@firebase/functions-compat",Ur="@firebase/installations",jr="@firebase/installations-compat",Fr="@firebase/messaging",Br="@firebase/messaging-compat",Hr="@firebase/performance",Vr="@firebase/performance-compat",Wr="@firebase/remote-config",xr="@firebase/remote-config-compat",zr="@firebase/storage",qr="@firebase/storage-compat",Gr="@firebase/firestore",Jr="@firebase/firestore-compat",Kr="firebase",Yr="10.7.
|
226
|
+
*/const Z=new wt("@firebase/app"),Sr="@firebase/app-compat",Cr="@firebase/analytics-compat",Rr="@firebase/analytics",Pr="@firebase/app-check-compat",Or="@firebase/app-check",kr="@firebase/auth",Nr="@firebase/auth-compat",Dr="@firebase/database",Lr="@firebase/database-compat",$r="@firebase/functions",Mr="@firebase/functions-compat",Ur="@firebase/installations",jr="@firebase/installations-compat",Fr="@firebase/messaging",Br="@firebase/messaging-compat",Hr="@firebase/performance",Vr="@firebase/performance-compat",Wr="@firebase/remote-config",xr="@firebase/remote-config-compat",zr="@firebase/storage",qr="@firebase/storage-compat",Gr="@firebase/firestore",Jr="@firebase/firestore-compat",Kr="firebase",Yr="10.7.2";/**
|
227
227
|
* @license
|
228
228
|
* Copyright 2019 Google LLC
|
229
229
|
*
|
@@ -313,7 +313,7 @@
|
|
313
313
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
314
314
|
* See the License for the specific language governing permissions and
|
315
315
|
* limitations under the License.
|
316
|
-
*/const ni="firebase-heartbeat-database",ri=1,_e="firebase-heartbeat-store";let et=null;function kt(){return et||(et=Ir(ni,ri,{upgrade:(n,e)=>{switch(e){case 0:n.createObjectStore(_e)}}}).catch(n=>{throw x.create("idb-open",{originalErrorMessage:n.message})})),et}async function ii(n){try{return await(await kt()).transaction(_e).objectStore(_e).get(Dt(n))}catch(e){if(e instanceof V)Z.warn(e.message);else{const t=x.create("idb-get",{originalErrorMessage:e==null?void 0:e.message});Z.warn(t.message)}}}async function Nt(n,e){try{const r=(await kt()).transaction(_e,"readwrite");await r.objectStore(_e).put(e,Dt(n)),await r.done}catch(t){if(t instanceof V)Z.warn(t.message);else{const r=x.create("idb-set",{originalErrorMessage:t==null?void 0:t.message});Z.warn(r.message)}}}function Dt(n){return`${n.name}!${n.options.appId}`}/**
|
316
|
+
*/const ni="firebase-heartbeat-database",ri=1,_e="firebase-heartbeat-store";let et=null;function kt(){return et||(et=Ir(ni,ri,{upgrade:(n,e)=>{switch(e){case 0:try{n.createObjectStore(_e)}catch(t){console.warn(t)}}}}).catch(n=>{throw x.create("idb-open",{originalErrorMessage:n.message})})),et}async function ii(n){try{return await(await kt()).transaction(_e).objectStore(_e).get(Dt(n))}catch(e){if(e instanceof V)Z.warn(e.message);else{const t=x.create("idb-get",{originalErrorMessage:e==null?void 0:e.message});Z.warn(t.message)}}}async function Nt(n,e){try{const r=(await kt()).transaction(_e,"readwrite");await r.objectStore(_e).put(e,Dt(n)),await r.done}catch(t){if(t instanceof V)Z.warn(t.message);else{const r=x.create("idb-set",{originalErrorMessage:t==null?void 0:t.message});Z.warn(r.message)}}}function Dt(n){return`${n.name}!${n.options.appId}`}/**
|
317
317
|
* @license
|
318
318
|
* Copyright 2021 Google LLC
|
319
319
|
*
|
@@ -343,7 +343,7 @@
|
|
343
343
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
344
344
|
* See the License for the specific language governing permissions and
|
345
345
|
* limitations under the License.
|
346
|
-
*/function di(n){me(new se("platform-logger",e=>new Tr(e),"PRIVATE")),me(new se("heartbeat",e=>new ai(e),"PRIVATE")),oe(Qe,Rt,n),oe(Qe,Rt,"esm2017"),oe("fire-js","")}di("");var ui="firebase",hi="10.7.
|
346
|
+
*/function di(n){me(new se("platform-logger",e=>new Tr(e),"PRIVATE")),me(new se("heartbeat",e=>new ai(e),"PRIVATE")),oe(Qe,Rt,n),oe(Qe,Rt,"esm2017"),oe("fire-js","")}di("");var ui="firebase",hi="10.7.2";/**
|
347
347
|
* @license
|
348
348
|
* Copyright 2020 Google LLC
|
349
349
|
*
|
@@ -1483,4 +1483,4 @@
|
|
1483
1483
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
1484
1484
|
* See the License for the specific language governing permissions and
|
1485
1485
|
* limitations under the License.
|
1486
|
-
*/const Oo=5*60,ko=bt("authIdTokenMaxAge")||Oo;let On=null;const No=n=>async e=>{const t=e&&await e.getIdTokenResult(),r=t&&(new Date().getTime()-Date.parse(t.issuedAtTime))/1e3;if(r&&r>ko)return;const i=t==null?void 0:t.token;On!==i&&(On=i,await fetch(n,{method:i?"POST":"DELETE",headers:i?{Authorization:`Bearer ${i}`}:{}}))};function Do(n=ti()){const e=Pt(n,"auth");if(e.isInitialized())return e.getImmediate();const t=Yi(n,{popupRedirectResolver:So,persistence:[Ms,Ts,gn]}),r=bt("authTokenSyncURL");if(r){const s=No(r);_s(t,s,()=>s(t.currentUser)),ys(t,o=>s(o))}const i=xn("auth");return i&&Xi(t,`http://${i}`),t}Po("Browser");var Lo=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function $o(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var kn={exports:{}};(function(n){(function(e){function t(l,m){var d=(l&65535)+(m&65535),w=(l>>16)+(m>>16)+(d>>16);return w<<16|d&65535}function r(l,m){return l<<m|l>>>32-m}function i(l,m,d,w,E,S){return t(r(t(t(m,l),t(w,S)),E),d)}function s(l,m,d,w,E,S,O){return i(m&d|~m&w,l,m,E,S,O)}function o(l,m,d,w,E,S,O){return i(m&w|d&~w,l,m,E,S,O)}function c(l,m,d,w,E,S,O){return i(m^d^w,l,m,E,S,O)}function a(l,m,d,w,E,S,O){return i(d^(m|~w),l,m,E,S,O)}function u(l,m){l[m>>5]|=128<<m%32,l[(m+64>>>9<<4)+14]=m;var d,w,E,S,O,h=1732584193,f=-271733879,p=-1732584194,g=271733878;for(d=0;d<l.length;d+=16)w=h,E=f,S=p,O=g,h=s(h,f,p,g,l[d],7,-680876936),g=s(g,h,f,p,l[d+1],12,-389564586),p=s(p,g,h,f,l[d+2],17,606105819),f=s(f,p,g,h,l[d+3],22,-1044525330),h=s(h,f,p,g,l[d+4],7,-176418897),g=s(g,h,f,p,l[d+5],12,1200080426),p=s(p,g,h,f,l[d+6],17,-1473231341),f=s(f,p,g,h,l[d+7],22,-45705983),h=s(h,f,p,g,l[d+8],7,1770035416),g=s(g,h,f,p,l[d+9],12,-1958414417),p=s(p,g,h,f,l[d+10],17,-42063),f=s(f,p,g,h,l[d+11],22,-1990404162),h=s(h,f,p,g,l[d+12],7,1804603682),g=s(g,h,f,p,l[d+13],12,-40341101),p=s(p,g,h,f,l[d+14],17,-1502002290),f=s(f,p,g,h,l[d+15],22,1236535329),h=o(h,f,p,g,l[d+1],5,-165796510),g=o(g,h,f,p,l[d+6],9,-1069501632),p=o(p,g,h,f,l[d+11],14,643717713),f=o(f,p,g,h,l[d],20,-373897302),h=o(h,f,p,g,l[d+5],5,-701558691),g=o(g,h,f,p,l[d+10],9,38016083),p=o(p,g,h,f,l[d+15],14,-660478335),f=o(f,p,g,h,l[d+4],20,-405537848),h=o(h,f,p,g,l[d+9],5,568446438),g=o(g,h,f,p,l[d+14],9,-1019803690),p=o(p,g,h,f,l[d+3],14,-187363961),f=o(f,p,g,h,l[d+8],20,1163531501),h=o(h,f,p,g,l[d+13],5,-1444681467),g=o(g,h,f,p,l[d+2],9,-51403784),p=o(p,g,h,f,l[d+7],14,1735328473),f=o(f,p,g,h,l[d+12],20,-1926607734),h=c(h,f,p,g,l[d+5],4,-378558),g=c(g,h,f,p,l[d+8],11,-2022574463),p=c(p,g,h,f,l[d+11],16,1839030562),f=c(f,p,g,h,l[d+14],23,-35309556),h=c(h,f,p,g,l[d+1],4,-1530992060),g=c(g,h,f,p,l[d+4],11,1272893353),p=c(p,g,h,f,l[d+7],16,-155497632),f=c(f,p,g,h,l[d+10],23,-1094730640),h=c(h,f,p,g,l[d+13],4,681279174),g=c(g,h,f,p,l[d],11,-358537222),p=c(p,g,h,f,l[d+3],16,-722521979),f=c(f,p,g,h,l[d+6],23,76029189),h=c(h,f,p,g,l[d+9],4,-640364487),g=c(g,h,f,p,l[d+12],11,-421815835),p=c(p,g,h,f,l[d+15],16,530742520),f=c(f,p,g,h,l[d+2],23,-995338651),h=a(h,f,p,g,l[d],6,-198630844),g=a(g,h,f,p,l[d+7],10,1126891415),p=a(p,g,h,f,l[d+14],15,-1416354905),f=a(f,p,g,h,l[d+5],21,-57434055),h=a(h,f,p,g,l[d+12],6,1700485571),g=a(g,h,f,p,l[d+3],10,-1894986606),p=a(p,g,h,f,l[d+10],15,-1051523),f=a(f,p,g,h,l[d+1],21,-2054922799),h=a(h,f,p,g,l[d+8],6,1873313359),g=a(g,h,f,p,l[d+15],10,-30611744),p=a(p,g,h,f,l[d+6],15,-1560198380),f=a(f,p,g,h,l[d+13],21,1309151649),h=a(h,f,p,g,l[d+4],6,-145523070),g=a(g,h,f,p,l[d+11],10,-1120210379),p=a(p,g,h,f,l[d+2],15,718787259),f=a(f,p,g,h,l[d+9],21,-343485551),h=t(h,w),f=t(f,E),p=t(p,S),g=t(g,O);return[h,f,p,g]}function _(l){var m,d="",w=l.length*32;for(m=0;m<w;m+=8)d+=String.fromCharCode(l[m>>5]>>>m%32&255);return d}function b(l){var m,d=[];for(d[(l.length>>2)-1]=void 0,m=0;m<d.length;m+=1)d[m]=0;var w=l.length*8;for(m=0;m<w;m+=8)d[m>>5]|=(l.charCodeAt(m/8)&255)<<m%32;return d}function A(l){return _(u(b(l),l.length*8))}function P(l,m){var d,w=b(l),E=[],S=[],O;for(E[15]=S[15]=void 0,w.length>16&&(w=u(w,l.length*8)),d=0;d<16;d+=1)E[d]=w[d]^909522486,S[d]=w[d]^1549556828;return O=u(E.concat(b(m)),512+m.length*8),_(u(S.concat(O),640))}function D(l){var m="0123456789abcdef",d="",w,E;for(E=0;E<l.length;E+=1)w=l.charCodeAt(E),d+=m.charAt(w>>>4&15)+m.charAt(w&15);return d}function v(l){return unescape(encodeURIComponent(l))}function I(l){return A(v(l))}function M(l){return D(I(l))}function C(l,m){return P(v(l),v(m))}function re(l,m){return D(C(l,m))}function Q(l,m,d){return m?d?C(m,l):re(m,l):d?I(l):M(l)}n.exports?n.exports=Q:e.md5=Q})(Lo)})(kn);var Mo=kn.exports;const Uo=$o(Mo),gt=(n,e)=>async(t,r={})=>{const i=e?await e.getIdToken():null,s=await fetch(`${n}${t}`,{mode:"cors",...r,headers:{...i&&{authorization:`Bearer ${i}`},...r.body&&{"content-type":"application/json"},...r.headers},...r.body&&{body:JSON.stringify(r.body)}}),o=await s.json();if(s.status>202)throw Object.assign(new Error((o==null?void 0:o.message)||`HTTP Error ${s.status}`),{status:s.status,code:o==null?void 0:o.code,body:o});return o},jo=n=>{const e=n.properties||{},t=n.inputProps||Object.keys(e),r=(i,s)=>{const o=e[i]||{};if([null,void 0].includes(s))return o.isRequired?{id:"value-missing-validation-error"}:void 0;if(o.enum)return o.enum.includes(s)?void 0:{id:"enum-validation-error",values:{enum:o.enum,value:s}};switch(o.type){case"integer":if(o.isScalar&&(typeof s!="number"||Number.isNaN(s)))return{id:"invalid-number-validation-error"};break;case"date":break;case"boolean":break;case"json":case"string":default:if(o.isRequired&&!s)return{id:"value-missing-validation-error"};break}};return{validate:i=>t.reduce((s,o)=>{const c=r(o,i[o]);return c?{...s,[o]:c}:s},{}),validateAttr:r}},Fo=(n={})=>Object.keys(n).length?`?q=${JSON.stringify(n)}`:"",Bo=n=>[...n].reduce((e,t)=>t===t.toUpperCase()?`${e}-${t.toLowerCase()}`:`${e}${t}`,""),Ho=n=>`${n[0].toLowerCase()}${n.slice(1)}`,Vo=n=>{const e=Bo(n);return(t,r)=>`/${e}${t?`/${encodeURIComponent(t)}`:""}${Fo(r)}`},Nn=(n,e)=>{const t=Array.isArray(e.inputProps);return Object.keys(n).reduce((r,i)=>{if(t&&!e.inputProps.includes(i))return r;const{isRef:s,isScalar:o,isRequired:c}=e.properties[i]||{};return s&&o&&!c&&n[i]===null?r:{...r,[i]:n[i]}},{})},Wo=({primaryKey:n,properties:e,...t})=>({primaryKey:n||"id",properties:Object.keys(e||{}).reduce((r,i)=>{var b,A;const s=e[i]||{},{type:o,isScalar:c,isRequired:a,isRef:u=!1}=typeof s.type=="string"?s.type==="array"?s.enum?{type:"string",isScalar:!1,isRequired:!1}:(b=s.items)!=null&&b.$ref?{type:s.items.$ref.split("/").pop(),isScalar:!1,isRequired:!1,isRef:!0}:{type:(A=s.items)==null?void 0:A.type,isScalar:!1,isRequired:!1}:{type:s.format==="date-time"?"date":s.type,isScalar:!0,isRequired:!0}:Array.isArray(s.type)?s.type.length===2?{type:s.format==="date-time"?"date":s.type[0],isScalar:!0,isRequired:!1}:{type:"json",isScalar:!0,isRequired:s.type.includes("null")}:s.$ref?{type:s.$ref.split("/").pop(),isScalar:!0,isRequired:!0,isRef:!0}:{type:s.anyOf[0].$ref.split("/").pop(),isScalar:!0,isRequired:!1,isRef:!0},_=s.inputType||(o==="integer"?"number":o);return{...r,[i]:{...e[i],type:o,isScalar:c,isRequired:typeof s.isRequired=="boolean"?s.isRequired:a,isRef:u,inputType:_}}},{}),...t}),xo=(n,e,t,r={},i={})=>{const s=Wo(r),{primaryKey:o,properties:c}=s,a=jo(s),u=Vo(t),_=(...v)=>gt(n,e.authUser)(...v),b=({data:v,...I})=>_(u(null,I),{method:"POST",body:Nn(v,s)}),A=({data:v,...I})=>{const{where:M,...C}=I;return _(u(M[o],C),{method:"PUT",body:Nn(v,s)})},P=v=>{if(!v)return v;const I=Object.keys(v).reduce((M,C)=>{var E;const re=c[C]||{},{type:Q,isScalar:l,isRef:m,format:d,items:w}=re;if(m){const S=Ho(Q);return l?{...M,[C]:i[S].parse(v[C])}:{...M,[C]:typeof((E=i[S])==null?void 0:E.parse)=="function"?v[C].map(O=>i[S].parse(O)):v[C]}}return{...M,[C]:Q==="date"&&v[C]?new Date(v[C]):v[C]}},{});return typeof s.parse=="function"?s.parse(I):I},D=Object.keys(c||{}).reduce((v,I)=>c[I].isRef&&c[I].isScalar&&c[I].isRequired?Object.assign(v,{all:v.all.concat(I),oneToOne:v.oneToOne.concat(I),requiredOneToOne:v.requiredOneToOne.concat(I)}):c[I].isRef&&c[I].isScalar?Object.assign(v,{all:v.all.concat(I),oneToOne:v.oneToOne.concat(I),optionalOneToOne:v.optionalOneToOne.concat(I)}):c[I].isRef?Object.assign(v,{all:v.all.concat(I),oneToMany:v.oneToMany.concat(I)}):v,{all:[],oneToOne:[],requiredOneToOne:[],optionalOneToOne:[],oneToMany:[]});return{get schema(){return s},get relations(){return D},parse:P,validateAttr:a.validateAttr,validate:a.validate,findMany:v=>_(u(null,v)).then(I=>I.map(P)),findById:(v,I)=>_(u(v,I)).then(P),create:b,update:A,upsert:v=>v.where[o]?A({where:v.where,data:v.update}):b({data:v.create}),delete:v=>_(u(v),{method:"DELETE"}),stats:()=>_(u("_stats"))}},zo=(n,e,t)=>Object.keys(t.properties).reduce((r,i)=>{const s=t.properties[i].$ref.split("/").pop();return Object.assign(r,{[i]:xo(n,e,t.definitions[s].plural||`${i}s`,t.definitions[s],r)})},{}),qo=(n,e)=>Object.keys(n.definitions).reduce((t,r)=>({...t,[r]:e[r]?{...n.definitions[r],...e[r],properties:Object.keys(n.definitions[r].properties).reduce((i,s)=>({...i,[s]:{...n.definitions[r].properties[s],...(e[r].properties||{})[s]}}),e[r].properties||{})}:n.definitions[r]}),{}),Dn={$schema:"http://json-schema.org/draft-07/schema#",definitions:{Country:{type:"object",properties:{code:{type:"string"},name:{type:"string"},incomeFilter:{type:["integer","null"]},canApply:{type:"boolean",default:!1},capital:{type:"array",items:{type:"string"}},timeZone:{type:["string","null"]},flag:{type:["string","null"]},currency:{anyOf:[{$ref:"#/definitions/Currency"},{type:"null"}]},contracts:{type:"array",items:{$ref:"#/definitions/Contract"}},users:{type:"array",items:{$ref:"#/definitions/User"}},applications:{type:"array",items:{$ref:"#/definitions/Application"}},applicationNationalities:{type:"array",items:{$ref:"#/definitions/Application"}},educationLevels:{type:"array",items:{$ref:"#/definitions/EducationLevel"}},universities:{type:"array",items:{$ref:"#/definitions/University"}},companies:{type:"array",items:{$ref:"#/definitions/Company"}},jobs:{type:"array",items:{$ref:"#/definitions/Job"}}}},Currency:{type:"object",properties:{code:{type:"string"},name:{type:"string"},symbol:{type:"string"},countries:{type:"array",items:{$ref:"#/definitions/Country"}}}},User:{type:"object",properties:{uid:{type:"string"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},createdBy:{type:["string","null"]},email:{type:"string"},firstName:{type:"string"},lastName:{type:["string","null"]},role:{type:["string","null"],enum:["staff","manager","finance","admin"]},disabled:{type:"boolean",default:!1},lang:{type:["string","null"],enum:["en","es","pt"]},referralSource:{type:["string","null"],enum:["word_of_mouth","codigo_m","social","google","print","tv","radio","other"]},identifiesAsFemale:{type:["boolean","null"]},dateOfBirth:{type:["string","null"],format:"date-time"},identificationNumber:{type:["string","null"]},mobileNumber:{type:["string","null"]},github:{type:["string","null"]},linkedin:{type:["string","null"]},bio:{type:["string","null"]},country:{anyOf:[{$ref:"#/definitions/Country"},{type:"null"}]},signupCohort:{anyOf:[{$ref:"#/definitions/Cohort"},{type:"null"}]},applications:{type:"array",items:{$ref:"#/definitions/Application"}},contractsAsCheckPilot:{type:"array",items:{$ref:"#/definitions/Contract"}},contracts:{type:"array",items:{$ref:"#/definitions/Contract"}},dropouts:{type:"array",items:{$ref:"#/definitions/Dropout"}},gigs:{type:"array",items:{$ref:"#/definitions/Gig"}},messages:{type:"array",items:{$ref:"#/definitions/Message"}},students:{type:"array",items:{$ref:"#/definitions/Student"}},activityLog:{type:"array",items:{$ref:"#/definitions/ActivityLogEntry"}},authoredActivityLog:{type:"array",items:{$ref:"#/definitions/ActivityLogEntry"}},jobReviews:{type:"array",items:{$ref:"#/definitions/JobReview"}},jobApplications:{type:"array",items:{$ref:"#/definitions/JobApplication"}},studentProjecTeamMembers:{type:"array",items:{$ref:"#/definitions/StudentProjecTeamMember"}}}},Track:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},name:{type:"string"},programs:{type:"array",items:{$ref:"#/definitions/Program"}},crawlerQueries:{type:"array",items:{$ref:"#/definitions/CrawlerQuery"}},jobProfileTypes:{type:"array",items:{$ref:"#/definitions/JobProfileType"}}}},Program:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},name:{type:"string"},description:{type:["string","null"]},langs:{type:"array",enum:["en","es","pt"]},hidden:{type:"boolean",default:!1},track:{$ref:"#/definitions/Track"},cohorts:{type:"array",items:{$ref:"#/definitions/Cohort"}},stages:{type:"array",items:{$ref:"#/definitions/Stage"}}}},Stage:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},name:{type:"string"},order:{type:"integer"},program:{$ref:"#/definitions/Program"},cohorts:{type:"array",items:{$ref:"#/definitions/Cohort"}}}},Cohort:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},createdBy:{type:["string","null"]},name:{type:"string"},lang:{type:["string","null"],enum:["en","es","pt"]},start:{type:"string",format:"date-time"},end:{type:"string",format:"date-time"},timeZone:{type:["string","null"]},startTime:{type:["string","null"]},endTime:{type:["string","null"]},legacySlug:{type:"string"},vacancies:{type:["integer","null"]},admissionStart:{type:["string","null"],format:"date-time"},admissionEnd:{type:["string","null"],format:"date-time"},admissionCountries:{type:"array",items:{type:"string"}},placementStart:{type:["string","null"],format:"date-time"},placementDuration:{type:["integer","null"]},program:{$ref:"#/definitions/Program"},stage:{$ref:"#/definitions/Stage"},applications:{type:"array",items:{$ref:"#/definitions/Application"}},links:{type:"array",items:{$ref:"#/definitions/CohortLink"}},dropouts:{type:"array",items:{$ref:"#/definitions/Dropout"}},gigs:{type:"array",items:{$ref:"#/definitions/Gig"}},students:{type:"array",items:{$ref:"#/definitions/Student"}},signupUsers:{type:"array",items:{$ref:"#/definitions/User"}},activityLog:{type:"array",items:{$ref:"#/definitions/ActivityLogEntry"}},jobApplications:{type:"array",items:{$ref:"#/definitions/JobApplication"}},studentProjects:{type:"array",items:{$ref:"#/definitions/StudentProject"}}}},Student:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},createdBy:{type:["string","null"]},legacyStudentCode:{type:["string","null"]},cohort:{$ref:"#/definitions/Cohort"},user:{$ref:"#/definitions/User"}}},CohortLink:{type:"object",properties:{id:{type:"integer"},url:{type:"string"},visibility:{type:"string",enum:["public","members","staff","team","admin"]},cohort:{$ref:"#/definitions/Cohort"}}},Dropout:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},createdBy:{type:["string","null"]},date:{type:"string",format:"date-time"},reasonDetail:{type:["string","null"]},notes:{type:["string","null"]},staffSad:{type:"boolean"},covidRelated:{type:["boolean","null"]},reason:{type:"string",enum:["dropout","noShow","invitedToLeave","changeCohort"]},completedProjects:{type:"integer"},lastProject:{type:["string","null"]},cohort:{$ref:"#/definitions/Cohort"},user:{$ref:"#/definitions/User"}}},IscedLevel:{type:"object",properties:{id:{type:"integer"},label:{type:"string"},educationLevels:{type:"array",items:{$ref:"#/definitions/EducationLevel"}}}},EducationLevel:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},lang:{type:"string",enum:["en","es","pt"]},label:{type:"string"},country:{$ref:"#/definitions/Country"},iscedLevel:{$ref:"#/definitions/IscedLevel"},applications:{type:"array",items:{$ref:"#/definitions/Application"}}}},University:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},lang:{type:"string",enum:["en","es","pt"]},name:{type:"string"},filter:{type:"boolean"},country:{$ref:"#/definitions/Country"},applications:{type:"array",items:{$ref:"#/definitions/Application"}}}},Application:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},createdBy:{type:["string","null"]},dateOfBirth:{type:"string",format:"date-time"},isAllowedToWork:{type:"boolean"},hasValidIdDocument:{type:"boolean"},locality:{type:["number","string","boolean","object","array","null"]},householdSize:{type:"integer"},children:{type:"integer"},householdIncome:{type:"integer"},racialIdentity:{type:["string","null"]},schoolType:{type:["string","null"],enum:["private","public","other","subsidized","mixed"]},educationSubject:{type:["string","null"],enum:["design_and_media","software_engineering","engineering","management_and_business","languages","science","health","social_sciences","arts","comms_and_advertising","education","cooking","tourism","economics_and_accounting","law","other"]},isStudying:{type:"boolean"},englishLevel:{type:["string","null"],enum:["NO","A1","A2","B1","B2","C1","C2"]},workStatus:{type:"string",enum:["never","not_now","yes"]},isLookingForWork:{type:["boolean","null"]},monthsLookingForWork:{type:["integer","null"]},monthsUnemployed:{type:["integer","null"]},workRole:{type:["string","null"],enum:["waitress","promoter","manager","cashier","intern","operative","call_center","receptionist","sales_agent","assistant","professional","technical","consultant","other"]},freelance:{type:["boolean","null"]},workFormal:{type:["boolean","null"]},workIncome:{type:["integer","null"]},failedFilters:{type:"array",items:{type:"string"}},bypassFilters:{type:"boolean",default:!1},isReady:{type:"boolean",default:!1},isReturningApplicant:{type:["boolean","null"]},legacyAdmissionCohortSlug:{type:["string","null"]},cohort:{$ref:"#/definitions/Cohort"},user:{$ref:"#/definitions/User"},country:{$ref:"#/definitions/Country"},nationality:{$ref:"#/definitions/Country"},educationLevel:{$ref:"#/definitions/EducationLevel"},university:{anyOf:[{$ref:"#/definitions/University"},{type:"null"}]},challengeAssignments:{type:"array",items:{$ref:"#/definitions/ApplicationChallengeAssignment"}}}},ApplicationChallenge:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},createdBy:{type:["string","null"]},slug:{type:"string"},version:{type:"string"},trackId:{type:"integer"},langs:{type:"array",enum:["en","es","pt"]},json:{type:"string"},archived:{type:"boolean",default:!1},assignments:{type:"array",items:{$ref:"#/definitions/ApplicationChallengeAssignment"}}}},ApplicationChallengeAssignment:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},application:{$ref:"#/definitions/Application"},challenge:{$ref:"#/definitions/ApplicationChallenge"}}},ActivityLogEntry:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},type:{type:"string",enum:["challenge","application_filter","application_filter_bypass","application_cohort_change","project_assessment","project_assessment_request"]},data:{type:["number","string","boolean","object","array","null"]},path:{type:"string"},author:{$ref:"#/definitions/User"},user:{$ref:"#/definitions/User"},cohort:{$ref:"#/definitions/Cohort"}}},StudentProject:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},createdBy:{type:"string"},projectSlug:{type:"string"},projectVersion:{type:"string"},cohort:{$ref:"#/definitions/Cohort"},links:{type:"array",items:{$ref:"#/definitions/StudentProjectLink"}},team:{type:"array",items:{$ref:"#/definitions/StudentProjecTeamMember"}}}},StudentProjecTeamMember:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},createdBy:{type:"string"},studentProject:{$ref:"#/definitions/StudentProject"},user:{$ref:"#/definitions/User"}}},StudentProjectLink:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},createdBy:{type:"string"},url:{type:"string"},studentProject:{$ref:"#/definitions/StudentProject"}}},Contract:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},createdBy:{type:"string"},isEmployment:{type:"boolean"},feeAmount:{type:"integer"},hoursPerWeek:{type:"integer"},start:{type:"string",format:"date-time"},end:{type:["string","null"],format:"date-time"},isTrial:{type:"boolean",default:!1},source:{type:["string","null"],enum:["graduate","referral","jazzhr","web","linkedin","other"]},checkPilot:{anyOf:[{$ref:"#/definitions/User"},{type:"null"}]},country:{$ref:"#/definitions/Country"},user:{$ref:"#/definitions/User"},gigs:{type:"array",items:{$ref:"#/definitions/Gig"}}}},Gig:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},createdBy:{type:"string"},role:{type:"string",enum:["bm","pdc","js","ux"]},hoursPerWeek:{type:"integer"},start:{type:"string",format:"date-time"},end:{type:["string","null"],format:"date-time"},cohort:{$ref:"#/definitions/Cohort"},contract:{$ref:"#/definitions/Contract"},user:{$ref:"#/definitions/User"}}},Message:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},createdBy:{type:["string","null"]},key:{type:"string"},from:{type:"string"},to:{type:"string"},transport:{type:"string",enum:["mandrill","slack"]},status:{type:"string",default:"PENDING",enum:["PENDING","QUEUED","ERROR","SENT"]},data:{type:["number","string","boolean","object","array","null"]},taskInfo:{type:["number","string","boolean","object","array","null"]},user:{anyOf:[{$ref:"#/definitions/User"},{type:"null"}]},logs:{type:"array",items:{$ref:"#/definitions/MessageLog"}}}},MessageLog:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},statusText:{type:["string","null"]},message:{$ref:"#/definitions/Message"}}},Industry:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},createdBy:{type:["string","null"]},name:{type:"string"},companies:{type:"array",items:{$ref:"#/definitions/Company"}}}},Company:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},createdBy:{type:["string","null"]},source:{type:"string"},sourceId:{type:"string"},name:{type:"string"},size:{type:["string","null"],enum:["A_2_10","B_11_50","C_51_200","D_201_500","E_501_1000","F_1001_5000","G_5001_10000","H_10001_plus"]},data:{type:["number","string","boolean","object","array","null"]},web:{type:["string","null"]},twitter:{type:["string","null"]},github:{type:["string","null"]},facebook:{type:["string","null"]},country:{anyOf:[{$ref:"#/definitions/Country"},{type:"null"}]},industry:{anyOf:[{$ref:"#/definitions/Industry"},{type:"null"}]},jobs:{type:"array",items:{$ref:"#/definitions/Job"}},categories:{type:"array",enum:["Tech_Consultancy","Digital_Transformation","Agency","Startups","High_tech","Traditional_Consulting"]}}},Job:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},createdBy:{type:["string","null"]},source:{type:"string"},sourceId:{type:"string"},title:{type:"string"},publishedAt:{type:"string",format:"date-time"},modality:{type:"string"},publicUrl:{type:["string","null"]},location:{type:["string","null"]},data:{type:["number","string","boolean","object","array","null"]},description:{type:["string","null"]},descriptionHTML:{type:["string","null"]},functions:{type:["string","null"]},functionsHTML:{type:["string","null"]},seniority:{type:["string","null"]},remote:{type:["boolean","null"]},remoteOption:{type:["string","null"],enum:["remote_for_now","locally_remote","fully_remote","no_remote","mixed"]},lang:{type:["string","null"],enum:["en","es","pt"]},maxSalary:{type:["integer","null"]},minSalary:{type:["integer","null"]},tags:{type:"array",items:{type:"string"}},company:{$ref:"#/definitions/Company"},country:{anyOf:[{$ref:"#/definitions/Country"},{type:"null"}]},reviews:{type:"array",items:{$ref:"#/definitions/JobReview"}},applications:{type:"array",items:{$ref:"#/definitions/JobApplication"}},crawlerQueries:{type:"array",items:{$ref:"#/definitions/JobCrawlerQuery"}},crawlerLocations:{type:"array",items:{$ref:"#/definitions/JobCrawlerLocation"}}}},JobProfileType:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},createdBy:{type:["string","null"]},name:{type:"string"},learningObjectives:{type:["number","string","boolean","object","array","null"]},track:{anyOf:[{$ref:"#/definitions/Track"},{type:"null"}]},reviews:{type:"array",items:{$ref:"#/definitions/JobReviewProfileType"}}}},JobReview:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},isValid:{type:"boolean"},invalidReason:{type:["string","null"],enum:["unrelated","experience","qualifications","other"]},comment:{type:["string","null"]},author:{$ref:"#/definitions/User"},job:{$ref:"#/definitions/Job"},profileTypes:{type:"array",items:{$ref:"#/definitions/JobReviewProfileType"}}}},JobReviewProfileType:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},createdBy:{type:["string","null"]},review:{$ref:"#/definitions/JobReview"},profileType:{$ref:"#/definitions/JobProfileType"}}},JobApplication:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},createdBy:{type:["string","null"]},status:{type:"string",default:"pending",enum:["pending","applied","interview","challenge","followup","hired","not_hired"]},hireDate:{type:["string","null"],format:"date-time"},jobStartDate:{type:["string","null"],format:"date-time"},netSalary:{type:["integer","null"]},grossSalary:{type:["integer","null"]},currency:{type:["string","null"]},job:{$ref:"#/definitions/Job"},user:{$ref:"#/definitions/User"},cohort:{anyOf:[{$ref:"#/definitions/Cohort"},{type:"null"}]}}},CrawlerQuery:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},createdBy:{type:["string","null"]},query:{type:"string"},enabled:{type:"boolean",default:!0},track:{$ref:"#/definitions/Track"},jobs:{type:"array",items:{$ref:"#/definitions/JobCrawlerQuery"}}}},JobCrawlerQuery:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},createdBy:{type:["string","null"]},job:{$ref:"#/definitions/Job"},query:{$ref:"#/definitions/CrawlerQuery"}}},CrawlerLocation:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},createdBy:{type:["string","null"]},name:{type:"string"},enabled:{type:"boolean",default:!0},jobs:{type:"array",items:{$ref:"#/definitions/JobCrawlerLocation"}}}},JobCrawlerLocation:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},createdBy:{type:["string","null"]},job:{$ref:"#/definitions/Job"},location:{$ref:"#/definitions/CrawlerLocation"}}}},type:"object",properties:{country:{$ref:"#/definitions/Country"},currency:{$ref:"#/definitions/Currency"},user:{$ref:"#/definitions/User"},track:{$ref:"#/definitions/Track"},program:{$ref:"#/definitions/Program"},stage:{$ref:"#/definitions/Stage"},cohort:{$ref:"#/definitions/Cohort"},student:{$ref:"#/definitions/Student"},cohortLink:{$ref:"#/definitions/CohortLink"},dropout:{$ref:"#/definitions/Dropout"},iscedLevel:{$ref:"#/definitions/IscedLevel"},educationLevel:{$ref:"#/definitions/EducationLevel"},university:{$ref:"#/definitions/University"},application:{$ref:"#/definitions/Application"},applicationChallenge:{$ref:"#/definitions/ApplicationChallenge"},applicationChallengeAssignment:{$ref:"#/definitions/ApplicationChallengeAssignment"},activityLogEntry:{$ref:"#/definitions/ActivityLogEntry"},studentProject:{$ref:"#/definitions/StudentProject"},studentProjecTeamMember:{$ref:"#/definitions/StudentProjecTeamMember"},studentProjectLink:{$ref:"#/definitions/StudentProjectLink"},contract:{$ref:"#/definitions/Contract"},gig:{$ref:"#/definitions/Gig"},message:{$ref:"#/definitions/Message"},messageLog:{$ref:"#/definitions/MessageLog"},industry:{$ref:"#/definitions/Industry"},company:{$ref:"#/definitions/Company"},job:{$ref:"#/definitions/Job"},jobProfileType:{$ref:"#/definitions/JobProfileType"},jobReview:{$ref:"#/definitions/JobReview"},jobReviewProfileType:{$ref:"#/definitions/JobReviewProfileType"},jobApplication:{$ref:"#/definitions/JobApplication"},crawlerQuery:{$ref:"#/definitions/CrawlerQuery"},jobCrawlerQuery:{$ref:"#/definitions/JobCrawlerQuery"},crawlerLocation:{$ref:"#/definitions/CrawlerLocation"},jobCrawlerLocation:{$ref:"#/definitions/JobCrawlerLocation"}}},Ln=24*(60*60*1e3),Go={Country:{primaryKey:"code",plural:"countries",searchProps:["code","name","timeZone"],getOptionLabel:({code:n,name:e})=>`${n} / ${e}`},ActivityLogEntry:{plural:"activityLog"},User:{primaryKey:"uid",inputProps:["firstName","lastName","email","password","lang","identifiesAsFemale","dateOfBirth","country","identificationNumber","mobileNumber","github","linkedin","bio","role","signupCohort","disabled","referralSource"],searchProps:["firstName","lastName","email"],getOptionLabel:({firstName:n,lastName:e,email:t})=>`${n} ${e} (${t})`,properties:{email:{inputType:"email"},lastName:{isRequired:!0},mobileNumber:{inputType:"phone"},bio:{inputType:"textarea"}},parse:n=>{const e=n.github?`https://github.com/${n.github}.png?size=`:`https://www.gravatar.com/avatar/${Uo(n.email)}?s=`;return{...n,fullName:`${n.firstName||""}${n.lastName?` ${n.lastName}`:""}`,avatar:t=>`${e}${t}`,isStaff:["staff","manager","finance","admin"].includes(n.role),isManager:["manager","finance","admin"].includes(n.role),isFinance:["finance","admin"].includes(n.role),isAdmin:n.role==="admin"}}},Track:{searchProps:["name"]},Program:{searchProps:["name"]},Stage:{searchProps:["name"]},Cohort:{inputProps:["program","stage","lang","name","start","end","timeZone","startTime","endTime","vacancies","admissionStart","admissionEnd","placementStart","admissionCountries"],searchProps:["name"],getOptionLabel:({id:n,name:e,stage:t})=>`${e}${t?` - ${t.name}`:""} (id: ${n})`,properties:{},parse:n=>{var s,o;const e=Date.now();let t;if(n.placementStart){const c=n.placementDuration||270;new Date(+n.placementStart+c*24*60*60*1e3)<e?t="placement_ended":n.placementStart<e&&(t="placement_started")}!t&&n.end<e&&(t="ended"),!t&&n.start<e&&(t="started");const r=n.admissionEnd?+n.admissionEnd+Ln:!1;!t&&r&&r<e&&(t="admission_ended"),!t&&n.admissionStart&&n.admissionStart<e&&(t="admission_started"),!t&&n.admissionStart&&n.admissionEnd&&(t="planned"),t||(t="draft");const i=n.start>e&&n.vacancies?n.vacancies:((s=n._count)==null?void 0:s.students)||((o=n.students)==null?void 0:o.length)||0;return{...n,status:t,size:i}}},Student:{inputProps:["cohort","user"],searchProps:[]},Dropout:{inputProps:["cohort","user","date","reason","reasonDetail","lastProject","completedProjects","notes","staffSad","covidRelated"],searchProps:["user.uid","user.firstName","user.lastName","user.email","cohort.name"]},Contract:{inputProps:["user","country","isEmployment","feeAmount","hoursPerWeek","start","end","isTrial","checkPilot","source"],searchProps:["user.firstName","user.lastName","user.email"],getOptionLabel:({id:n,user:e})=>`${e==null?void 0:e.firstName} (id: ${n})`},Gig:{inputProps:["cohort","user","contract","role","hoursPerWeek","start","end"]},Application:{inputProps:["user","cohort","dateOfBirth","country","locality","nationality","isAllowedToWork","hasValidIdDocument","householdSize","children","householdIncome","racialIdentity","educationLevel","schoolType","educationSubject","university","isStudying","englishLevel","workStatus","isLookingForWork","monthsLookingForWork","monthsUnemployed","workRole","freelance","workFormal","workIncome","isReady","bypassFilters"],properties:{locality:{isRequired:!0},englishLevel:{isRequired:!0},isReady:{isRequired:!1},bypassFilters:{isRequired:!1}},parse:n=>{var i,s,o;const e=typeof n.hasFailedFilters=="boolean"?n.hasFailedFilters:typeof((i=n.failedFilters)==null?void 0:i.length)=="number"?n.failedFilters.length>0:void 0;if(!((s=n.cohort)!=null&&s.admissionEnd)||typeof e>"u")return n;const t=Date.now();let r;return n.isReady?r="ready":e&&!n.bypassFilters?r="rejected":n.createdAt<t-90*Ln?r="expired":((o=n.cohort)==null?void 0:o.status)!=="admission_started"?r="admission_ended":r="active",{...n,status:r}}},IscedLevel:{parse:n=>{const e=Math.floor(n.id/10);return{...n,level:e,completed:e*10<n.id}}},EducationLevel:{searchProps:["label"]},University:{plural:"universities",searchProps:["name"]},Company:{plural:"companies"},CrawlerQuery:{plural:"crawlerQueries"},JobCrawlerQuery:{plural:"jobCrawlerQueries"}},Jo=(n,e)=>({...zo(n,e,{...Dn,definitions:qo(Dn,Go)}),gcpLog:{getEntries:async t=>await gt(n,e.authUser)(`/gcp-logs?q=${JSON.stringify(t)}`)}}),Ko=(n,e)=>{const t=gt(n,e.authUser);return{project:{findMany:(r={})=>t(`/projects?q=${JSON.stringify(r)}`),findBySlug:(r,i={})=>t(`/projects/${r}?q=${JSON.stringify(i)}`)},topic:{findMany:(r={})=>t(`/topics?q=${JSON.stringify(r)}`),findBySlug:(r,i={})=>t(`/topics/${r}?q=${JSON.stringify(i)}`)},learningObjective:{findMany:(r={})=>t(`/learning-objectives?q=${JSON.stringify(r)}`)}}},Ve=n=>n>9?`${n}`:`0${n}`,$n=n=>`${Ve(n.getUTCDate())}/${Ve(n.getUTCMonth()+1)}/${n.getUTCFullYear()}`,Mn=n=>`${Ve(n.getUTCHours())}:${Ve(n.getUTCMinutes())}:${n.getUTCSeconds()} UTC`,Yo=n=>`${$n(n)} ${Mn(n)}`,Qo={es:"es-ES",pt:"pt-BR"},Xo=(n,e="es",t=!1)=>new Intl.DateTimeFormat(Qo[e],{...t&&{year:"numeric"},month:"long",day:"numeric",timeZone:"UTC"}).format(new Date(n)),Zo=(n,e)=>{let t=e.getFullYear()-n.getFullYear();const r=e.getMonth()-n.getMonth();return(r<0||r===0&&e.getDate()<n.getDate())&&t--,t},ea=(n,e,t)=>new Intl.NumberFormat(`${n}-${e}`,{currency:t}),ta=(n,e,t,r)=>ea(e,t,r).format(n),na=n=>parseInt(n.replace(/[,\.]/g,""),10),ra=n=>{try{return JSON.parse(window.localStorage.getItem(n))}catch{return null}},ia=({firebaseApiKey:n="AIzaSyAXbaEbpq8NOfn0r8mIrcoHvoGRkJThwdc",firebaseProject:e="laboratoria-la",coreApiUrl:t="https://us-central1-outpost-272720.cloudfunctions.net/core-api"}={})=>{const r=Ot({apiKey:n,authDomain:`${e}.firebaseapp.com`,databaseURL:`https://${e}.firebaseio.com`,projectId:e}),i=Do(r),s={authUser:void 0,user:void 0},o=Jo(t,s);return{...Ko(t,s),...o,auth:{onChange:u=>vs(i,_=>{if(!_)return Object.assign(s,{authUser:null,user:null}),u(s);Object.assign(s,{authUser:_}),o.user.findById(_.uid).then(b=>{Object.assign(s,{user:b}),u(s)}).catch(b=>{console.error(b),Object.assign(s,{authUser:null,user:null}),u(s)})}),signIn:(u,_)=>ms(i,u,_),signOut:()=>bs(i),sendPasswordResetEmail:u=>gs(i,u)},firebaseApp:r}};k.createApp=ia,k.formatCurrency=ta,k.formatDate=$n,k.formatDateTime=Yo,k.formatMonth=Xo,k.formatTime=Mn,k.getAgeAt=Zo,k.loadFromLocalStorage=ra,k.parseCurrency=na,Object.defineProperty(k,Symbol.toStringTag,{value:"Module"})});
|
1486
|
+
*/const Oo=5*60,ko=bt("authIdTokenMaxAge")||Oo;let On=null;const No=n=>async e=>{const t=e&&await e.getIdTokenResult(),r=t&&(new Date().getTime()-Date.parse(t.issuedAtTime))/1e3;if(r&&r>ko)return;const i=t==null?void 0:t.token;On!==i&&(On=i,await fetch(n,{method:i?"POST":"DELETE",headers:i?{Authorization:`Bearer ${i}`}:{}}))};function Do(n=ti()){const e=Pt(n,"auth");if(e.isInitialized())return e.getImmediate();const t=Yi(n,{popupRedirectResolver:So,persistence:[Ms,Ts,gn]}),r=bt("authTokenSyncURL");if(r){const s=No(r);_s(t,s,()=>s(t.currentUser)),ys(t,o=>s(o))}const i=xn("auth");return i&&Xi(t,`http://${i}`),t}Po("Browser");var Lo=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function $o(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var kn={exports:{}};(function(n){(function(e){function t(l,m){var d=(l&65535)+(m&65535),w=(l>>16)+(m>>16)+(d>>16);return w<<16|d&65535}function r(l,m){return l<<m|l>>>32-m}function i(l,m,d,w,E,S){return t(r(t(t(m,l),t(w,S)),E),d)}function s(l,m,d,w,E,S,O){return i(m&d|~m&w,l,m,E,S,O)}function o(l,m,d,w,E,S,O){return i(m&w|d&~w,l,m,E,S,O)}function c(l,m,d,w,E,S,O){return i(m^d^w,l,m,E,S,O)}function a(l,m,d,w,E,S,O){return i(d^(m|~w),l,m,E,S,O)}function u(l,m){l[m>>5]|=128<<m%32,l[(m+64>>>9<<4)+14]=m;var d,w,E,S,O,h=1732584193,f=-271733879,p=-1732584194,g=271733878;for(d=0;d<l.length;d+=16)w=h,E=f,S=p,O=g,h=s(h,f,p,g,l[d],7,-680876936),g=s(g,h,f,p,l[d+1],12,-389564586),p=s(p,g,h,f,l[d+2],17,606105819),f=s(f,p,g,h,l[d+3],22,-1044525330),h=s(h,f,p,g,l[d+4],7,-176418897),g=s(g,h,f,p,l[d+5],12,1200080426),p=s(p,g,h,f,l[d+6],17,-1473231341),f=s(f,p,g,h,l[d+7],22,-45705983),h=s(h,f,p,g,l[d+8],7,1770035416),g=s(g,h,f,p,l[d+9],12,-1958414417),p=s(p,g,h,f,l[d+10],17,-42063),f=s(f,p,g,h,l[d+11],22,-1990404162),h=s(h,f,p,g,l[d+12],7,1804603682),g=s(g,h,f,p,l[d+13],12,-40341101),p=s(p,g,h,f,l[d+14],17,-1502002290),f=s(f,p,g,h,l[d+15],22,1236535329),h=o(h,f,p,g,l[d+1],5,-165796510),g=o(g,h,f,p,l[d+6],9,-1069501632),p=o(p,g,h,f,l[d+11],14,643717713),f=o(f,p,g,h,l[d],20,-373897302),h=o(h,f,p,g,l[d+5],5,-701558691),g=o(g,h,f,p,l[d+10],9,38016083),p=o(p,g,h,f,l[d+15],14,-660478335),f=o(f,p,g,h,l[d+4],20,-405537848),h=o(h,f,p,g,l[d+9],5,568446438),g=o(g,h,f,p,l[d+14],9,-1019803690),p=o(p,g,h,f,l[d+3],14,-187363961),f=o(f,p,g,h,l[d+8],20,1163531501),h=o(h,f,p,g,l[d+13],5,-1444681467),g=o(g,h,f,p,l[d+2],9,-51403784),p=o(p,g,h,f,l[d+7],14,1735328473),f=o(f,p,g,h,l[d+12],20,-1926607734),h=c(h,f,p,g,l[d+5],4,-378558),g=c(g,h,f,p,l[d+8],11,-2022574463),p=c(p,g,h,f,l[d+11],16,1839030562),f=c(f,p,g,h,l[d+14],23,-35309556),h=c(h,f,p,g,l[d+1],4,-1530992060),g=c(g,h,f,p,l[d+4],11,1272893353),p=c(p,g,h,f,l[d+7],16,-155497632),f=c(f,p,g,h,l[d+10],23,-1094730640),h=c(h,f,p,g,l[d+13],4,681279174),g=c(g,h,f,p,l[d],11,-358537222),p=c(p,g,h,f,l[d+3],16,-722521979),f=c(f,p,g,h,l[d+6],23,76029189),h=c(h,f,p,g,l[d+9],4,-640364487),g=c(g,h,f,p,l[d+12],11,-421815835),p=c(p,g,h,f,l[d+15],16,530742520),f=c(f,p,g,h,l[d+2],23,-995338651),h=a(h,f,p,g,l[d],6,-198630844),g=a(g,h,f,p,l[d+7],10,1126891415),p=a(p,g,h,f,l[d+14],15,-1416354905),f=a(f,p,g,h,l[d+5],21,-57434055),h=a(h,f,p,g,l[d+12],6,1700485571),g=a(g,h,f,p,l[d+3],10,-1894986606),p=a(p,g,h,f,l[d+10],15,-1051523),f=a(f,p,g,h,l[d+1],21,-2054922799),h=a(h,f,p,g,l[d+8],6,1873313359),g=a(g,h,f,p,l[d+15],10,-30611744),p=a(p,g,h,f,l[d+6],15,-1560198380),f=a(f,p,g,h,l[d+13],21,1309151649),h=a(h,f,p,g,l[d+4],6,-145523070),g=a(g,h,f,p,l[d+11],10,-1120210379),p=a(p,g,h,f,l[d+2],15,718787259),f=a(f,p,g,h,l[d+9],21,-343485551),h=t(h,w),f=t(f,E),p=t(p,S),g=t(g,O);return[h,f,p,g]}function _(l){var m,d="",w=l.length*32;for(m=0;m<w;m+=8)d+=String.fromCharCode(l[m>>5]>>>m%32&255);return d}function b(l){var m,d=[];for(d[(l.length>>2)-1]=void 0,m=0;m<d.length;m+=1)d[m]=0;var w=l.length*8;for(m=0;m<w;m+=8)d[m>>5]|=(l.charCodeAt(m/8)&255)<<m%32;return d}function A(l){return _(u(b(l),l.length*8))}function P(l,m){var d,w=b(l),E=[],S=[],O;for(E[15]=S[15]=void 0,w.length>16&&(w=u(w,l.length*8)),d=0;d<16;d+=1)E[d]=w[d]^909522486,S[d]=w[d]^1549556828;return O=u(E.concat(b(m)),512+m.length*8),_(u(S.concat(O),640))}function D(l){var m="0123456789abcdef",d="",w,E;for(E=0;E<l.length;E+=1)w=l.charCodeAt(E),d+=m.charAt(w>>>4&15)+m.charAt(w&15);return d}function v(l){return unescape(encodeURIComponent(l))}function I(l){return A(v(l))}function M(l){return D(I(l))}function C(l,m){return P(v(l),v(m))}function re(l,m){return D(C(l,m))}function Q(l,m,d){return m?d?C(m,l):re(m,l):d?I(l):M(l)}n.exports?n.exports=Q:e.md5=Q})(Lo)})(kn);var Mo=kn.exports;const Uo=$o(Mo),gt=(n,e)=>async(t,r={})=>{const i=e?await e.getIdToken():null,s=await fetch(`${n}${t}`,{mode:"cors",...r,headers:{...i&&{authorization:`Bearer ${i}`},...r.body&&{"content-type":"application/json"},...r.headers},...r.body&&{body:JSON.stringify(r.body)}}),o=await s.json();if(s.status>202)throw Object.assign(new Error((o==null?void 0:o.message)||`HTTP Error ${s.status}`),{status:s.status,code:o==null?void 0:o.code,body:o});return o},jo=n=>{const e=n.properties||{},t=n.inputProps||Object.keys(e),r=(i,s)=>{const o=e[i]||{};if([null,void 0].includes(s))return o.isRequired?{id:"value-missing-validation-error"}:void 0;if(o.enum)return o.enum.includes(s)?void 0:{id:"enum-validation-error",values:{enum:o.enum,value:s}};switch(o.type){case"integer":if(o.isScalar&&(typeof s!="number"||Number.isNaN(s)))return{id:"invalid-number-validation-error"};break;case"date":break;case"boolean":break;case"json":case"string":default:if(o.isRequired&&!s)return{id:"value-missing-validation-error"};break}};return{validate:i=>t.reduce((s,o)=>{const c=r(o,i[o]);return c?{...s,[o]:c}:s},{}),validateAttr:r}},Fo=(n={})=>Object.keys(n).length?`?q=${JSON.stringify(n)}`:"",Bo=n=>[...n].reduce((e,t)=>t===t.toUpperCase()?`${e}-${t.toLowerCase()}`:`${e}${t}`,""),Ho=n=>`${n[0].toLowerCase()}${n.slice(1)}`,Vo=n=>{const e=Bo(n);return(t,r)=>`/${e}${t?`/${encodeURIComponent(t)}`:""}${Fo(r)}`},Nn=(n,e)=>{const t=Array.isArray(e.inputProps);return Object.keys(n).reduce((r,i)=>{if(t&&!e.inputProps.includes(i))return r;const{isRef:s,isScalar:o,isRequired:c}=e.properties[i]||{};return s&&o&&!c&&n[i]===null?r:{...r,[i]:n[i]}},{})},Wo=({primaryKey:n,properties:e,...t})=>({primaryKey:n||"id",properties:Object.keys(e||{}).reduce((r,i)=>{var b,A;const s=e[i]||{},{type:o,isScalar:c,isRequired:a,isRef:u=!1}=typeof s.type=="string"?s.type==="array"?s.enum?{type:"string",isScalar:!1,isRequired:!1}:(b=s.items)!=null&&b.$ref?{type:s.items.$ref.split("/").pop(),isScalar:!1,isRequired:!1,isRef:!0}:{type:(A=s.items)==null?void 0:A.type,isScalar:!1,isRequired:!1}:{type:s.format==="date-time"?"date":s.type,isScalar:!0,isRequired:!0}:Array.isArray(s.type)?s.type.length===2?{type:s.format==="date-time"?"date":s.type[0],isScalar:!0,isRequired:!1}:{type:"json",isScalar:!0,isRequired:s.type.includes("null")}:s.$ref?{type:s.$ref.split("/").pop(),isScalar:!0,isRequired:!0,isRef:!0}:{type:s.anyOf[0].$ref.split("/").pop(),isScalar:!0,isRequired:!1,isRef:!0},_=s.inputType||(o==="integer"?"number":o);return{...r,[i]:{...e[i],type:o,isScalar:c,isRequired:typeof s.isRequired=="boolean"?s.isRequired:a,isRef:u,inputType:_}}},{}),...t}),xo=(n,e,t,r={},i={})=>{const s=Wo(r),{primaryKey:o,properties:c}=s,a=jo(s),u=Vo(t),_=(...v)=>gt(n,e.authUser)(...v),b=({data:v,...I})=>_(u(null,I),{method:"POST",body:Nn(v,s)}),A=({data:v,...I})=>{const{where:M,...C}=I;return _(u(M[o],C),{method:"PUT",body:Nn(v,s)})},P=v=>{if(!v)return v;const I=Object.keys(v).reduce((M,C)=>{var E;const re=c[C]||{},{type:Q,isScalar:l,isRef:m,format:d,items:w}=re;if(m){const S=Ho(Q);return l?{...M,[C]:i[S].parse(v[C])}:{...M,[C]:typeof((E=i[S])==null?void 0:E.parse)=="function"?v[C].map(O=>i[S].parse(O)):v[C]}}return{...M,[C]:Q==="date"&&v[C]?new Date(v[C]):v[C]}},{});return typeof s.parse=="function"?s.parse(I):I},D=Object.keys(c||{}).reduce((v,I)=>c[I].isRef&&c[I].isScalar&&c[I].isRequired?Object.assign(v,{all:v.all.concat(I),oneToOne:v.oneToOne.concat(I),requiredOneToOne:v.requiredOneToOne.concat(I)}):c[I].isRef&&c[I].isScalar?Object.assign(v,{all:v.all.concat(I),oneToOne:v.oneToOne.concat(I),optionalOneToOne:v.optionalOneToOne.concat(I)}):c[I].isRef?Object.assign(v,{all:v.all.concat(I),oneToMany:v.oneToMany.concat(I)}):v,{all:[],oneToOne:[],requiredOneToOne:[],optionalOneToOne:[],oneToMany:[]});return{get schema(){return s},get relations(){return D},parse:P,validateAttr:a.validateAttr,validate:a.validate,findMany:v=>_(u(null,v)).then(I=>I.map(P)),findById:(v,I)=>_(u(v,I)).then(P),create:b,update:A,upsert:v=>v.where[o]?A({where:v.where,data:v.update}):b({data:v.create}),delete:v=>_(u(v),{method:"DELETE"}),stats:()=>_(u("_stats"))}},zo=(n,e,t)=>Object.keys(t.properties).reduce((r,i)=>{const s=t.properties[i].$ref.split("/").pop();return Object.assign(r,{[i]:xo(n,e,t.definitions[s].plural||`${i}s`,t.definitions[s],r)})},{}),qo=(n,e)=>Object.keys(n.definitions).reduce((t,r)=>({...t,[r]:e[r]?{...n.definitions[r],...e[r],properties:Object.keys(n.definitions[r].properties).reduce((i,s)=>({...i,[s]:{...n.definitions[r].properties[s],...(e[r].properties||{})[s]}}),e[r].properties||{})}:n.definitions[r]}),{}),Dn={$schema:"http://json-schema.org/draft-07/schema#",definitions:{Country:{type:"object",properties:{code:{type:"string"},name:{type:"string"},incomeFilter:{type:["integer","null"]},canApply:{type:"boolean",default:!1},capital:{type:"array",items:{type:"string"}},timeZone:{type:["string","null"]},flag:{type:["string","null"]},currency:{anyOf:[{$ref:"#/definitions/Currency"},{type:"null"}]},contracts:{type:"array",items:{$ref:"#/definitions/Contract"}},users:{type:"array",items:{$ref:"#/definitions/User"}},applications:{type:"array",items:{$ref:"#/definitions/Application"}},applicationNationalities:{type:"array",items:{$ref:"#/definitions/Application"}},educationLevels:{type:"array",items:{$ref:"#/definitions/EducationLevel"}},universities:{type:"array",items:{$ref:"#/definitions/University"}},companies:{type:"array",items:{$ref:"#/definitions/Company"}},jobs:{type:"array",items:{$ref:"#/definitions/Job"}}}},Currency:{type:"object",properties:{code:{type:"string"},name:{type:"string"},symbol:{type:"string"},countries:{type:"array",items:{$ref:"#/definitions/Country"}}}},User:{type:"object",properties:{uid:{type:"string"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},createdBy:{type:["string","null"]},email:{type:"string"},firstName:{type:"string"},lastName:{type:["string","null"]},role:{type:["string","null"],enum:["staff","manager","finance","admin"]},disabled:{type:"boolean",default:!1},lang:{type:["string","null"],enum:["en","es","pt"]},referralSource:{type:["string","null"],enum:["word_of_mouth","codigo_m","social","google","print","tv","radio","other"]},identifiesAsFemale:{type:["boolean","null"]},dateOfBirth:{type:["string","null"],format:"date-time"},identificationNumber:{type:["string","null"]},mobileNumber:{type:["string","null"]},github:{type:["string","null"]},linkedin:{type:["string","null"]},bio:{type:["string","null"]},country:{anyOf:[{$ref:"#/definitions/Country"},{type:"null"}]},signupCohort:{anyOf:[{$ref:"#/definitions/Cohort"},{type:"null"}]},applications:{type:"array",items:{$ref:"#/definitions/Application"}},contractsAsCheckPilot:{type:"array",items:{$ref:"#/definitions/Contract"}},contracts:{type:"array",items:{$ref:"#/definitions/Contract"}},dropouts:{type:"array",items:{$ref:"#/definitions/Dropout"}},gigs:{type:"array",items:{$ref:"#/definitions/Gig"}},messages:{type:"array",items:{$ref:"#/definitions/Message"}},students:{type:"array",items:{$ref:"#/definitions/Student"}},activityLog:{type:"array",items:{$ref:"#/definitions/ActivityLogEntry"}},authoredActivityLog:{type:"array",items:{$ref:"#/definitions/ActivityLogEntry"}},jobReviews:{type:"array",items:{$ref:"#/definitions/JobReview"}},jobApplications:{type:"array",items:{$ref:"#/definitions/JobApplication"}},studentProjecTeamMembers:{type:"array",items:{$ref:"#/definitions/StudentProjecTeamMember"}}}},Track:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},name:{type:"string"},programs:{type:"array",items:{$ref:"#/definitions/Program"}},crawlerQueries:{type:"array",items:{$ref:"#/definitions/CrawlerQuery"}},jobProfileTypes:{type:"array",items:{$ref:"#/definitions/JobProfileType"}},applicationChallenges:{type:"array",items:{$ref:"#/definitions/ApplicationChallengeTrack"}}}},Program:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},name:{type:"string"},description:{type:["string","null"]},langs:{type:"array",enum:["en","es","pt"]},hidden:{type:"boolean",default:!1},track:{$ref:"#/definitions/Track"},cohorts:{type:"array",items:{$ref:"#/definitions/Cohort"}},stages:{type:"array",items:{$ref:"#/definitions/Stage"}}}},Stage:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},name:{type:"string"},order:{type:"integer"},program:{$ref:"#/definitions/Program"},cohorts:{type:"array",items:{$ref:"#/definitions/Cohort"}}}},Cohort:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},createdBy:{type:["string","null"]},name:{type:"string"},lang:{type:["string","null"],enum:["en","es","pt"]},start:{type:"string",format:"date-time"},end:{type:"string",format:"date-time"},timeZone:{type:["string","null"]},startTime:{type:["string","null"]},endTime:{type:["string","null"]},legacySlug:{type:"string"},vacancies:{type:["integer","null"]},admissionStart:{type:["string","null"],format:"date-time"},admissionEnd:{type:["string","null"],format:"date-time"},admissionCountries:{type:"array",items:{type:"string"}},placementStart:{type:["string","null"],format:"date-time"},placementDuration:{type:["integer","null"]},program:{$ref:"#/definitions/Program"},stage:{$ref:"#/definitions/Stage"},applications:{type:"array",items:{$ref:"#/definitions/Application"}},links:{type:"array",items:{$ref:"#/definitions/CohortLink"}},dropouts:{type:"array",items:{$ref:"#/definitions/Dropout"}},gigs:{type:"array",items:{$ref:"#/definitions/Gig"}},students:{type:"array",items:{$ref:"#/definitions/Student"}},signupUsers:{type:"array",items:{$ref:"#/definitions/User"}},activityLog:{type:"array",items:{$ref:"#/definitions/ActivityLogEntry"}},jobApplications:{type:"array",items:{$ref:"#/definitions/JobApplication"}},studentProjects:{type:"array",items:{$ref:"#/definitions/StudentProject"}}}},Student:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},createdBy:{type:["string","null"]},legacyStudentCode:{type:["string","null"]},cohort:{$ref:"#/definitions/Cohort"},user:{$ref:"#/definitions/User"}}},CohortLink:{type:"object",properties:{id:{type:"integer"},url:{type:"string"},visibility:{type:"string",enum:["public","members","staff","team","admin"]},cohort:{$ref:"#/definitions/Cohort"}}},Dropout:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},createdBy:{type:["string","null"]},date:{type:"string",format:"date-time"},reasonDetail:{type:["string","null"]},notes:{type:["string","null"]},staffSad:{type:"boolean"},covidRelated:{type:["boolean","null"]},reason:{type:"string",enum:["dropout","noShow","invitedToLeave","changeCohort"]},completedProjects:{type:"integer"},lastProject:{type:["string","null"]},cohort:{$ref:"#/definitions/Cohort"},user:{$ref:"#/definitions/User"}}},IscedLevel:{type:"object",properties:{id:{type:"integer"},label:{type:"string"},educationLevels:{type:"array",items:{$ref:"#/definitions/EducationLevel"}}}},EducationLevel:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},lang:{type:"string",enum:["en","es","pt"]},label:{type:"string"},country:{$ref:"#/definitions/Country"},iscedLevel:{$ref:"#/definitions/IscedLevel"},applications:{type:"array",items:{$ref:"#/definitions/Application"}}}},University:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},lang:{type:"string",enum:["en","es","pt"]},name:{type:"string"},filter:{type:"boolean"},country:{$ref:"#/definitions/Country"},applications:{type:"array",items:{$ref:"#/definitions/Application"}}}},Application:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},createdBy:{type:["string","null"]},dateOfBirth:{type:"string",format:"date-time"},isAllowedToWork:{type:"boolean"},hasValidIdDocument:{type:"boolean"},locality:{type:["number","string","boolean","object","array","null"]},householdSize:{type:"integer"},children:{type:"integer"},householdIncome:{type:"integer"},racialIdentity:{type:["string","null"]},schoolType:{type:["string","null"],enum:["private","public","other","subsidized","mixed"]},educationSubject:{type:["string","null"],enum:["design_and_media","software_engineering","engineering","management_and_business","languages","science","health","social_sciences","arts","comms_and_advertising","education","cooking","tourism","economics_and_accounting","law","other"]},isStudying:{type:"boolean"},englishLevel:{type:["string","null"],enum:["NO","A1","A2","B1","B2","C1","C2"]},workStatus:{type:"string",enum:["never","not_now","yes"]},isLookingForWork:{type:["boolean","null"]},monthsLookingForWork:{type:["integer","null"]},monthsUnemployed:{type:["integer","null"]},workRole:{type:["string","null"],enum:["waitress","promoter","manager","cashier","intern","operative","call_center","receptionist","sales_agent","assistant","professional","technical","consultant","other"]},freelance:{type:["boolean","null"]},workFormal:{type:["boolean","null"]},workIncome:{type:["integer","null"]},failedFilters:{type:"array",items:{type:"string"}},bypassFilters:{type:"boolean",default:!1},isReady:{type:"boolean",default:!1},isReturningApplicant:{type:["boolean","null"]},legacyAdmissionCohortSlug:{type:["string","null"]},cohort:{$ref:"#/definitions/Cohort"},user:{$ref:"#/definitions/User"},country:{$ref:"#/definitions/Country"},nationality:{$ref:"#/definitions/Country"},educationLevel:{$ref:"#/definitions/EducationLevel"},university:{anyOf:[{$ref:"#/definitions/University"},{type:"null"}]},challengeAssignments:{type:"array",items:{$ref:"#/definitions/ApplicationChallengeAssignment"}}}},ApplicationChallenge:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},createdBy:{type:["string","null"]},slug:{type:"string"},version:{type:"string"},trackId:{type:"integer"},tracks:{type:"array",items:{$ref:"#/definitions/ApplicationChallengeTrack"}},langs:{type:"array",enum:["en","es","pt"]},json:{type:"string"},archived:{type:"boolean",default:!1},assignments:{type:"array",items:{$ref:"#/definitions/ApplicationChallengeAssignment"}}}},ApplicationChallengeAssignment:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},application:{$ref:"#/definitions/Application"},challenge:{$ref:"#/definitions/ApplicationChallenge"}}},ApplicationChallengeTrack:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},createdBy:{type:["string","null"]},applicationChallenge:{$ref:"#/definitions/ApplicationChallenge"},track:{$ref:"#/definitions/Track"}}},ActivityLogEntry:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},type:{type:"string",enum:["challenge","application_filter","application_filter_bypass","application_cohort_change","project_assessment","project_assessment_request"]},data:{type:["number","string","boolean","object","array","null"]},path:{type:"string"},author:{$ref:"#/definitions/User"},user:{$ref:"#/definitions/User"},cohort:{$ref:"#/definitions/Cohort"}}},StudentProject:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},createdBy:{type:"string"},projectSlug:{type:"string"},projectVersion:{type:"string"},cohort:{$ref:"#/definitions/Cohort"},links:{type:"array",items:{$ref:"#/definitions/StudentProjectLink"}},team:{type:"array",items:{$ref:"#/definitions/StudentProjecTeamMember"}}}},StudentProjecTeamMember:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},createdBy:{type:"string"},studentProject:{$ref:"#/definitions/StudentProject"},user:{$ref:"#/definitions/User"}}},StudentProjectLink:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},createdBy:{type:"string"},url:{type:"string"},studentProject:{$ref:"#/definitions/StudentProject"}}},Contract:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},createdBy:{type:"string"},isEmployment:{type:"boolean"},feeAmount:{type:"integer"},hoursPerWeek:{type:"integer"},start:{type:"string",format:"date-time"},end:{type:["string","null"],format:"date-time"},isTrial:{type:"boolean",default:!1},source:{type:["string","null"],enum:["graduate","referral","jazzhr","web","linkedin","other"]},checkPilot:{anyOf:[{$ref:"#/definitions/User"},{type:"null"}]},country:{$ref:"#/definitions/Country"},user:{$ref:"#/definitions/User"},gigs:{type:"array",items:{$ref:"#/definitions/Gig"}}}},Gig:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},createdBy:{type:"string"},role:{type:"string",enum:["bm","pdc","js","ux"]},hoursPerWeek:{type:"integer"},start:{type:"string",format:"date-time"},end:{type:["string","null"],format:"date-time"},cohort:{$ref:"#/definitions/Cohort"},contract:{$ref:"#/definitions/Contract"},user:{$ref:"#/definitions/User"}}},Message:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},createdBy:{type:["string","null"]},key:{type:"string"},from:{type:"string"},to:{type:"string"},transport:{type:"string",enum:["mandrill","slack"]},status:{type:"string",default:"PENDING",enum:["PENDING","QUEUED","ERROR","SENT"]},data:{type:["number","string","boolean","object","array","null"]},taskInfo:{type:["number","string","boolean","object","array","null"]},user:{anyOf:[{$ref:"#/definitions/User"},{type:"null"}]},logs:{type:"array",items:{$ref:"#/definitions/MessageLog"}}}},MessageLog:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},statusText:{type:["string","null"]},message:{$ref:"#/definitions/Message"}}},Industry:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},createdBy:{type:["string","null"]},name:{type:"string"},companies:{type:"array",items:{$ref:"#/definitions/Company"}}}},Company:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},createdBy:{type:["string","null"]},source:{type:"string"},sourceId:{type:"string"},name:{type:"string"},size:{type:["string","null"],enum:["A_2_10","B_11_50","C_51_200","D_201_500","E_501_1000","F_1001_5000","G_5001_10000","H_10001_plus"]},data:{type:["number","string","boolean","object","array","null"]},web:{type:["string","null"]},twitter:{type:["string","null"]},github:{type:["string","null"]},facebook:{type:["string","null"]},country:{anyOf:[{$ref:"#/definitions/Country"},{type:"null"}]},industry:{anyOf:[{$ref:"#/definitions/Industry"},{type:"null"}]},jobs:{type:"array",items:{$ref:"#/definitions/Job"}},categories:{type:"array",enum:["Tech_Consultancy","Digital_Transformation","Agency","Startups","High_tech","Traditional_Consulting"]}}},Job:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},createdBy:{type:["string","null"]},source:{type:"string"},sourceId:{type:"string"},title:{type:"string"},publishedAt:{type:"string",format:"date-time"},modality:{type:"string"},publicUrl:{type:["string","null"]},location:{type:["string","null"]},data:{type:["number","string","boolean","object","array","null"]},description:{type:["string","null"]},descriptionHTML:{type:["string","null"]},functions:{type:["string","null"]},functionsHTML:{type:["string","null"]},seniority:{type:["string","null"]},remote:{type:["boolean","null"]},remoteOption:{type:["string","null"],enum:["remote_for_now","locally_remote","fully_remote","no_remote","mixed"]},lang:{type:["string","null"],enum:["en","es","pt"]},maxSalary:{type:["integer","null"]},minSalary:{type:["integer","null"]},tags:{type:"array",items:{type:"string"}},company:{$ref:"#/definitions/Company"},country:{anyOf:[{$ref:"#/definitions/Country"},{type:"null"}]},reviews:{type:"array",items:{$ref:"#/definitions/JobReview"}},applications:{type:"array",items:{$ref:"#/definitions/JobApplication"}},crawlerQueries:{type:"array",items:{$ref:"#/definitions/JobCrawlerQuery"}},crawlerLocations:{type:"array",items:{$ref:"#/definitions/JobCrawlerLocation"}}}},JobProfileType:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},createdBy:{type:["string","null"]},name:{type:"string"},learningObjectives:{type:["number","string","boolean","object","array","null"]},track:{anyOf:[{$ref:"#/definitions/Track"},{type:"null"}]},reviews:{type:"array",items:{$ref:"#/definitions/JobReviewProfileType"}}}},JobReview:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},isValid:{type:"boolean"},invalidReason:{type:["string","null"],enum:["unrelated","experience","qualifications","other"]},comment:{type:["string","null"]},author:{$ref:"#/definitions/User"},job:{$ref:"#/definitions/Job"},profileTypes:{type:"array",items:{$ref:"#/definitions/JobReviewProfileType"}}}},JobReviewProfileType:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},createdBy:{type:["string","null"]},review:{$ref:"#/definitions/JobReview"},profileType:{$ref:"#/definitions/JobProfileType"}}},JobApplication:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},createdBy:{type:["string","null"]},status:{type:"string",default:"pending",enum:["pending","applied","interview","challenge","followup","hired","not_hired"]},hireDate:{type:["string","null"],format:"date-time"},jobStartDate:{type:["string","null"],format:"date-time"},netSalary:{type:["integer","null"]},grossSalary:{type:["integer","null"]},currency:{type:["string","null"]},job:{$ref:"#/definitions/Job"},user:{$ref:"#/definitions/User"},cohort:{anyOf:[{$ref:"#/definitions/Cohort"},{type:"null"}]}}},CrawlerQuery:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},createdBy:{type:["string","null"]},query:{type:"string"},enabled:{type:"boolean",default:!0},track:{$ref:"#/definitions/Track"},jobs:{type:"array",items:{$ref:"#/definitions/JobCrawlerQuery"}}}},JobCrawlerQuery:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},createdBy:{type:["string","null"]},job:{$ref:"#/definitions/Job"},query:{$ref:"#/definitions/CrawlerQuery"}}},CrawlerLocation:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},createdBy:{type:["string","null"]},name:{type:"string"},enabled:{type:"boolean",default:!0},jobs:{type:"array",items:{$ref:"#/definitions/JobCrawlerLocation"}}}},JobCrawlerLocation:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},createdBy:{type:["string","null"]},job:{$ref:"#/definitions/Job"},location:{$ref:"#/definitions/CrawlerLocation"}}}},type:"object",properties:{country:{$ref:"#/definitions/Country"},currency:{$ref:"#/definitions/Currency"},user:{$ref:"#/definitions/User"},track:{$ref:"#/definitions/Track"},program:{$ref:"#/definitions/Program"},stage:{$ref:"#/definitions/Stage"},cohort:{$ref:"#/definitions/Cohort"},student:{$ref:"#/definitions/Student"},cohortLink:{$ref:"#/definitions/CohortLink"},dropout:{$ref:"#/definitions/Dropout"},iscedLevel:{$ref:"#/definitions/IscedLevel"},educationLevel:{$ref:"#/definitions/EducationLevel"},university:{$ref:"#/definitions/University"},application:{$ref:"#/definitions/Application"},applicationChallenge:{$ref:"#/definitions/ApplicationChallenge"},applicationChallengeAssignment:{$ref:"#/definitions/ApplicationChallengeAssignment"},applicationChallengeTrack:{$ref:"#/definitions/ApplicationChallengeTrack"},activityLogEntry:{$ref:"#/definitions/ActivityLogEntry"},studentProject:{$ref:"#/definitions/StudentProject"},studentProjecTeamMember:{$ref:"#/definitions/StudentProjecTeamMember"},studentProjectLink:{$ref:"#/definitions/StudentProjectLink"},contract:{$ref:"#/definitions/Contract"},gig:{$ref:"#/definitions/Gig"},message:{$ref:"#/definitions/Message"},messageLog:{$ref:"#/definitions/MessageLog"},industry:{$ref:"#/definitions/Industry"},company:{$ref:"#/definitions/Company"},job:{$ref:"#/definitions/Job"},jobProfileType:{$ref:"#/definitions/JobProfileType"},jobReview:{$ref:"#/definitions/JobReview"},jobReviewProfileType:{$ref:"#/definitions/JobReviewProfileType"},jobApplication:{$ref:"#/definitions/JobApplication"},crawlerQuery:{$ref:"#/definitions/CrawlerQuery"},jobCrawlerQuery:{$ref:"#/definitions/JobCrawlerQuery"},crawlerLocation:{$ref:"#/definitions/CrawlerLocation"},jobCrawlerLocation:{$ref:"#/definitions/JobCrawlerLocation"}}},Ln=24*(60*60*1e3),Go={Country:{primaryKey:"code",plural:"countries",searchProps:["code","name","timeZone"],getOptionLabel:({code:n,name:e})=>`${n} / ${e}`},ActivityLogEntry:{plural:"activityLog"},User:{primaryKey:"uid",inputProps:["firstName","lastName","email","password","lang","identifiesAsFemale","dateOfBirth","country","identificationNumber","mobileNumber","github","linkedin","bio","role","signupCohort","disabled","referralSource"],searchProps:["firstName","lastName","email"],getOptionLabel:({firstName:n,lastName:e,email:t})=>`${n} ${e} (${t})`,properties:{email:{inputType:"email"},lastName:{isRequired:!0},mobileNumber:{inputType:"phone"},bio:{inputType:"textarea"}},parse:n=>{const e=n.github?`https://github.com/${n.github}.png?size=`:`https://www.gravatar.com/avatar/${Uo(n.email)}?s=`;return{...n,fullName:`${n.firstName||""}${n.lastName?` ${n.lastName}`:""}`,avatar:t=>`${e}${t}`,isStaff:["staff","manager","finance","admin"].includes(n.role),isManager:["manager","finance","admin"].includes(n.role),isFinance:["finance","admin"].includes(n.role),isAdmin:n.role==="admin"}}},Track:{searchProps:["name"]},Program:{searchProps:["name"]},Stage:{searchProps:["name"]},Cohort:{inputProps:["program","stage","lang","name","start","end","timeZone","startTime","endTime","vacancies","admissionStart","admissionEnd","placementStart","admissionCountries"],searchProps:["name"],getOptionLabel:({id:n,name:e,stage:t})=>`${e}${t?` - ${t.name}`:""} (id: ${n})`,properties:{},parse:n=>{var s,o;const e=Date.now();let t;if(n.placementStart){const c=n.placementDuration||270;new Date(+n.placementStart+c*24*60*60*1e3)<e?t="placement_ended":n.placementStart<e&&(t="placement_started")}!t&&n.end<e&&(t="ended"),!t&&n.start<e&&(t="started");const r=n.admissionEnd?+n.admissionEnd+Ln:!1;!t&&r&&r<e&&(t="admission_ended"),!t&&n.admissionStart&&n.admissionStart<e&&(t="admission_started"),!t&&n.admissionStart&&n.admissionEnd&&(t="planned"),t||(t="draft");const i=n.start>e&&n.vacancies?n.vacancies:((s=n._count)==null?void 0:s.students)||((o=n.students)==null?void 0:o.length)||0;return{...n,status:t,size:i}}},Student:{inputProps:["cohort","user"],searchProps:[]},Dropout:{inputProps:["cohort","user","date","reason","reasonDetail","lastProject","completedProjects","notes","staffSad","covidRelated"],searchProps:["user.uid","user.firstName","user.lastName","user.email","cohort.name"]},Contract:{inputProps:["user","country","isEmployment","feeAmount","hoursPerWeek","start","end","isTrial","checkPilot","source"],searchProps:["user.firstName","user.lastName","user.email"],getOptionLabel:({id:n,user:e})=>`${e==null?void 0:e.firstName} (id: ${n})`},Gig:{inputProps:["cohort","user","contract","role","hoursPerWeek","start","end"]},Application:{inputProps:["user","cohort","dateOfBirth","country","locality","nationality","isAllowedToWork","hasValidIdDocument","householdSize","children","householdIncome","racialIdentity","educationLevel","schoolType","educationSubject","university","isStudying","englishLevel","workStatus","isLookingForWork","monthsLookingForWork","monthsUnemployed","workRole","freelance","workFormal","workIncome","isReady","bypassFilters"],properties:{locality:{isRequired:!0},englishLevel:{isRequired:!0},isReady:{isRequired:!1},bypassFilters:{isRequired:!1}},parse:n=>{var i,s,o;const e=typeof n.hasFailedFilters=="boolean"?n.hasFailedFilters:typeof((i=n.failedFilters)==null?void 0:i.length)=="number"?n.failedFilters.length>0:void 0;if(!((s=n.cohort)!=null&&s.admissionEnd)||typeof e>"u")return n;const t=Date.now();let r;return n.isReady?r="ready":e&&!n.bypassFilters?r="rejected":n.createdAt<t-90*Ln?r="expired":((o=n.cohort)==null?void 0:o.status)!=="admission_started"?r="admission_ended":r="active",{...n,status:r}}},IscedLevel:{parse:n=>{const e=Math.floor(n.id/10);return{...n,level:e,completed:e*10<n.id}}},EducationLevel:{searchProps:["label"]},University:{plural:"universities",searchProps:["name"]},Company:{plural:"companies"},CrawlerQuery:{plural:"crawlerQueries"},JobCrawlerQuery:{plural:"jobCrawlerQueries"}},Jo=(n,e)=>({...zo(n,e,{...Dn,definitions:qo(Dn,Go)}),gcpLog:{getEntries:async t=>await gt(n,e.authUser)(`/gcp-logs?q=${JSON.stringify(t)}`)}}),Ko=(n,e)=>{const t=gt(n,e.authUser);return{project:{findMany:(r={})=>t(`/projects?q=${JSON.stringify(r)}`),findBySlug:(r,i={})=>t(`/projects/${r}?q=${JSON.stringify(i)}`)},topic:{findMany:(r={})=>t(`/topics?q=${JSON.stringify(r)}`),findBySlug:(r,i={})=>t(`/topics/${r}?q=${JSON.stringify(i)}`)},learningObjective:{findMany:(r={})=>t(`/learning-objectives?q=${JSON.stringify(r)}`)}}},Ve=n=>n>9?`${n}`:`0${n}`,$n=n=>`${Ve(n.getUTCDate())}/${Ve(n.getUTCMonth()+1)}/${n.getUTCFullYear()}`,Mn=n=>`${Ve(n.getUTCHours())}:${Ve(n.getUTCMinutes())}:${n.getUTCSeconds()} UTC`,Yo=n=>`${$n(n)} ${Mn(n)}`,Qo={es:"es-ES",pt:"pt-BR"},Xo=(n,e="es",t=!1)=>new Intl.DateTimeFormat(Qo[e],{...t&&{year:"numeric"},month:"long",day:"numeric",timeZone:"UTC"}).format(new Date(n)),Zo=(n,e)=>{let t=e.getFullYear()-n.getFullYear();const r=e.getMonth()-n.getMonth();return(r<0||r===0&&e.getDate()<n.getDate())&&t--,t},ea=(n,e,t)=>new Intl.NumberFormat(`${n}-${e}`,{currency:t}),ta=(n,e,t,r)=>ea(e,t,r).format(n),na=n=>parseInt(n.replace(/[,\.]/g,""),10),ra=n=>{try{return JSON.parse(window.localStorage.getItem(n))}catch{return null}},ia=({firebaseApiKey:n="AIzaSyAXbaEbpq8NOfn0r8mIrcoHvoGRkJThwdc",firebaseProject:e="laboratoria-la",coreApiUrl:t="https://us-central1-outpost-272720.cloudfunctions.net/core-api"}={})=>{const r=Ot({apiKey:n,authDomain:`${e}.firebaseapp.com`,databaseURL:`https://${e}.firebaseio.com`,projectId:e}),i=Do(r),s={authUser:void 0,user:void 0},o=Jo(t,s);return{...Ko(t,s),...o,auth:{onChange:u=>vs(i,_=>{if(!_)return Object.assign(s,{authUser:null,user:null}),u(s);Object.assign(s,{authUser:_}),o.user.findById(_.uid).then(b=>{Object.assign(s,{user:b}),u(s)}).catch(b=>{console.error(b),Object.assign(s,{authUser:null,user:null}),u(s)})}),signIn:(u,_)=>ms(i,u,_),signOut:()=>bs(i),sendPasswordResetEmail:u=>gs(i,u)},firebaseApp:r}};k.createApp=ia,k.formatCurrency=ta,k.formatDate=$n,k.formatDateTime=Yo,k.formatMonth=Xo,k.formatTime=Mn,k.getAgeAt=Zo,k.loadFromLocalStorage=ra,k.parseCurrency=na,Object.defineProperty(k,Symbol.toStringTag,{value:"Module"})});
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@laboratoria/sdk-js",
|
3
|
-
"version": "7.1.
|
3
|
+
"version": "7.1.2",
|
4
4
|
"description": "Laboratoria JavaScript (browser) SDK",
|
5
5
|
"license": "MIT",
|
6
6
|
"type": "module",
|
@@ -23,13 +23,13 @@
|
|
23
23
|
},
|
24
24
|
"dependencies": {
|
25
25
|
"blueimp-md5": "^2.19.0",
|
26
|
-
"firebase": "^10.7.
|
26
|
+
"firebase": "^10.7.2"
|
27
27
|
},
|
28
28
|
"devDependencies": {
|
29
|
-
"@vitest/coverage-v8": "^1.1
|
30
|
-
"jsdom": "^
|
31
|
-
"vite": "^5.0.
|
32
|
-
"vitest": "^1.1
|
29
|
+
"@vitest/coverage-v8": "^1.2.1",
|
30
|
+
"jsdom": "^24.0.0",
|
31
|
+
"vite": "^5.0.12",
|
32
|
+
"vitest": "^1.2.1"
|
33
33
|
},
|
34
34
|
"engines": {
|
35
35
|
"node": ">=18.0.0"
|