nitro-web 0.0.187 → 0.0.188
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/auth/auth.api.js +34 -24
- package/components/partials/element/topbar.tsx +1 -1
- package/package.json +1 -1
- package/server/constants.js +194 -194
- package/types/components/auth/auth.api.d.ts +29 -4
- package/types/components/auth/auth.api.d.ts.map +1 -1
- package/types/server/constants.d.ts +2 -1
- package/types/server/constants.d.ts.map +1 -1
|
@@ -12,7 +12,7 @@ import { isArray, pick, ucFirst, fullNameSplit } from 'nitro-web/util'
|
|
|
12
12
|
|
|
13
13
|
const JWT_SECRET = process.env.JWT_SECRET || 'replace_this_with_secure_env_secret'
|
|
14
14
|
let authConfig = null
|
|
15
|
-
|
|
15
|
+
export const auth = {
|
|
16
16
|
userFindFromProvider, userSigninGetStore, getStore,
|
|
17
17
|
userCreate, passwordValidate, tokenCreate, tokenParse, tokenSend,
|
|
18
18
|
tokenConfirmForReset, tokenConfirmForSingleTenant, tokenConfirmForMultiTenant,
|
|
@@ -34,15 +34,14 @@ export const routes = {
|
|
|
34
34
|
}
|
|
35
35
|
|
|
36
36
|
function setup(middleware, _config, helpers = {}) {
|
|
37
|
-
// Tip: you can pass in your own helpers to override the default helpers,
|
|
37
|
+
// Tip: you can pass in your own helpers to override the default helpers, internally all functions are called
|
|
38
|
+
// with `auth` as the context, so `this` context contains all helpers.
|
|
38
39
|
// E.g. setup: (middleware, config, helpers) => authRoutes.setup(middleware, config, { getStore, ... })
|
|
39
40
|
const configKeys = ['baseUrl', 'emailFrom', 'env', 'name', 'mailgunDomain', 'mailgunKey', 'masterPassword', 'isNotMultiTenant',
|
|
40
41
|
'confirmInvites']
|
|
41
42
|
authConfig = pick(_config, configKeys)
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
for (const key of Object.keys(auth)) {
|
|
45
|
-
if (typeof auth[key] === 'function') auth[key] = auth[key].bind(auth)
|
|
43
|
+
for (const key of Object.keys(helpers)) {
|
|
44
|
+
auth[key] = helpers[key]
|
|
46
45
|
}
|
|
47
46
|
for (const key of ['baseUrl', 'emailFrom', 'env', 'name']) {
|
|
48
47
|
if (!authConfig[key]) throw new Error(`Missing config value for: config.${key}`)
|
|
@@ -274,8 +273,12 @@ export async function userFindFromProvider(query, passwordToCheck) {
|
|
|
274
273
|
}
|
|
275
274
|
if (!user) {
|
|
276
275
|
throw new Error(checkPassword ? 'Email or password is incorrect.' : 'Session-user is invalid.')
|
|
277
|
-
} else if (user.status
|
|
278
|
-
throw new Error('This user account is not
|
|
276
|
+
} else if (user.status?.match(/removed|deleted|unavailable/)) {
|
|
277
|
+
throw new Error('This user account is not available.')
|
|
278
|
+
} else if (user.status === 'terminated') {
|
|
279
|
+
throw new Error('This user account has been terminated.')
|
|
280
|
+
} else if (user.status === 'invited') {
|
|
281
|
+
throw new Error('This user account is not yet active.')
|
|
279
282
|
} else if (isMultiTenant && !user.company) {
|
|
280
283
|
throw new Error('The current company is no longer associated with this user')
|
|
281
284
|
} else if (isMultiTenant && user.company.status != 'active') {
|
|
@@ -303,7 +306,7 @@ export async function userSigninGetStore(user, isDesktop) {
|
|
|
303
306
|
user.desktop = isDesktop
|
|
304
307
|
|
|
305
308
|
const jwt = jsonwebtoken.sign({ _id: user._id }, JWT_SECRET, { expiresIn: '30d' })
|
|
306
|
-
const store = await
|
|
309
|
+
const store = await auth.getStore(user)
|
|
307
310
|
return { ...store, jwt }
|
|
308
311
|
}
|
|
309
312
|
|
|
@@ -349,7 +352,7 @@ export async function userCreate({ password, password2, company, ...userDataProp
|
|
|
349
352
|
// First validate the data so we don't have to create a transaction
|
|
350
353
|
const results = await Promise.allSettled([
|
|
351
354
|
db.user.validate(userData, options),
|
|
352
|
-
typeof password === 'undefined' ? Promise.resolve() :
|
|
355
|
+
typeof password === 'undefined' ? Promise.resolve() : auth.passwordValidate(password, password2),
|
|
353
356
|
...(companyData ? [db.company.validate(companyData, options)] : []),
|
|
354
357
|
])
|
|
355
358
|
|
|
@@ -375,7 +378,7 @@ export async function userCreate({ password, password2, company, ...userDataProp
|
|
|
375
378
|
}
|
|
376
379
|
|
|
377
380
|
// Return the user
|
|
378
|
-
return await
|
|
381
|
+
return await auth.userFindFromProvider({ _id: userId })
|
|
379
382
|
|
|
380
383
|
} catch (err) {
|
|
381
384
|
if (!isArray(err)) throw err
|
|
@@ -425,21 +428,22 @@ export function tokenParse(token, modelName, maxAgeMs = 1000 * 60 * 60 * 24) {
|
|
|
425
428
|
}
|
|
426
429
|
|
|
427
430
|
export async function tokenConfirmForReset(req) {
|
|
428
|
-
return await
|
|
431
|
+
return await auth.tokenConfirmForSingleTenant(req, true)
|
|
429
432
|
}
|
|
430
433
|
|
|
431
434
|
export async function tokenConfirmForSingleTenant(req, isReset) {
|
|
432
435
|
const { token, password, password2, ...userData } = req.body
|
|
433
436
|
const tokenName = isReset ? 'resetToken' : 'inviteToken'
|
|
434
437
|
const desktop = req.query.desktop
|
|
435
|
-
const
|
|
436
|
-
await
|
|
438
|
+
const _id = db.id(auth.tokenParse(token, 'user'))
|
|
439
|
+
await auth.passwordValidate(password, password2)
|
|
437
440
|
|
|
438
|
-
|
|
439
|
-
|
|
441
|
+
// Find the inviteToken, but bypass hooks because inviteToken may = true in a potential afterFind hook.
|
|
442
|
+
const user1 = await db.user._findOne({ _id: _id}, { projection: { [tokenName]: 1 } })
|
|
443
|
+
if (!user1 || user1[tokenName] !== token) throw new Error('Sorry your token is invalid or has already been used.')
|
|
440
444
|
|
|
441
445
|
await db.user.update({
|
|
442
|
-
query:
|
|
446
|
+
query: _id,
|
|
443
447
|
data: {
|
|
444
448
|
password: await bcrypt.hash(password, 10),
|
|
445
449
|
[tokenName]: '', // remove token
|
|
@@ -447,16 +451,22 @@ export async function tokenConfirmForSingleTenant(req, isReset) {
|
|
|
447
451
|
},
|
|
448
452
|
blacklist: ['-' + tokenName, '-password'],
|
|
449
453
|
})
|
|
450
|
-
|
|
454
|
+
|
|
455
|
+
const user2 = await db.user.findOne({ query: _id })
|
|
456
|
+
return await auth.userSigninGetStore({ ...user2, [tokenName]: undefined }, desktop)
|
|
451
457
|
}
|
|
452
458
|
|
|
453
459
|
export async function tokenConfirmForMultiTenant(req) {
|
|
454
460
|
const { token, ...userData } = req.body
|
|
455
461
|
const desktop = req.query.desktop
|
|
456
|
-
const companyId = db.id(
|
|
462
|
+
const companyId = db.id(auth.tokenParse(token, 'company'))
|
|
457
463
|
|
|
458
|
-
// Find the invite from the token (company.invites[] entry)
|
|
459
|
-
|
|
464
|
+
// Find the invite from the token (company.invites[] entry), but bypass hooks because inviteToken may = true in
|
|
465
|
+
// a potential afterFind hook.
|
|
466
|
+
const company = await db.company._findOne(
|
|
467
|
+
{ _id: companyId, 'invites.inviteToken': token },
|
|
468
|
+
{ projection: { 'invites.inviteToken': 1 } }
|
|
469
|
+
)
|
|
460
470
|
if (!company) throw new Error('Sorry your token is invalid or has already been used.')
|
|
461
471
|
const invite = company.invites.find(inv => inv.inviteToken === token)
|
|
462
472
|
|
|
@@ -467,7 +477,7 @@ export async function tokenConfirmForMultiTenant(req) {
|
|
|
467
477
|
}
|
|
468
478
|
|
|
469
479
|
// Find or create new user
|
|
470
|
-
const user = existingUser || await
|
|
480
|
+
const user = existingUser || await auth.userCreate({ ...userData, company: companyId }, true) // AKA "active company"
|
|
471
481
|
|
|
472
482
|
// Add the user to the company
|
|
473
483
|
await db.company.update({
|
|
@@ -477,7 +487,7 @@ export async function tokenConfirmForMultiTenant(req) {
|
|
|
477
487
|
})
|
|
478
488
|
|
|
479
489
|
// Signin
|
|
480
|
-
return await
|
|
490
|
+
return await auth.userSigninGetStore(user, desktop)
|
|
481
491
|
}
|
|
482
492
|
|
|
483
493
|
/**
|
|
@@ -498,7 +508,7 @@ export async function tokenSend({ type = 'reset', _id, email, firstName, beforeU
|
|
|
498
508
|
|
|
499
509
|
const tokenName = type === 'companyInvite' ? 'inviteToken' : type + 'Token'
|
|
500
510
|
const modelName = type === 'companyInvite' ? 'company' : 'user'
|
|
501
|
-
const token = await
|
|
511
|
+
const token = await auth.tokenCreate(modelName, _id)
|
|
502
512
|
const _beforeUpdate = beforeUpdate || (o => o)
|
|
503
513
|
|
|
504
514
|
if (modelName === 'company') {
|
|
@@ -6,7 +6,7 @@ type TopbarProps = {
|
|
|
6
6
|
|
|
7
7
|
export function Topbar({ title, subtitle, className }: TopbarProps) {
|
|
8
8
|
return (
|
|
9
|
-
<div class={`flex flex-col min-h-12 gap-0.5 mb-
|
|
9
|
+
<div class={`flex flex-col min-h-12---removed gap-0.5 mb-8 nitro-topbar ${className||''}`}>
|
|
10
10
|
<div class="text-2xl font-bold">{title}</div>
|
|
11
11
|
{ subtitle && <div class="text-sm text-muted-foreground">{subtitle}</div>}
|
|
12
12
|
{/* { submenu && <div class="pt-2 text-large weight-500">{submenu}</div> } */}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nitro-web",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.188",
|
|
4
4
|
"repository": "github:boycce/nitro-web",
|
|
5
5
|
"homepage": "https://boycce.github.io/nitro-web/",
|
|
6
6
|
"description": "Nitro is a battle-tested, modular base project to turbocharge your projects, styled using Tailwind 🚀",
|
package/server/constants.js
CHANGED
|
@@ -70,199 +70,199 @@ export const currencies = {
|
|
|
70
70
|
zar: { name: 'South African Rand', symbol: 'R', digits: 2 },
|
|
71
71
|
}
|
|
72
72
|
|
|
73
|
-
/** @type {{ [key in Country]: { name: string } }} */
|
|
73
|
+
/** @type {{ [key in Country]: { name: string, flag: string } }} */
|
|
74
74
|
export const countries = {
|
|
75
|
-
af: { name: 'Afghanistan' },
|
|
76
|
-
al: { name: 'Albania' },
|
|
77
|
-
dz: { name: 'Algeria' },
|
|
78
|
-
ad: { name: 'Andorra' },
|
|
79
|
-
ao: { name: 'Angola' },
|
|
80
|
-
ag: { name: 'Antigua and Barbuda' },
|
|
81
|
-
ar: { name: 'Argentina' },
|
|
82
|
-
am: { name: 'Armenia' },
|
|
83
|
-
au: { name: 'Australia' },
|
|
84
|
-
at: { name: 'Austria' },
|
|
85
|
-
az: { name: 'Azerbaijan' },
|
|
86
|
-
bs: { name: 'Bahamas' },
|
|
87
|
-
bh: { name: 'Bahrain' },
|
|
88
|
-
bd: { name: 'Bangladesh' },
|
|
89
|
-
bb: { name: 'Barbados' },
|
|
90
|
-
by: { name: 'Belarus' },
|
|
91
|
-
be: { name: 'Belgium' },
|
|
92
|
-
bz: { name: 'Belize' },
|
|
93
|
-
bj: { name: 'Benin' },
|
|
94
|
-
bt: { name: 'Bhutan' },
|
|
95
|
-
bo: { name: 'Bolivia' },
|
|
96
|
-
ba: { name: 'Bosnia and Herzegovina' },
|
|
97
|
-
bw: { name: 'Botswana' },
|
|
98
|
-
br: { name: 'Brazil' },
|
|
99
|
-
bn: { name: 'Brunei' },
|
|
100
|
-
bg: { name: 'Bulgaria' },
|
|
101
|
-
bf: { name: 'Burkina Faso' },
|
|
102
|
-
bi: { name: 'Burundi' },
|
|
103
|
-
cv: { name: 'Cabo Verde' },
|
|
104
|
-
kh: { name: 'Cambodia' },
|
|
105
|
-
cm: { name: 'Cameroon' },
|
|
106
|
-
ca: { name: 'Canada' },
|
|
107
|
-
cf: { name: 'Central African Republic' },
|
|
108
|
-
td: { name: 'Chad' },
|
|
109
|
-
cl: { name: 'Chile' },
|
|
110
|
-
cn: { name: 'China' },
|
|
111
|
-
co: { name: 'Colombia' },
|
|
112
|
-
km: { name: 'Comoros' },
|
|
113
|
-
cg: { name: 'Congo (Congo-Brazzaville)' },
|
|
114
|
-
cr: { name: 'Costa Rica' },
|
|
115
|
-
hr: { name: 'Croatia' },
|
|
116
|
-
cu: { name: 'Cuba' },
|
|
117
|
-
cy: { name: 'Cyprus' },
|
|
118
|
-
cz: { name: 'Czechia' },
|
|
119
|
-
cd: { name: 'Democratic Republic of the Congo' },
|
|
120
|
-
dk: { name: 'Denmark' },
|
|
121
|
-
dj: { name: 'Djibouti' },
|
|
122
|
-
dm: { name: 'Dominica' },
|
|
123
|
-
do: { name: 'Dominican Republic' },
|
|
124
|
-
ec: { name: 'Ecuador' },
|
|
125
|
-
eg: { name: 'Egypt' },
|
|
126
|
-
sv: { name: 'El Salvador' },
|
|
127
|
-
gq: { name: 'Equatorial Guinea' },
|
|
128
|
-
er: { name: 'Eritrea' },
|
|
129
|
-
ee: { name: 'Estonia' },
|
|
130
|
-
sz: { name: 'Eswatini' },
|
|
131
|
-
et: { name: 'Ethiopia' },
|
|
132
|
-
fj: { name: 'Fiji' },
|
|
133
|
-
fi: { name: 'Finland' },
|
|
134
|
-
fr: { name: 'France' },
|
|
135
|
-
ga: { name: 'Gabon' },
|
|
136
|
-
gm: { name: 'Gambia' },
|
|
137
|
-
ge: { name: 'Georgia' },
|
|
138
|
-
de: { name: 'Germany' },
|
|
139
|
-
gh: { name: 'Ghana' },
|
|
140
|
-
gr: { name: 'Greece' },
|
|
141
|
-
gd: { name: 'Grenada' },
|
|
142
|
-
gt: { name: 'Guatemala' },
|
|
143
|
-
gn: { name: 'Guinea' },
|
|
144
|
-
gw: { name: 'Guinea-Bissau' },
|
|
145
|
-
gy: { name: 'Guyana' },
|
|
146
|
-
ht: { name: 'Haiti' },
|
|
147
|
-
hn: { name: 'Honduras' },
|
|
148
|
-
hu: { name: 'Hungary' },
|
|
149
|
-
is: { name: 'Iceland' },
|
|
150
|
-
in: { name: 'India' },
|
|
151
|
-
id: { name: 'Indonesia' },
|
|
152
|
-
ir: { name: 'Iran' },
|
|
153
|
-
iq: { name: 'Iraq' },
|
|
154
|
-
ie: { name: 'Ireland' },
|
|
155
|
-
il: { name: 'Israel' },
|
|
156
|
-
it: { name: 'Italy' },
|
|
157
|
-
jm: { name: 'Jamaica' },
|
|
158
|
-
jp: { name: 'Japan' },
|
|
159
|
-
jo: { name: 'Jordan' },
|
|
160
|
-
kz: { name: 'Kazakhstan' },
|
|
161
|
-
ke: { name: 'Kenya' },
|
|
162
|
-
ki: { name: 'Kiribati' },
|
|
163
|
-
kw: { name: 'Kuwait' },
|
|
164
|
-
kg: { name: 'Kyrgyzstan' },
|
|
165
|
-
la: { name: 'Laos' },
|
|
166
|
-
lv: { name: 'Latvia' },
|
|
167
|
-
lb: { name: 'Lebanon' },
|
|
168
|
-
ls: { name: 'Lesotho' },
|
|
169
|
-
lr: { name: 'Liberia' },
|
|
170
|
-
ly: { name: 'Libya' },
|
|
171
|
-
li: { name: 'Liechtenstein' },
|
|
172
|
-
lt: { name: 'Lithuania' },
|
|
173
|
-
lu: { name: 'Luxembourg' },
|
|
174
|
-
mg: { name: 'Madagascar' },
|
|
175
|
-
mw: { name: 'Malawi' },
|
|
176
|
-
my: { name: 'Malaysia' },
|
|
177
|
-
mv: { name: 'Maldives' },
|
|
178
|
-
ml: { name: 'Mali' },
|
|
179
|
-
mt: { name: 'Malta' },
|
|
180
|
-
mh: { name: 'Marshall Islands' },
|
|
181
|
-
mr: { name: 'Mauritania' },
|
|
182
|
-
mu: { name: 'Mauritius' },
|
|
183
|
-
mx: { name: 'Mexico' },
|
|
184
|
-
fm: { name: 'Micronesia' },
|
|
185
|
-
md: { name: 'Moldova' },
|
|
186
|
-
mc: { name: 'Monaco' },
|
|
187
|
-
mn: { name: 'Mongolia' },
|
|
188
|
-
me: { name: 'Montenegro' },
|
|
189
|
-
ma: { name: 'Morocco' },
|
|
190
|
-
mz: { name: 'Mozambique' },
|
|
191
|
-
mm: { name: 'Myanmar' },
|
|
192
|
-
na: { name: 'Namibia' },
|
|
193
|
-
nr: { name: 'Nauru' },
|
|
194
|
-
np: { name: 'Nepal' },
|
|
195
|
-
nl: { name: 'Netherlands' },
|
|
196
|
-
nz: { name: 'New Zealand' },
|
|
197
|
-
ni: { name: 'Nicaragua' },
|
|
198
|
-
ne: { name: 'Niger' },
|
|
199
|
-
ng: { name: 'Nigeria' },
|
|
200
|
-
kp: { name: 'North Korea' },
|
|
201
|
-
mk: { name: 'North Macedonia' },
|
|
202
|
-
no: { name: 'Norway' },
|
|
203
|
-
om: { name: 'Oman' },
|
|
204
|
-
pk: { name: 'Pakistan' },
|
|
205
|
-
pw: { name: 'Palau' },
|
|
206
|
-
pa: { name: 'Panama' },
|
|
207
|
-
pg: { name: 'Papua New Guinea' },
|
|
208
|
-
py: { name: 'Paraguay' },
|
|
209
|
-
pe: { name: 'Peru' },
|
|
210
|
-
ph: { name: 'Philippines' },
|
|
211
|
-
pl: { name: 'Poland' },
|
|
212
|
-
pt: { name: 'Portugal' },
|
|
213
|
-
qa: { name: 'Qatar' },
|
|
214
|
-
ro: { name: 'Romania' },
|
|
215
|
-
ru: { name: 'Russia' },
|
|
216
|
-
rw: { name: 'Rwanda' },
|
|
217
|
-
kn: { name: 'Saint Kitts and Nevis' },
|
|
218
|
-
lc: { name: 'Saint Lucia' },
|
|
219
|
-
vc: { name: 'Saint Vincent and the Grenadines' },
|
|
220
|
-
ws: { name: 'Samoa' },
|
|
221
|
-
sm: { name: 'San Marino' },
|
|
222
|
-
st: { name: 'Sao Tome and Principe' },
|
|
223
|
-
sa: { name: 'Saudi Arabia' },
|
|
224
|
-
sn: { name: 'Senegal' },
|
|
225
|
-
rs: { name: 'Serbia' },
|
|
226
|
-
sc: { name: 'Seychelles' },
|
|
227
|
-
sl: { name: 'Sierra Leone' },
|
|
228
|
-
sg: { name: 'Singapore' },
|
|
229
|
-
sk: { name: 'Slovakia' },
|
|
230
|
-
si: { name: 'Slovenia' },
|
|
231
|
-
sb: { name: 'Solomon Islands' },
|
|
232
|
-
so: { name: 'Somalia' },
|
|
233
|
-
za: { name: 'South Africa' },
|
|
234
|
-
kr: { name: 'South Korea' },
|
|
235
|
-
ss: { name: 'South Sudan' },
|
|
236
|
-
es: { name: 'Spain' },
|
|
237
|
-
lk: { name: 'Sri Lanka' },
|
|
238
|
-
sd: { name: 'Sudan' },
|
|
239
|
-
sr: { name: 'Suriname' },
|
|
240
|
-
se: { name: 'Sweden' },
|
|
241
|
-
ch: { name: 'Switzerland' },
|
|
242
|
-
sy: { name: 'Syria' },
|
|
243
|
-
tj: { name: 'Tajikistan' },
|
|
244
|
-
tz: { name: 'Tanzania' },
|
|
245
|
-
th: { name: 'Thailand' },
|
|
246
|
-
tl: { name: 'Timor-Leste' },
|
|
247
|
-
tg: { name: 'Togo' },
|
|
248
|
-
to: { name: 'Tonga' },
|
|
249
|
-
tt: { name: 'Trinidad and Tobago' },
|
|
250
|
-
tn: { name: 'Tunisia' },
|
|
251
|
-
tr: { name: 'Turkey' },
|
|
252
|
-
tm: { name: 'Turkmenistan' },
|
|
253
|
-
tv: { name: 'Tuvalu' },
|
|
254
|
-
ug: { name: 'Uganda' },
|
|
255
|
-
ua: { name: 'Ukraine' },
|
|
256
|
-
ae: { name: 'United Arab Emirates' },
|
|
257
|
-
gb: { name: 'United Kingdom' },
|
|
258
|
-
us: { name: 'United States' },
|
|
259
|
-
uy: { name: 'Uruguay' },
|
|
260
|
-
uz: { name: 'Uzbekistan' },
|
|
261
|
-
vu: { name: 'Vanuatu' },
|
|
262
|
-
va: { name: 'Vatican City' },
|
|
263
|
-
ve: { name: 'Venezuela' },
|
|
264
|
-
vn: { name: 'Vietnam' },
|
|
265
|
-
ye: { name: 'Yemen' },
|
|
266
|
-
zm: { name: 'Zambia' },
|
|
267
|
-
zw: { name: 'Zimbabwe' },
|
|
75
|
+
af: { name: 'Afghanistan', flag: '🇦🇫' },
|
|
76
|
+
al: { name: 'Albania', flag: '🇦🇱' },
|
|
77
|
+
dz: { name: 'Algeria', flag: '🇩🇿' },
|
|
78
|
+
ad: { name: 'Andorra', flag: '🇦🇩' },
|
|
79
|
+
ao: { name: 'Angola', flag: '🇦🇴' },
|
|
80
|
+
ag: { name: 'Antigua and Barbuda', flag: '🇦🇬' },
|
|
81
|
+
ar: { name: 'Argentina', flag: '🇦🇷' },
|
|
82
|
+
am: { name: 'Armenia', flag: '🇦🇲' },
|
|
83
|
+
au: { name: 'Australia', flag: '🇦🇺' },
|
|
84
|
+
at: { name: 'Austria', flag: '🇦🇹' },
|
|
85
|
+
az: { name: 'Azerbaijan', flag: '🇦🇿' },
|
|
86
|
+
bs: { name: 'Bahamas', flag: '🇧🇸' },
|
|
87
|
+
bh: { name: 'Bahrain', flag: '🇧🇭' },
|
|
88
|
+
bd: { name: 'Bangladesh', flag: '🇧🇩' },
|
|
89
|
+
bb: { name: 'Barbados', flag: '🇧🇧' },
|
|
90
|
+
by: { name: 'Belarus', flag: '🇧🇾' },
|
|
91
|
+
be: { name: 'Belgium', flag: '🇧🇪' },
|
|
92
|
+
bz: { name: 'Belize', flag: '🇧🇿' },
|
|
93
|
+
bj: { name: 'Benin', flag: '🇧🇯' },
|
|
94
|
+
bt: { name: 'Bhutan', flag: '🇧🇹' },
|
|
95
|
+
bo: { name: 'Bolivia', flag: '🇧🇴' },
|
|
96
|
+
ba: { name: 'Bosnia and Herzegovina', flag: '🇧🇦' },
|
|
97
|
+
bw: { name: 'Botswana', flag: '🇧🇼' },
|
|
98
|
+
br: { name: 'Brazil', flag: '🇧🇷' },
|
|
99
|
+
bn: { name: 'Brunei', flag: '🇧🇳' },
|
|
100
|
+
bg: { name: 'Bulgaria', flag: '🇧🇬' },
|
|
101
|
+
bf: { name: 'Burkina Faso', flag: '🇧🇫' },
|
|
102
|
+
bi: { name: 'Burundi', flag: '🇧🇮' },
|
|
103
|
+
cv: { name: 'Cabo Verde', flag: '🇨🇻' },
|
|
104
|
+
kh: { name: 'Cambodia', flag: '🇰🇭' },
|
|
105
|
+
cm: { name: 'Cameroon', flag: '🇨🇲' },
|
|
106
|
+
ca: { name: 'Canada', flag: '🇨🇦' },
|
|
107
|
+
cf: { name: 'Central African Republic', flag: '🇨🇫' },
|
|
108
|
+
td: { name: 'Chad', flag: '🇹🇩' },
|
|
109
|
+
cl: { name: 'Chile', flag: '🇨🇱' },
|
|
110
|
+
cn: { name: 'China', flag: '🇨🇳' },
|
|
111
|
+
co: { name: 'Colombia', flag: '🇨🇴' },
|
|
112
|
+
km: { name: 'Comoros', flag: '🇰🇲' },
|
|
113
|
+
cg: { name: 'Congo (Congo-Brazzaville)', flag: '🇨🇬' },
|
|
114
|
+
cr: { name: 'Costa Rica', flag: '🇨🇷' },
|
|
115
|
+
hr: { name: 'Croatia', flag: '🇭🇷' },
|
|
116
|
+
cu: { name: 'Cuba', flag: '🇨🇺' },
|
|
117
|
+
cy: { name: 'Cyprus', flag: '🇨🇾' },
|
|
118
|
+
cz: { name: 'Czechia', flag: '🇨🇿' },
|
|
119
|
+
cd: { name: 'Democratic Republic of the Congo', flag: '🇨🇩' },
|
|
120
|
+
dk: { name: 'Denmark', flag: '🇩🇰' },
|
|
121
|
+
dj: { name: 'Djibouti', flag: '🇩🇯' },
|
|
122
|
+
dm: { name: 'Dominica', flag: '🇩🇲' },
|
|
123
|
+
do: { name: 'Dominican Republic', flag: '🇩🇴' },
|
|
124
|
+
ec: { name: 'Ecuador', flag: '🇪🇨' },
|
|
125
|
+
eg: { name: 'Egypt', flag: '🇪🇬' },
|
|
126
|
+
sv: { name: 'El Salvador', flag: '🇸🇻' },
|
|
127
|
+
gq: { name: 'Equatorial Guinea', flag: '🇬🇶' },
|
|
128
|
+
er: { name: 'Eritrea', flag: '🇪🇷' },
|
|
129
|
+
ee: { name: 'Estonia', flag: '🇪🇪' },
|
|
130
|
+
sz: { name: 'Eswatini', flag: '🇸🇿' },
|
|
131
|
+
et: { name: 'Ethiopia', flag: '🇪🇹' },
|
|
132
|
+
fj: { name: 'Fiji', flag: '🇫🇯' },
|
|
133
|
+
fi: { name: 'Finland', flag: '🇫🇮' },
|
|
134
|
+
fr: { name: 'France', flag: '🇫🇷' },
|
|
135
|
+
ga: { name: 'Gabon', flag: '🇬🇦' },
|
|
136
|
+
gm: { name: 'Gambia', flag: '🇬🇲' },
|
|
137
|
+
ge: { name: 'Georgia', flag: '🇬🇪' },
|
|
138
|
+
de: { name: 'Germany', flag: '🇩🇪' },
|
|
139
|
+
gh: { name: 'Ghana', flag: '🇬🇭' },
|
|
140
|
+
gr: { name: 'Greece', flag: '🇬🇷' },
|
|
141
|
+
gd: { name: 'Grenada', flag: '🇬🇩' },
|
|
142
|
+
gt: { name: 'Guatemala', flag: '🇬🇹' },
|
|
143
|
+
gn: { name: 'Guinea', flag: '🇬🇳' },
|
|
144
|
+
gw: { name: 'Guinea-Bissau', flag: '🇬🇼' },
|
|
145
|
+
gy: { name: 'Guyana', flag: '🇬🇾' },
|
|
146
|
+
ht: { name: 'Haiti', flag: '🇭🇹' },
|
|
147
|
+
hn: { name: 'Honduras', flag: '🇭🇳' },
|
|
148
|
+
hu: { name: 'Hungary', flag: '🇭🇺' },
|
|
149
|
+
is: { name: 'Iceland', flag: '🇮🇸' },
|
|
150
|
+
in: { name: 'India', flag: '🇮🇳' },
|
|
151
|
+
id: { name: 'Indonesia', flag: '🇮🇩' },
|
|
152
|
+
ir: { name: 'Iran', flag: '🇮🇷' },
|
|
153
|
+
iq: { name: 'Iraq', flag: '🇮🇶' },
|
|
154
|
+
ie: { name: 'Ireland', flag: '🇮🇪' },
|
|
155
|
+
il: { name: 'Israel', flag: '🇮🇱' },
|
|
156
|
+
it: { name: 'Italy', flag: '🇮🇹' },
|
|
157
|
+
jm: { name: 'Jamaica', flag: '🇯🇲' },
|
|
158
|
+
jp: { name: 'Japan', flag: '🇯🇵' },
|
|
159
|
+
jo: { name: 'Jordan', flag: '🇯🇴' },
|
|
160
|
+
kz: { name: 'Kazakhstan', flag: '🇰🇿' },
|
|
161
|
+
ke: { name: 'Kenya', flag: '🇰🇪' },
|
|
162
|
+
ki: { name: 'Kiribati', flag: '🇰🇮' },
|
|
163
|
+
kw: { name: 'Kuwait', flag: '🇰🇼' },
|
|
164
|
+
kg: { name: 'Kyrgyzstan', flag: '🇰🇬' },
|
|
165
|
+
la: { name: 'Laos', flag: '🇱🇦' },
|
|
166
|
+
lv: { name: 'Latvia', flag: '🇱🇻' },
|
|
167
|
+
lb: { name: 'Lebanon', flag: '🇱🇧' },
|
|
168
|
+
ls: { name: 'Lesotho', flag: '🇱🇸' },
|
|
169
|
+
lr: { name: 'Liberia', flag: '🇱🇷' },
|
|
170
|
+
ly: { name: 'Libya', flag: '🇱🇾' },
|
|
171
|
+
li: { name: 'Liechtenstein', flag: '🇱🇮' },
|
|
172
|
+
lt: { name: 'Lithuania', flag: '🇱🇹' },
|
|
173
|
+
lu: { name: 'Luxembourg', flag: '🇱🇺' },
|
|
174
|
+
mg: { name: 'Madagascar', flag: '🇲🇬' },
|
|
175
|
+
mw: { name: 'Malawi', flag: '🇲🇼' },
|
|
176
|
+
my: { name: 'Malaysia', flag: '🇲🇾' },
|
|
177
|
+
mv: { name: 'Maldives', flag: '🇲🇻' },
|
|
178
|
+
ml: { name: 'Mali', flag: '🇲🇱' },
|
|
179
|
+
mt: { name: 'Malta', flag: '🇲🇹' },
|
|
180
|
+
mh: { name: 'Marshall Islands', flag: '🇲🇭' },
|
|
181
|
+
mr: { name: 'Mauritania', flag: '🇲🇷' },
|
|
182
|
+
mu: { name: 'Mauritius', flag: '🇲🇺' },
|
|
183
|
+
mx: { name: 'Mexico', flag: '🇲🇽' },
|
|
184
|
+
fm: { name: 'Micronesia', flag: '🇫🇲' },
|
|
185
|
+
md: { name: 'Moldova', flag: '🇲🇩' },
|
|
186
|
+
mc: { name: 'Monaco', flag: '🇲🇨' },
|
|
187
|
+
mn: { name: 'Mongolia', flag: '🇲🇳' },
|
|
188
|
+
me: { name: 'Montenegro', flag: '🇲🇪' },
|
|
189
|
+
ma: { name: 'Morocco', flag: '🇲🇦' },
|
|
190
|
+
mz: { name: 'Mozambique', flag: '🇲🇿' },
|
|
191
|
+
mm: { name: 'Myanmar', flag: '🇲🇲' },
|
|
192
|
+
na: { name: 'Namibia', flag: '🇳🇦' },
|
|
193
|
+
nr: { name: 'Nauru', flag: '🇳🇷' },
|
|
194
|
+
np: { name: 'Nepal', flag: '🇳🇵' },
|
|
195
|
+
nl: { name: 'Netherlands', flag: '🇳🇱' },
|
|
196
|
+
nz: { name: 'New Zealand', flag: '🇳🇿' },
|
|
197
|
+
ni: { name: 'Nicaragua', flag: '🇳🇮' },
|
|
198
|
+
ne: { name: 'Niger', flag: '🇳🇪' },
|
|
199
|
+
ng: { name: 'Nigeria', flag: '🇳🇬' },
|
|
200
|
+
kp: { name: 'North Korea', flag: '🇰🇵' },
|
|
201
|
+
mk: { name: 'North Macedonia', flag: '🇲🇰' },
|
|
202
|
+
no: { name: 'Norway', flag: '🇳🇴' },
|
|
203
|
+
om: { name: 'Oman', flag: '🇴🇲' },
|
|
204
|
+
pk: { name: 'Pakistan', flag: '🇵🇰' },
|
|
205
|
+
pw: { name: 'Palau', flag: '🇵🇼' },
|
|
206
|
+
pa: { name: 'Panama', flag: '🇵🇦' },
|
|
207
|
+
pg: { name: 'Papua New Guinea', flag: '🇵🇬' },
|
|
208
|
+
py: { name: 'Paraguay', flag: '🇵🇾' },
|
|
209
|
+
pe: { name: 'Peru', flag: '🇵🇪' },
|
|
210
|
+
ph: { name: 'Philippines', flag: '🇵🇭' },
|
|
211
|
+
pl: { name: 'Poland', flag: '🇵🇱' },
|
|
212
|
+
pt: { name: 'Portugal', flag: '🇵🇹' },
|
|
213
|
+
qa: { name: 'Qatar', flag: '🇶🇦' },
|
|
214
|
+
ro: { name: 'Romania', flag: '🇷🇴' },
|
|
215
|
+
ru: { name: 'Russia', flag: '🇷🇺' },
|
|
216
|
+
rw: { name: 'Rwanda', flag: '🇷🇼' },
|
|
217
|
+
kn: { name: 'Saint Kitts and Nevis', flag: '🇰🇳' },
|
|
218
|
+
lc: { name: 'Saint Lucia', flag: '🇱🇨' },
|
|
219
|
+
vc: { name: 'Saint Vincent and the Grenadines', flag: '🇻🇨' },
|
|
220
|
+
ws: { name: 'Samoa', flag: '🇼🇸' },
|
|
221
|
+
sm: { name: 'San Marino', flag: '🇸🇲' },
|
|
222
|
+
st: { name: 'Sao Tome and Principe', flag: '🇸🇹' },
|
|
223
|
+
sa: { name: 'Saudi Arabia', flag: '🇸🇦' },
|
|
224
|
+
sn: { name: 'Senegal', flag: '🇸🇳' },
|
|
225
|
+
rs: { name: 'Serbia', flag: '🇷🇸' },
|
|
226
|
+
sc: { name: 'Seychelles', flag: '🇸🇨' },
|
|
227
|
+
sl: { name: 'Sierra Leone', flag: '🇸🇱' },
|
|
228
|
+
sg: { name: 'Singapore', flag: '🇸🇬' },
|
|
229
|
+
sk: { name: 'Slovakia', flag: '🇸🇰' },
|
|
230
|
+
si: { name: 'Slovenia', flag: '🇸🇮' },
|
|
231
|
+
sb: { name: 'Solomon Islands', flag: '🇸🇧' },
|
|
232
|
+
so: { name: 'Somalia', flag: '🇸🇴' },
|
|
233
|
+
za: { name: 'South Africa', flag: '🇿🇦' },
|
|
234
|
+
kr: { name: 'South Korea', flag: '🇰🇷' },
|
|
235
|
+
ss: { name: 'South Sudan', flag: '🇸🇸' },
|
|
236
|
+
es: { name: 'Spain', flag: '🇪🇸' },
|
|
237
|
+
lk: { name: 'Sri Lanka', flag: '🇱🇰' },
|
|
238
|
+
sd: { name: 'Sudan', flag: '🇸🇩' },
|
|
239
|
+
sr: { name: 'Suriname', flag: '🇸🇷' },
|
|
240
|
+
se: { name: 'Sweden', flag: '🇸🇪' },
|
|
241
|
+
ch: { name: 'Switzerland', flag: '🇨🇭' },
|
|
242
|
+
sy: { name: 'Syria', flag: '🇸🇾' },
|
|
243
|
+
tj: { name: 'Tajikistan', flag: '🇹🇯' },
|
|
244
|
+
tz: { name: 'Tanzania', flag: '🇹🇿' },
|
|
245
|
+
th: { name: 'Thailand', flag: '🇹🇭' },
|
|
246
|
+
tl: { name: 'Timor-Leste', flag: '🇹🇱' },
|
|
247
|
+
tg: { name: 'Togo', flag: '🇹🇬' },
|
|
248
|
+
to: { name: 'Tonga', flag: '🇹🇴' },
|
|
249
|
+
tt: { name: 'Trinidad and Tobago', flag: '🇹🇹' },
|
|
250
|
+
tn: { name: 'Tunisia', flag: '🇹🇳' },
|
|
251
|
+
tr: { name: 'Turkey', flag: '🇹🇷' },
|
|
252
|
+
tm: { name: 'Turkmenistan', flag: '🇹🇲' },
|
|
253
|
+
tv: { name: 'Tuvalu', flag: '🇹🇻' },
|
|
254
|
+
ug: { name: 'Uganda', flag: '🇺🇬' },
|
|
255
|
+
ua: { name: 'Ukraine', flag: '🇺🇦' },
|
|
256
|
+
ae: { name: 'United Arab Emirates', flag: '🇦🇪' },
|
|
257
|
+
gb: { name: 'United Kingdom', flag: '🇬🇧' },
|
|
258
|
+
us: { name: 'United States', flag: '🇺🇸' },
|
|
259
|
+
uy: { name: 'Uruguay', flag: '🇺🇾' },
|
|
260
|
+
uz: { name: 'Uzbekistan', flag: '🇺🇿' },
|
|
261
|
+
vu: { name: 'Vanuatu', flag: '🇻🇺' },
|
|
262
|
+
va: { name: 'Vatican City', flag: '🇻🇦' },
|
|
263
|
+
ve: { name: 'Venezuela', flag: '🇻🇪' },
|
|
264
|
+
vn: { name: 'Vietnam', flag: '🇻🇳' },
|
|
265
|
+
ye: { name: 'Yemen', flag: '🇾🇪' },
|
|
266
|
+
zm: { name: 'Zambia', flag: '🇿🇲' },
|
|
267
|
+
zw: { name: 'Zimbabwe', flag: '🇿🇼' },
|
|
268
268
|
}
|
|
@@ -3,7 +3,10 @@ export function inviteInstructions(req: any, res: any): Promise<void>;
|
|
|
3
3
|
export function resetConfirm(req: any, res: any): Promise<void>;
|
|
4
4
|
export function inviteConfirm(req: any, res: any): Promise<void>;
|
|
5
5
|
export function userFindFromProvider(query: any, passwordToCheck: any, ...args: any[]): Promise<any>;
|
|
6
|
-
export function userSigninGetStore(user: any, isDesktop: any): Promise<
|
|
6
|
+
export function userSigninGetStore(user: any, isDesktop: any): Promise<{
|
|
7
|
+
jwt: string;
|
|
8
|
+
user: any;
|
|
9
|
+
}>;
|
|
7
10
|
export function getStore(user: any): Promise<{
|
|
8
11
|
user: any;
|
|
9
12
|
}>;
|
|
@@ -24,9 +27,18 @@ export function userCreate({ password, password2, company, ...userDataProp }: {
|
|
|
24
27
|
export function passwordValidate(password: string, password2: any): Promise<void>;
|
|
25
28
|
export function tokenCreate(modelName: any, id: any): Promise<any>;
|
|
26
29
|
export function tokenParse(token: any, modelName: any, maxAgeMs?: number): any;
|
|
27
|
-
export function tokenConfirmForReset(req: any): Promise<
|
|
28
|
-
|
|
29
|
-
|
|
30
|
+
export function tokenConfirmForReset(req: any): Promise<{
|
|
31
|
+
jwt: string;
|
|
32
|
+
user: any;
|
|
33
|
+
}>;
|
|
34
|
+
export function tokenConfirmForSingleTenant(req: any, isReset: any): Promise<{
|
|
35
|
+
jwt: string;
|
|
36
|
+
user: any;
|
|
37
|
+
}>;
|
|
38
|
+
export function tokenConfirmForMultiTenant(req: any): Promise<{
|
|
39
|
+
jwt: string;
|
|
40
|
+
user: any;
|
|
41
|
+
}>;
|
|
30
42
|
/**
|
|
31
43
|
* Creates and sends a reset or invite token to a user or company
|
|
32
44
|
* @param {object} options
|
|
@@ -49,6 +61,19 @@ export function tokenSend({ type, _id, email, firstName, beforeUpdate, beforeSen
|
|
|
49
61
|
token: string;
|
|
50
62
|
mailgunPromise: Promise<unknown>;
|
|
51
63
|
}>;
|
|
64
|
+
export namespace auth {
|
|
65
|
+
export { userFindFromProvider };
|
|
66
|
+
export { userSigninGetStore };
|
|
67
|
+
export { getStore };
|
|
68
|
+
export { userCreate };
|
|
69
|
+
export { passwordValidate };
|
|
70
|
+
export { tokenCreate };
|
|
71
|
+
export { tokenParse };
|
|
72
|
+
export { tokenSend };
|
|
73
|
+
export { tokenConfirmForReset };
|
|
74
|
+
export { tokenConfirmForSingleTenant };
|
|
75
|
+
export { tokenConfirmForMultiTenant };
|
|
76
|
+
}
|
|
52
77
|
export const routes: {
|
|
53
78
|
'get /api/store': (typeof store)[];
|
|
54
79
|
'get /api/signout': (typeof signout)[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.api.d.ts","sourceRoot":"","sources":["../../../components/auth/auth.api.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"auth.api.d.ts","sourceRoot":"","sources":["../../../components/auth/auth.api.js"],"names":[],"mappings":"AAsKA,qEAeC;AAED,sEAsCC;AAED,gEAMC;AAED,iEAgBC;AAID,qGAkDC;AAED;;;GAOC;AAED;;GAKC;AAID;;;;;;;;GAQG;AACH,8EANG;IAA0B,QAAQ,GAA1B,MAAM;IACY,SAAS,GAA3B,MAAM;IACY,OAAO,GAAzB,MAAM;CACd,kBAAQ,OAAO,GACL,OAAO,CAAC,MAAM,CAAC,CA0D3B;AAED,kFAiBC;AAED,mEAOC;AAED,+EAWC;AAED;;;GAEC;AAED;;;GAuBC;AAED;;;GAgCC;AAED;;;;;;;;;;GAUG;AACH,0FARG;IAAsD,IAAI,EAAlD,OAAO,GAAG,QAAQ,GAAG,eAAe;IACpB,GAAG,EAAnB,MAAM;IACU,KAAK,EAArB,MAAM;IACU,SAAS,EAAzB,MAAM;IACa,YAAY;IACZ,eAAe;CAC1C,GAAU,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;CAAC,CAAC,CAuCtE;;;;;;;;;;;;;;AAxgBD;;;;;;;;;;;EAaC;AAwED,0DAEC;AA6BD,mDAEC;AAnBD,iDAeC;AAzBD,2DAQC;AAuBD,2DAwBC;AAjID,0EAoEC"}
|
|
@@ -17,9 +17,10 @@ export const currencies: { [key in Currency]: {
|
|
|
17
17
|
symbol: string;
|
|
18
18
|
digits: number;
|
|
19
19
|
}; };
|
|
20
|
-
/** @type {{ [key in Country]: { name: string } }} */
|
|
20
|
+
/** @type {{ [key in Country]: { name: string, flag: string } }} */
|
|
21
21
|
export const countries: { [key in Country]: {
|
|
22
22
|
name: string;
|
|
23
|
+
flag: string;
|
|
23
24
|
}; };
|
|
24
25
|
export type Country = "af" | "al" | "dz" | "ad" | "ao" | "ag" | "ar" | "am" | "au" | "at" | "az" | "bs" | "bh" | "bd" | "bb" | "by" | "be" | "bz" | "bj" | "bt" | "bo" | "ba" | "bw" | "br" | "bn" | "bg" | "bf" | "bi" | "cv" | "kh" | "cm" | "ca" | "cf" | "td" | "cl" | "cn" | "co" | "km" | "cg" | "cr" | "hr" | "cu" | "cy" | "cz" | "cd" | "dk" | "dj" | "dm" | "do" | "ec" | "eg" | "sv" | "gq" | "er" | "ee" | "sz" | "et" | "fj" | "fi" | "fr" | "ga" | "gm" | "ge" | "de" | "gh" | "gr" | "gd" | "gt" | "gn" | "gw" | "gy" | "ht" | "hn" | "hu" | "is" | "in" | "id" | "ir" | "iq" | "ie" | "il" | "it" | "jm" | "jp" | "jo" | "kz" | "ke" | "ki" | "kw" | "kg" | "la" | "lv" | "lb" | "ls" | "lr" | "ly" | "li" | "lt" | "lu" | "mg" | "mw" | "my" | "mv" | "ml" | "mt" | "mh" | "mr" | "mu" | "mx" | "fm" | "md" | "mc" | "mn" | "me" | "ma" | "mz" | "mm" | "na" | "nr" | "np" | "nl" | "nz" | "ni" | "ne" | "ng" | "kp" | "mk" | "no" | "om" | "pk" | "pw" | "pa" | "pg" | "py" | "pe" | "ph" | "pl" | "pt" | "qa" | "ro" | "ru" | "rw" | "kn" | "lc" | "vc" | "ws" | "sm" | "st" | "sa" | "sn" | "rs" | "sc" | "sl" | "sg" | "sk" | "si" | "sb" | "so" | "za" | "kr" | "ss" | "es" | "lk" | "sd" | "sr" | "se" | "ch" | "sy" | "tj" | "tz" | "th" | "tl" | "tg" | "to" | "tt" | "tn" | "tr" | "tm" | "tv" | "ug" | "ua" | "ae" | "gb" | "us" | "uy" | "uz" | "vu" | "va" | "ve" | "vn" | "ye" | "zm" | "zw";
|
|
25
26
|
export type Currency = "nzd" | "aud" | "usd" | "gbp" | "btc" | "aed" | "ars" | "bdt" | "bhd" | "brl" | "cad" | "chf" | "clp" | "cny" | "cop" | "czk" | "dkk" | "egp" | "eur" | "hkd" | "huf" | "idr" | "ils" | "inr" | "jod" | "jpy" | "kes" | "krw" | "kwd" | "lkr" | "mad" | "mxn" | "myr" | "ngn" | "nok" | "omr" | "pen" | "php" | "pkt" | "pln" | "qar" | "ron" | "rub" | "sar" | "sek" | "sgd" | "thb" | "try" | "twd" | "uah" | "vnd" | "zar";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../server/constants.js"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AAEH,sFAAsF;AACtF,yBADW,GAAG,GAAG,IAAI,QAAQ,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAE,CAsDjF;AAED,
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../server/constants.js"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AAEH,sFAAsF;AACtF,yBADW,GAAG,GAAG,IAAI,QAAQ,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAE,CAsDjF;AAED,mEAAmE;AACnE,wBADW,GAAG,GAAG,IAAI,OAAO,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAE,CAmM9D;sBAxQY,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GACnI,IAAO,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GACpI,IAAO,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAC/H,IAAO,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAC/H,IAAO,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAC/H,IAAO,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAC/H,IAAO,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAC/H,IAAO,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI;uBAChF,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAC7H,KAAQ,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAC1H,KAAQ,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK"}
|