dauth-context-react 0.2.108 → 0.2.110
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/dauth.api.d.ts +6 -1
- package/dist/{routes.d.ts → api/utils/routes.d.ts} +1 -0
- package/dist/dauth-context-react.cjs.development.js +211 -68
- package/dist/dauth-context-react.cjs.development.js.map +1 -1
- package/dist/dauth-context-react.cjs.production.min.js +1 -1
- package/dist/dauth-context-react.cjs.production.min.js.map +1 -1
- package/dist/dauth-context-react.esm.js +212 -69
- package/dist/dauth-context-react.esm.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/initialDauthState.d.ts +1 -45
- package/dist/interfaces.d.ts +45 -0
- package/dist/reducer/dauth.actions.d.ts +1 -1
- package/dist/reducer/dauth.reducer.d.ts +1 -1
- package/package.json +2 -5
- package/src/api/dauth.api.ts +29 -2
- package/src/{routes.ts → api/utils/routes.ts} +1 -0
- package/src/index.tsx +64 -31
- package/src/initialDauthState.ts +1 -57
- package/src/interfaces.ts +57 -0
- package/src/reducer/dauth.actions.ts +2 -2
- package/src/reducer/dauth.reducer.ts +1 -1
package/dist/api/dauth.api.d.ts
CHANGED
|
@@ -1,5 +1,10 @@
|
|
|
1
|
-
import { IDauthUser } from '../
|
|
1
|
+
import { IDauthUser } from '../interfaces';
|
|
2
2
|
export declare const getUserAPI: (domainName: string, token: string) => Promise<any>;
|
|
3
3
|
export declare const updateUserAPI: (domainName: string, user: Partial<IDauthUser>, token: string) => Promise<any>;
|
|
4
4
|
export declare const sendEmailVerificationAPI: (domainName: string, token: string) => Promise<any>;
|
|
5
5
|
export declare const refreshAccessTokenAPI: (domainName: string, token: string) => Promise<any>;
|
|
6
|
+
export declare const verifyTokenAPI: ({ domainName, ask, token, }: {
|
|
7
|
+
domainName: string;
|
|
8
|
+
ask: string;
|
|
9
|
+
token: string;
|
|
10
|
+
}) => Promise<any>;
|
|
@@ -6,7 +6,6 @@ function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'defau
|
|
|
6
6
|
|
|
7
7
|
var React = require('react');
|
|
8
8
|
var React__default = _interopDefault(React);
|
|
9
|
-
var JWT = _interopDefault(require('expo-jwt'));
|
|
10
9
|
|
|
11
10
|
function _regeneratorRuntime() {
|
|
12
11
|
_regeneratorRuntime = function () {
|
|
@@ -447,7 +446,8 @@ var routes = {
|
|
|
447
446
|
tenantUpdateUser: 't-update-user',
|
|
448
447
|
tenantGetUser: 't-get-user',
|
|
449
448
|
tenantResendEmailVerification: 't-resend-email-verification',
|
|
450
|
-
tenantRefreshAccessToken: 't-refresh-access-token'
|
|
449
|
+
tenantRefreshAccessToken: 't-refresh-access-token',
|
|
450
|
+
tenantVerifyToken: "t-verify-token"
|
|
451
451
|
};
|
|
452
452
|
|
|
453
453
|
var isLocalhost = /*#__PURE__*/Boolean(window.location.hostname === 'localhost' || window.location.hostname === '[::1]' || /*#__PURE__*/window.location.hostname.match(/(192)\.(168)\.(1)\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/gm) || /*#__PURE__*/window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/));
|
|
@@ -619,6 +619,47 @@ var refreshAccessTokenAPI = /*#__PURE__*/function () {
|
|
|
619
619
|
return _ref4.apply(this, arguments);
|
|
620
620
|
};
|
|
621
621
|
}();
|
|
622
|
+
var verifyTokenAPI = /*#__PURE__*/function () {
|
|
623
|
+
var _ref6 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5(_ref5) {
|
|
624
|
+
var domainName, ask, token, params, response, data;
|
|
625
|
+
return _regeneratorRuntime().wrap(function _callee5$(_context5) {
|
|
626
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
627
|
+
case 0:
|
|
628
|
+
domainName = _ref5.domainName, ask = _ref5.ask, token = _ref5.token;
|
|
629
|
+
params = {
|
|
630
|
+
method: 'POST',
|
|
631
|
+
headers: {
|
|
632
|
+
Authorization: token,
|
|
633
|
+
'Content-Type': 'application/json'
|
|
634
|
+
},
|
|
635
|
+
body: JSON.stringify({
|
|
636
|
+
ask: ask
|
|
637
|
+
})
|
|
638
|
+
};
|
|
639
|
+
_context5.next = 4;
|
|
640
|
+
return fetch(getServerBasePath({
|
|
641
|
+
domainName: domainName
|
|
642
|
+
}) + "/" + routes.tenantVerifyToken + "/" + domainName, params);
|
|
643
|
+
case 4:
|
|
644
|
+
response = _context5.sent;
|
|
645
|
+
_context5.next = 7;
|
|
646
|
+
return response.json();
|
|
647
|
+
case 7:
|
|
648
|
+
data = _context5.sent;
|
|
649
|
+
return _context5.abrupt("return", {
|
|
650
|
+
response: response,
|
|
651
|
+
data: data
|
|
652
|
+
});
|
|
653
|
+
case 9:
|
|
654
|
+
case "end":
|
|
655
|
+
return _context5.stop();
|
|
656
|
+
}
|
|
657
|
+
}, _callee5);
|
|
658
|
+
}));
|
|
659
|
+
return function verifyTokenAPI(_x10) {
|
|
660
|
+
return _ref6.apply(this, arguments);
|
|
661
|
+
};
|
|
662
|
+
}();
|
|
622
663
|
|
|
623
664
|
var TOKEN_LS = 'dauth_state';
|
|
624
665
|
|
|
@@ -1036,56 +1077,158 @@ var DauthProvider = function DauthProvider(props) {
|
|
|
1036
1077
|
var _useReducer = React.useReducer(userReducer, initialDauthState),
|
|
1037
1078
|
dauthState = _useReducer[0],
|
|
1038
1079
|
dispatch = _useReducer[1];
|
|
1080
|
+
var isValidAsk = React.useCallback( /*#__PURE__*/function () {
|
|
1081
|
+
var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(token) {
|
|
1082
|
+
var verifyToken;
|
|
1083
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
1084
|
+
while (1) switch (_context.prev = _context.next) {
|
|
1085
|
+
case 0:
|
|
1086
|
+
_context.next = 2;
|
|
1087
|
+
return verifyTokenAPI({
|
|
1088
|
+
domainName: domainName,
|
|
1089
|
+
token: token,
|
|
1090
|
+
ask: ask
|
|
1091
|
+
});
|
|
1092
|
+
case 2:
|
|
1093
|
+
verifyToken = _context.sent;
|
|
1094
|
+
if (!(verifyToken.response.status !== 200)) {
|
|
1095
|
+
_context.next = 5;
|
|
1096
|
+
break;
|
|
1097
|
+
}
|
|
1098
|
+
return _context.abrupt("return", false);
|
|
1099
|
+
case 5:
|
|
1100
|
+
return _context.abrupt("return", true);
|
|
1101
|
+
case 6:
|
|
1102
|
+
case "end":
|
|
1103
|
+
return _context.stop();
|
|
1104
|
+
}
|
|
1105
|
+
}, _callee);
|
|
1106
|
+
}));
|
|
1107
|
+
return function (_x) {
|
|
1108
|
+
return _ref.apply(this, arguments);
|
|
1109
|
+
};
|
|
1110
|
+
}(), [domainName, ask]);
|
|
1039
1111
|
// Check token periodically
|
|
1040
1112
|
React.useEffect(function () {
|
|
1041
1113
|
if (!dauthState.isAuthenticated) return;
|
|
1042
|
-
var interval = setInterval(function () {
|
|
1043
|
-
var token_ls
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
|
|
1114
|
+
var interval = setInterval( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
|
|
1115
|
+
var token_ls, isValid;
|
|
1116
|
+
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
1117
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
1118
|
+
case 0:
|
|
1119
|
+
token_ls = localStorage.getItem(TOKEN_LS);
|
|
1120
|
+
if (token_ls) {
|
|
1121
|
+
_context2.next = 3;
|
|
1122
|
+
break;
|
|
1123
|
+
}
|
|
1124
|
+
return _context2.abrupt("return");
|
|
1125
|
+
case 3:
|
|
1126
|
+
_context2.next = 5;
|
|
1127
|
+
return isValidAsk(token_ls);
|
|
1128
|
+
case 5:
|
|
1129
|
+
isValid = _context2.sent;
|
|
1130
|
+
if (!isValid) {
|
|
1131
|
+
_context2.next = 10;
|
|
1132
|
+
break;
|
|
1133
|
+
}
|
|
1134
|
+
return _context2.abrupt("return", checkTokenAction({
|
|
1135
|
+
dispatch: dispatch,
|
|
1136
|
+
domainName: domainName,
|
|
1137
|
+
token: token_ls
|
|
1138
|
+
}));
|
|
1139
|
+
case 10:
|
|
1140
|
+
return _context2.abrupt("return", setLogoutAction({
|
|
1141
|
+
dispatch: dispatch
|
|
1142
|
+
}));
|
|
1143
|
+
case 11:
|
|
1144
|
+
case "end":
|
|
1145
|
+
return _context2.stop();
|
|
1146
|
+
}
|
|
1147
|
+
}, _callee2);
|
|
1148
|
+
})), 1000 * 60 * 1);
|
|
1051
1149
|
return function () {
|
|
1052
1150
|
return clearInterval(interval);
|
|
1053
1151
|
};
|
|
1054
|
-
}, []);
|
|
1152
|
+
}, [dauthState.isAuthenticated, isValidAsk]);
|
|
1055
1153
|
// Catch login redirect
|
|
1056
1154
|
React.useEffect(function () {
|
|
1057
|
-
|
|
1058
|
-
|
|
1059
|
-
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
|
-
|
|
1063
|
-
|
|
1064
|
-
|
|
1065
|
-
|
|
1066
|
-
|
|
1067
|
-
|
|
1155
|
+
_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
|
|
1156
|
+
var queryString, urlParams, token_url, isValid;
|
|
1157
|
+
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
1158
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
1159
|
+
case 0:
|
|
1160
|
+
queryString = window.location.search;
|
|
1161
|
+
if (queryString) {
|
|
1162
|
+
_context3.next = 3;
|
|
1163
|
+
break;
|
|
1164
|
+
}
|
|
1165
|
+
return _context3.abrupt("return");
|
|
1166
|
+
case 3:
|
|
1167
|
+
urlParams = new URLSearchParams(queryString);
|
|
1168
|
+
token_url = urlParams.get(TOKEN_LS);
|
|
1169
|
+
if (!(token_url && !dauthState.isAuthenticated)) {
|
|
1170
|
+
_context3.next = 14;
|
|
1171
|
+
break;
|
|
1172
|
+
}
|
|
1173
|
+
_context3.next = 8;
|
|
1174
|
+
return isValidAsk(token_url);
|
|
1175
|
+
case 8:
|
|
1176
|
+
isValid = _context3.sent;
|
|
1177
|
+
if (!isValid) {
|
|
1178
|
+
_context3.next = 13;
|
|
1179
|
+
break;
|
|
1180
|
+
}
|
|
1181
|
+
return _context3.abrupt("return", setDauthStateAction({
|
|
1182
|
+
dispatch: dispatch,
|
|
1183
|
+
token: token_url,
|
|
1184
|
+
domainName: domainName
|
|
1185
|
+
}));
|
|
1186
|
+
case 13:
|
|
1187
|
+
return _context3.abrupt("return", setLogoutAction({
|
|
1188
|
+
dispatch: dispatch
|
|
1189
|
+
}));
|
|
1190
|
+
case 14:
|
|
1191
|
+
case "end":
|
|
1192
|
+
return _context3.stop();
|
|
1193
|
+
}
|
|
1194
|
+
}, _callee3);
|
|
1195
|
+
}))();
|
|
1068
1196
|
}, []);
|
|
1069
1197
|
// Auto Login
|
|
1070
1198
|
React.useEffect(function () {
|
|
1071
|
-
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
|
|
1078
|
-
|
|
1079
|
-
|
|
1080
|
-
|
|
1081
|
-
|
|
1082
|
-
|
|
1083
|
-
|
|
1084
|
-
|
|
1085
|
-
|
|
1086
|
-
|
|
1087
|
-
|
|
1088
|
-
|
|
1199
|
+
_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4() {
|
|
1200
|
+
var token_ls, isValid;
|
|
1201
|
+
return _regeneratorRuntime().wrap(function _callee4$(_context4) {
|
|
1202
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
1203
|
+
case 0:
|
|
1204
|
+
token_ls = localStorage.getItem(TOKEN_LS);
|
|
1205
|
+
if (!(token_ls && !dauthState.isAuthenticated)) {
|
|
1206
|
+
_context4.next = 10;
|
|
1207
|
+
break;
|
|
1208
|
+
}
|
|
1209
|
+
_context4.next = 4;
|
|
1210
|
+
return isValidAsk(token_ls);
|
|
1211
|
+
case 4:
|
|
1212
|
+
isValid = _context4.sent;
|
|
1213
|
+
if (!isValid) {
|
|
1214
|
+
_context4.next = 9;
|
|
1215
|
+
break;
|
|
1216
|
+
}
|
|
1217
|
+
return _context4.abrupt("return", setAutoLoginAction({
|
|
1218
|
+
dispatch: dispatch,
|
|
1219
|
+
dauth_state_ls: token_ls,
|
|
1220
|
+
domainName: domainName
|
|
1221
|
+
}));
|
|
1222
|
+
case 9:
|
|
1223
|
+
return _context4.abrupt("return", setLogoutAction({
|
|
1224
|
+
dispatch: dispatch
|
|
1225
|
+
}));
|
|
1226
|
+
case 10:
|
|
1227
|
+
case "end":
|
|
1228
|
+
return _context4.stop();
|
|
1229
|
+
}
|
|
1230
|
+
}, _callee4);
|
|
1231
|
+
}))();
|
|
1089
1232
|
}, []);
|
|
1090
1233
|
var loginWithRedirect = React.useCallback(function () {
|
|
1091
1234
|
return window.location.replace(getClientBasePath({
|
|
@@ -1097,32 +1240,32 @@ var DauthProvider = function DauthProvider(props) {
|
|
|
1097
1240
|
dispatch: dispatch
|
|
1098
1241
|
});
|
|
1099
1242
|
}, []);
|
|
1100
|
-
var getAccessToken = React.useCallback( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function
|
|
1243
|
+
var getAccessToken = React.useCallback( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5() {
|
|
1101
1244
|
var token;
|
|
1102
|
-
return _regeneratorRuntime().wrap(function
|
|
1103
|
-
while (1) switch (
|
|
1245
|
+
return _regeneratorRuntime().wrap(function _callee5$(_context5) {
|
|
1246
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
1104
1247
|
case 0:
|
|
1105
|
-
|
|
1248
|
+
_context5.next = 2;
|
|
1106
1249
|
return getAccessTokenAction({
|
|
1107
1250
|
dispatch: dispatch,
|
|
1108
1251
|
domainName: domainName
|
|
1109
1252
|
});
|
|
1110
1253
|
case 2:
|
|
1111
|
-
token =
|
|
1112
|
-
return
|
|
1254
|
+
token = _context5.sent;
|
|
1255
|
+
return _context5.abrupt("return", token);
|
|
1113
1256
|
case 4:
|
|
1114
1257
|
case "end":
|
|
1115
|
-
return
|
|
1258
|
+
return _context5.stop();
|
|
1116
1259
|
}
|
|
1117
|
-
},
|
|
1260
|
+
}, _callee5);
|
|
1118
1261
|
})), []);
|
|
1119
1262
|
var updateUser = React.useCallback( /*#__PURE__*/function () {
|
|
1120
|
-
var
|
|
1263
|
+
var _ref7 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee6(_ref6) {
|
|
1121
1264
|
var name, lastname, nickname, telPrefix, telSuffix, language, avatar, token_ls, user;
|
|
1122
|
-
return _regeneratorRuntime().wrap(function
|
|
1123
|
-
while (1) switch (
|
|
1265
|
+
return _regeneratorRuntime().wrap(function _callee6$(_context6) {
|
|
1266
|
+
while (1) switch (_context6.prev = _context6.next) {
|
|
1124
1267
|
case 0:
|
|
1125
|
-
name =
|
|
1268
|
+
name = _ref6.name, lastname = _ref6.lastname, nickname = _ref6.nickname, telPrefix = _ref6.telPrefix, telSuffix = _ref6.telSuffix, language = _ref6.language, avatar = _ref6.avatar;
|
|
1126
1269
|
token_ls = localStorage.getItem(TOKEN_LS);
|
|
1127
1270
|
user = {
|
|
1128
1271
|
name: name,
|
|
@@ -1133,7 +1276,7 @@ var DauthProvider = function DauthProvider(props) {
|
|
|
1133
1276
|
language: language,
|
|
1134
1277
|
avatar: avatar
|
|
1135
1278
|
};
|
|
1136
|
-
|
|
1279
|
+
_context6.next = 5;
|
|
1137
1280
|
return setUpdateUserAction({
|
|
1138
1281
|
dispatch: dispatch,
|
|
1139
1282
|
domainName: domainName,
|
|
@@ -1141,15 +1284,15 @@ var DauthProvider = function DauthProvider(props) {
|
|
|
1141
1284
|
token: token_ls
|
|
1142
1285
|
});
|
|
1143
1286
|
case 5:
|
|
1144
|
-
return
|
|
1287
|
+
return _context6.abrupt("return", _context6.sent);
|
|
1145
1288
|
case 6:
|
|
1146
1289
|
case "end":
|
|
1147
|
-
return
|
|
1290
|
+
return _context6.stop();
|
|
1148
1291
|
}
|
|
1149
|
-
},
|
|
1292
|
+
}, _callee6);
|
|
1150
1293
|
}));
|
|
1151
|
-
return function (
|
|
1152
|
-
return
|
|
1294
|
+
return function (_x2) {
|
|
1295
|
+
return _ref7.apply(this, arguments);
|
|
1153
1296
|
};
|
|
1154
1297
|
}(), [domainName]);
|
|
1155
1298
|
var updateUserWithRedirect = React.useCallback(function () {
|
|
@@ -1159,31 +1302,31 @@ var DauthProvider = function DauthProvider(props) {
|
|
|
1159
1302
|
domainName: domainName
|
|
1160
1303
|
}) + "/" + routes.tenantUpdateUser + "/" + domainName + "/" + token_ls);
|
|
1161
1304
|
}, [domainName, domainName]);
|
|
1162
|
-
var sendEmailVerification = React.useCallback( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function
|
|
1305
|
+
var sendEmailVerification = React.useCallback( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee7() {
|
|
1163
1306
|
var token_ls;
|
|
1164
|
-
return _regeneratorRuntime().wrap(function
|
|
1165
|
-
while (1) switch (
|
|
1307
|
+
return _regeneratorRuntime().wrap(function _callee7$(_context7) {
|
|
1308
|
+
while (1) switch (_context7.prev = _context7.next) {
|
|
1166
1309
|
case 0:
|
|
1167
1310
|
token_ls = localStorage.getItem(TOKEN_LS);
|
|
1168
1311
|
if (token_ls) {
|
|
1169
|
-
|
|
1312
|
+
_context7.next = 3;
|
|
1170
1313
|
break;
|
|
1171
1314
|
}
|
|
1172
|
-
return
|
|
1315
|
+
return _context7.abrupt("return", false);
|
|
1173
1316
|
case 3:
|
|
1174
|
-
|
|
1317
|
+
_context7.next = 5;
|
|
1175
1318
|
return sendEmailVerificationAction({
|
|
1176
1319
|
dispatch: dispatch,
|
|
1177
1320
|
domainName: domainName,
|
|
1178
1321
|
token: token_ls
|
|
1179
1322
|
});
|
|
1180
1323
|
case 5:
|
|
1181
|
-
return
|
|
1324
|
+
return _context7.abrupt("return", _context7.sent);
|
|
1182
1325
|
case 6:
|
|
1183
1326
|
case "end":
|
|
1184
|
-
return
|
|
1327
|
+
return _context7.stop();
|
|
1185
1328
|
}
|
|
1186
|
-
},
|
|
1329
|
+
}, _callee7);
|
|
1187
1330
|
})), [domainName]);
|
|
1188
1331
|
var memoProvider = React.useMemo(function () {
|
|
1189
1332
|
return _extends({}, dauthState, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dauth-context-react.cjs.development.js","sources":["../src/initialDauthState.ts","../src/reducer/dauth.types.ts","../src/reducer/dauth.reducer.ts","../src/routes.ts","../src/api/utils/config.ts","../src/api/dauth.api.ts","../src/constants.ts","../src/reducer/dauth.actions.ts","../src/index.tsx"],"sourcesContent":["export interface IDauthUser {\n _id: string;\n name: string;\n lastname: string;\n nickname: string;\n email: string;\n isVerified: boolean;\n language: string;\n avatar: {\n id: string;\n url: string;\n };\n role: string;\n telPrefix: string;\n telSuffix: string;\n createdAt: Date;\n updatedAt: Date;\n lastLogin: Date;\n}\n\nexport interface IDauthDomainState {\n name: string;\n loginRedirect: string;\n allowedOrigins: string[];\n}\n\nexport interface IDauthState {\n user: IDauthUser;\n domain: IDauthDomainState;\n isLoading: boolean;\n isAuthenticated: boolean;\n loginWithRedirect: () => void;\n logout: () => void;\n getAccessToken: () => Promise<string>;\n updateUser: ({\n name,\n lastname,\n nickname,\n telPrefix,\n telSuffix,\n language,\n avatar,\n }: Partial<IDauthUser>) => Promise<boolean>;\n updateUserWithRedirect: () => void;\n // Send email verification\n sendEmailVerificationStatus: {\n status: IActionStatus;\n isLoading: boolean;\n };\n sendEmailVerification: () => Promise<boolean>;\n}\n\nexport interface IActionStatus {\n type: TStatusTypes;\n message: string;\n}\nexport type TStatusTypes = 'success' | 'error' | 'info' | 'warning';\n\nconst initialDauthState: IDauthState = {\n user: {\n language: window.document.documentElement.getAttribute('lang') || 'es',\n } as IDauthUser,\n domain: {} as IDauthDomainState,\n isLoading: false,\n isAuthenticated: false,\n loginWithRedirect: () => {},\n logout: () => {},\n getAccessToken: () => Promise.resolve(''),\n updateUser: () => Promise.resolve(false),\n updateUserWithRedirect: () => {},\n // Send email verification\n sendEmailVerificationStatus: {\n status: {\n type: 'info',\n message: 'Sending email verification...',\n } as IActionStatus,\n isLoading: false,\n },\n sendEmailVerification: () => Promise.resolve(false),\n};\n\nexport default initialDauthState;\n","export const LOGIN = 'LOGIN';\nexport const SET_IS_LOADING = 'SET_IS_LOADING';\nexport const UPDATE_USER = 'UPDATE_USER';\nexport const SET_SEND_EMAIL_VERIFICATION_IS_LOADING =\n 'SET_SEND_EMAIL_VERIFICATION_IS_LOADING';\nexport const SET_SEND_EMAIL_VERIFICATION_STATUS =\n 'SET_SEND_EMAIL_VERIFICATION_STATUS';\n","import { IDauthState } from '../initialDauthState';\nimport * as DauthTypes from './dauth.types';\n\nexport default function userReducer(state: IDauthState, action: any) {\n const { type, payload } = action;\n\n switch (type) {\n case DauthTypes.LOGIN: {\n const login: IDauthState = {\n ...state,\n user: payload.user,\n domain: payload.domain,\n isAuthenticated: payload.isAuthenticated,\n };\n return login;\n }\n\n case DauthTypes.SET_IS_LOADING: {\n const isLoading: IDauthState = {\n ...state,\n isLoading: payload.isLoading,\n };\n return isLoading;\n }\n\n case DauthTypes.UPDATE_USER: {\n const updateUser: IDauthState = {\n ...state,\n user: {\n ...state.user,\n ...payload,\n },\n };\n return updateUser;\n }\n\n case DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS: {\n const setSendEmailVerificationStatus: IDauthState = {\n ...state,\n sendEmailVerificationStatus: {\n ...state.sendEmailVerificationStatus,\n status: {\n type: payload.type,\n message: payload.message,\n },\n },\n };\n return setSendEmailVerificationStatus;\n }\n\n case DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING: {\n const setSendEmailVerificationIsLoading: IDauthState = {\n ...state,\n sendEmailVerificationStatus: {\n ...state.sendEmailVerificationStatus,\n isLoading: payload,\n },\n };\n return setSendEmailVerificationIsLoading;\n }\n\n default:\n return state;\n }\n}\n","export const routes = {\n tenantSignin: 't-signin',\n tenantUpdateUser: 't-update-user',\n tenantGetUser: 't-get-user',\n tenantResendEmailVerification: 't-resend-email-verification',\n tenantRefreshAccessToken: 't-refresh-access-token',\n};\n","const isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n window.location.hostname === '[::1]' ||\n window.location.hostname.match(\n /(192)\\.(168)\\.(1)\\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/gm\n ) ||\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\nexport const apiVersion = 'v1';\nexport const serverDomain = 'dauth.ovh';\n\nexport function getServerBasePath({ domainName }: { domainName: string }) {\n const serverPort = 4012;\n const serverLocalUrl = `${window.location.protocol}//${window.location.hostname}:${serverPort}/api/${apiVersion}`;\n const serverProdUrl = `https://${domainName}.${serverDomain}/api/${apiVersion}`;\n const serverBasePath = isLocalhost ? serverLocalUrl : serverProdUrl;\n return serverBasePath;\n}\n\nexport function getClientBasePath({ domainName }: { domainName: string }) {\n const clientPort = 5185;\n const clientLocalUrl = `${window.location.protocol}//${window.location.hostname}:${clientPort}`;\n const clientProdUrl = `https://${domainName}.${serverDomain}`;\n const clientBasePath = isLocalhost ? clientLocalUrl : clientProdUrl;\n return clientBasePath;\n}\n","import { IDauthUser } from '../initialDauthState';\nimport { routes } from '../routes';\nimport { getServerBasePath } from './utils/config';\n\nexport const getUserAPI = async (\n domainName: string,\n token: string\n): Promise<any> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath({ domainName })}/${\n routes.tenantGetUser\n }/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const updateUserAPI = async (\n domainName: string,\n user: Partial<IDauthUser>,\n token: string\n): Promise<any> => {\n const params = {\n method: 'PATCH',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(user),\n };\n const response = await fetch(\n `${getServerBasePath({ domainName })}/${\n routes.tenantUpdateUser\n }/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const sendEmailVerificationAPI = async (\n domainName: string,\n token: string\n): Promise<any> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath({ domainName })}/${\n routes.tenantResendEmailVerification\n }/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const refreshAccessTokenAPI = async (\n domainName: string,\n token: string\n): Promise<any> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath({ domainName })}/${\n routes.tenantRefreshAccessToken\n }/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n","export const TOKEN_LS = 'dauth_state';\n","import {\n getUserAPI,\n refreshAccessTokenAPI,\n sendEmailVerificationAPI,\n updateUserAPI,\n} from '../api/dauth.api';\nimport { getClientBasePath } from '../api/utils/config';\nimport { TOKEN_LS } from '../constants';\nimport { IDauthDomainState, IDauthUser } from '../initialDauthState';\nimport { routes } from '../routes';\nimport * as DauthTypes from './dauth.types';\n\ntype TSetDauthStateAction = {\n dispatch: React.Dispatch<any>;\n token: string;\n domainName: string;\n};\nexport async function setDauthStateAction({\n dispatch,\n token,\n domainName,\n}: TSetDauthStateAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const getUserFetch = await getUserAPI(domainName, token);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: getUserFetch.data.user,\n domain: getUserFetch.data.domain,\n isAuthenticated: true,\n },\n });\n window.history.replaceState(\n {},\n document.title,\n getUserFetch.data.domain.loginRedirect\n );\n return localStorage.setItem(TOKEN_LS, token);\n } else {\n return resetUser(dispatch);\n }\n } catch (error) {\n console.log(error);\n return resetUser(dispatch);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\ntype TSetAutoLoginAction = {\n dispatch: React.Dispatch<any>;\n dauth_state_ls: string;\n domainName: string;\n};\nexport async function setAutoLoginAction({\n dispatch,\n dauth_state_ls,\n domainName,\n}: TSetAutoLoginAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const refreshAccessTokenFetch = await refreshAccessTokenAPI(\n domainName,\n dauth_state_ls\n ); \n if (refreshAccessTokenFetch.response.status === 200) {\n const getUserFetch = await getUserAPI(domainName, dauth_state_ls);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: getUserFetch.data.user,\n domain: getUserFetch.data.domain,\n isAuthenticated: true,\n },\n });\n localStorage.setItem(\n TOKEN_LS,\n refreshAccessTokenFetch.data.accessToken\n );\n return;\n } else {\n window.location.replace(\n `${getClientBasePath({ domainName })}/${routes.tenantSignin}/${domainName}`\n );\n return resetUser(dispatch);\n }\n } else {\n window.location.replace(\n `${getClientBasePath({ domainName })}/${routes.tenantSignin}/${domainName}`\n );\n return resetUser(dispatch);\n }\n } catch (error) {\n console.log(error);\n return resetUser(dispatch);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\nexport function setLogoutAction({\n dispatch,\n}: {\n dispatch: React.Dispatch<any>;\n}) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: {\n language: window.document.documentElement.getAttribute('lang') || 'es',\n },\n domain: {},\n isAuthenticated: false,\n },\n });\n localStorage.removeItem(TOKEN_LS);\n return dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n}\n\ntype TSetUpdateAction = {\n dispatch: React.Dispatch<any>;\n domainName: string;\n user: Partial<IDauthUser>;\n token: string | null;\n};\nexport async function setUpdateUserAction({\n dispatch,\n domainName,\n user,\n token,\n}: TSetUpdateAction) {\n if (user.language) {\n window.document.documentElement.setAttribute('lang', user.language);\n }\n if (!token) {\n dispatch({\n type: DauthTypes.UPDATE_USER,\n payload: user,\n });\n return false;\n }\n try {\n const getUserFetch = await updateUserAPI(domainName, user, token);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.UPDATE_USER,\n payload: getUserFetch.data.user,\n });\n return true;\n } else {\n console.log('Update user error', getUserFetch.data.message);\n return false;\n }\n } catch (error) {\n console.log('Update user error', error);\n return false;\n }\n}\n\ntype TSetSendEmailVerificationAction = {\n dispatch: React.Dispatch<any>;\n domainName: string;\n token: string;\n};\nexport async function sendEmailVerificationAction({\n dispatch,\n domainName,\n token,\n}: TSetSendEmailVerificationAction) {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: true,\n });\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: { type: 'info', message: 'Sending email verification...' },\n });\n try {\n const sendEmailFetch = await sendEmailVerificationAPI(domainName, token);\n if (sendEmailFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: { type: 'success', message: sendEmailFetch.data.message },\n });\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: false,\n });\n return true;\n } else {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: { type: 'error', message: sendEmailFetch.data.message },\n });\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: false,\n });\n return false;\n }\n } catch (error) {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: {\n type: 'error',\n message: 'Send email verification fetch error',\n },\n });\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: false,\n });\n return false;\n }\n}\n\nexport async function checkTokenAction({\n dispatch,\n domainName,\n token,\n}: {\n dispatch: React.Dispatch<any>;\n domainName: string;\n token: string;\n}) {\n try {\n const refreshAccessTokenFetch = await refreshAccessTokenAPI(\n domainName,\n token\n );\n if (refreshAccessTokenFetch.response.status === 200) {\n return;\n } else {\n window.location.replace(\n `${getClientBasePath({ domainName })}/${routes.tenantSignin}/${domainName}`\n );\n return resetUser(dispatch);\n }\n } catch (error) {\n resetUser(dispatch);\n throw error;\n }\n}\n\nexport async function getAccessTokenAction({\n dispatch,\n domainName,\n}: {\n dispatch: React.Dispatch<any>;\n domainName: string;\n}) {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (!token_ls) return;\n try {\n const refreshAccessTokenFetch = await refreshAccessTokenAPI(\n domainName,\n token_ls\n );\n if (refreshAccessTokenFetch.response.status === 200) {\n return refreshAccessTokenFetch.data.accessToken ?? token_ls;\n } else {\n resetUser(dispatch);\n return 'token-not-found';\n }\n } catch (error) {\n resetUser(dispatch);\n throw error;\n }\n}\n\n///////////////////////////////////////////\n//////////////////////////////////////////\nexport const resetUser = (dispatch: React.Dispatch<any>) => {\n localStorage.removeItem(TOKEN_LS);\n return dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: {} as IDauthUser,\n domain: {} as IDauthDomainState,\n isAuthenticated: false,\n },\n });\n};\n","import React, {\n useReducer,\n useMemo,\n useEffect,\n useCallback,\n createContext,\n useContext,\n} from 'react';\nimport initialDauthState, { IDauthUser } from './initialDauthState';\nimport userReducer from './reducer/dauth.reducer';\nimport * as action from './reducer/dauth.actions';\nimport { getClientBasePath } from './api/utils/config';\nimport { TOKEN_LS } from './constants';\nimport { routes } from './routes';\nimport JWT from 'expo-jwt';\n\ninterface DauthProviderProps {\n domainName: string;\n ask: string;\n children: React.ReactNode;\n}\n\nexport const DauthProvider: React.FC<DauthProviderProps> = (\n props: DauthProviderProps\n) => {\n const { domainName, ask, children } = props;\n const [dauthState, dispatch] = useReducer(userReducer, initialDauthState);\n\n // Check token periodically\n useEffect(() => {\n if (!dauthState.isAuthenticated) return;\n let interval = setInterval(() => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (!token_ls) return;\n action.checkTokenAction({ dispatch, domainName, token: token_ls });\n }, 1000 * 60 * 1);\n return () => clearInterval(interval);\n }, []);\n\n // Catch login redirect\n useEffect(() => {\n const queryString = window.location.search;\n if (!queryString) return;\n const urlParams = new URLSearchParams(queryString);\n const token_url = urlParams.get(TOKEN_LS);\n if (token_url && !dauthState.isAuthenticated) {\n action.setDauthStateAction({ dispatch, token: token_url, domainName });\n }\n }, []);\n\n // Auto Login\n useEffect(() => {\n if (dauthState.isAuthenticated) return;\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (!token_ls) return;\n \n try {\n const verify = JWT.decode(token_ls, ask as string);\n console.log({ verify });\n } catch (error) {\n console.log(error);\n }\n\n if (token_ls && !dauthState.isAuthenticated) {\n action.setAutoLoginAction({\n dispatch,\n dauth_state_ls: token_ls,\n domainName,\n });\n }\n }, []);\n\n const loginWithRedirect = useCallback(() => {\n return window.location.replace(\n `${getClientBasePath({ domainName })}/${\n routes.tenantSignin\n }/${domainName}`\n );\n }, [domainName, domainName]);\n\n const logout = useCallback(() => {\n return action.setLogoutAction({ dispatch });\n }, []);\n\n const getAccessToken = useCallback(async () => {\n const token = await action.getAccessTokenAction({ dispatch, domainName });\n return token as string;\n }, []);\n\n const updateUser = useCallback(\n async ({\n name,\n lastname,\n nickname,\n telPrefix,\n telSuffix,\n language,\n avatar,\n }: Partial<IDauthUser>) => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n const user = {\n name,\n lastname,\n nickname,\n telPrefix,\n telSuffix,\n language,\n avatar,\n } as Partial<IDauthUser>;\n return (await action.setUpdateUserAction({\n dispatch,\n domainName,\n user,\n token: token_ls,\n })) as boolean;\n },\n [domainName]\n );\n\n const updateUserWithRedirect = useCallback(() => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (!token_ls) return;\n return window.location.replace(\n `${getClientBasePath({ domainName })}/${\n routes.tenantUpdateUser\n }/${domainName}/${token_ls}`\n );\n }, [domainName, domainName]);\n\n const sendEmailVerification = useCallback(async () => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (!token_ls) return false;\n return (await action.sendEmailVerificationAction({\n dispatch,\n domainName,\n token: token_ls,\n })) as boolean;\n }, [domainName]);\n\n const memoProvider = useMemo(\n () => ({\n ...dauthState,\n loginWithRedirect,\n logout,\n getAccessToken,\n updateUser,\n updateUserWithRedirect,\n sendEmailVerification,\n }),\n [\n dauthState,\n loginWithRedirect,\n logout,\n getAccessToken,\n updateUser,\n updateUserWithRedirect,\n sendEmailVerification,\n ]\n );\n\n return (\n <DauthContext.Provider value={memoProvider}>\n {children}\n </DauthContext.Provider>\n );\n};\n\nconst DauthContext = createContext(initialDauthState);\n\nexport const useDauth = () => {\n const context = useContext(DauthContext);\n if (!context) {\n throw new Error('useDauth must be used inside DauthProvider');\n }\n return context;\n};\n"],"names":["initialDauthState","user","language","window","document","documentElement","getAttribute","domain","isLoading","isAuthenticated","loginWithRedirect","logout","getAccessToken","Promise","resolve","updateUser","updateUserWithRedirect","sendEmailVerificationStatus","status","type","message","sendEmailVerification","LOGIN","SET_IS_LOADING","UPDATE_USER","SET_SEND_EMAIL_VERIFICATION_IS_LOADING","SET_SEND_EMAIL_VERIFICATION_STATUS","userReducer","state","action","payload","DauthTypes","login","_extends","setSendEmailVerificationStatus","setSendEmailVerificationIsLoading","routes","tenantSignin","tenantUpdateUser","tenantGetUser","tenantResendEmailVerification","tenantRefreshAccessToken","isLocalhost","Boolean","location","hostname","match","apiVersion","serverDomain","getServerBasePath","_ref","domainName","serverPort","serverLocalUrl","protocol","serverProdUrl","serverBasePath","getClientBasePath","_ref2","clientPort","clientLocalUrl","clientProdUrl","clientBasePath","getUserAPI","_asyncToGenerator","_regeneratorRuntime","mark","_callee","token","params","response","data","wrap","_callee$","_context","prev","next","method","headers","Authorization","fetch","sent","json","abrupt","stop","_x","_x2","apply","arguments","updateUserAPI","_callee2","_callee2$","_context2","body","JSON","stringify","_x3","_x4","_x5","sendEmailVerificationAPI","_ref3","_callee3","_callee3$","_context3","_x6","_x7","refreshAccessTokenAPI","_ref4","_callee4","_callee4$","_context4","_x8","_x9","TOKEN_LS","setDauthStateAction","_setDauthStateAction","dispatch","getUserFetch","history","replaceState","title","loginRedirect","localStorage","setItem","resetUser","t0","console","log","finish","setAutoLoginAction","_setAutoLoginAction","dauth_state_ls","refreshAccessTokenFetch","accessToken","replace","setLogoutAction","removeItem","setUpdateUserAction","_setUpdateUserAction","setAttribute","sendEmailVerificationAction","_sendEmailVerificationAction","_ref5","sendEmailFetch","checkTokenAction","_checkTokenAction","_callee5","_ref6","_callee5$","_context5","getAccessTokenAction","_getAccessTokenAction","_callee6","_ref7","token_ls","_refreshAccessTokenFe","_callee6$","_context6","getItem","DauthProvider","props","ask","children","_useReducer","useReducer","dauthState","useEffect","interval","setInterval","clearInterval","queryString","search","urlParams","URLSearchParams","token_url","get","verify","JWT","decode","error","useCallback","name","lastname","nickname","telPrefix","telSuffix","avatar","memoProvider","useMemo","React","DauthContext","Provider","value","createContext","useDauth","context","useContext","Error"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0DA,IAAMA,iBAAiB,GAAgB;EACrCC,IAAI,EAAE;IACJC,QAAQ,eAAEC,MAAM,CAACC,QAAQ,CAACC,eAAe,CAACC,YAAY,CAAC,MAAM,CAAC,IAAI;GACrD;EACfC,MAAM,EAAE,EAAuB;EAC/BC,SAAS,EAAE,KAAK;EAChBC,eAAe,EAAE,KAAK;EACtBC,iBAAiB,EAAE,SAAAA,sBAAQ;EAC3BC,MAAM,EAAE,SAAAA,WAAQ;EAChBC,cAAc,EAAE,SAAAA;IAAA,OAAMC,OAAO,CAACC,OAAO,CAAC,EAAE,CAAC;;EACzCC,UAAU,EAAE,SAAAA;IAAA,OAAMF,OAAO,CAACC,OAAO,CAAC,KAAK,CAAC;;EACxCE,sBAAsB,EAAE,SAAAA,2BAAQ;;EAEhCC,2BAA2B,EAAE;IAC3BC,MAAM,EAAE;MACNC,IAAI,EAAE,MAAM;MACZC,OAAO,EAAE;KACO;IAClBZ,SAAS,EAAE;GACZ;EACDa,qBAAqB,EAAE,SAAAA;IAAA,OAAMR,OAAO,CAACC,OAAO,CAAC,KAAK,CAAC;;CACpD;;AC/EM,IAAMQ,KAAK,GAAG,OAAO;AAC5B,AAAO,IAAMC,cAAc,GAAG,gBAAgB;AAC9C,AAAO,IAAMC,WAAW,GAAG,aAAa;AACxC,AAAO,IAAMC,sCAAsC,GACjD,wCAAwC;AAC1C,AAAO,IAAMC,kCAAkC,GAC7C,oCAAoC;;SCHdC,WAAWA,CAACC,KAAkB,EAAEC,MAAW;EACjE,IAAQV,IAAI,GAAcU,MAAM,CAAxBV,IAAI;IAAEW,OAAO,GAAKD,MAAM,CAAlBC,OAAO;EAErB,QAAQX,IAAI;IACV,KAAKY,KAAgB;MAAE;QACrB,IAAMC,KAAK,GAAAC,QAAA,KACNL,KAAK;UACR3B,IAAI,EAAE6B,OAAO,CAAC7B,IAAI;UAClBM,MAAM,EAAEuB,OAAO,CAACvB,MAAM;UACtBE,eAAe,EAAEqB,OAAO,CAACrB;UAC1B;QACD,OAAOuB,KAAK;;IAGd,KAAKD,cAAyB;MAAE;QAC9B,IAAMvB,SAAS,GAAAyB,QAAA,KACVL,KAAK;UACRpB,SAAS,EAAEsB,OAAO,CAACtB;UACpB;QACD,OAAOA,SAAS;;IAGlB,KAAKuB,WAAsB;MAAE;QAC3B,IAAMhB,UAAU,GAAAkB,QAAA,KACXL,KAAK;UACR3B,IAAI,EAAAgC,QAAA,KACCL,KAAK,CAAC3B,IAAI,EACV6B,OAAO;UAEb;QACD,OAAOf,UAAU;;IAGnB,KAAKgB,kCAA6C;MAAE;QAClD,IAAMG,8BAA8B,GAAAD,QAAA,KAC/BL,KAAK;UACRX,2BAA2B,EAAAgB,QAAA,KACtBL,KAAK,CAACX,2BAA2B;YACpCC,MAAM,EAAE;cACNC,IAAI,EAAEW,OAAO,CAACX,IAAI;cAClBC,OAAO,EAAEU,OAAO,CAACV;;;UAGtB;QACD,OAAOc,8BAA8B;;IAGvC,KAAKH,sCAAiD;MAAE;QACtD,IAAMI,iCAAiC,GAAAF,QAAA,KAClCL,KAAK;UACRX,2BAA2B,EAAAgB,QAAA,KACtBL,KAAK,CAACX,2BAA2B;YACpCT,SAAS,EAAEsB;;UAEd;QACD,OAAOK,iCAAiC;;IAG1C;MACE,OAAOP,KAAK;;AAElB;;AChEO,IAAMQ,MAAM,GAAG;EACpBC,YAAY,EAAE,UAAU;EACxBC,gBAAgB,EAAE,eAAe;EACjCC,aAAa,EAAE,YAAY;EAC3BC,6BAA6B,EAAE,6BAA6B;EAC5DC,wBAAwB,EAAE;CAC3B;;ACND,IAAMC,WAAW,gBAAGC,OAAO,CACzBxC,MAAM,CAACyC,QAAQ,CAACC,QAAQ,KAAK,WAAW,IACtC1C,MAAM,CAACyC,QAAQ,CAACC,QAAQ,KAAK,OAAO,iBACpC1C,MAAM,CAACyC,QAAQ,CAACC,QAAQ,CAACC,KAAK,CAC5B,wEAAwE,CACzE,iBACD3C,MAAM,CAACyC,QAAQ,CAACC,QAAQ,CAACC,KAAK,CAC5B,wDAAwD,CACzD,CACJ;AACD,AAAO,IAAMC,UAAU,GAAG,IAAI;AAC9B,AAAO,IAAMC,YAAY,GAAG,WAAW;AAEvC,SAAgBC,iBAAiBA,CAAAC,IAAA;MAAGC,UAAU,GAAAD,IAAA,CAAVC,UAAU;EAC5C,IAAMC,UAAU,GAAG,IAAI;EACvB,IAAMC,cAAc,GAAMlD,MAAM,CAACyC,QAAQ,CAACU,QAAQ,UAAKnD,MAAM,CAACyC,QAAQ,CAACC,QAAQ,SAAIO,UAAU,aAAQL,UAAY;EACjH,IAAMQ,aAAa,gBAAcJ,UAAU,SAAIH,YAAY,aAAQD,UAAY;EAC/E,IAAMS,cAAc,GAAGd,WAAW,GAAGW,cAAc,GAAGE,aAAa;EACnE,OAAOC,cAAc;AACvB;AAEA,SAAgBC,iBAAiBA,CAAAC,KAAA;MAAGP,UAAU,GAAAO,KAAA,CAAVP,UAAU;EAC5C,IAAMQ,UAAU,GAAG,IAAI;EACvB,IAAMC,cAAc,GAAMzD,MAAM,CAACyC,QAAQ,CAACU,QAAQ,UAAKnD,MAAM,CAACyC,QAAQ,CAACC,QAAQ,SAAIc,UAAY;EAC/F,IAAME,aAAa,gBAAcV,UAAU,SAAIH,YAAc;EAC7D,IAAMc,cAAc,GAAGpB,WAAW,GAAGkB,cAAc,GAAGC,aAAa;EACnE,OAAOC,cAAc;AACvB;;ACvBO,IAAMC,UAAU;EAAA,IAAAb,IAAA,gBAAAc,iBAAA,eAAAC,mBAAA,GAAAC,IAAA,CAAG,SAAAC,QACxBhB,UAAkB,EAClBiB,KAAa;IAAA,IAAAC,MAAA,EAAAC,QAAA,EAAAC,IAAA;IAAA,OAAAN,mBAAA,GAAAO,IAAA,UAAAC,SAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;QAAA;UAEPP,MAAM,GAAG;YACbQ,MAAM,EAAE,KAAK;YACbC,OAAO,EAAE;cACPC,aAAa,EAAEX,KAAK;cACpB,cAAc,EAAE;;WAEnB;UAAAM,QAAA,CAAAE,IAAA;UAAA,OACsBI,KAAK,CACvB/B,iBAAiB,CAAC;YAAEE,UAAU,EAAVA;WAAY,CAAC,SAClCf,MAAM,CAACG,aACT,SAAIY,UAAU,EACdkB,MAAM,CACP;QAAA;UALKC,QAAQ,GAAAI,QAAA,CAAAO,IAAA;UAAAP,QAAA,CAAAE,IAAA;UAAA,OAMKN,QAAQ,CAACY,IAAI,EAAE;QAAA;UAA5BX,IAAI,GAAAG,QAAA,CAAAO,IAAA;UAAA,OAAAP,QAAA,CAAAS,MAAA,WACH;YAAEb,QAAQ,EAARA,QAAQ;YAAEC,IAAI,EAAJA;WAAM;QAAA;QAAA;UAAA,OAAAG,QAAA,CAAAU,IAAA;;OAAAjB,OAAA;GAC1B;EAAA,gBAnBYJ,UAAUA,CAAAsB,EAAA,EAAAC,GAAA;IAAA,OAAApC,IAAA,CAAAqC,KAAA,OAAAC,SAAA;;AAAA,GAmBtB;AAED,AAAO,IAAMC,aAAa;EAAA,IAAA/B,KAAA,gBAAAM,iBAAA,eAAAC,mBAAA,GAAAC,IAAA,CAAG,SAAAwB,SAC3BvC,UAAkB,EAClBlD,IAAyB,EACzBmE,KAAa;IAAA,IAAAC,MAAA,EAAAC,QAAA,EAAAC,IAAA;IAAA,OAAAN,mBAAA,GAAAO,IAAA,UAAAmB,UAAAC,SAAA;MAAA,kBAAAA,SAAA,CAAAjB,IAAA,GAAAiB,SAAA,CAAAhB,IAAA;QAAA;UAEPP,MAAM,GAAG;YACbQ,MAAM,EAAE,OAAO;YACfC,OAAO,EAAE;cACPC,aAAa,EAAEX,KAAK;cACpB,cAAc,EAAE;aACjB;YACDyB,IAAI,EAAEC,IAAI,CAACC,SAAS,CAAC9F,IAAI;WAC1B;UAAA2F,SAAA,CAAAhB,IAAA;UAAA,OACsBI,KAAK,CACvB/B,iBAAiB,CAAC;YAAEE,UAAU,EAAVA;WAAY,CAAC,SAClCf,MAAM,CAACE,gBACT,SAAIa,UAAU,EACdkB,MAAM,CACP;QAAA;UALKC,QAAQ,GAAAsB,SAAA,CAAAX,IAAA;UAAAW,SAAA,CAAAhB,IAAA;UAAA,OAMKN,QAAQ,CAACY,IAAI,EAAE;QAAA;UAA5BX,IAAI,GAAAqB,SAAA,CAAAX,IAAA;UAAA,OAAAW,SAAA,CAAAT,MAAA,WACH;YAAEb,QAAQ,EAARA,QAAQ;YAAEC,IAAI,EAAJA;WAAM;QAAA;QAAA;UAAA,OAAAqB,SAAA,CAAAR,IAAA;;OAAAM,QAAA;GAC1B;EAAA,gBArBYD,aAAaA,CAAAO,GAAA,EAAAC,GAAA,EAAAC,GAAA;IAAA,OAAAxC,KAAA,CAAA6B,KAAA,OAAAC,SAAA;;AAAA,GAqBzB;AAED,AAAO,IAAMW,wBAAwB;EAAA,IAAAC,KAAA,gBAAApC,iBAAA,eAAAC,mBAAA,GAAAC,IAAA,CAAG,SAAAmC,SACtClD,UAAkB,EAClBiB,KAAa;IAAA,IAAAC,MAAA,EAAAC,QAAA,EAAAC,IAAA;IAAA,OAAAN,mBAAA,GAAAO,IAAA,UAAA8B,UAAAC,SAAA;MAAA,kBAAAA,SAAA,CAAA5B,IAAA,GAAA4B,SAAA,CAAA3B,IAAA;QAAA;UAEPP,MAAM,GAAG;YACbQ,MAAM,EAAE,KAAK;YACbC,OAAO,EAAE;cACPC,aAAa,EAAEX,KAAK;cACpB,cAAc,EAAE;;WAEnB;UAAAmC,SAAA,CAAA3B,IAAA;UAAA,OACsBI,KAAK,CACvB/B,iBAAiB,CAAC;YAAEE,UAAU,EAAVA;WAAY,CAAC,SAClCf,MAAM,CAACI,6BACT,SAAIW,UAAU,EACdkB,MAAM,CACP;QAAA;UALKC,QAAQ,GAAAiC,SAAA,CAAAtB,IAAA;UAAAsB,SAAA,CAAA3B,IAAA;UAAA,OAMKN,QAAQ,CAACY,IAAI,EAAE;QAAA;UAA5BX,IAAI,GAAAgC,SAAA,CAAAtB,IAAA;UAAA,OAAAsB,SAAA,CAAApB,MAAA,WACH;YAAEb,QAAQ,EAARA,QAAQ;YAAEC,IAAI,EAAJA;WAAM;QAAA;QAAA;UAAA,OAAAgC,SAAA,CAAAnB,IAAA;;OAAAiB,QAAA;GAC1B;EAAA,gBAnBYF,wBAAwBA,CAAAK,GAAA,EAAAC,GAAA;IAAA,OAAAL,KAAA,CAAAb,KAAA,OAAAC,SAAA;;AAAA,GAmBpC;AAED,AAAO,IAAMkB,qBAAqB;EAAA,IAAAC,KAAA,gBAAA3C,iBAAA,eAAAC,mBAAA,GAAAC,IAAA,CAAG,SAAA0C,SACnCzD,UAAkB,EAClBiB,KAAa;IAAA,IAAAC,MAAA,EAAAC,QAAA,EAAAC,IAAA;IAAA,OAAAN,mBAAA,GAAAO,IAAA,UAAAqC,UAAAC,SAAA;MAAA,kBAAAA,SAAA,CAAAnC,IAAA,GAAAmC,SAAA,CAAAlC,IAAA;QAAA;UAEPP,MAAM,GAAG;YACbQ,MAAM,EAAE,KAAK;YACbC,OAAO,EAAE;cACPC,aAAa,EAAEX,KAAK;cACpB,cAAc,EAAE;;WAEnB;UAAA0C,SAAA,CAAAlC,IAAA;UAAA,OACsBI,KAAK,CACvB/B,iBAAiB,CAAC;YAAEE,UAAU,EAAVA;WAAY,CAAC,SAClCf,MAAM,CAACK,wBACT,SAAIU,UAAU,EACdkB,MAAM,CACP;QAAA;UALKC,QAAQ,GAAAwC,SAAA,CAAA7B,IAAA;UAAA6B,SAAA,CAAAlC,IAAA;UAAA,OAMKN,QAAQ,CAACY,IAAI,EAAE;QAAA;UAA5BX,IAAI,GAAAuC,SAAA,CAAA7B,IAAA;UAAA,OAAA6B,SAAA,CAAA3B,MAAA,WACH;YAAEb,QAAQ,EAARA,QAAQ;YAAEC,IAAI,EAAJA;WAAM;QAAA;QAAA;UAAA,OAAAuC,SAAA,CAAA1B,IAAA;;OAAAwB,QAAA;GAC1B;EAAA,gBAnBYF,qBAAqBA,CAAAK,GAAA,EAAAC,GAAA;IAAA,OAAAL,KAAA,CAAApB,KAAA,OAAAC,SAAA;;AAAA,GAmBjC;;ACxFM,IAAMyB,QAAQ,GAAG,aAAa;;SCiBfC,mBAAmBA,CAAA7B,EAAA;EAAA,OAAA8B,oBAAA,CAAA5B,KAAA,OAAAC,SAAA;AAAA;AAmCxC,SAAA2B;EAAAA,oBAAA,GAAAnD,iBAAA,eAAAC,mBAAA,GAAAC,IAAA,CAnCM,SAAAC,QAAAjB,IAAA;IAAA,IAAAkE,QAAA,EAAAhD,KAAA,EAAAjB,UAAA,EAAAkE,YAAA;IAAA,OAAApD,mBAAA,GAAAO,IAAA,UAAAC,SAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;QAAA;UACLwC,QAAQ,GAAAlE,IAAA,CAARkE,QAAQ,EACRhD,KAAK,GAAAlB,IAAA,CAALkB,KAAK,EACLjB,UAAU,GAAAD,IAAA,CAAVC,UAAU;UAEViE,QAAQ,CAAC;YAAEjG,IAAI,EAAEY,cAAyB;YAAED,OAAO,EAAE;cAAEtB,SAAS,EAAE;;WAAQ,CAAC;UAACkE,QAAA,CAAAC,IAAA;UAAAD,QAAA,CAAAE,IAAA;UAAA,OAE/Cb,UAAU,CAACZ,UAAU,EAAEiB,KAAK,CAAC;QAAA;UAAlDiD,YAAY,GAAA3C,QAAA,CAAAO,IAAA;UAAA,MACdoC,YAAY,CAAC/C,QAAQ,CAACpD,MAAM,KAAK,GAAG;YAAAwD,QAAA,CAAAE,IAAA;YAAA;;UACtCwC,QAAQ,CAAC;YACPjG,IAAI,EAAEY,KAAgB;YACtBD,OAAO,EAAE;cACP7B,IAAI,EAAEoH,YAAY,CAAC9C,IAAI,CAACtE,IAAI;cAC5BM,MAAM,EAAE8G,YAAY,CAAC9C,IAAI,CAAChE,MAAM;cAChCE,eAAe,EAAE;;WAEpB,CAAC;UACFN,MAAM,CAACmH,OAAO,CAACC,YAAY,CACzB,EAAE,EACFnH,QAAQ,CAACoH,KAAK,EACdH,YAAY,CAAC9C,IAAI,CAAChE,MAAM,CAACkH,aAAa,CACvC;UAAC,OAAA/C,QAAA,CAAAS,MAAA,WACKuC,YAAY,CAACC,OAAO,CAACV,QAAQ,EAAE7C,KAAK,CAAC;QAAA;UAAA,OAAAM,QAAA,CAAAS,MAAA,WAErCyC,SAAS,CAACR,QAAQ,CAAC;QAAA;UAAA1C,QAAA,CAAAE,IAAA;UAAA;QAAA;UAAAF,QAAA,CAAAC,IAAA;UAAAD,QAAA,CAAAmD,EAAA,GAAAnD,QAAA;UAG5BoD,OAAO,CAACC,GAAG,CAAArD,QAAA,CAAAmD,EAAM,CAAC;UAAC,OAAAnD,QAAA,CAAAS,MAAA,WACZyC,SAAS,CAACR,QAAQ,CAAC;QAAA;UAAA1C,QAAA,CAAAC,IAAA;UAE1ByC,QAAQ,CAAC;YACPjG,IAAI,EAAEY,cAAyB;YAC/BD,OAAO,EAAE;cAAEtB,SAAS,EAAE;;WACvB,CAAC;UAAC,OAAAkE,QAAA,CAAAsD,MAAA;QAAA;QAAA;UAAA,OAAAtD,QAAA,CAAAU,IAAA;;OAAAjB,OAAA;GAEN;EAAA,OAAAgD,oBAAA,CAAA5B,KAAA,OAAAC,SAAA;AAAA;AAOD,SAAsByC,kBAAkBA,CAAA3C,GAAA;EAAA,OAAA4C,mBAAA,CAAA3C,KAAA,OAAAC,SAAA;AAAA;AAgDvC,SAAA0C;EAAAA,mBAAA,GAAAlE,iBAAA,eAAAC,mBAAA,GAAAC,IAAA,CAhDM,SAAAwB,SAAAhC,KAAA;IAAA,IAAA0D,QAAA,EAAAe,cAAA,EAAAhF,UAAA,EAAAiF,uBAAA,EAAAf,YAAA;IAAA,OAAApD,mBAAA,GAAAO,IAAA,UAAAmB,UAAAC,SAAA;MAAA,kBAAAA,SAAA,CAAAjB,IAAA,GAAAiB,SAAA,CAAAhB,IAAA;QAAA;UACLwC,QAAQ,GAAA1D,KAAA,CAAR0D,QAAQ,EACRe,cAAc,GAAAzE,KAAA,CAAdyE,cAAc,EACdhF,UAAU,GAAAO,KAAA,CAAVP,UAAU;UAEViE,QAAQ,CAAC;YAAEjG,IAAI,EAAEY,cAAyB;YAAED,OAAO,EAAE;cAAEtB,SAAS,EAAE;;WAAQ,CAAC;UAACoF,SAAA,CAAAjB,IAAA;UAAAiB,SAAA,CAAAhB,IAAA;UAAA,OAEpC8B,qBAAqB,CACzDvD,UAAU,EACVgF,cAAc,CACf;QAAA;UAHKC,uBAAuB,GAAAxC,SAAA,CAAAX,IAAA;UAAA,MAIzBmD,uBAAuB,CAAC9D,QAAQ,CAACpD,MAAM,KAAK,GAAG;YAAA0E,SAAA,CAAAhB,IAAA;YAAA;;UAAAgB,SAAA,CAAAhB,IAAA;UAAA,OACtBb,UAAU,CAACZ,UAAU,EAAEgF,cAAc,CAAC;QAAA;UAA3Dd,YAAY,GAAAzB,SAAA,CAAAX,IAAA;UAAA,MACdoC,YAAY,CAAC/C,QAAQ,CAACpD,MAAM,KAAK,GAAG;YAAA0E,SAAA,CAAAhB,IAAA;YAAA;;UACtCwC,QAAQ,CAAC;YACPjG,IAAI,EAAEY,KAAgB;YACtBD,OAAO,EAAE;cACP7B,IAAI,EAAEoH,YAAY,CAAC9C,IAAI,CAACtE,IAAI;cAC5BM,MAAM,EAAE8G,YAAY,CAAC9C,IAAI,CAAChE,MAAM;cAChCE,eAAe,EAAE;;WAEpB,CAAC;UACFiH,YAAY,CAACC,OAAO,CAClBV,QAAQ,EACRmB,uBAAuB,CAAC7D,IAAI,CAAC8D,WAAW,CACzC;UAAC,OAAAzC,SAAA,CAAAT,MAAA;QAAA;UAGFhF,MAAM,CAACyC,QAAQ,CAAC0F,OAAO,CAClB7E,iBAAiB,CAAC;YAAEN,UAAU,EAAVA;WAAY,CAAC,SAAIf,MAAM,CAACC,YAAY,SAAIc,UAAY,CAC5E;UAAC,OAAAyC,SAAA,CAAAT,MAAA,WACKyC,SAAS,CAACR,QAAQ,CAAC;QAAA;UAAAxB,SAAA,CAAAhB,IAAA;UAAA;QAAA;UAG5BzE,MAAM,CAACyC,QAAQ,CAAC0F,OAAO,CAClB7E,iBAAiB,CAAC;YAAEN,UAAU,EAAVA;WAAY,CAAC,SAAIf,MAAM,CAACC,YAAY,SAAIc,UAAY,CAC5E;UAAC,OAAAyC,SAAA,CAAAT,MAAA,WACKyC,SAAS,CAACR,QAAQ,CAAC;QAAA;UAAAxB,SAAA,CAAAhB,IAAA;UAAA;QAAA;UAAAgB,SAAA,CAAAjB,IAAA;UAAAiB,SAAA,CAAAiC,EAAA,GAAAjC,SAAA;UAG5BkC,OAAO,CAACC,GAAG,CAAAnC,SAAA,CAAAiC,EAAM,CAAC;UAAC,OAAAjC,SAAA,CAAAT,MAAA,WACZyC,SAAS,CAACR,QAAQ,CAAC;QAAA;UAAAxB,SAAA,CAAAjB,IAAA;UAE1ByC,QAAQ,CAAC;YACPjG,IAAI,EAAEY,cAAyB;YAC/BD,OAAO,EAAE;cAAEtB,SAAS,EAAE;;WACvB,CAAC;UAAC,OAAAoF,SAAA,CAAAoC,MAAA;QAAA;QAAA;UAAA,OAAApC,SAAA,CAAAR,IAAA;;OAAAM,QAAA;GAEN;EAAA,OAAAwC,mBAAA,CAAA3C,KAAA,OAAAC,SAAA;AAAA;AAED,SAAgB+C,eAAeA,CAAAnC,KAAA;MAC7BgB,QAAQ,GAAAhB,KAAA,CAARgB,QAAQ;EAIRA,QAAQ,CAAC;IAAEjG,IAAI,EAAEY,cAAyB;IAAED,OAAO,EAAE;MAAEtB,SAAS,EAAE;;GAAQ,CAAC;EAC3E4G,QAAQ,CAAC;IACPjG,IAAI,EAAEY,KAAgB;IACtBD,OAAO,EAAE;MACP7B,IAAI,EAAE;QACJC,QAAQ,EAAEC,MAAM,CAACC,QAAQ,CAACC,eAAe,CAACC,YAAY,CAAC,MAAM,CAAC,IAAI;OACnE;MACDC,MAAM,EAAE,EAAE;MACVE,eAAe,EAAE;;GAEpB,CAAC;EACFiH,YAAY,CAACc,UAAU,CAACvB,QAAQ,CAAC;EACjC,OAAOG,QAAQ,CAAC;IACdjG,IAAI,EAAEY,cAAyB;IAC/BD,OAAO,EAAE;MAAEtB,SAAS,EAAE;;GACvB,CAAC;AACJ;AAQA,SAAsBiI,mBAAmBA,CAAAzC,GAAA;EAAA,OAAA0C,oBAAA,CAAAnD,KAAA,OAAAC,SAAA;AAAA;AAgCxC,SAAAkD;EAAAA,oBAAA,GAAA1E,iBAAA,eAAAC,mBAAA,GAAAC,IAAA,CAhCM,SAAAmC,SAAAM,KAAA;IAAA,IAAAS,QAAA,EAAAjE,UAAA,EAAAlD,IAAA,EAAAmE,KAAA,EAAAiD,YAAA;IAAA,OAAApD,mBAAA,GAAAO,IAAA,UAAA8B,UAAAC,SAAA;MAAA,kBAAAA,SAAA,CAAA5B,IAAA,GAAA4B,SAAA,CAAA3B,IAAA;QAAA;UACLwC,QAAQ,GAAAT,KAAA,CAARS,QAAQ,EACRjE,UAAU,GAAAwD,KAAA,CAAVxD,UAAU,EACVlD,IAAI,GAAA0G,KAAA,CAAJ1G,IAAI,EACJmE,KAAK,GAAAuC,KAAA,CAALvC,KAAK;UAEL,IAAInE,IAAI,CAACC,QAAQ,EAAE;YACjBC,MAAM,CAACC,QAAQ,CAACC,eAAe,CAACsI,YAAY,CAAC,MAAM,EAAE1I,IAAI,CAACC,QAAQ,CAAC;;UACpE,IACIkE,KAAK;YAAAmC,SAAA,CAAA3B,IAAA;YAAA;;UACRwC,QAAQ,CAAC;YACPjG,IAAI,EAAEY,WAAsB;YAC5BD,OAAO,EAAE7B;WACV,CAAC;UAAC,OAAAsG,SAAA,CAAApB,MAAA,WACI,KAAK;QAAA;UAAAoB,SAAA,CAAA5B,IAAA;UAAA4B,SAAA,CAAA3B,IAAA;UAAA,OAGea,aAAa,CAACtC,UAAU,EAAElD,IAAI,EAAEmE,KAAK,CAAC;QAAA;UAA3DiD,YAAY,GAAAd,SAAA,CAAAtB,IAAA;UAAA,MACdoC,YAAY,CAAC/C,QAAQ,CAACpD,MAAM,KAAK,GAAG;YAAAqF,SAAA,CAAA3B,IAAA;YAAA;;UACtCwC,QAAQ,CAAC;YACPjG,IAAI,EAAEY,WAAsB;YAC5BD,OAAO,EAAEuF,YAAY,CAAC9C,IAAI,CAACtE;WAC5B,CAAC;UAAC,OAAAsG,SAAA,CAAApB,MAAA,WACI,IAAI;QAAA;UAEX2C,OAAO,CAACC,GAAG,CAAC,mBAAmB,EAAEV,YAAY,CAAC9C,IAAI,CAACnD,OAAO,CAAC;UAAC,OAAAmF,SAAA,CAAApB,MAAA,WACrD,KAAK;QAAA;UAAAoB,SAAA,CAAA3B,IAAA;UAAA;QAAA;UAAA2B,SAAA,CAAA5B,IAAA;UAAA4B,SAAA,CAAAsB,EAAA,GAAAtB,SAAA;UAGduB,OAAO,CAACC,GAAG,CAAC,mBAAmB,EAAAxB,SAAA,CAAAsB,EAAO,CAAC;UAAC,OAAAtB,SAAA,CAAApB,MAAA,WACjC,KAAK;QAAA;QAAA;UAAA,OAAAoB,SAAA,CAAAnB,IAAA;;OAAAiB,QAAA;GAEf;EAAA,OAAAqC,oBAAA,CAAAnD,KAAA,OAAAC,SAAA;AAAA;AAOD,SAAsBoD,2BAA2BA,CAAA3C,GAAA;EAAA,OAAA4C,4BAAA,CAAAtD,KAAA,OAAAC,SAAA;AAAA;AAkDhD,SAAAqD;EAAAA,4BAAA,GAAA7E,iBAAA,eAAAC,mBAAA,GAAAC,IAAA,CAlDM,SAAA0C,SAAAkC,KAAA;IAAA,IAAA1B,QAAA,EAAAjE,UAAA,EAAAiB,KAAA,EAAA2E,cAAA;IAAA,OAAA9E,mBAAA,GAAAO,IAAA,UAAAqC,UAAAC,SAAA;MAAA,kBAAAA,SAAA,CAAAnC,IAAA,GAAAmC,SAAA,CAAAlC,IAAA;QAAA;UACLwC,QAAQ,GAAA0B,KAAA,CAAR1B,QAAQ,EACRjE,UAAU,GAAA2F,KAAA,CAAV3F,UAAU,EACViB,KAAK,GAAA0E,KAAA,CAAL1E,KAAK;UAELgD,QAAQ,CAAC;YACPjG,IAAI,EAAEY,sCAAiD;YACvDD,OAAO,EAAE;WACV,CAAC;UACFsF,QAAQ,CAAC;YACPjG,IAAI,EAAEY,kCAA6C;YACnDD,OAAO,EAAE;cAAEX,IAAI,EAAE,MAAM;cAAEC,OAAO,EAAE;;WACnC,CAAC;UAAC0F,SAAA,CAAAnC,IAAA;UAAAmC,SAAA,CAAAlC,IAAA;UAAA,OAE4BuB,wBAAwB,CAAChD,UAAU,EAAEiB,KAAK,CAAC;QAAA;UAAlE2E,cAAc,GAAAjC,SAAA,CAAA7B,IAAA;UAAA,MAChB8D,cAAc,CAACzE,QAAQ,CAACpD,MAAM,KAAK,GAAG;YAAA4F,SAAA,CAAAlC,IAAA;YAAA;;UACxCwC,QAAQ,CAAC;YACPjG,IAAI,EAAEY,kCAA6C;YACnDD,OAAO,EAAE;cAAEX,IAAI,EAAE,SAAS;cAAEC,OAAO,EAAE2H,cAAc,CAACxE,IAAI,CAACnD;;WAC1D,CAAC;UACFgG,QAAQ,CAAC;YACPjG,IAAI,EAAEY,sCAAiD;YACvDD,OAAO,EAAE;WACV,CAAC;UAAC,OAAAgF,SAAA,CAAA3B,MAAA,WACI,IAAI;QAAA;UAEXiC,QAAQ,CAAC;YACPjG,IAAI,EAAEY,kCAA6C;YACnDD,OAAO,EAAE;cAAEX,IAAI,EAAE,OAAO;cAAEC,OAAO,EAAE2H,cAAc,CAACxE,IAAI,CAACnD;;WACxD,CAAC;UACFgG,QAAQ,CAAC;YACPjG,IAAI,EAAEY,sCAAiD;YACvDD,OAAO,EAAE;WACV,CAAC;UAAC,OAAAgF,SAAA,CAAA3B,MAAA,WACI,KAAK;QAAA;UAAA2B,SAAA,CAAAlC,IAAA;UAAA;QAAA;UAAAkC,SAAA,CAAAnC,IAAA;UAAAmC,SAAA,CAAAe,EAAA,GAAAf,SAAA;UAGdM,QAAQ,CAAC;YACPjG,IAAI,EAAEY,kCAA6C;YACnDD,OAAO,EAAE;cACPX,IAAI,EAAE,OAAO;cACbC,OAAO,EAAE;;WAEZ,CAAC;UACFgG,QAAQ,CAAC;YACPjG,IAAI,EAAEY,sCAAiD;YACvDD,OAAO,EAAE;WACV,CAAC;UAAC,OAAAgF,SAAA,CAAA3B,MAAA,WACI,KAAK;QAAA;QAAA;UAAA,OAAA2B,SAAA,CAAA1B,IAAA;;OAAAwB,QAAA;GAEf;EAAA,OAAAiC,4BAAA,CAAAtD,KAAA,OAAAC,SAAA;AAAA;AAED,SAAsBwD,gBAAgBA,CAAA9C,GAAA;EAAA,OAAA+C,iBAAA,CAAA1D,KAAA,OAAAC,SAAA;AAAA;AA0BrC,SAAAyD;EAAAA,iBAAA,GAAAjF,iBAAA,eAAAC,mBAAA,GAAAC,IAAA,CA1BM,SAAAgF,SAAAC,KAAA;IAAA,IAAA/B,QAAA,EAAAjE,UAAA,EAAAiB,KAAA,EAAAgE,uBAAA;IAAA,OAAAnE,mBAAA,GAAAO,IAAA,UAAA4E,UAAAC,SAAA;MAAA,kBAAAA,SAAA,CAAA1E,IAAA,GAAA0E,SAAA,CAAAzE,IAAA;QAAA;UACLwC,QAAQ,GAAA+B,KAAA,CAAR/B,QAAQ,EACRjE,UAAU,GAAAgG,KAAA,CAAVhG,UAAU,EACViB,KAAK,GAAA+E,KAAA,CAAL/E,KAAK;UAAAiF,SAAA,CAAA1E,IAAA;UAAA0E,SAAA,CAAAzE,IAAA;UAAA,OAOmC8B,qBAAqB,CACzDvD,UAAU,EACViB,KAAK,CACN;QAAA;UAHKgE,uBAAuB,GAAAiB,SAAA,CAAApE,IAAA;UAAA,MAIzBmD,uBAAuB,CAAC9D,QAAQ,CAACpD,MAAM,KAAK,GAAG;YAAAmI,SAAA,CAAAzE,IAAA;YAAA;;UAAA,OAAAyE,SAAA,CAAAlE,MAAA;QAAA;UAGjDhF,MAAM,CAACyC,QAAQ,CAAC0F,OAAO,CAClB7E,iBAAiB,CAAC;YAAEN,UAAU,EAAVA;WAAY,CAAC,SAAIf,MAAM,CAACC,YAAY,SAAIc,UAAY,CAC5E;UAAC,OAAAkG,SAAA,CAAAlE,MAAA,WACKyC,SAAS,CAACR,QAAQ,CAAC;QAAA;UAAAiC,SAAA,CAAAzE,IAAA;UAAA;QAAA;UAAAyE,SAAA,CAAA1E,IAAA;UAAA0E,SAAA,CAAAxB,EAAA,GAAAwB,SAAA;UAG5BzB,SAAS,CAACR,QAAQ,CAAC;UAAC,MAAAiC,SAAA,CAAAxB,EAAA;QAAA;QAAA;UAAA,OAAAwB,SAAA,CAAAjE,IAAA;;OAAA8D,QAAA;GAGvB;EAAA,OAAAD,iBAAA,CAAA1D,KAAA,OAAAC,SAAA;AAAA;AAED,SAAsB8D,oBAAoBA,CAAA9C,GAAA;EAAA,OAAA+C,qBAAA,CAAAhE,KAAA,OAAAC,SAAA;AAAA;AA0B1C;AACA;AAAA,SAAA+D;EAAAA,qBAAA,GAAAvF,iBAAA,eAAAC,mBAAA,GAAAC,IAAA,CA3BO,SAAAsF,SAAAC,KAAA;IAAA,IAAArC,QAAA,EAAAjE,UAAA,EAAAuG,QAAA,EAAAtB,uBAAA,EAAAuB,qBAAA;IAAA,OAAA1F,mBAAA,GAAAO,IAAA,UAAAoF,UAAAC,SAAA;MAAA,kBAAAA,SAAA,CAAAlF,IAAA,GAAAkF,SAAA,CAAAjF,IAAA;QAAA;UACLwC,QAAQ,GAAAqC,KAAA,CAARrC,QAAQ,EACRjE,UAAU,GAAAsG,KAAA,CAAVtG,UAAU;UAKJuG,QAAQ,GAAGhC,YAAY,CAACoC,OAAO,CAAC7C,QAAQ,CAAC;UAAA,IAC1CyC,QAAQ;YAAAG,SAAA,CAAAjF,IAAA;YAAA;;UAAA,OAAAiF,SAAA,CAAA1E,MAAA;QAAA;UAAA0E,SAAA,CAAAlF,IAAA;UAAAkF,SAAA,CAAAjF,IAAA;UAAA,OAE2B8B,qBAAqB,CACzDvD,UAAU,EACVuG,QAAQ,CACT;QAAA;UAHKtB,uBAAuB,GAAAyB,SAAA,CAAA5E,IAAA;UAAA,MAIzBmD,uBAAuB,CAAC9D,QAAQ,CAACpD,MAAM,KAAK,GAAG;YAAA2I,SAAA,CAAAjF,IAAA;YAAA;;UAAA,OAAAiF,SAAA,CAAA1E,MAAA,YAAAwE,qBAAA,GAC1CvB,uBAAuB,CAAC7D,IAAI,CAAC8D,WAAW,YAAAsB,qBAAA,GAAID,QAAQ;QAAA;UAE3D9B,SAAS,CAACR,QAAQ,CAAC;UAAC,OAAAyC,SAAA,CAAA1E,MAAA,WACb,iBAAiB;QAAA;UAAA0E,SAAA,CAAAjF,IAAA;UAAA;QAAA;UAAAiF,SAAA,CAAAlF,IAAA;UAAAkF,SAAA,CAAAhC,EAAA,GAAAgC,SAAA;UAG1BjC,SAAS,CAACR,QAAQ,CAAC;UAAC,MAAAyC,SAAA,CAAAhC,EAAA;QAAA;QAAA;UAAA,OAAAgC,SAAA,CAAAzE,IAAA;;OAAAoE,QAAA;GAGvB;EAAA,OAAAD,qBAAA,CAAAhE,KAAA,OAAAC,SAAA;AAAA;AAID,AAAO,IAAMoC,SAAS,GAAG,SAAZA,SAASA,CAAIR,QAA6B;EACrDM,YAAY,CAACc,UAAU,CAACvB,QAAQ,CAAC;EACjC,OAAOG,QAAQ,CAAC;IACdjG,IAAI,EAAEY,KAAgB;IACtBD,OAAO,EAAE;MACP7B,IAAI,EAAE,EAAgB;MACtBM,MAAM,EAAE,EAAuB;MAC/BE,eAAe,EAAE;;GAEpB,CAAC;AACJ,CAAC;;ICjRYsJ,aAAa,GAAiC,SAA9CA,aAAaA,CACxBC,KAAyB;EAEzB,IAAQ7G,UAAU,GAAoB6G,KAAK,CAAnC7G,UAAU;IAAE8G,GAAG,GAAeD,KAAK,CAAvBC,GAAG;IAAEC,QAAQ,GAAKF,KAAK,CAAlBE,QAAQ;EACjC,IAAAC,WAAA,GAA+BC,gBAAU,CAACzI,WAAW,EAAE3B,iBAAiB,CAAC;IAAlEqK,UAAU,GAAAF,WAAA;IAAE/C,QAAQ,GAAA+C,WAAA;;EAG3BG,eAAS,CAAC;IACR,IAAI,CAACD,UAAU,CAAC5J,eAAe,EAAE;IACjC,IAAI8J,QAAQ,GAAGC,WAAW,CAAC;MACzB,IAAMd,QAAQ,GAAGhC,YAAY,CAACoC,OAAO,CAAC7C,QAAQ,CAAC;MAC/C,IAAI,CAACyC,QAAQ,EAAE;MACf7H,gBAAuB,CAAC;QAAEuF,QAAQ,EAARA,QAAQ;QAAEjE,UAAU,EAAVA,UAAU;QAAEiB,KAAK,EAAEsF;OAAU,CAAC;KACnE,EAAE,IAAI,GAAG,EAAE,GAAG,CAAC,CAAC;IACjB,OAAO;MAAA,OAAMe,aAAa,CAACF,QAAQ,CAAC;;GACrC,EAAE,EAAE,CAAC;;EAGND,eAAS,CAAC;IACR,IAAMI,WAAW,GAAGvK,MAAM,CAACyC,QAAQ,CAAC+H,MAAM;IAC1C,IAAI,CAACD,WAAW,EAAE;IAClB,IAAME,SAAS,GAAG,IAAIC,eAAe,CAACH,WAAW,CAAC;IAClD,IAAMI,SAAS,GAAGF,SAAS,CAACG,GAAG,CAAC9D,QAAQ,CAAC;IACzC,IAAI6D,SAAS,IAAI,CAACT,UAAU,CAAC5J,eAAe,EAAE;MAC5CoB,mBAA0B,CAAC;QAAEuF,QAAQ,EAARA,QAAQ;QAAEhD,KAAK,EAAE0G,SAAS;QAAE3H,UAAU,EAAVA;OAAY,CAAC;;GAEzE,EAAE,EAAE,CAAC;;EAGNmH,eAAS,CAAC;IACR,IAAID,UAAU,CAAC5J,eAAe,EAAE;IAChC,IAAMiJ,QAAQ,GAAGhC,YAAY,CAACoC,OAAO,CAAC7C,QAAQ,CAAC;IAC/C,IAAI,CAACyC,QAAQ,EAAE;IAEf,IAAI;MACF,IAAMsB,MAAM,GAAGC,GAAG,CAACC,MAAM,CAACxB,QAAQ,EAAEO,GAAa,CAAC;MAClDnC,OAAO,CAACC,GAAG,CAAC;QAAEiD,MAAM,EAANA;OAAQ,CAAC;KACxB,CAAC,OAAOG,KAAK,EAAE;MACdrD,OAAO,CAACC,GAAG,CAACoD,KAAK,CAAC;;IAGpB,IAAIzB,QAAQ,IAAI,CAACW,UAAU,CAAC5J,eAAe,EAAE;MAC3CoB,kBAAyB,CAAC;QACxBuF,QAAQ,EAARA,QAAQ;QACRe,cAAc,EAAEuB,QAAQ;QACxBvG,UAAU,EAAVA;OACD,CAAC;;GAEL,EAAE,EAAE,CAAC;EAEN,IAAMzC,iBAAiB,GAAG0K,iBAAW,CAAC;IACpC,OAAOjL,MAAM,CAACyC,QAAQ,CAAC0F,OAAO,CACzB7E,iBAAiB,CAAC;MAAEN,UAAU,EAAVA;KAAY,CAAC,SAClCf,MAAM,CAACC,YACT,SAAIc,UAAY,CACjB;GACF,EAAE,CAACA,UAAU,EAAEA,UAAU,CAAC,CAAC;EAE5B,IAAMxC,MAAM,GAAGyK,iBAAW,CAAC;IACzB,OAAOvJ,eAAsB,CAAC;MAAEuF,QAAQ,EAARA;KAAU,CAAC;GAC5C,EAAE,EAAE,CAAC;EAEN,IAAMxG,cAAc,GAAGwK,iBAAW,eAAApH,iBAAA,eAAAC,mBAAA,GAAAC,IAAA,CAAC,SAAAC;IAAA,IAAAC,KAAA;IAAA,OAAAH,mBAAA,GAAAO,IAAA,UAAAC,SAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;QAAA;UAAAF,QAAA,CAAAE,IAAA;UAAA,OACb/C,oBAA2B,CAAC;YAAEuF,QAAQ,EAARA,QAAQ;YAAEjE,UAAU,EAAVA;WAAY,CAAC;QAAA;UAAnEiB,KAAK,GAAAM,QAAA,CAAAO,IAAA;UAAA,OAAAP,QAAA,CAAAS,MAAA,WACJf,KAAe;QAAA;QAAA;UAAA,OAAAM,QAAA,CAAAU,IAAA;;OAAAjB,OAAA;GACvB,IAAE,EAAE,CAAC;EAEN,IAAMpD,UAAU,GAAGqK,iBAAW;IAAA,IAAAhF,KAAA,GAAApC,iBAAA,eAAAC,mBAAA,GAAAC,IAAA,CAC5B,SAAAwB,SAAAhC,KAAA;MAAA,IAAA2H,IAAA,EAAAC,QAAA,EAAAC,QAAA,EAAAC,SAAA,EAAAC,SAAA,EAAAvL,QAAA,EAAAwL,MAAA,EAAAhC,QAAA,EAAAzJ,IAAA;MAAA,OAAAgE,mBAAA,GAAAO,IAAA,UAAAmB,UAAAC,SAAA;QAAA,kBAAAA,SAAA,CAAAjB,IAAA,GAAAiB,SAAA,CAAAhB,IAAA;UAAA;YACEyG,IAAI,GAAA3H,KAAA,CAAJ2H,IAAI,EACJC,QAAQ,GAAA5H,KAAA,CAAR4H,QAAQ,EACRC,QAAQ,GAAA7H,KAAA,CAAR6H,QAAQ,EACRC,SAAS,GAAA9H,KAAA,CAAT8H,SAAS,EACTC,SAAS,GAAA/H,KAAA,CAAT+H,SAAS,EACTvL,QAAQ,GAAAwD,KAAA,CAARxD,QAAQ,EACRwL,MAAM,GAAAhI,KAAA,CAANgI,MAAM;YAEAhC,QAAQ,GAAGhC,YAAY,CAACoC,OAAO,CAAC7C,QAAQ,CAAC;YACzChH,IAAI,GAAG;cACXoL,IAAI,EAAJA,IAAI;cACJC,QAAQ,EAARA,QAAQ;cACRC,QAAQ,EAARA,QAAQ;cACRC,SAAS,EAATA,SAAS;cACTC,SAAS,EAATA,SAAS;cACTvL,QAAQ,EAARA,QAAQ;cACRwL,MAAM,EAANA;aACsB;YAAA9F,SAAA,CAAAhB,IAAA;YAAA,OACV/C,mBAA0B,CAAC;cACvCuF,QAAQ,EAARA,QAAQ;cACRjE,UAAU,EAAVA,UAAU;cACVlD,IAAI,EAAJA,IAAI;cACJmE,KAAK,EAAEsF;aACR,CAAC;UAAA;YAAA,OAAA9D,SAAA,CAAAT,MAAA,WAAAS,SAAA,CAAAX,IAAA;UAAA;UAAA;YAAA,OAAAW,SAAA,CAAAR,IAAA;;SAAAM,QAAA;KACH;IAAA,iBAAAL,EAAA;MAAA,OAAAe,KAAA,CAAAb,KAAA,OAAAC,SAAA;;OACD,CAACrC,UAAU,CAAC,CACb;EAED,IAAMnC,sBAAsB,GAAGoK,iBAAW,CAAC;IACzC,IAAM1B,QAAQ,GAAGhC,YAAY,CAACoC,OAAO,CAAC7C,QAAQ,CAAC;IAC/C,IAAI,CAACyC,QAAQ,EAAE;IACf,OAAOvJ,MAAM,CAACyC,QAAQ,CAAC0F,OAAO,CACzB7E,iBAAiB,CAAC;MAAEN,UAAU,EAAVA;KAAY,CAAC,SAClCf,MAAM,CAACE,gBACT,SAAIa,UAAU,SAAIuG,QAAU,CAC7B;GACF,EAAE,CAACvG,UAAU,EAAEA,UAAU,CAAC,CAAC;EAE5B,IAAM9B,qBAAqB,GAAG+J,iBAAW,eAAApH,iBAAA,eAAAC,mBAAA,GAAAC,IAAA,CAAC,SAAAmC;IAAA,IAAAqD,QAAA;IAAA,OAAAzF,mBAAA,GAAAO,IAAA,UAAA8B,UAAAC,SAAA;MAAA,kBAAAA,SAAA,CAAA5B,IAAA,GAAA4B,SAAA,CAAA3B,IAAA;QAAA;UAClC8E,QAAQ,GAAGhC,YAAY,CAACoC,OAAO,CAAC7C,QAAQ,CAAC;UAAA,IAC1CyC,QAAQ;YAAAnD,SAAA,CAAA3B,IAAA;YAAA;;UAAA,OAAA2B,SAAA,CAAApB,MAAA,WAAS,KAAK;QAAA;UAAAoB,SAAA,CAAA3B,IAAA;UAAA,OACb/C,2BAAkC,CAAC;YAC/CuF,QAAQ,EAARA,QAAQ;YACRjE,UAAU,EAAVA,UAAU;YACViB,KAAK,EAAEsF;WACR,CAAC;QAAA;UAAA,OAAAnD,SAAA,CAAApB,MAAA,WAAAoB,SAAA,CAAAtB,IAAA;QAAA;QAAA;UAAA,OAAAsB,SAAA,CAAAnB,IAAA;;OAAAiB,QAAA;GACH,IAAE,CAAClD,UAAU,CAAC,CAAC;EAEhB,IAAMwI,YAAY,GAAGC,aAAO,CAC1B;IAAA,OAAA3J,QAAA,KACKoI,UAAU;MACb3J,iBAAiB,EAAjBA,iBAAiB;MACjBC,MAAM,EAANA,MAAM;MACNC,cAAc,EAAdA,cAAc;MACdG,UAAU,EAAVA,UAAU;MACVC,sBAAsB,EAAtBA,sBAAsB;MACtBK,qBAAqB,EAArBA;;GACA,EACF,CACEgJ,UAAU,EACV3J,iBAAiB,EACjBC,MAAM,EACNC,cAAc,EACdG,UAAU,EACVC,sBAAsB,EACtBK,qBAAqB,CACtB,CACF;EAED,OACEwK,6BAACC,YAAY,CAACC,QAAQ;IAACC,KAAK,EAAEL;KAC3BzB,QAAQ,CACa;AAE5B,CAAC;AAED,IAAM4B,YAAY,gBAAGG,mBAAa,CAACjM,iBAAiB,CAAC;AAErD,IAAakM,QAAQ,GAAG,SAAXA,QAAQA;EACnB,IAAMC,OAAO,GAAGC,gBAAU,CAACN,YAAY,CAAC;EACxC,IAAI,CAACK,OAAO,EAAE;IACZ,MAAM,IAAIE,KAAK,CAAC,4CAA4C,CAAC;;EAE/D,OAAOF,OAAO;AAChB,CAAC;;;;;"}
|
|
1
|
+
{"version":3,"file":"dauth-context-react.cjs.development.js","sources":["../src/initialDauthState.ts","../src/reducer/dauth.types.ts","../src/reducer/dauth.reducer.ts","../src/api/utils/routes.ts","../src/api/utils/config.ts","../src/api/dauth.api.ts","../src/constants.ts","../src/reducer/dauth.actions.ts","../src/index.tsx"],"sourcesContent":["import { IActionStatus, IDauthDomainState, IDauthState, IDauthUser } from \"./interfaces\";\n\nconst initialDauthState: IDauthState = {\n user: {\n language: window.document.documentElement.getAttribute('lang') || 'es',\n } as IDauthUser,\n domain: {} as IDauthDomainState,\n isLoading: false,\n isAuthenticated: false,\n loginWithRedirect: () => {},\n logout: () => {},\n getAccessToken: () => Promise.resolve(''),\n updateUser: () => Promise.resolve(false),\n updateUserWithRedirect: () => {},\n // Send email verification\n sendEmailVerificationStatus: {\n status: {\n type: 'info',\n message: 'Sending email verification...',\n } as IActionStatus,\n isLoading: false,\n },\n sendEmailVerification: () => Promise.resolve(false),\n};\n\nexport default initialDauthState;\n","export const LOGIN = 'LOGIN';\nexport const SET_IS_LOADING = 'SET_IS_LOADING';\nexport const UPDATE_USER = 'UPDATE_USER';\nexport const SET_SEND_EMAIL_VERIFICATION_IS_LOADING =\n 'SET_SEND_EMAIL_VERIFICATION_IS_LOADING';\nexport const SET_SEND_EMAIL_VERIFICATION_STATUS =\n 'SET_SEND_EMAIL_VERIFICATION_STATUS';\n","import { IDauthState } from '../interfaces';\nimport * as DauthTypes from './dauth.types';\n\nexport default function userReducer(state: IDauthState, action: any) {\n const { type, payload } = action;\n\n switch (type) {\n case DauthTypes.LOGIN: {\n const login: IDauthState = {\n ...state,\n user: payload.user,\n domain: payload.domain,\n isAuthenticated: payload.isAuthenticated,\n };\n return login;\n }\n\n case DauthTypes.SET_IS_LOADING: {\n const isLoading: IDauthState = {\n ...state,\n isLoading: payload.isLoading,\n };\n return isLoading;\n }\n\n case DauthTypes.UPDATE_USER: {\n const updateUser: IDauthState = {\n ...state,\n user: {\n ...state.user,\n ...payload,\n },\n };\n return updateUser;\n }\n\n case DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS: {\n const setSendEmailVerificationStatus: IDauthState = {\n ...state,\n sendEmailVerificationStatus: {\n ...state.sendEmailVerificationStatus,\n status: {\n type: payload.type,\n message: payload.message,\n },\n },\n };\n return setSendEmailVerificationStatus;\n }\n\n case DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING: {\n const setSendEmailVerificationIsLoading: IDauthState = {\n ...state,\n sendEmailVerificationStatus: {\n ...state.sendEmailVerificationStatus,\n isLoading: payload,\n },\n };\n return setSendEmailVerificationIsLoading;\n }\n\n default:\n return state;\n }\n}\n","export const routes = {\n tenantSignin: 't-signin',\n tenantUpdateUser: 't-update-user',\n tenantGetUser: 't-get-user',\n tenantResendEmailVerification: 't-resend-email-verification',\n tenantRefreshAccessToken: 't-refresh-access-token',\n tenantVerifyToken: \"t-verify-token\",\n};\n","const isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n window.location.hostname === '[::1]' ||\n window.location.hostname.match(\n /(192)\\.(168)\\.(1)\\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/gm\n ) ||\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\nexport const apiVersion = 'v1';\nexport const serverDomain = 'dauth.ovh';\n\nexport function getServerBasePath({ domainName }: { domainName: string }) {\n const serverPort = 4012;\n const serverLocalUrl = `${window.location.protocol}//${window.location.hostname}:${serverPort}/api/${apiVersion}`;\n const serverProdUrl = `https://${domainName}.${serverDomain}/api/${apiVersion}`;\n const serverBasePath = isLocalhost ? serverLocalUrl : serverProdUrl;\n return serverBasePath;\n}\n\nexport function getClientBasePath({ domainName }: { domainName: string }) {\n const clientPort = 5185;\n const clientLocalUrl = `${window.location.protocol}//${window.location.hostname}:${clientPort}`;\n const clientProdUrl = `https://${domainName}.${serverDomain}`;\n const clientBasePath = isLocalhost ? clientLocalUrl : clientProdUrl;\n return clientBasePath;\n}\n","import { routes } from './utils/routes';\nimport { getServerBasePath } from './utils/config';\nimport { IDauthUser } from '../interfaces';\n\nexport const getUserAPI = async (\n domainName: string,\n token: string\n): Promise<any> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath({ domainName })}/${\n routes.tenantGetUser\n }/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const updateUserAPI = async (\n domainName: string,\n user: Partial<IDauthUser>,\n token: string\n): Promise<any> => {\n const params = {\n method: 'PATCH',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(user),\n };\n const response = await fetch(\n `${getServerBasePath({ domainName })}/${\n routes.tenantUpdateUser\n }/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const sendEmailVerificationAPI = async (\n domainName: string,\n token: string\n): Promise<any> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath({ domainName })}/${\n routes.tenantResendEmailVerification\n }/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const refreshAccessTokenAPI = async (\n domainName: string,\n token: string\n): Promise<any> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath({ domainName })}/${\n routes.tenantRefreshAccessToken\n }/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const verifyTokenAPI = async ({\n domainName,\n ask,\n token,\n}: {\n domainName: string;\n ask: string;\n token: string;\n}): Promise<any> => {\n const params = {\n method: 'POST',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({ ask }),\n };\n const response = await fetch(\n `${getServerBasePath({ domainName })}/${\n routes.tenantVerifyToken\n }/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n","export const TOKEN_LS = 'dauth_state';\n","import {\n getUserAPI,\n refreshAccessTokenAPI,\n sendEmailVerificationAPI,\n updateUserAPI,\n} from '../api/dauth.api';\nimport { getClientBasePath } from '../api/utils/config';\nimport { TOKEN_LS } from '../constants';\nimport { IDauthDomainState, IDauthUser } from '../interfaces';\nimport { routes } from '../api/utils/routes';\nimport * as DauthTypes from './dauth.types';\n\ntype TSetDauthStateAction = {\n dispatch: React.Dispatch<any>;\n token: string;\n domainName: string;\n};\nexport async function setDauthStateAction({\n dispatch,\n token,\n domainName,\n}: TSetDauthStateAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const getUserFetch = await getUserAPI(domainName, token);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: getUserFetch.data.user,\n domain: getUserFetch.data.domain,\n isAuthenticated: true,\n },\n });\n window.history.replaceState(\n {},\n document.title,\n getUserFetch.data.domain.loginRedirect\n );\n return localStorage.setItem(TOKEN_LS, token);\n } else {\n return resetUser(dispatch);\n }\n } catch (error) {\n console.log(error);\n return resetUser(dispatch);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\ntype TSetAutoLoginAction = {\n dispatch: React.Dispatch<any>;\n dauth_state_ls: string;\n domainName: string;\n};\nexport async function setAutoLoginAction({\n dispatch,\n dauth_state_ls,\n domainName,\n}: TSetAutoLoginAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const refreshAccessTokenFetch = await refreshAccessTokenAPI(\n domainName,\n dauth_state_ls\n ); \n if (refreshAccessTokenFetch.response.status === 200) {\n const getUserFetch = await getUserAPI(domainName, dauth_state_ls);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: getUserFetch.data.user,\n domain: getUserFetch.data.domain,\n isAuthenticated: true,\n },\n });\n localStorage.setItem(\n TOKEN_LS,\n refreshAccessTokenFetch.data.accessToken\n );\n return;\n } else {\n window.location.replace(\n `${getClientBasePath({ domainName })}/${routes.tenantSignin}/${domainName}`\n );\n return resetUser(dispatch);\n }\n } else {\n window.location.replace(\n `${getClientBasePath({ domainName })}/${routes.tenantSignin}/${domainName}`\n );\n return resetUser(dispatch);\n }\n } catch (error) {\n console.log(error);\n return resetUser(dispatch);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\nexport function setLogoutAction({\n dispatch,\n}: {\n dispatch: React.Dispatch<any>;\n}) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: {\n language: window.document.documentElement.getAttribute('lang') || 'es',\n },\n domain: {},\n isAuthenticated: false,\n },\n });\n localStorage.removeItem(TOKEN_LS);\n return dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n}\n\ntype TSetUpdateAction = {\n dispatch: React.Dispatch<any>;\n domainName: string;\n user: Partial<IDauthUser>;\n token: string | null;\n};\nexport async function setUpdateUserAction({\n dispatch,\n domainName,\n user,\n token,\n}: TSetUpdateAction) {\n if (user.language) {\n window.document.documentElement.setAttribute('lang', user.language);\n }\n if (!token) {\n dispatch({\n type: DauthTypes.UPDATE_USER,\n payload: user,\n });\n return false;\n }\n try {\n const getUserFetch = await updateUserAPI(domainName, user, token);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.UPDATE_USER,\n payload: getUserFetch.data.user,\n });\n return true;\n } else {\n console.log('Update user error', getUserFetch.data.message);\n return false;\n }\n } catch (error) {\n console.log('Update user error', error);\n return false;\n }\n}\n\ntype TSetSendEmailVerificationAction = {\n dispatch: React.Dispatch<any>;\n domainName: string;\n token: string;\n};\nexport async function sendEmailVerificationAction({\n dispatch,\n domainName,\n token,\n}: TSetSendEmailVerificationAction) {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: true,\n });\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: { type: 'info', message: 'Sending email verification...' },\n });\n try {\n const sendEmailFetch = await sendEmailVerificationAPI(domainName, token);\n if (sendEmailFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: { type: 'success', message: sendEmailFetch.data.message },\n });\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: false,\n });\n return true;\n } else {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: { type: 'error', message: sendEmailFetch.data.message },\n });\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: false,\n });\n return false;\n }\n } catch (error) {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: {\n type: 'error',\n message: 'Send email verification fetch error',\n },\n });\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: false,\n });\n return false;\n }\n}\n\nexport async function checkTokenAction({\n dispatch,\n domainName,\n token,\n}: {\n dispatch: React.Dispatch<any>;\n domainName: string;\n token: string;\n}) {\n try {\n const refreshAccessTokenFetch = await refreshAccessTokenAPI(\n domainName,\n token\n );\n if (refreshAccessTokenFetch.response.status === 200) {\n return;\n } else {\n window.location.replace(\n `${getClientBasePath({ domainName })}/${routes.tenantSignin}/${domainName}`\n );\n return resetUser(dispatch);\n }\n } catch (error) {\n resetUser(dispatch);\n throw error;\n }\n}\n\nexport async function getAccessTokenAction({\n dispatch,\n domainName,\n}: {\n dispatch: React.Dispatch<any>;\n domainName: string;\n}) {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (!token_ls) return;\n try {\n const refreshAccessTokenFetch = await refreshAccessTokenAPI(\n domainName,\n token_ls\n );\n if (refreshAccessTokenFetch.response.status === 200) {\n return refreshAccessTokenFetch.data.accessToken ?? token_ls;\n } else {\n resetUser(dispatch);\n return 'token-not-found';\n }\n } catch (error) {\n resetUser(dispatch);\n throw error;\n }\n}\n\n///////////////////////////////////////////\n//////////////////////////////////////////\nexport const resetUser = (dispatch: React.Dispatch<any>) => {\n localStorage.removeItem(TOKEN_LS);\n return dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: {} as IDauthUser,\n domain: {} as IDauthDomainState,\n isAuthenticated: false,\n },\n });\n};\n","import React, {\n useReducer,\n useMemo,\n useEffect,\n useCallback,\n createContext,\n useContext,\n} from 'react';\nimport initialDauthState from './initialDauthState';\nimport userReducer from './reducer/dauth.reducer';\nimport * as action from './reducer/dauth.actions';\nimport { getClientBasePath } from './api/utils/config';\nimport { TOKEN_LS } from './constants';\nimport { routes } from './api/utils/routes';\nimport { verifyTokenAPI } from './api/dauth.api';\nimport { IDauthUser } from './interfaces';\n\ninterface DauthProviderProps {\n domainName: string;\n ask: string;\n children: React.ReactNode;\n}\n\nexport const DauthProvider: React.FC<DauthProviderProps> = (\n props: DauthProviderProps\n) => {\n const { domainName, ask, children } = props;\n const [dauthState, dispatch] = useReducer(userReducer, initialDauthState);\n\n const isValidAsk = useCallback(\n async (token: string) => {\n const verifyToken = await verifyTokenAPI({\n domainName,\n token,\n ask,\n });\n if (verifyToken.response.status !== 200) {\n return false;\n }\n return true;\n },\n [domainName, ask]\n );\n\n // Check token periodically\n useEffect(() => {\n if (!dauthState.isAuthenticated) return;\n let interval = setInterval(async () => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (!token_ls) return;\n const isValid = await isValidAsk(token_ls);\n if (isValid) {\n return action.checkTokenAction({\n dispatch,\n domainName,\n token: token_ls,\n });\n } else {\n return action.setLogoutAction({ dispatch });\n }\n }, 1000 * 60 * 1);\n return () => clearInterval(interval);\n }, [dauthState.isAuthenticated, isValidAsk]);\n\n // Catch login redirect\n useEffect(() => {\n (async () => {\n const queryString = window.location.search;\n if (!queryString) return;\n const urlParams = new URLSearchParams(queryString);\n const token_url = urlParams.get(TOKEN_LS);\n if (token_url && !dauthState.isAuthenticated) {\n const isValid = await isValidAsk(token_url);\n if (isValid) {\n return action.setDauthStateAction({\n dispatch,\n token: token_url,\n domainName,\n });\n } else {\n return action.setLogoutAction({ dispatch });\n }\n }\n })();\n }, []);\n\n // Auto Login\n useEffect(() => {\n (async () => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (token_ls && !dauthState.isAuthenticated) {\n const isValid = await isValidAsk(token_ls);\n if (isValid) {\n return action.setAutoLoginAction({\n dispatch,\n dauth_state_ls: token_ls,\n domainName,\n });\n } else {\n return action.setLogoutAction({ dispatch });\n }\n }\n })();\n }, []);\n\n const loginWithRedirect = useCallback(() => {\n return window.location.replace(\n `${getClientBasePath({ domainName })}/${\n routes.tenantSignin\n }/${domainName}`\n );\n }, [domainName, domainName]);\n\n const logout = useCallback(() => {\n return action.setLogoutAction({ dispatch });\n }, []);\n\n const getAccessToken = useCallback(async () => {\n const token = await action.getAccessTokenAction({ dispatch, domainName });\n return token as string;\n }, []);\n\n const updateUser = useCallback(\n async ({\n name,\n lastname,\n nickname,\n telPrefix,\n telSuffix,\n language,\n avatar,\n }: Partial<IDauthUser>) => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n const user = {\n name,\n lastname,\n nickname,\n telPrefix,\n telSuffix,\n language,\n avatar,\n } as Partial<IDauthUser>;\n return (await action.setUpdateUserAction({\n dispatch,\n domainName,\n user,\n token: token_ls,\n })) as boolean;\n },\n [domainName]\n );\n\n const updateUserWithRedirect = useCallback(() => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (!token_ls) return;\n return window.location.replace(\n `${getClientBasePath({ domainName })}/${\n routes.tenantUpdateUser\n }/${domainName}/${token_ls}`\n );\n }, [domainName, domainName]);\n\n const sendEmailVerification = useCallback(async () => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (!token_ls) return false;\n return (await action.sendEmailVerificationAction({\n dispatch,\n domainName,\n token: token_ls,\n })) as boolean;\n }, [domainName]);\n\n const memoProvider = useMemo(\n () => ({\n ...dauthState,\n loginWithRedirect,\n logout,\n getAccessToken,\n updateUser,\n updateUserWithRedirect,\n sendEmailVerification,\n }),\n [\n dauthState,\n loginWithRedirect,\n logout,\n getAccessToken,\n updateUser,\n updateUserWithRedirect,\n sendEmailVerification,\n ]\n );\n\n return (\n <DauthContext.Provider value={memoProvider}>\n {children}\n </DauthContext.Provider>\n );\n};\n\nconst DauthContext = createContext(initialDauthState);\n\nexport const useDauth = () => {\n const context = useContext(DauthContext);\n if (!context) {\n throw new Error('useDauth must be used inside DauthProvider');\n }\n return context;\n};\n"],"names":["initialDauthState","user","language","window","document","documentElement","getAttribute","domain","isLoading","isAuthenticated","loginWithRedirect","logout","getAccessToken","Promise","resolve","updateUser","updateUserWithRedirect","sendEmailVerificationStatus","status","type","message","sendEmailVerification","LOGIN","SET_IS_LOADING","UPDATE_USER","SET_SEND_EMAIL_VERIFICATION_IS_LOADING","SET_SEND_EMAIL_VERIFICATION_STATUS","userReducer","state","action","payload","DauthTypes","login","_extends","setSendEmailVerificationStatus","setSendEmailVerificationIsLoading","routes","tenantSignin","tenantUpdateUser","tenantGetUser","tenantResendEmailVerification","tenantRefreshAccessToken","tenantVerifyToken","isLocalhost","Boolean","location","hostname","match","apiVersion","serverDomain","getServerBasePath","_ref","domainName","serverPort","serverLocalUrl","protocol","serverProdUrl","serverBasePath","getClientBasePath","_ref2","clientPort","clientLocalUrl","clientProdUrl","clientBasePath","getUserAPI","_asyncToGenerator","_regeneratorRuntime","mark","_callee","token","params","response","data","wrap","_callee$","_context","prev","next","method","headers","Authorization","fetch","sent","json","abrupt","stop","_x","_x2","apply","arguments","updateUserAPI","_callee2","_callee2$","_context2","body","JSON","stringify","_x3","_x4","_x5","sendEmailVerificationAPI","_ref3","_callee3","_callee3$","_context3","_x6","_x7","refreshAccessTokenAPI","_ref4","_callee4","_callee4$","_context4","_x8","_x9","verifyTokenAPI","_ref6","_callee5","_ref5","ask","_callee5$","_context5","_x10","TOKEN_LS","setDauthStateAction","_setDauthStateAction","dispatch","getUserFetch","history","replaceState","title","loginRedirect","localStorage","setItem","resetUser","t0","console","log","finish","setAutoLoginAction","_setAutoLoginAction","dauth_state_ls","refreshAccessTokenFetch","accessToken","replace","setLogoutAction","removeItem","setUpdateUserAction","_setUpdateUserAction","setAttribute","sendEmailVerificationAction","_sendEmailVerificationAction","sendEmailFetch","checkTokenAction","_checkTokenAction","getAccessTokenAction","_getAccessTokenAction","_callee6","_ref7","token_ls","_refreshAccessTokenFe","_callee6$","_context6","getItem","DauthProvider","props","children","_useReducer","useReducer","dauthState","isValidAsk","useCallback","verifyToken","useEffect","interval","setInterval","isValid","clearInterval","queryString","urlParams","token_url","search","URLSearchParams","get","name","lastname","nickname","telPrefix","telSuffix","avatar","_callee7","_callee7$","_context7","memoProvider","useMemo","React","DauthContext","Provider","value","createContext","useDauth","context","useContext","Error"],"mappings":"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"}
|