dexie-cloud-addon 4.0.1-beta.54 → 4.0.1-beta.55

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.
@@ -8,7 +8,7 @@
8
8
  *
9
9
  * ==========================================================================
10
10
  *
11
- * Version 4.0.1-beta.54, Mon Dec 18 2023
11
+ * Version 4.0.1-beta.55, Tue Jan 02 2024
12
12
  *
13
13
  * https://dexie.org
14
14
  *
@@ -2019,7 +2019,28 @@
2019
2019
  function promptForEmail(userInteraction, title, emailHint) {
2020
2020
  return __awaiter(this, void 0, void 0, function* () {
2021
2021
  let email = emailHint || '';
2022
- while (!email || !/^[\w-+.]+@([\w-]+\.)+[\w-]{2,10}$/.test(email)) {
2022
+ // Regular expression for email validation
2023
+ // ^[\w-+.]+@([\w-]+\.)+[\w-]{2,10}(\sas\s[\w-+.]+@([\w-]+\.)+[\w-]{2,10})?$
2024
+ //
2025
+ // ^[\w-+.]+ : Matches the start of the string. Allows one or more word characters
2026
+ // (a-z, A-Z, 0-9, and underscore), hyphen, plus, or dot.
2027
+ //
2028
+ // @ : Matches the @ symbol.
2029
+ // ([\w-]+\.)+ : Matches one or more word characters or hyphens followed by a dot.
2030
+ // The plus sign outside the parentheses means this pattern can repeat one or more times,
2031
+ // allowing for subdomains.
2032
+ // [\w-]{2,10} : Matches between 2 and 10 word characters or hyphens. This is typically for
2033
+ // the domain extension like .com, .net, etc.
2034
+ // (\sas\s[\w-+.]+@([\w-]+\.)+[\w-]{2,10})?$ : This part is optional (due to the ? at the end).
2035
+ // If present, it matches " as " followed by another valid email address. This allows for the
2036
+ // input to be either a single email address or two email addresses separated by " as ".
2037
+ //
2038
+ // The use case for "<email1> as <email2>"" is for when a database owner with full access to the
2039
+ // database needs to impersonate another user in the database in order to troubleshoot. This
2040
+ // format will only be possible to use when email1 is the owner of an API client with GLOBAL_READ
2041
+ // and GLOBAL_WRITE permissions on the database. The email will be checked on the server before
2042
+ // allowing it and giving out a token for email2, using the OTP sent to email1.
2043
+ while (!email || !/^[\w-+.]+@([\w-]+\.)+[\w-]{2,10}(\sas\s[\w-+.]+@([\w-]+\.)+[\w-]{2,10})?$/.test(email)) {
2023
2044
  email = (yield interactWithUser(userInteraction, {
2024
2045
  type: 'email',
2025
2046
  title,
@@ -6235,7 +6256,7 @@
6235
6256
  const syncComplete = new rxjs.Subject();
6236
6257
  dexie.cloud = {
6237
6258
  // @ts-ignore
6238
- version: "4.0.1-beta.54",
6259
+ version: "4.0.1-beta.55",
6239
6260
  options: Object.assign({}, DEFAULT_OPTIONS),
6240
6261
  schema: null,
6241
6262
  get currentUserId() {
@@ -6512,7 +6533,7 @@
6512
6533
  }
6513
6534
  }
6514
6535
  // @ts-ignore
6515
- dexieCloud.version = "4.0.1-beta.54";
6536
+ dexieCloud.version = "4.0.1-beta.55";
6516
6537
  Dexie.Cloud = dexieCloud;
6517
6538
 
6518
6539
  exports.default = dexieCloud;