akeyless-client-commons 1.0.58 → 1.0.59

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.
@@ -1,8 +1,7 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import * as React$1 from 'react';
3
3
  import React__default, { MouseEvent, DetailedHTMLProps, ButtonHTMLAttributes, ReactNode, Dispatch, SetStateAction } from 'react';
4
- import { User } from 'firebase/auth';
5
- import { TObject, Geo } from 'akeyless-types-commons';
4
+ import { NxUser, TObject, Geo } from 'akeyless-types-commons';
6
5
  import { Command as Command$1 } from 'cmdk';
7
6
  import * as RPNInput from 'react-phone-number-input';
8
7
  import * as class_variance_authority_dist_types from 'class-variance-authority/dist/types';
@@ -54,7 +53,7 @@ interface GoogleSvgProps {
54
53
  }
55
54
  interface LoginWithGoogleButtonProps {
56
55
  label: string;
57
- onClick: (e: MouseEvent<HTMLButtonElement>, user: User) => Promise<void>;
56
+ onClick: (e: MouseEvent<HTMLButtonElement>, user: NxUser) => Promise<void>;
58
57
  className?: string;
59
58
  containerClassName?: string;
60
59
  loaderProps?: LoaderProps;
@@ -1,8 +1,7 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import * as React$1 from 'react';
3
3
  import React__default, { MouseEvent, DetailedHTMLProps, ButtonHTMLAttributes, ReactNode, Dispatch, SetStateAction } from 'react';
4
- import { User } from 'firebase/auth';
5
- import { TObject, Geo } from 'akeyless-types-commons';
4
+ import { NxUser, TObject, Geo } from 'akeyless-types-commons';
6
5
  import { Command as Command$1 } from 'cmdk';
7
6
  import * as RPNInput from 'react-phone-number-input';
8
7
  import * as class_variance_authority_dist_types from 'class-variance-authority/dist/types';
@@ -54,7 +53,7 @@ interface GoogleSvgProps {
54
53
  }
55
54
  interface LoginWithGoogleButtonProps {
56
55
  label: string;
57
- onClick: (e: MouseEvent<HTMLButtonElement>, user: User) => Promise<void>;
56
+ onClick: (e: MouseEvent<HTMLButtonElement>, user: NxUser) => Promise<void>;
58
57
  className?: string;
59
58
  containerClassName?: string;
60
59
  loaderProps?: LoaderProps;
@@ -669,6 +669,12 @@ var import_auth = require("firebase/auth");
669
669
  var import_app_check = require("firebase/app-check");
670
670
  var import_firestore = require("firebase/firestore");
671
671
  var import_react2 = require("react");
672
+ // src/helpers/phoneNumber.ts
673
+ var import_libphonenumber_js = require("libphonenumber-js");
674
+ var local_israel_phone_format = function(international_number) {
675
+ return international_number.replace("+972", "0");
676
+ };
677
+ // src/helpers/firebase.ts
672
678
  var import_meta = {};
673
679
  var initApp = function() {
674
680
  var isNodeEnv2 = typeof process !== "undefined" && process.env;
@@ -761,12 +767,150 @@ var collections = {
761
767
  charge_capacities: (0, import_firestore.collection)(db, "nx-charge-capacities")
762
768
  };
763
769
  var fire_base_TIME_TEMP = import_firestore.Timestamp.now;
770
+ var simpleExtractData = function(doc2) {
771
+ var docData = doc2.data();
772
+ return _object_spread_props(_object_spread({}, docData), {
773
+ id: doc2.id
774
+ });
775
+ };
776
+ var query_document = /*#__PURE__*/ function() {
777
+ var _ref = _async_to_generator(function(collection_path, field_name, operator, value) {
778
+ var ignore_log, q, query_snapshot, documents, error;
779
+ var _arguments = arguments;
780
+ return _ts_generator(this, function(_state) {
781
+ switch(_state.label){
782
+ case 0:
783
+ ignore_log = _arguments.length > 4 && _arguments[4] !== void 0 ? _arguments[4] : false;
784
+ _state.label = 1;
785
+ case 1:
786
+ _state.trys.push([
787
+ 1,
788
+ 3,
789
+ ,
790
+ 4
791
+ ]);
792
+ q = (0, import_firestore.query)((0, import_firestore.collection)(db, collection_path), (0, import_firestore.where)(field_name, operator, value));
793
+ return [
794
+ 4,
795
+ (0, import_firestore.getDocs)(q)
796
+ ];
797
+ case 2:
798
+ query_snapshot = _state.sent();
799
+ documents = query_snapshot.docs.map(function(doc2) {
800
+ return simpleExtractData(doc2);
801
+ });
802
+ if (documents.length < 1) {
803
+ throw new Error("No data to return from: \ncollection: ".concat(collection_path, ", \nfield_name: ").concat(field_name, ", \noperator: ").concat(operator, ", \nvalue: ").concat(value));
804
+ }
805
+ return [
806
+ 2,
807
+ documents[0]
808
+ ];
809
+ case 3:
810
+ error = _state.sent();
811
+ if (!ignore_log) {
812
+ console.error("Error querying document:", error);
813
+ }
814
+ return [
815
+ 2,
816
+ null
817
+ ];
818
+ case 4:
819
+ return [
820
+ 2
821
+ ];
822
+ }
823
+ });
824
+ });
825
+ return function query_document(collection_path, field_name, operator, value) {
826
+ return _ref.apply(this, arguments);
827
+ };
828
+ }();
829
+ var getUserByPhone = /*#__PURE__*/ function() {
830
+ var _ref = _async_to_generator(function(phone) {
831
+ var phones;
832
+ return _ts_generator(this, function(_state) {
833
+ switch(_state.label){
834
+ case 0:
835
+ phones = [
836
+ phone,
837
+ local_israel_phone_format(phone)
838
+ ];
839
+ return [
840
+ 4,
841
+ query_document("nx-users", "phone_number", "in", phones, true)
842
+ ];
843
+ case 1:
844
+ return [
845
+ 2,
846
+ _state.sent()
847
+ ];
848
+ }
849
+ });
850
+ });
851
+ return function getUserByPhone(phone) {
852
+ return _ref.apply(this, arguments);
853
+ };
854
+ }();
855
+ var getUserByEmail = /*#__PURE__*/ function() {
856
+ var _ref = _async_to_generator(function(email) {
857
+ return _ts_generator(this, function(_state) {
858
+ switch(_state.label){
859
+ case 0:
860
+ return [
861
+ 4,
862
+ query_document("nx-users", "email", "==", email, true)
863
+ ];
864
+ case 1:
865
+ return [
866
+ 2,
867
+ _state.sent()
868
+ ];
869
+ }
870
+ });
871
+ });
872
+ return function getUserByEmail(email) {
873
+ return _ref.apply(this, arguments);
874
+ };
875
+ }();
876
+ var getUserByIdentifier = /*#__PURE__*/ function() {
877
+ var _ref = _async_to_generator(function(identifier) {
878
+ var _tmp;
879
+ return _ts_generator(this, function(_state) {
880
+ switch(_state.label){
881
+ case 0:
882
+ return [
883
+ 4,
884
+ getUserByPhone(identifier)
885
+ ];
886
+ case 1:
887
+ _tmp = _state.sent();
888
+ if (_tmp) return [
889
+ 3,
890
+ 3
891
+ ];
892
+ return [
893
+ 4,
894
+ getUserByEmail(identifier)
895
+ ];
896
+ case 2:
897
+ _tmp = _state.sent();
898
+ _state.label = 3;
899
+ case 3:
900
+ return [
901
+ 2,
902
+ _tmp
903
+ ];
904
+ }
905
+ });
906
+ });
907
+ return function getUserByIdentifier(identifier) {
908
+ return _ref.apply(this, arguments);
909
+ };
910
+ }();
764
911
  // src/helpers/global.ts
765
912
  var import_akeyless_types_commons = require("akeyless-types-commons");
766
913
  var import_axios = __toESM(require("axios"));
767
- // src/helpers/phoneNumber.ts
768
- var import_libphonenumber_js = require("libphonenumber-js");
769
- // src/helpers/global.ts
770
914
  var import_lodash = require("lodash");
771
915
  var import_meta2 = {};
772
916
  var renderOnce = function() {
@@ -965,15 +1109,15 @@ var LoginWithGoogleButton = function(param) {
965
1109
  var _ref = _sliced_to_array((0, import_react3.useState)(false), 2), isLoading = _ref[0], setIsLoading = _ref[1];
966
1110
  var onLoginClick = /*#__PURE__*/ function() {
967
1111
  var _ref = _async_to_generator(function(e) {
968
- var user, error;
1112
+ var user, dbUser, error;
969
1113
  return _ts_generator(this, function(_state) {
970
1114
  switch(_state.label){
971
1115
  case 0:
972
1116
  _state.trys.push([
973
1117
  0,
974
- 3,
975
1118
  4,
976
- 5
1119
+ 5,
1120
+ 6
977
1121
  ]);
978
1122
  setIsLoading(true);
979
1123
  return [
@@ -984,28 +1128,37 @@ var LoginWithGoogleButton = function(param) {
984
1128
  user = _state.sent();
985
1129
  return [
986
1130
  4,
987
- onClick(e, user)
1131
+ getUserByIdentifier(user.email)
988
1132
  ];
989
1133
  case 2:
1134
+ dbUser = _state.sent();
1135
+ if (!dbUser) {
1136
+ throw "user_not_found";
1137
+ }
1138
+ return [
1139
+ 4,
1140
+ onClick(e, dbUser)
1141
+ ];
1142
+ case 3:
990
1143
  _state.sent();
991
1144
  return [
992
1145
  3,
993
- 5
1146
+ 6
994
1147
  ];
995
- case 3:
1148
+ case 4:
996
1149
  error = _state.sent();
997
1150
  console.error("error from login with google:", error);
998
1151
  onError === null || onError === void 0 ? void 0 : onError(error);
999
1152
  return [
1000
1153
  3,
1001
- 5
1154
+ 6
1002
1155
  ];
1003
- case 4:
1156
+ case 5:
1004
1157
  setIsLoading(false);
1005
1158
  return [
1006
1159
  7
1007
1160
  ];
1008
- case 5:
1161
+ case 6:
1009
1162
  return [
1010
1163
  2
1011
1164
  ];
@@ -473,6 +473,12 @@ import { getAuth, GoogleAuthProvider, signInWithPopup } from "firebase/auth";
473
473
  import { initializeAppCheck, ReCaptchaEnterpriseProvider } from "firebase/app-check";
474
474
  import { addDoc, collection, deleteDoc, doc, getDoc, getDocs, query, setDoc, Timestamp, where, getFirestore, onSnapshot, orderBy } from "firebase/firestore";
475
475
  import { useCallback } from "react";
476
+ // src/helpers/phoneNumber.ts
477
+ import { parsePhoneNumberFromString } from "libphonenumber-js";
478
+ var local_israel_phone_format = function(international_number) {
479
+ return international_number.replace("+972", "0");
480
+ };
481
+ // src/helpers/firebase.ts
476
482
  var initApp = function() {
477
483
  var isNodeEnv2 = typeof process !== "undefined" && process.env;
478
484
  var firebaseConfig = {
@@ -564,12 +570,150 @@ var collections = {
564
570
  charge_capacities: collection(db, "nx-charge-capacities")
565
571
  };
566
572
  var fire_base_TIME_TEMP = Timestamp.now;
573
+ var simpleExtractData = function(doc2) {
574
+ var docData = doc2.data();
575
+ return _object_spread_props(_object_spread({}, docData), {
576
+ id: doc2.id
577
+ });
578
+ };
579
+ var query_document = /*#__PURE__*/ function() {
580
+ var _ref = _async_to_generator(function(collection_path, field_name, operator, value) {
581
+ var ignore_log, q, query_snapshot, documents, error;
582
+ var _arguments = arguments;
583
+ return _ts_generator(this, function(_state) {
584
+ switch(_state.label){
585
+ case 0:
586
+ ignore_log = _arguments.length > 4 && _arguments[4] !== void 0 ? _arguments[4] : false;
587
+ _state.label = 1;
588
+ case 1:
589
+ _state.trys.push([
590
+ 1,
591
+ 3,
592
+ ,
593
+ 4
594
+ ]);
595
+ q = query(collection(db, collection_path), where(field_name, operator, value));
596
+ return [
597
+ 4,
598
+ getDocs(q)
599
+ ];
600
+ case 2:
601
+ query_snapshot = _state.sent();
602
+ documents = query_snapshot.docs.map(function(doc2) {
603
+ return simpleExtractData(doc2);
604
+ });
605
+ if (documents.length < 1) {
606
+ throw new Error("No data to return from: \ncollection: ".concat(collection_path, ", \nfield_name: ").concat(field_name, ", \noperator: ").concat(operator, ", \nvalue: ").concat(value));
607
+ }
608
+ return [
609
+ 2,
610
+ documents[0]
611
+ ];
612
+ case 3:
613
+ error = _state.sent();
614
+ if (!ignore_log) {
615
+ console.error("Error querying document:", error);
616
+ }
617
+ return [
618
+ 2,
619
+ null
620
+ ];
621
+ case 4:
622
+ return [
623
+ 2
624
+ ];
625
+ }
626
+ });
627
+ });
628
+ return function query_document(collection_path, field_name, operator, value) {
629
+ return _ref.apply(this, arguments);
630
+ };
631
+ }();
632
+ var getUserByPhone = /*#__PURE__*/ function() {
633
+ var _ref = _async_to_generator(function(phone) {
634
+ var phones;
635
+ return _ts_generator(this, function(_state) {
636
+ switch(_state.label){
637
+ case 0:
638
+ phones = [
639
+ phone,
640
+ local_israel_phone_format(phone)
641
+ ];
642
+ return [
643
+ 4,
644
+ query_document("nx-users", "phone_number", "in", phones, true)
645
+ ];
646
+ case 1:
647
+ return [
648
+ 2,
649
+ _state.sent()
650
+ ];
651
+ }
652
+ });
653
+ });
654
+ return function getUserByPhone(phone) {
655
+ return _ref.apply(this, arguments);
656
+ };
657
+ }();
658
+ var getUserByEmail = /*#__PURE__*/ function() {
659
+ var _ref = _async_to_generator(function(email) {
660
+ return _ts_generator(this, function(_state) {
661
+ switch(_state.label){
662
+ case 0:
663
+ return [
664
+ 4,
665
+ query_document("nx-users", "email", "==", email, true)
666
+ ];
667
+ case 1:
668
+ return [
669
+ 2,
670
+ _state.sent()
671
+ ];
672
+ }
673
+ });
674
+ });
675
+ return function getUserByEmail(email) {
676
+ return _ref.apply(this, arguments);
677
+ };
678
+ }();
679
+ var getUserByIdentifier = /*#__PURE__*/ function() {
680
+ var _ref = _async_to_generator(function(identifier) {
681
+ var _tmp;
682
+ return _ts_generator(this, function(_state) {
683
+ switch(_state.label){
684
+ case 0:
685
+ return [
686
+ 4,
687
+ getUserByPhone(identifier)
688
+ ];
689
+ case 1:
690
+ _tmp = _state.sent();
691
+ if (_tmp) return [
692
+ 3,
693
+ 3
694
+ ];
695
+ return [
696
+ 4,
697
+ getUserByEmail(identifier)
698
+ ];
699
+ case 2:
700
+ _tmp = _state.sent();
701
+ _state.label = 3;
702
+ case 3:
703
+ return [
704
+ 2,
705
+ _tmp
706
+ ];
707
+ }
708
+ });
709
+ });
710
+ return function getUserByIdentifier(identifier) {
711
+ return _ref.apply(this, arguments);
712
+ };
713
+ }();
567
714
  // src/helpers/global.ts
568
715
  import { CountryOptions } from "akeyless-types-commons";
569
716
  import axios from "axios";
570
- // src/helpers/phoneNumber.ts
571
- import { parsePhoneNumberFromString } from "libphonenumber-js";
572
- // src/helpers/global.ts
573
717
  import { isEqual } from "lodash";
574
718
  var renderOnce = function() {
575
719
  return true;
@@ -767,15 +911,15 @@ var LoginWithGoogleButton = function(param) {
767
911
  var _useState = _sliced_to_array(useState(false), 2), isLoading = _useState[0], setIsLoading = _useState[1];
768
912
  var onLoginClick = /*#__PURE__*/ function() {
769
913
  var _ref = _async_to_generator(function(e) {
770
- var user, error;
914
+ var user, dbUser, error;
771
915
  return _ts_generator(this, function(_state) {
772
916
  switch(_state.label){
773
917
  case 0:
774
918
  _state.trys.push([
775
919
  0,
776
- 3,
777
920
  4,
778
- 5
921
+ 5,
922
+ 6
779
923
  ]);
780
924
  setIsLoading(true);
781
925
  return [
@@ -786,28 +930,37 @@ var LoginWithGoogleButton = function(param) {
786
930
  user = _state.sent();
787
931
  return [
788
932
  4,
789
- onClick(e, user)
933
+ getUserByIdentifier(user.email)
790
934
  ];
791
935
  case 2:
936
+ dbUser = _state.sent();
937
+ if (!dbUser) {
938
+ throw "user_not_found";
939
+ }
940
+ return [
941
+ 4,
942
+ onClick(e, dbUser)
943
+ ];
944
+ case 3:
792
945
  _state.sent();
793
946
  return [
794
947
  3,
795
- 5
948
+ 6
796
949
  ];
797
- case 3:
950
+ case 4:
798
951
  error = _state.sent();
799
952
  console.error("error from login with google:", error);
800
953
  onError === null || onError === void 0 ? void 0 : onError(error);
801
954
  return [
802
955
  3,
803
- 5
956
+ 6
804
957
  ];
805
- case 4:
958
+ case 5:
806
959
  setIsLoading(false);
807
960
  return [
808
961
  7
809
962
  ];
810
- case 5:
963
+ case 6:
811
964
  return [
812
965
  2
813
966
  ];
@@ -128,6 +128,9 @@ declare const query_document_by_conditions: (collection_path: string, where_cond
128
128
  declare const snapshot: Snapshot;
129
129
  declare const snapshotDocument: SnapshotDocument;
130
130
  declare const cleanNxSites: () => Promise<void>;
131
+ declare const getUserByPhone: (phone: string) => Promise<TObject<any>>;
132
+ declare const getUserByEmail: (email: string) => Promise<TObject<any>>;
133
+ declare const getUserByIdentifier: (identifier: string) => Promise<TObject<any>>;
131
134
 
132
135
  declare const calculateBearing: (startLat: any, startLng: any, endLat: any, endLng: any) => number;
133
136
  declare const renderOnce: () => boolean;
@@ -211,4 +214,4 @@ type Method = "GET" | "POST" | "PUT" | "DELETE";
211
214
  type ServerName = "devices" | "bi" | "call-center";
212
215
  declare const nx_api_call: (serverName: ServerName, method: Method, url: string, data?: TObject<any>) => Promise<any>;
213
216
 
214
- export { type ValidationType, add_document, addressRegex, akeylessOnlineDomain, app, appCheck, auth, baseDomain, biDomain, calculateBearing, callCenterDomain, carsRegex, chartsRegex, cleanNxSites, cn, collections, colorRegex, createSelectors, db, delete_document, devicesDomain, displayFormatPhoneNumber, emailRegex, extractAlertsData, extractBoardsData, extractCanbusData, extractCarsData, extractClientData, extractLocationData, extractSiteData, fire_base_TIME_TEMP, formatCarNumber, getFormElementValue, getLocationUrl, getUserCountryByIp, get_all_documents, get_document_by_id, googleLoginProvider, handleChange, handleInvalid, handlePaste, initializeUserPermissions, international_israel_phone_format, isInternational, isInternationalIsraelPhone, isLocal, isNodeEnv, is_iccid, local_israel_phone_format, mode, multiStringFormat, numbersOnlyRegex, numbersRegex, nx_api_call, parseMultiSelectInput, parsePermissions, priceRegex, propsAreEqual, query_document, query_document_by_conditions, query_documents, query_documents_by_conditions, renderOnce, setState, set_document, simpleExtractData, snapshot, snapshotDocument, sort_by_timestamp, storage, textNumbersRegex, textRegex, timestamp_to_millis, timestamp_to_string, useLoginWithGoogle, useStoreValues, useValidation, userNameFormat };
217
+ export { type ValidationType, add_document, addressRegex, akeylessOnlineDomain, app, appCheck, auth, baseDomain, biDomain, calculateBearing, callCenterDomain, carsRegex, chartsRegex, cleanNxSites, cn, collections, colorRegex, createSelectors, db, delete_document, devicesDomain, displayFormatPhoneNumber, emailRegex, extractAlertsData, extractBoardsData, extractCanbusData, extractCarsData, extractClientData, extractLocationData, extractSiteData, fire_base_TIME_TEMP, formatCarNumber, getFormElementValue, getLocationUrl, getUserByEmail, getUserByIdentifier, getUserByPhone, getUserCountryByIp, get_all_documents, get_document_by_id, googleLoginProvider, handleChange, handleInvalid, handlePaste, initializeUserPermissions, international_israel_phone_format, isInternational, isInternationalIsraelPhone, isLocal, isNodeEnv, is_iccid, local_israel_phone_format, mode, multiStringFormat, numbersOnlyRegex, numbersRegex, nx_api_call, parseMultiSelectInput, parsePermissions, priceRegex, propsAreEqual, query_document, query_document_by_conditions, query_documents, query_documents_by_conditions, renderOnce, setState, set_document, simpleExtractData, snapshot, snapshotDocument, sort_by_timestamp, storage, textNumbersRegex, textRegex, timestamp_to_millis, timestamp_to_string, useLoginWithGoogle, useStoreValues, useValidation, userNameFormat };
@@ -128,6 +128,9 @@ declare const query_document_by_conditions: (collection_path: string, where_cond
128
128
  declare const snapshot: Snapshot;
129
129
  declare const snapshotDocument: SnapshotDocument;
130
130
  declare const cleanNxSites: () => Promise<void>;
131
+ declare const getUserByPhone: (phone: string) => Promise<TObject<any>>;
132
+ declare const getUserByEmail: (email: string) => Promise<TObject<any>>;
133
+ declare const getUserByIdentifier: (identifier: string) => Promise<TObject<any>>;
131
134
 
132
135
  declare const calculateBearing: (startLat: any, startLng: any, endLat: any, endLng: any) => number;
133
136
  declare const renderOnce: () => boolean;
@@ -211,4 +214,4 @@ type Method = "GET" | "POST" | "PUT" | "DELETE";
211
214
  type ServerName = "devices" | "bi" | "call-center";
212
215
  declare const nx_api_call: (serverName: ServerName, method: Method, url: string, data?: TObject<any>) => Promise<any>;
213
216
 
214
- export { type ValidationType, add_document, addressRegex, akeylessOnlineDomain, app, appCheck, auth, baseDomain, biDomain, calculateBearing, callCenterDomain, carsRegex, chartsRegex, cleanNxSites, cn, collections, colorRegex, createSelectors, db, delete_document, devicesDomain, displayFormatPhoneNumber, emailRegex, extractAlertsData, extractBoardsData, extractCanbusData, extractCarsData, extractClientData, extractLocationData, extractSiteData, fire_base_TIME_TEMP, formatCarNumber, getFormElementValue, getLocationUrl, getUserCountryByIp, get_all_documents, get_document_by_id, googleLoginProvider, handleChange, handleInvalid, handlePaste, initializeUserPermissions, international_israel_phone_format, isInternational, isInternationalIsraelPhone, isLocal, isNodeEnv, is_iccid, local_israel_phone_format, mode, multiStringFormat, numbersOnlyRegex, numbersRegex, nx_api_call, parseMultiSelectInput, parsePermissions, priceRegex, propsAreEqual, query_document, query_document_by_conditions, query_documents, query_documents_by_conditions, renderOnce, setState, set_document, simpleExtractData, snapshot, snapshotDocument, sort_by_timestamp, storage, textNumbersRegex, textRegex, timestamp_to_millis, timestamp_to_string, useLoginWithGoogle, useStoreValues, useValidation, userNameFormat };
217
+ export { type ValidationType, add_document, addressRegex, akeylessOnlineDomain, app, appCheck, auth, baseDomain, biDomain, calculateBearing, callCenterDomain, carsRegex, chartsRegex, cleanNxSites, cn, collections, colorRegex, createSelectors, db, delete_document, devicesDomain, displayFormatPhoneNumber, emailRegex, extractAlertsData, extractBoardsData, extractCanbusData, extractCarsData, extractClientData, extractLocationData, extractSiteData, fire_base_TIME_TEMP, formatCarNumber, getFormElementValue, getLocationUrl, getUserByEmail, getUserByIdentifier, getUserByPhone, getUserCountryByIp, get_all_documents, get_document_by_id, googleLoginProvider, handleChange, handleInvalid, handlePaste, initializeUserPermissions, international_israel_phone_format, isInternational, isInternationalIsraelPhone, isLocal, isNodeEnv, is_iccid, local_israel_phone_format, mode, multiStringFormat, numbersOnlyRegex, numbersRegex, nx_api_call, parseMultiSelectInput, parsePermissions, priceRegex, propsAreEqual, query_document, query_document_by_conditions, query_documents, query_documents_by_conditions, renderOnce, setState, set_document, simpleExtractData, snapshot, snapshotDocument, sort_by_timestamp, storage, textNumbersRegex, textRegex, timestamp_to_millis, timestamp_to_string, useLoginWithGoogle, useStoreValues, useValidation, userNameFormat };
@@ -392,6 +392,15 @@ __export(helpers_exports, {
392
392
  getLocationUrl: function() {
393
393
  return getLocationUrl;
394
394
  },
395
+ getUserByEmail: function() {
396
+ return getUserByEmail;
397
+ },
398
+ getUserByIdentifier: function() {
399
+ return getUserByIdentifier;
400
+ },
401
+ getUserByPhone: function() {
402
+ return getUserByPhone;
403
+ },
395
404
  getUserCountryByIp: function() {
396
405
  return getUserCountryByIp;
397
406
  },
@@ -544,6 +553,38 @@ var formatCarNumber = function(car_number) {
544
553
  };
545
554
  // src/helpers/firebase.ts
546
555
  var import_react = require("react");
556
+ // src/helpers/phoneNumber.ts
557
+ var import_libphonenumber_js = require("libphonenumber-js");
558
+ var isInternational = function(phone_number) {
559
+ return phone_number.startsWith("+");
560
+ };
561
+ var isInternationalIsraelPhone = function(phone_number) {
562
+ return phone_number.startsWith("+9725");
563
+ };
564
+ var local_israel_phone_format = function(international_number) {
565
+ return international_number.replace("+972", "0");
566
+ };
567
+ var international_israel_phone_format = function(phone) {
568
+ var validNumber = phone.slice(1, phone.length);
569
+ return "+972".concat(validNumber);
570
+ };
571
+ var displayFormatPhoneNumber = function(phoneNumber) {
572
+ if (isInternational(phoneNumber)) {
573
+ var phoneNumberObject = (0, import_libphonenumber_js.parsePhoneNumberFromString)(phoneNumber);
574
+ if (!phoneNumberObject) {
575
+ return phoneNumber;
576
+ }
577
+ return phoneNumberObject.formatInternational().replace(/\s/g, "");
578
+ }
579
+ return phoneNumber.replace(/(\d{3})(\d{3})(\d{4})/, "$1-$2-$3");
580
+ };
581
+ var is_iccid = function(number) {
582
+ if (number.length < 19 || number.length > 22) return false;
583
+ if (!/^\d+$/.test(number)) return false;
584
+ if (!number.startsWith("89")) return false;
585
+ return true;
586
+ };
587
+ // src/helpers/firebase.ts
547
588
  var import_meta = {};
548
589
  var initApp = function() {
549
590
  var isNodeEnv2 = typeof process !== "undefined" && process.env;
@@ -1375,41 +1416,91 @@ var cleanNxSites = /*#__PURE__*/ function() {
1375
1416
  return _ref.apply(this, arguments);
1376
1417
  };
1377
1418
  }();
1419
+ var getUserByPhone = /*#__PURE__*/ function() {
1420
+ var _ref = _async_to_generator(function(phone) {
1421
+ var phones;
1422
+ return _ts_generator(this, function(_state) {
1423
+ switch(_state.label){
1424
+ case 0:
1425
+ phones = [
1426
+ phone,
1427
+ local_israel_phone_format(phone)
1428
+ ];
1429
+ return [
1430
+ 4,
1431
+ query_document("nx-users", "phone_number", "in", phones, true)
1432
+ ];
1433
+ case 1:
1434
+ return [
1435
+ 2,
1436
+ _state.sent()
1437
+ ];
1438
+ }
1439
+ });
1440
+ });
1441
+ return function getUserByPhone(phone) {
1442
+ return _ref.apply(this, arguments);
1443
+ };
1444
+ }();
1445
+ var getUserByEmail = /*#__PURE__*/ function() {
1446
+ var _ref = _async_to_generator(function(email) {
1447
+ return _ts_generator(this, function(_state) {
1448
+ switch(_state.label){
1449
+ case 0:
1450
+ return [
1451
+ 4,
1452
+ query_document("nx-users", "email", "==", email, true)
1453
+ ];
1454
+ case 1:
1455
+ return [
1456
+ 2,
1457
+ _state.sent()
1458
+ ];
1459
+ }
1460
+ });
1461
+ });
1462
+ return function getUserByEmail(email) {
1463
+ return _ref.apply(this, arguments);
1464
+ };
1465
+ }();
1466
+ var getUserByIdentifier = /*#__PURE__*/ function() {
1467
+ var _ref = _async_to_generator(function(identifier) {
1468
+ var _tmp;
1469
+ return _ts_generator(this, function(_state) {
1470
+ switch(_state.label){
1471
+ case 0:
1472
+ return [
1473
+ 4,
1474
+ getUserByPhone(identifier)
1475
+ ];
1476
+ case 1:
1477
+ _tmp = _state.sent();
1478
+ if (_tmp) return [
1479
+ 3,
1480
+ 3
1481
+ ];
1482
+ return [
1483
+ 4,
1484
+ getUserByEmail(identifier)
1485
+ ];
1486
+ case 2:
1487
+ _tmp = _state.sent();
1488
+ _state.label = 3;
1489
+ case 3:
1490
+ return [
1491
+ 2,
1492
+ _tmp
1493
+ ];
1494
+ }
1495
+ });
1496
+ });
1497
+ return function getUserByIdentifier(identifier) {
1498
+ return _ref.apply(this, arguments);
1499
+ };
1500
+ }();
1378
1501
  // src/helpers/global.ts
1379
1502
  var import_akeyless_types_commons = require("akeyless-types-commons");
1380
1503
  var import_axios = __toESM(require("axios"));
1381
- // src/helpers/phoneNumber.ts
1382
- var import_libphonenumber_js = require("libphonenumber-js");
1383
- var isInternational = function(phone_number) {
1384
- return phone_number.startsWith("+");
1385
- };
1386
- var isInternationalIsraelPhone = function(phone_number) {
1387
- return phone_number.startsWith("+9725");
1388
- };
1389
- var local_israel_phone_format = function(international_number) {
1390
- return international_number.replace("+972", "0");
1391
- };
1392
- var international_israel_phone_format = function(phone) {
1393
- var validNumber = phone.slice(1, phone.length);
1394
- return "+972".concat(validNumber);
1395
- };
1396
- var displayFormatPhoneNumber = function(phoneNumber) {
1397
- if (isInternational(phoneNumber)) {
1398
- var phoneNumberObject = (0, import_libphonenumber_js.parsePhoneNumberFromString)(phoneNumber);
1399
- if (!phoneNumberObject) {
1400
- return phoneNumber;
1401
- }
1402
- return phoneNumberObject.formatInternational().replace(/\s/g, "");
1403
- }
1404
- return phoneNumber.replace(/(\d{3})(\d{3})(\d{4})/, "$1-$2-$3");
1405
- };
1406
- var is_iccid = function(number) {
1407
- if (number.length < 19 || number.length > 22) return false;
1408
- if (!/^\d+$/.test(number)) return false;
1409
- if (!number.startsWith("89")) return false;
1410
- return true;
1411
- };
1412
- // src/helpers/global.ts
1413
1504
  var import_lodash = require("lodash");
1414
1505
  var import_meta2 = {};
1415
1506
  var calculateBearing = function(startLat, startLng, endLat, endLng) {
@@ -1871,6 +1962,9 @@ var nx_api_call = /*#__PURE__*/ function() {
1871
1962
  formatCarNumber: formatCarNumber,
1872
1963
  getFormElementValue: getFormElementValue,
1873
1964
  getLocationUrl: getLocationUrl,
1965
+ getUserByEmail: getUserByEmail,
1966
+ getUserByIdentifier: getUserByIdentifier,
1967
+ getUserByPhone: getUserByPhone,
1874
1968
  getUserCountryByIp: getUserCountryByIp,
1875
1969
  get_all_documents: get_all_documents,
1876
1970
  get_document_by_id: get_document_by_id,
@@ -245,6 +245,38 @@ var formatCarNumber = function(car_number) {
245
245
  };
246
246
  // src/helpers/firebase.ts
247
247
  import { useCallback } from "react";
248
+ // src/helpers/phoneNumber.ts
249
+ import { parsePhoneNumberFromString } from "libphonenumber-js";
250
+ var isInternational = function(phone_number) {
251
+ return phone_number.startsWith("+");
252
+ };
253
+ var isInternationalIsraelPhone = function(phone_number) {
254
+ return phone_number.startsWith("+9725");
255
+ };
256
+ var local_israel_phone_format = function(international_number) {
257
+ return international_number.replace("+972", "0");
258
+ };
259
+ var international_israel_phone_format = function(phone) {
260
+ var validNumber = phone.slice(1, phone.length);
261
+ return "+972".concat(validNumber);
262
+ };
263
+ var displayFormatPhoneNumber = function(phoneNumber) {
264
+ if (isInternational(phoneNumber)) {
265
+ var phoneNumberObject = parsePhoneNumberFromString(phoneNumber);
266
+ if (!phoneNumberObject) {
267
+ return phoneNumber;
268
+ }
269
+ return phoneNumberObject.formatInternational().replace(/\s/g, "");
270
+ }
271
+ return phoneNumber.replace(/(\d{3})(\d{3})(\d{4})/, "$1-$2-$3");
272
+ };
273
+ var is_iccid = function(number) {
274
+ if (number.length < 19 || number.length > 22) return false;
275
+ if (!/^\d+$/.test(number)) return false;
276
+ if (!number.startsWith("89")) return false;
277
+ return true;
278
+ };
279
+ // src/helpers/firebase.ts
248
280
  var initApp = function() {
249
281
  var isNodeEnv2 = typeof process !== "undefined" && process.env;
250
282
  var firebaseConfig = {
@@ -1075,41 +1107,91 @@ var cleanNxSites = /*#__PURE__*/ function() {
1075
1107
  return _ref.apply(this, arguments);
1076
1108
  };
1077
1109
  }();
1110
+ var getUserByPhone = /*#__PURE__*/ function() {
1111
+ var _ref = _async_to_generator(function(phone) {
1112
+ var phones;
1113
+ return _ts_generator(this, function(_state) {
1114
+ switch(_state.label){
1115
+ case 0:
1116
+ phones = [
1117
+ phone,
1118
+ local_israel_phone_format(phone)
1119
+ ];
1120
+ return [
1121
+ 4,
1122
+ query_document("nx-users", "phone_number", "in", phones, true)
1123
+ ];
1124
+ case 1:
1125
+ return [
1126
+ 2,
1127
+ _state.sent()
1128
+ ];
1129
+ }
1130
+ });
1131
+ });
1132
+ return function getUserByPhone(phone) {
1133
+ return _ref.apply(this, arguments);
1134
+ };
1135
+ }();
1136
+ var getUserByEmail = /*#__PURE__*/ function() {
1137
+ var _ref = _async_to_generator(function(email) {
1138
+ return _ts_generator(this, function(_state) {
1139
+ switch(_state.label){
1140
+ case 0:
1141
+ return [
1142
+ 4,
1143
+ query_document("nx-users", "email", "==", email, true)
1144
+ ];
1145
+ case 1:
1146
+ return [
1147
+ 2,
1148
+ _state.sent()
1149
+ ];
1150
+ }
1151
+ });
1152
+ });
1153
+ return function getUserByEmail(email) {
1154
+ return _ref.apply(this, arguments);
1155
+ };
1156
+ }();
1157
+ var getUserByIdentifier = /*#__PURE__*/ function() {
1158
+ var _ref = _async_to_generator(function(identifier) {
1159
+ var _tmp;
1160
+ return _ts_generator(this, function(_state) {
1161
+ switch(_state.label){
1162
+ case 0:
1163
+ return [
1164
+ 4,
1165
+ getUserByPhone(identifier)
1166
+ ];
1167
+ case 1:
1168
+ _tmp = _state.sent();
1169
+ if (_tmp) return [
1170
+ 3,
1171
+ 3
1172
+ ];
1173
+ return [
1174
+ 4,
1175
+ getUserByEmail(identifier)
1176
+ ];
1177
+ case 2:
1178
+ _tmp = _state.sent();
1179
+ _state.label = 3;
1180
+ case 3:
1181
+ return [
1182
+ 2,
1183
+ _tmp
1184
+ ];
1185
+ }
1186
+ });
1187
+ });
1188
+ return function getUserByIdentifier(identifier) {
1189
+ return _ref.apply(this, arguments);
1190
+ };
1191
+ }();
1078
1192
  // src/helpers/global.ts
1079
1193
  import { CountryOptions } from "akeyless-types-commons";
1080
1194
  import axios from "axios";
1081
- // src/helpers/phoneNumber.ts
1082
- import { parsePhoneNumberFromString } from "libphonenumber-js";
1083
- var isInternational = function(phone_number) {
1084
- return phone_number.startsWith("+");
1085
- };
1086
- var isInternationalIsraelPhone = function(phone_number) {
1087
- return phone_number.startsWith("+9725");
1088
- };
1089
- var local_israel_phone_format = function(international_number) {
1090
- return international_number.replace("+972", "0");
1091
- };
1092
- var international_israel_phone_format = function(phone) {
1093
- var validNumber = phone.slice(1, phone.length);
1094
- return "+972".concat(validNumber);
1095
- };
1096
- var displayFormatPhoneNumber = function(phoneNumber) {
1097
- if (isInternational(phoneNumber)) {
1098
- var phoneNumberObject = parsePhoneNumberFromString(phoneNumber);
1099
- if (!phoneNumberObject) {
1100
- return phoneNumber;
1101
- }
1102
- return phoneNumberObject.formatInternational().replace(/\s/g, "");
1103
- }
1104
- return phoneNumber.replace(/(\d{3})(\d{3})(\d{4})/, "$1-$2-$3");
1105
- };
1106
- var is_iccid = function(number) {
1107
- if (number.length < 19 || number.length > 22) return false;
1108
- if (!/^\d+$/.test(number)) return false;
1109
- if (!number.startsWith("89")) return false;
1110
- return true;
1111
- };
1112
- // src/helpers/global.ts
1113
1195
  import { isEqual } from "lodash";
1114
1196
  var calculateBearing = function(startLat, startLng, endLat, endLng) {
1115
1197
  if (startLat === endLat || startLng === endLng) {
@@ -1535,5 +1617,5 @@ var nx_api_call = /*#__PURE__*/ function() {
1535
1617
  return _ref.apply(this, arguments);
1536
1618
  };
1537
1619
  }();
1538
- export { add_document, addressRegex, akeylessOnlineDomain, app, appCheck, auth, baseDomain, biDomain, calculateBearing, callCenterDomain, carsRegex, chartsRegex, cleanNxSites, cn, collections, colorRegex, createSelectors, db, delete_document, devicesDomain, displayFormatPhoneNumber, emailRegex, extractAlertsData, extractBoardsData, extractCanbusData, extractCarsData, extractClientData, extractLocationData, extractSiteData, fire_base_TIME_TEMP, formatCarNumber, getFormElementValue, getLocationUrl, getUserCountryByIp, get_all_documents, get_document_by_id, googleLoginProvider, handleChange, handleInvalid, handlePaste, initializeUserPermissions, international_israel_phone_format, isInternational, isInternationalIsraelPhone, isLocal, isNodeEnv, is_iccid, local_israel_phone_format, mode, multiStringFormat, numbersOnlyRegex, numbersRegex, nx_api_call, parseMultiSelectInput, parsePermissions, priceRegex, propsAreEqual, query_document, query_document_by_conditions, query_documents, query_documents_by_conditions, renderOnce, setState, set_document, simpleExtractData, snapshot, snapshotDocument, sort_by_timestamp, storage, textNumbersRegex, textRegex, timestamp_to_millis, timestamp_to_string, useLoginWithGoogle, useStoreValues, useValidation, userNameFormat };
1620
+ export { add_document, addressRegex, akeylessOnlineDomain, app, appCheck, auth, baseDomain, biDomain, calculateBearing, callCenterDomain, carsRegex, chartsRegex, cleanNxSites, cn, collections, colorRegex, createSelectors, db, delete_document, devicesDomain, displayFormatPhoneNumber, emailRegex, extractAlertsData, extractBoardsData, extractCanbusData, extractCarsData, extractClientData, extractLocationData, extractSiteData, fire_base_TIME_TEMP, formatCarNumber, getFormElementValue, getLocationUrl, getUserByEmail, getUserByIdentifier, getUserByPhone, getUserCountryByIp, get_all_documents, get_document_by_id, googleLoginProvider, handleChange, handleInvalid, handlePaste, initializeUserPermissions, international_israel_phone_format, isInternational, isInternationalIsraelPhone, isLocal, isNodeEnv, is_iccid, local_israel_phone_format, mode, multiStringFormat, numbersOnlyRegex, numbersRegex, nx_api_call, parseMultiSelectInput, parsePermissions, priceRegex, propsAreEqual, query_document, query_document_by_conditions, query_documents, query_documents_by_conditions, renderOnce, setState, set_document, simpleExtractData, snapshot, snapshotDocument, sort_by_timestamp, storage, textNumbersRegex, textRegex, timestamp_to_millis, timestamp_to_string, useLoginWithGoogle, useStoreValues, useValidation, userNameFormat };
1539
1621
  //# sourceMappingURL=index.mjs.map
@@ -271,6 +271,9 @@ var import_auth = require("firebase/auth");
271
271
  var import_app_check = require("firebase/app-check");
272
272
  var import_firestore = require("firebase/firestore");
273
273
  var import_react = require("react");
274
+ // src/helpers/phoneNumber.ts
275
+ var import_libphonenumber_js = require("libphonenumber-js");
276
+ // src/helpers/firebase.ts
274
277
  var import_meta = {};
275
278
  var initApp = function() {
276
279
  var isNodeEnv2 = typeof process !== "undefined" && process.env;
@@ -416,9 +419,6 @@ var snapshot = function(config, snapshotsFirstTime) {
416
419
  // src/helpers/global.ts
417
420
  var import_akeyless_types_commons = require("akeyless-types-commons");
418
421
  var import_axios = __toESM(require("axios"));
419
- // src/helpers/phoneNumber.ts
420
- var import_libphonenumber_js = require("libphonenumber-js");
421
- // src/helpers/global.ts
422
422
  var import_lodash = require("lodash");
423
423
  var import_meta2 = {};
424
424
  var getUserCountryByIp = /*#__PURE__*/ function() {
@@ -185,6 +185,9 @@ import { getAuth, GoogleAuthProvider, signInWithPopup } from "firebase/auth";
185
185
  import { initializeAppCheck, ReCaptchaEnterpriseProvider } from "firebase/app-check";
186
186
  import { addDoc, collection, deleteDoc, doc, getDoc, getDocs, query, setDoc, Timestamp, where, getFirestore, onSnapshot, orderBy } from "firebase/firestore";
187
187
  import { useCallback } from "react";
188
+ // src/helpers/phoneNumber.ts
189
+ import { parsePhoneNumberFromString } from "libphonenumber-js";
190
+ // src/helpers/firebase.ts
188
191
  var initApp = function() {
189
192
  var isNodeEnv2 = typeof process !== "undefined" && process.env;
190
193
  var firebaseConfig = {
@@ -329,9 +332,6 @@ var snapshot = function(config, snapshotsFirstTime) {
329
332
  // src/helpers/global.ts
330
333
  import { CountryOptions } from "akeyless-types-commons";
331
334
  import axios from "axios";
332
- // src/helpers/phoneNumber.ts
333
- import { parsePhoneNumberFromString } from "libphonenumber-js";
334
- // src/helpers/global.ts
335
335
  import { isEqual } from "lodash";
336
336
  var getUserCountryByIp = /*#__PURE__*/ function() {
337
337
  var _ref = _async_to_generator(function() {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "akeyless-client-commons",
3
- "version": "1.0.58",
3
+ "version": "1.0.59",
4
4
  "scripts": {
5
5
  "build": "tsup",
6
6
  "deploy": "npm run build && npm version patch --no-git-tag-version && npm publish",