@or-sdk/authorizer 0.25.0-beta.990.0 → 0.25.0

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.
Files changed (109) hide show
  1. package/CHANGELOG.md +317 -0
  2. package/README.md +12 -32
  3. package/dist/cjs/Basic/BasicCollection.js +166 -26
  4. package/dist/cjs/Basic/BasicCollection.js.map +1 -1
  5. package/dist/cjs/Basic/utils/createAuthKey.js +4 -0
  6. package/dist/cjs/Basic/utils/createAuthKey.js.map +1 -1
  7. package/dist/cjs/OAuth/OAuth.js +92 -138
  8. package/dist/cjs/OAuth/OAuth.js.map +1 -1
  9. package/dist/cjs/OAuth/index.js +1 -3
  10. package/dist/cjs/OAuth/index.js.map +1 -1
  11. package/dist/cjs/OAuth/types.js +1 -1
  12. package/dist/cjs/OAuth/types.js.map +1 -1
  13. package/dist/cjs/OAuth/utils/ServiceDefinition.js.map +1 -1
  14. package/dist/cjs/OAuth/utils/createAuthKey.js +4 -0
  15. package/dist/cjs/OAuth/utils/createAuthKey.js.map +1 -1
  16. package/dist/cjs/OAuth/utils/createOAuthHelper.js +379 -0
  17. package/dist/cjs/OAuth/utils/createOAuthHelper.js.map +1 -0
  18. package/dist/cjs/OAuth/utils/formatScope.js.map +1 -1
  19. package/dist/cjs/{OAuth → OAuthCollection}/OAuthCollection.js +132 -28
  20. package/dist/cjs/OAuthCollection/OAuthCollection.js.map +1 -0
  21. package/dist/cjs/OAuthCollection/index.js +21 -0
  22. package/dist/cjs/OAuthCollection/index.js.map +1 -0
  23. package/dist/cjs/Token/TokenCollection.js +166 -21
  24. package/dist/cjs/Token/TokenCollection.js.map +1 -1
  25. package/dist/cjs/Token/utils/createAuthKey.js +4 -0
  26. package/dist/cjs/Token/utils/createAuthKey.js.map +1 -1
  27. package/dist/cjs/constants.js +3 -2
  28. package/dist/cjs/constants.js.map +1 -1
  29. package/dist/cjs/index.js +2 -1
  30. package/dist/cjs/index.js.map +1 -1
  31. package/dist/esm/Basic/BasicCollection.js +115 -17
  32. package/dist/esm/Basic/BasicCollection.js.map +1 -1
  33. package/dist/esm/Basic/utils/createAuthKey.js +3 -0
  34. package/dist/esm/Basic/utils/createAuthKey.js.map +1 -1
  35. package/dist/esm/OAuth/OAuth.js +56 -115
  36. package/dist/esm/OAuth/OAuth.js.map +1 -1
  37. package/dist/esm/OAuth/index.js +0 -1
  38. package/dist/esm/OAuth/index.js.map +1 -1
  39. package/dist/esm/OAuth/types.js.map +1 -1
  40. package/dist/esm/OAuth/utils/ServiceDefinition.js.map +1 -1
  41. package/dist/esm/OAuth/utils/createAuthKey.js +3 -0
  42. package/dist/esm/OAuth/utils/createAuthKey.js.map +1 -1
  43. package/dist/esm/OAuth/utils/createOAuthHelper.js +262 -0
  44. package/dist/esm/OAuth/utils/createOAuthHelper.js.map +1 -0
  45. package/dist/esm/OAuth/utils/formatScope.js.map +1 -1
  46. package/dist/esm/OAuthCollection/OAuthCollection.js +190 -0
  47. package/dist/esm/OAuthCollection/OAuthCollection.js.map +1 -0
  48. package/dist/esm/OAuthCollection/index.js +3 -0
  49. package/dist/esm/OAuthCollection/index.js.map +1 -0
  50. package/dist/esm/Token/TokenCollection.js +115 -12
  51. package/dist/esm/Token/TokenCollection.js.map +1 -1
  52. package/dist/esm/Token/utils/createAuthKey.js +3 -0
  53. package/dist/esm/Token/utils/createAuthKey.js.map +1 -1
  54. package/dist/esm/constants.js +1 -0
  55. package/dist/esm/constants.js.map +1 -1
  56. package/dist/esm/index.js +2 -1
  57. package/dist/esm/index.js.map +1 -1
  58. package/dist/types/Basic/BasicCollection.d.ts +6 -4
  59. package/dist/types/Basic/BasicCollection.d.ts.map +1 -1
  60. package/dist/types/Basic/types.d.ts +20 -11
  61. package/dist/types/Basic/types.d.ts.map +1 -1
  62. package/dist/types/Basic/utils/createAuthKey.d.ts +1 -0
  63. package/dist/types/Basic/utils/createAuthKey.d.ts.map +1 -1
  64. package/dist/types/OAuth/OAuth.d.ts +8 -5
  65. package/dist/types/OAuth/OAuth.d.ts.map +1 -1
  66. package/dist/types/OAuth/index.d.ts +0 -1
  67. package/dist/types/OAuth/index.d.ts.map +1 -1
  68. package/dist/types/OAuth/types.d.ts +95 -19
  69. package/dist/types/OAuth/types.d.ts.map +1 -1
  70. package/dist/types/OAuth/utils/createAuthKey.d.ts +1 -0
  71. package/dist/types/OAuth/utils/createAuthKey.d.ts.map +1 -1
  72. package/dist/types/OAuth/utils/createOAuthHelper.d.ts +33 -0
  73. package/dist/types/OAuth/utils/createOAuthHelper.d.ts.map +1 -0
  74. package/dist/types/OAuthCollection/OAuthCollection.d.ts +27 -0
  75. package/dist/types/OAuthCollection/OAuthCollection.d.ts.map +1 -0
  76. package/dist/types/OAuthCollection/index.d.ts +3 -0
  77. package/dist/types/OAuthCollection/index.d.ts.map +1 -0
  78. package/dist/types/Token/TokenCollection.d.ts +5 -2
  79. package/dist/types/Token/TokenCollection.d.ts.map +1 -1
  80. package/dist/types/Token/types.d.ts +19 -5
  81. package/dist/types/Token/types.d.ts.map +1 -1
  82. package/dist/types/Token/utils/createAuthKey.d.ts +1 -0
  83. package/dist/types/Token/utils/createAuthKey.d.ts.map +1 -1
  84. package/dist/types/constants.d.ts +1 -0
  85. package/dist/types/constants.d.ts.map +1 -1
  86. package/dist/types/index.d.ts +2 -1
  87. package/dist/types/index.d.ts.map +1 -1
  88. package/package.json +32 -26
  89. package/src/Basic/BasicCollection.ts +170 -18
  90. package/src/Basic/types.ts +17 -14
  91. package/src/Basic/utils/createAuthKey.ts +4 -0
  92. package/src/OAuth/OAuth.ts +111 -195
  93. package/src/OAuth/index.ts +0 -1
  94. package/src/OAuth/types.ts +171 -15
  95. package/src/OAuth/utils/createAuthKey.ts +8 -0
  96. package/src/OAuth/utils/createOAuthHelper.ts +374 -0
  97. package/src/OAuthCollection/OAuthCollection.ts +348 -0
  98. package/src/OAuthCollection/index.ts +3 -0
  99. package/src/Token/TokenCollection.ts +174 -16
  100. package/src/Token/types.ts +15 -0
  101. package/src/Token/utils/createAuthKey.ts +4 -0
  102. package/src/constants.ts +1 -0
  103. package/src/index.ts +2 -1
  104. package/dist/cjs/OAuth/OAuthCollection.js.map +0 -1
  105. package/dist/esm/OAuth/OAuthCollection.js +0 -120
  106. package/dist/esm/OAuth/OAuthCollection.js.map +0 -1
  107. package/dist/types/OAuth/OAuthCollection.d.ts +0 -21
  108. package/dist/types/OAuth/OAuthCollection.d.ts.map +0 -1
  109. package/src/OAuth/OAuthCollection.ts +0 -206
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OAuthCollection.js","sourceRoot":"","sources":["../../../src/OAuthCollection/OAuthCollection.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qCAAqD;AACrD,+DAA4D;AAC5D,+CAA8C;AAC9C,wCAAuC;AAYvC;IAaE,yBAAY,MAA6B;QAErC,IAAA,KAAK,GASH,MAAM,MATH,EACL,YAAY,GAQV,MAAM,aARI,EACZ,SAAS,GAOP,MAAM,UAPC,EACT,WAAW,GAMT,MAAM,YANG,EACX,kBAAkB,GAKhB,MAAM,mBALU,EAClB,eAAe,GAIb,MAAM,gBAJO,EACf,kBAAkB,GAGhB,MAAM,mBAHU,EAClB,MAAM,GAEJ,MAAM,OAFF,EACN,KACE,MAAM,aADW,EAAnB,YAAY,mBAAG,IAAI,KAAA,CACV;QAEX,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,WAAW,GAAG,WAAW,IAAI,EAAE,CAAC;QACrC,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;QAC7C,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,IAAI,WAAW,IAAI,EAAE,CAAC;QAElE,IAAI,CAAC,eAAe,GAAG,IAAI,mCAAe,CAAC;YACzC,KAAK,OAAA;YACL,YAAY,cAAA;YACZ,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;YAC/C,MAAM,QAAA;SACP,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,GAAG,IAAI,qBAAS,CAAC;YAC7B,KAAK,OAAA;YACL,YAAY,cAAA;YACZ,eAAe,iBAAA;YACf,kBAAkB,oBAAA;SACnB,CAAC,CAAC;IACL,CAAC;IAMM,8BAAI,GAAX,UAAY,MAAiC;QACnC,IAAA,WAAW,GAAyB,MAAM,YAA/B,EAAE,kBAAkB,GAAK,MAAM,mBAAX,CAAY;QAEnD,IAAI,CAAC,WAAW,GAAG,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC;QACnD,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,IAAI,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,WAAW,CAAC;QAE5F,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAMY,4CAAkB,GAA/B,UAAgC,iBAA0B;;;;;4BAC7B,WAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,CAC5D,IAAI,CAAC,kBAAkB,CACxB,EAAA;;wBAFc,OAAO,GAAK,CAAA,SAE1B,CAAA,MAFqB;wBAIhB,OAAO,GAAG,iBAAiB,CAAC,CAAC,CAAC,8BAAuB,iBAAiB,CAAE,CAAC,CAAC,CAAC,WAAW,CAAC;wBAE7F,WAAO,IAAA,eAAQ,EAAS,OAAO,CAAC,GAAG,CAAC,UAAC,MAAM,IAAK,OAAA,MAAM,CAAC,GAAG,EAAV,CAAU,CAAC;iCACxD,MAAM,CAAC,UAAA,GAAG,IAAI,OAAA,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,EAArB,CAAqB,CAAC,CAAC,EAAC;;;;KAC1C;IAKY,uCAAa,GAA1B;;;;;4BAC4B,WAAM,IAAI,CAAC,eAAe,CAAC,aAAa,CAChE,IAAI,CAAC,kBAAkB,EACvB,mBAAmB,CACpB,EAAA;;wBAHK,iBAAiB,GAAG,SAGzB;wBAED,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;4BAC7B,WAAO,IAAA,eAAQ,EAAW,EAAE,CAAC,EAAC;wBAChC,CAAC;wBAEK,WAAW,GAAG,iBAAiB,CAAC,KAGpC,CAAC;wBAEH,WAAO,IAAA,eAAQ,EAAW,WAAW,CAAC,GAAG,CAAC,UAAC,MAAM,IAAK,OAAA,YACpD,IAAI,EAAE,MAAM,CAAC,KAAK,IACf,MAAM,CAAC,KAAK,EACf,EAHoD,CAGpD,CAAC,CAAC,EAAC;;;;KACN;IAMY,0CAAgB,GAA7B,UAA8B,GAAW,EAAE,iBAA0B;;;;;;wBACnE,IAAI,CAAC,IAAI,CAAC,WAAW;4BAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;wBAChE,QAAQ,GAAG,SAAS,CAAC;6BAErB,iBAAiB,EAAjB,cAAiB;wBACD,WAAM,IAAI,CAAC,eAAe,CAAC,aAAa,CACxD,kCAAkC,EAClC,iBAAiB,CAClB,EAAA;;wBAHO,KAAK,GAAK,CAAA,SAGjB,CAAA,MAHY;wBAKb,IAAI,CAAC,KAAK,EAAE,CAAC;4BACX,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;wBACxD,CAAC;wBAEK,UAAU,GAAG,KAA+B,CAAC;wBACnD,IAAI,UAAU,CAAC,OAAO,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC;4BAC5C,MAAM,IAAI,KAAK,CAAC,0EAA0E,CAAC,CAAC;wBAC9F,CAAC;wBAED,QAAQ,GAAG,GAAG,CAAC;wBACf,GAAG,GAAG,UAAU,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;;4BAGnB,WAAM,IAAI,CAAC,eAAe,CAAC,aAAa,CACxD,IAAI,CAAC,kBAAkB,EACvB,kBAAkB,CAAC,GAAG,CAAC,CACxB,EAAA;;wBAHO,KAAK,GAAK,CAAA,SAGjB,CAAA,MAHY;wBAKb,IAAI,CAAC,KAAK,EAAE,CAAC;4BACX,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;wBACvD,CAAC;;;wBAGH,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC;4BAAE,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAC;wBAEpH,WAAO,IAAI,aAAK,CAAC;gCACf,QAAQ,UAAA;gCACR,OAAO,EAAE,GAAG;gCACZ,iBAAiB,mBAAA;gCACjB,YAAY,EAAE,IAAI,CAAC,YAAY;gCAC/B,eAAe,EAAE,IAAI,CAAC,eAAe;gCACrC,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;gCAC3C,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;gCAC3C,MAAM,EAAE,IAAI,CAAC,MAAM;gCACnB,WAAW,EAAE,IAAI,CAAC,WAAW;gCAC7B,KAAK,EAAE,IAAI,CAAC,KAAK;6BAClB,CAAC,EAAC;;;;KACJ;IAuCY,6CAAmB,GAAhC,UACE,MAAqC;;;;;wBAErC,IAAI,CAAC,IAAI,CAAC,WAAW;4BAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;wBAC7D,WAAM,aAAK,CAAC,MAAM,uBACpB,MAAM,KACT,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,YAAY,EAAE,IAAI,CAAC,YAAY,EAC/B,YAAY,EAAE,IAAI,CAAC,YAAY,EAC/B,eAAe,EAAE,IAAI,CAAC,eAAe,EACrC,kBAAkB,EAAE,IAAI,CAAC,kBAAkB,EAC3C,kBAAkB,EAAE,IAAI,CAAC,kBAAkB,EAC3C,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,KAAK,EAAE,IAAI,CAAC,KAAK,IACjB,EAAA;4BAXF,WAAO,SAWL,EAAC;;;;KACJ;IAMY,gDAAsB,GAAnC;;;;;4BAEyB,WAAM,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;4BACtD,MAAM,EAAE,KAAK;4BACb,KAAK,EAAE,0BAA0B;4BACjC,MAAM,EAAE;gCACN,IAAI,EAAE,MAAM;6BACb;yBACF,CAAC,EAAA;;wBANI,cAAc,GAAG,SAMM;wBAGvB,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,UAAA,MAAM;4BAC/D,IAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC;iCACtD,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;4BAEtB,IAAM,KAAK,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;4BAErC,OAAO;gCACL,KAAK,OAAA;gCACL,KAAK,OAAA;6BACN,CAAC;wBACJ,CAAC,CAA8B,CAAC;wBAGV,WAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,CACvD,mDAAmD,EACnD,SAAS,EACT,IAAI,CACL,EAAA;;wBAJK,aAAa,GAAG,SAIkC;wBAGlD,iBAAiB,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,UAAA,EAAE;4BAClD,IAAM,KAAK,GAAG,EAAE,CAAC,GAAG;iCACjB,KAAK,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC;iCACpC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,UAAU,CAAC;4BAEnC,IAAM,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC;4BACvB,OAAO;gCACL,KAAK,OAAA;gCACL,KAAK,OAAA;6BACN,CAAC;wBACJ,CAAC,CAAC,CAAC;wBAEH,2CAAW,kBAAkB,SAAK,iBAAiB,SAAE;;;;KACtD;IAMY,uCAAa,GAA1B,UAA2B,MAAyC;;;;gBAClE,IAAI,CAAC,IAAI,CAAC,WAAW;oBAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;gBAC9D,UAAU,GAAG,sBACd,MAAM,KACT,WAAW,EAAE,IAAI,CAAC,WAAW,GACd,CAAC;gBAElB,IAAI,CAAC,eAAe,CAAC,aAAa,CAChC,mDAAmD,EACnD,IAAI,CAAC,WAAW,EAChB,UAAU,CACX,CAAC;;;;KACH;IAMY,iDAAuB,GAApC,UAAqC,qBAA6B;;;;;;wBAChE,IAAI,CAAC,IAAI,CAAC,WAAW;4BAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;wBACpE,IAAI,CAAC,qBAAqB;4BAAE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;wBACzE,WAAM,IAAI,CAAC,eAAe,CAAC,aAAa,CACxD,kCAAkC,EAClC,qBAAqB,CACtB,EAAA;;wBAHO,KAAK,GAAK,CAAA,SAGjB,CAAA,MAHY;wBAIP,UAAU,GAAG,KAA+B,CAAC;6BAE/C,CAAC,KAAK,EAAN,cAAM;wBACR,WAAM,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,kCAAkC,EAAE,qBAAqB,EAAE;gCAClG,IAAI,EAAE,qBAAqB;gCAC3B,IAAI,EAAE,OAAO;gCACb,OAAO,EAAE,IAAI,CAAC,kBAAkB;gCAChC,iBAAiB,EAAE,IAAI,CAAC,WAAW;gCACnC,cAAc,EAAE,EAAE;6BACnB,CAAC,EAAA;;wBANF,SAME,CAAC;;;wBACE,IAAI,UAAU,CAAC,IAAI,KAAK,OAAO,IAAI,UAAU,CAAC,OAAO,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC;4BAClF,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;wBACpD,CAAC;6BAAM,CAAC;4BACN,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;wBAChE,CAAC;;;;;;KACF;IAKY,iDAAuB,GAApC,UAAqC,qBAA6B;;;;;;;wBAChE,IAAI,CAAC,qBAAqB;4BAAE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;wBACzE,WAAM,IAAI,CAAC,eAAe,CAAC,aAAa,CACxD,kCAAkC,EAClC,qBAAqB,CACtB,EAAA;;wBAHO,KAAK,GAAK,CAAA,SAGjB,CAAA,MAHY;wBAIP,UAAU,GAAG,KAA+B,CAAC;wBAEnD,WAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC;iCACnC,GAAG,CAAC,UAAA,QAAQ;gCACX,OAAO,KAAI,CAAC,eAAe,CAAC,SAAS,CACnC,UAAU,CAAC,OAAO,EAClB,kBAAkB,CAAC,UAAU,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CACxD,CAAC;4BACJ,CAAC,CAAC,CACL,CAAC,KAAK,CAAC,cAAO,CAAC,CAAC,EAAA;;wBARjB,SAQiB,CAAC;wBAElB,WAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,kCAAkC,EAAE,qBAAqB,CAAC,EAAA;;wBAA/F,SAA+F,CAAC;;;;;KACjG;IACH,sBAAC;AAAD,CAAC,AA5UD,IA4UC;AA5UY,0CAAe"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.OAuthCollection = void 0;
18
+ var OAuthCollection_1 = require("./OAuthCollection");
19
+ Object.defineProperty(exports, "OAuthCollection", { enumerable: true, get: function () { return OAuthCollection_1.OAuthCollection; } });
20
+ __exportStar(require("../OAuth/types"), exports);
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/OAuthCollection/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,qDAAoD;AAA3C,kHAAA,eAAe,OAAA;AAExB,iDAA+B"}
@@ -25,7 +25,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
25
25
  function verb(n) { return function (v) { return step([n, v]); }; }
26
26
  function step(op) {
27
27
  if (f) throw new TypeError("Generator is already executing.");
28
- while (_) try {
28
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
29
29
  if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
30
30
  if (y = 0, t) op = [op[0] & 2, t.value];
31
31
  switch (op[0]) {
@@ -50,6 +50,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
50
50
  exports.TokenCollection = void 0;
51
51
  var base_1 = require("@or-sdk/base");
52
52
  var key_value_storage_1 = require("@or-sdk/key-value-storage");
53
+ var providers_1 = require("@or-sdk/providers");
53
54
  var uuid_1 = require("uuid");
54
55
  var createAuthKey_1 = require("./utils/createAuthKey");
55
56
  var TokenCollection = (function () {
@@ -61,43 +62,58 @@ var TokenCollection = (function () {
61
62
  discoveryUrl: discoveryUrl,
62
63
  accountId: accountId,
63
64
  });
65
+ this.providers = new providers_1.Providers({
66
+ token: token,
67
+ discoveryUrl: discoveryUrl,
68
+ });
64
69
  }
65
70
  TokenCollection.prototype.init = function (serviceName) {
66
71
  if (!serviceName)
67
72
  throw new Error('Servide name is required.');
68
73
  this.serviceName = serviceName;
69
74
  };
70
- TokenCollection.prototype.listAuthorizations = function () {
75
+ TokenCollection.prototype.listAuthorizations = function (dynamicCollectionName) {
71
76
  return __awaiter(this, void 0, void 0, function () {
72
- var records;
77
+ var records, pattern;
73
78
  return __generator(this, function (_a) {
74
79
  switch (_a.label) {
75
- case 0: return [4, this.keyValueStorage.listKeys(this.serviceName)];
80
+ case 0: return [4, this.keyValueStorage.listKeys(this.serviceName, '', false)];
76
81
  case 1:
77
82
  records = (_a.sent()).items;
78
- return [2, (0, base_1.makeList)(records.map(function (record) { return record.key; }).filter(function (key) { return key.includes('::token'); }))];
83
+ pattern = dynamicCollectionName ? "::token-collection::".concat(dynamicCollectionName) : '::token::';
84
+ return [2, (0, base_1.makeList)(records.map(function (record) { return record.key; }).filter(function (key) { return key.includes(pattern); }))];
79
85
  }
80
86
  });
81
87
  });
82
88
  };
83
- TokenCollection.prototype.getAuthorization = function (key) {
89
+ TokenCollection.prototype.getAuthorization = function (key, dynamicCollectionName) {
84
90
  return __awaiter(this, void 0, void 0, function () {
85
- var record, authData;
91
+ var value, collection, record, authData;
86
92
  return __generator(this, function (_a) {
87
93
  switch (_a.label) {
88
94
  case 0:
89
95
  if (!this.serviceName)
90
96
  throw new Error('Service name is not defined.');
97
+ if (!dynamicCollectionName) return [3, 2];
98
+ return [4, this.keyValueStorage.getValueByKey('__authorizer_dynamic_collections', dynamicCollectionName)];
99
+ case 1:
100
+ value = (_a.sent()).value;
101
+ collection = value;
102
+ if (!collection)
103
+ throw new Error('Dynamic collection name is invalid');
104
+ key = collection.authorizations[key];
105
+ _a.label = 2;
106
+ case 2:
91
107
  if (!key.includes('::token'))
92
108
  throw new Error('The Token authorization key should contain "token" type specifier.');
93
109
  return [4, this.keyValueStorage.getValueByKey(this.serviceName, encodeURIComponent(key))];
94
- case 1:
110
+ case 3:
95
111
  record = _a.sent();
96
112
  if (!record.value) {
97
113
  throw new Error('Authorization does not exist');
98
114
  }
99
115
  authData = record.value;
100
- if (!authData.auth_name || !authData.date_created) {
116
+ if (!(authData.auth_name || authData._auth_name) || !(authData.date_created || authData._date_created)) {
101
117
  throw new Error('Authorization is invalid.');
102
118
  }
103
119
  return [2, __assign(__assign({}, authData), { key: key })];
@@ -107,22 +123,71 @@ var TokenCollection = (function () {
107
123
  };
108
124
  TokenCollection.prototype.createAuthorization = function (params) {
109
125
  return __awaiter(this, void 0, void 0, function () {
110
- var authName, credentials, id, authKey, authData;
111
- return __generator(this, function (_a) {
112
- switch (_a.label) {
126
+ var authName, credentials, dynamicCollection, _a, destinationAccount, customAccountId, id, authKey, authData, value, collection, localRecord;
127
+ return __generator(this, function (_b) {
128
+ switch (_b.label) {
113
129
  case 0:
114
- authName = params.authName, credentials = params.credentials;
130
+ authName = params.authName, credentials = params.credentials, dynamicCollection = params.dynamicCollection, _a = params.destinationAccount, destinationAccount = _a === void 0 ? 'CURRENT' : _a, customAccountId = params.customAccountId;
115
131
  if (!this.serviceName)
116
132
  throw new Error('Service name is not defined.');
117
133
  if (!authName || !credentials)
118
134
  throw new Error('Invalid authorization parameters passed.');
119
135
  id = (0, uuid_1.v4)();
120
- authKey = (0, createAuthKey_1.createAuthKey)(id, authName);
121
- authData = __assign(__assign({}, credentials), { auth_name: authName, date_created: new Date().toISOString() });
122
- return [4, this.keyValueStorage.setValueByKey(this.serviceName, encodeURIComponent(authKey), authData)];
136
+ authKey = dynamicCollection ? (0, createAuthKey_1.createDynamicKey)(id, dynamicCollection) : (0, createAuthKey_1.createAuthKey)(id, authName);
137
+ authData = __assign(__assign({}, credentials), { auth_name: authName, _date_created: new Date().toISOString() });
138
+ if (!dynamicCollection) return [3, 3];
139
+ return [4, this.keyValueStorage.getValueByKey('__authorizer_dynamic_collections', dynamicCollection)];
123
140
  case 1:
124
- _a.sent();
125
- return [2, __assign(__assign({}, authData), { key: authKey })];
141
+ value = (_b.sent()).value;
142
+ collection = (value || {
143
+ name: dynamicCollection,
144
+ type: 'token',
145
+ service: this.serviceName,
146
+ serviceConfigName: this.serviceName,
147
+ authorizations: {},
148
+ });
149
+ if (collection.type !== 'token' || collection.service !== this.serviceName) {
150
+ throw new Error('Dynamic collection\'s type or service is invalid');
151
+ }
152
+ collection.authorizations[authName] = authKey;
153
+ return [4, this.keyValueStorage.setValueByKey('__authorizer_dynamic_collections', dynamicCollection, collection)];
154
+ case 2:
155
+ _b.sent();
156
+ _b.label = 3;
157
+ case 3:
158
+ if (!(destinationAccount === 'CURRENT')) return [3, 5];
159
+ return [4, this.keyValueStorage.setValueByKey(this.serviceName, encodeURIComponent(authKey), authData)];
160
+ case 4:
161
+ _b.sent();
162
+ return [3, 8];
163
+ case 5:
164
+ localRecord = {
165
+ auth_name: authData.auth_name,
166
+ isRemote: true,
167
+ id: id,
168
+ };
169
+ if (destinationAccount === 'CUSTOM' && !customAccountId) {
170
+ throw new Error('Custom Account ID is required if destinationAccount === "CUSTOM"');
171
+ }
172
+ return [4, this.providers.makeRequest({
173
+ route: 'authorizer/redirect',
174
+ params: {
175
+ method: 'PUT',
176
+ data: {
177
+ authData: authData,
178
+ id: id,
179
+ storeAccount: destinationAccount,
180
+ storeCustomAccountId: destinationAccount === 'CUSTOM' ? customAccountId : undefined,
181
+ },
182
+ },
183
+ }).catch(function () { throw new Error('Could not save token to the specified account'); })];
184
+ case 6:
185
+ _b.sent();
186
+ return [4, this.keyValueStorage.setValueByKey(this.serviceName, encodeURIComponent(authKey), localRecord)];
187
+ case 7:
188
+ _b.sent();
189
+ _b.label = 8;
190
+ case 8: return [2, __assign(__assign({}, authData), { key: authKey })];
126
191
  }
127
192
  });
128
193
  });
@@ -137,9 +202,10 @@ var TokenCollection = (function () {
137
202
  throw new Error('Service name is not defined.');
138
203
  if (!newCredentials)
139
204
  throw new Error('New credentials are empty or invalid');
140
- if (!tokenAuth || !tokenAuth.auth_name || !tokenAuth.date_created)
205
+ if (!tokenAuth || !tokenAuth.auth_name || !(tokenAuth.date_created || tokenAuth._date_created)) {
141
206
  throw new Error('Token authorization data is invalid');
142
- updatedData = __assign(__assign(__assign({}, tokenAuth), newCredentials), { key: undefined });
207
+ }
208
+ updatedData = __assign(__assign(__assign({}, tokenAuth), newCredentials), { auth_name: tokenAuth.auth_name, _date_created: tokenAuth._date_created, key: undefined });
143
209
  return [4, this.keyValueStorage.setValueByKey(this.serviceName, encodeURIComponent(tokenAuth.key), updatedData)];
144
210
  case 1:
145
211
  response = _a.sent();
@@ -151,6 +217,7 @@ var TokenCollection = (function () {
151
217
  };
152
218
  TokenCollection.prototype.deleteAuthorization = function (key) {
153
219
  return __awaiter(this, void 0, void 0, function () {
220
+ var dynamicCollectionName, value, collection_1, authName;
154
221
  return __generator(this, function (_a) {
155
222
  switch (_a.label) {
156
223
  case 0:
@@ -158,8 +225,86 @@ var TokenCollection = (function () {
158
225
  throw new Error('Service name is not defined.');
159
226
  if (!key)
160
227
  throw new Error('Key is missing or invalid');
161
- return [4, this.keyValueStorage.deleteKey(this.serviceName, encodeURIComponent(key))];
228
+ if (!key.includes('::token-collection::')) return [3, 3];
229
+ dynamicCollectionName = key.split('::')[2].split(' ')[0];
230
+ return [4, this.keyValueStorage.getValueByKey('__authorizer_dynamic_collections', dynamicCollectionName)];
231
+ case 1:
232
+ value = (_a.sent()).value;
233
+ collection_1 = value;
234
+ if (!collection_1) return [3, 3];
235
+ authName = Object.keys(collection_1.authorizations)
236
+ .find(function (name) { return collection_1.authorizations[name] === key; });
237
+ if (!authName) return [3, 3];
238
+ delete collection_1.authorizations[authName];
239
+ return [4, this.keyValueStorage.setValueByKey('__authorizer_dynamic_collections', dynamicCollectionName, collection_1)];
240
+ case 2:
241
+ _a.sent();
242
+ _a.label = 3;
243
+ case 3: return [4, this.keyValueStorage.deleteKey(this.serviceName, encodeURIComponent(key))];
244
+ case 4:
245
+ _a.sent();
246
+ return [2];
247
+ }
248
+ });
249
+ });
250
+ };
251
+ TokenCollection.prototype.createDynamicCollection = function (dynamicCollectionName) {
252
+ return __awaiter(this, void 0, void 0, function () {
253
+ var value, collection;
254
+ return __generator(this, function (_a) {
255
+ switch (_a.label) {
256
+ case 0:
257
+ if (!dynamicCollectionName)
258
+ throw new Error('Dynamic collection name is empty or invalid');
259
+ return [4, this.keyValueStorage.getValueByKey('__authorizer_dynamic_collections', dynamicCollectionName)];
162
260
  case 1:
261
+ value = (_a.sent()).value;
262
+ collection = value;
263
+ if (!!value) return [3, 3];
264
+ return [4, this.keyValueStorage.setValueByKey('__authorizer_dynamic_collections', dynamicCollectionName, {
265
+ name: dynamicCollectionName,
266
+ type: 'token',
267
+ service: this.serviceName,
268
+ serviceConfigName: this.serviceName,
269
+ authorizations: {},
270
+ })];
271
+ case 2:
272
+ _a.sent();
273
+ return [3, 4];
274
+ case 3:
275
+ if (collection.type === 'oauth' && collection.service === this.serviceName) {
276
+ throw new Error('Same collection already exists');
277
+ }
278
+ else {
279
+ throw new Error('Different collection exists with this name');
280
+ }
281
+ _a.label = 4;
282
+ case 4: return [2];
283
+ }
284
+ });
285
+ });
286
+ };
287
+ TokenCollection.prototype.deleteDynamicCollection = function (dynamicCollectionName) {
288
+ return __awaiter(this, void 0, void 0, function () {
289
+ var value, collection;
290
+ var _this = this;
291
+ return __generator(this, function (_a) {
292
+ switch (_a.label) {
293
+ case 0:
294
+ if (!dynamicCollectionName)
295
+ throw new Error('Dynamic collection name is empty or invalid');
296
+ return [4, this.keyValueStorage.getValueByKey('__authorizer_dynamic_collections', dynamicCollectionName)];
297
+ case 1:
298
+ value = (_a.sent()).value;
299
+ collection = value;
300
+ return [4, Promise.all(Object.keys(collection.authorizations)
301
+ .map(function (authName) {
302
+ return _this.keyValueStorage.deleteKey(collection.service, encodeURIComponent(collection.authorizations[authName]));
303
+ })).catch(function () { })];
304
+ case 2:
305
+ _a.sent();
306
+ return [4, this.keyValueStorage.deleteKey('__authorizer_dynamic_collections', dynamicCollectionName)];
307
+ case 3:
163
308
  _a.sent();
164
309
  return [2];
165
310
  }
@@ -1 +1 @@
1
- {"version":3,"file":"TokenCollection.js","sourceRoot":"","sources":["../../../src/Token/TokenCollection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TokenCollection.js","sourceRoot":"","sources":["../../../src/Token/TokenCollection.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createAuthKey = void 0;
4
+ exports.createDynamicKey = createDynamicKey;
4
5
  var createAuthKey = function (id, authName) {
5
6
  return "".concat(id, "::token::").concat(authName);
6
7
  };
7
8
  exports.createAuthKey = createAuthKey;
9
+ function createDynamicKey(id, dynamicCollection) {
10
+ return "".concat(id, "::token-collection::").concat(dynamicCollection, " collection auth");
11
+ }
8
12
  //# sourceMappingURL=createAuthKey.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"createAuthKey.js","sourceRoot":"","sources":["../../../../src/Token/utils/createAuthKey.ts"],"names":[],"mappings":";;;AAAO,IAAM,aAAa,GAAG,UAAC,EAAU,EAAE,QAAgB;IACxD,OAAO,UAAG,EAAE,sBAAY,QAAQ,CAAE,CAAC;AACrC,CAAC,CAAC;AAFW,QAAA,aAAa,iBAExB"}
1
+ {"version":3,"file":"createAuthKey.js","sourceRoot":"","sources":["../../../../src/Token/utils/createAuthKey.ts"],"names":[],"mappings":";;;AAIA,4CAEC;AANM,IAAM,aAAa,GAAG,UAAC,EAAU,EAAE,QAAgB;IACxD,OAAO,UAAG,EAAE,sBAAY,QAAQ,CAAE,CAAC;AACrC,CAAC,CAAC;AAFW,QAAA,aAAa,iBAExB;AAEF,SAAgB,gBAAgB,CAAC,EAAU,EAAE,iBAAyB;IACpE,OAAO,UAAG,EAAE,iCAAuB,iBAAiB,qBAAkB,CAAC;AACzE,CAAC"}
@@ -1,8 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TEMPORARY_DATA_EXPIRATION_TIME = exports.PREDEFINED_APP = exports.AuthStatus = exports.OAUTH_REDIRECT_PROVIDER_PATH = exports.SERVICE_PROVIDER_PATH = void 0;
3
+ exports.TEMPORARY_DATA_EXPIRATION_TIME = exports.PREDEFINED_APP = exports.AuthStatus = exports.NEXT_OAUTH_REDIRECT_PROVIDER_PATH = exports.OAUTH_REDIRECT_PROVIDER_PATH = exports.SERVICE_PROVIDER_PATH = void 0;
4
4
  exports.SERVICE_PROVIDER_PATH = '/authorizer/services/list';
5
5
  exports.OAUTH_REDIRECT_PROVIDER_PATH = '/authorizer/redirect';
6
+ exports.NEXT_OAUTH_REDIRECT_PROVIDER_PATH = '/authorizer-next/redirect';
6
7
  var AuthStatus;
7
8
  (function (AuthStatus) {
8
9
  AuthStatus["NEW"] = "NEW";
@@ -10,7 +11,7 @@ var AuthStatus;
10
11
  AuthStatus["READY"] = "READY";
11
12
  AuthStatus["DELETED"] = "DELETED";
12
13
  AuthStatus["ERROR"] = "ERROR";
13
- })(AuthStatus = exports.AuthStatus || (exports.AuthStatus = {}));
14
+ })(AuthStatus || (exports.AuthStatus = AuthStatus = {}));
14
15
  exports.PREDEFINED_APP = 'predefined';
15
16
  exports.TEMPORARY_DATA_EXPIRATION_TIME = 300000;
16
17
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,qBAAqB,GAAG,2BAA2B,CAAC;AACpD,QAAA,4BAA4B,GAAG,sBAAsB,CAAC;AAEnE,IAAY,UAMX;AAND,WAAY,UAAU;IACpB,yBAAW,CAAA;IACX,iCAAmB,CAAA;IACnB,6BAAe,CAAA;IACf,iCAAmB,CAAA;IACnB,6BAAe,CAAA;AACjB,CAAC,EANW,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAMrB;AAEY,QAAA,cAAc,GAAG,YAAY,CAAC;AAE9B,QAAA,8BAA8B,GAAG,MAAM,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,qBAAqB,GAAG,2BAA2B,CAAC;AACpD,QAAA,4BAA4B,GAAG,sBAAsB,CAAC;AACtD,QAAA,iCAAiC,GAAG,2BAA2B,CAAC;AAE7E,IAAY,UAMX;AAND,WAAY,UAAU;IACpB,yBAAW,CAAA;IACX,iCAAmB,CAAA;IACnB,6BAAe,CAAA;IACf,iCAAmB,CAAA;IACnB,6BAAe,CAAA;AACjB,CAAC,EANW,UAAU,0BAAV,UAAU,QAMrB;AAEY,QAAA,cAAc,GAAG,YAAY,CAAC;AAE9B,QAAA,8BAA8B,GAAG,MAAM,CAAC"}
package/dist/cjs/index.js CHANGED
@@ -21,6 +21,7 @@ var index_2 = require("./Token/index");
21
21
  Object.defineProperty(exports, "TokenCollection", { enumerable: true, get: function () { return index_2.TokenCollection; } });
22
22
  var index_3 = require("./OAuth/index");
23
23
  Object.defineProperty(exports, "OAuth", { enumerable: true, get: function () { return index_3.OAuth; } });
24
- Object.defineProperty(exports, "OAuthCollection", { enumerable: true, get: function () { return index_3.OAuthCollection; } });
24
+ var index_4 = require("./OAuthCollection/index");
25
+ Object.defineProperty(exports, "OAuthCollection", { enumerable: true, get: function () { return index_4.OAuthCollection; } });
25
26
  __exportStar(require("./types"), exports);
26
27
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,uCAAgD;AAAvC,wGAAA,eAAe,OAAA;AACxB,uCAAgD;AAAvC,wGAAA,eAAe,OAAA;AACxB,uCAAuD;AAA9C,8FAAA,KAAK,OAAA;AAAE,wGAAA,eAAe,OAAA;AAE/B,0CAAwB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,uCAAgD;AAAvC,wGAAA,eAAe,OAAA;AACxB,uCAAgD;AAAvC,wGAAA,eAAe,OAAA;AACxB,uCAAsC;AAA7B,8FAAA,KAAK,OAAA;AACd,iDAA0D;AAAjD,wGAAA,eAAe,OAAA;AAExB,0CAAwB"}
@@ -8,8 +8,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  });
9
9
  };
10
10
  import { makeList } from '@or-sdk/base';
11
+ import { Providers } from '@or-sdk/providers';
11
12
  import { KeyValueStorage } from '@or-sdk/key-value-storage';
12
- import { createAuthKey } from './utils/createAuthKey';
13
+ import { createAuthKey, createDynamicKey } from './utils/createAuthKey';
13
14
  import { v4 as uuidv4 } from 'uuid';
14
15
  export class BasicCollection {
15
16
  constructor(params) {
@@ -20,6 +21,10 @@ export class BasicCollection {
20
21
  discoveryUrl,
21
22
  accountId,
22
23
  });
24
+ this.providers = new Providers({
25
+ token,
26
+ discoveryUrl,
27
+ });
23
28
  }
24
29
  init(serviceName) {
25
30
  if (!serviceName)
@@ -36,50 +41,94 @@ export class BasicCollection {
36
41
  password,
37
42
  };
38
43
  }
39
- listAuthorizations() {
44
+ listAuthorizations(dynamicCollectionName) {
40
45
  return __awaiter(this, void 0, void 0, function* () {
41
46
  const { items: records } = yield this.keyValueStorage.listKeys(this.serviceName);
42
- return makeList(records.map((record) => record.key).filter(key => key.includes('::basic')));
47
+ const pattern = dynamicCollectionName ? '::basic-collection::' + dynamicCollectionName : '::basic::';
48
+ return makeList(records.map((record) => record.key).filter(key => key.includes(pattern)));
43
49
  });
44
50
  }
45
- getAuthorization(key) {
51
+ getAuthorization(key, dynamicCollectionName) {
46
52
  return __awaiter(this, void 0, void 0, function* () {
47
53
  if (!this.serviceName)
48
54
  throw new Error('Service name is not defined.');
49
- if (!key.includes('::basic'))
55
+ if (dynamicCollectionName) {
56
+ const collectionRecord = yield this.keyValueStorage.getValueByKey('__authorizer_dynamic_collections', dynamicCollectionName);
57
+ const collection = collectionRecord.value;
58
+ if (!collection || collection.type !== 'basic')
59
+ throw new Error('Dynamic collection name is invalid');
60
+ key = collection.authorizations[key];
61
+ if (!key)
62
+ throw new Error('Dynamic collection does not have such key');
63
+ }
64
+ if (!key.includes('::basic')) {
50
65
  throw new Error('The basic authorization key should contain "basic" type specifier.');
66
+ }
51
67
  const record = yield this.keyValueStorage.getValueByKey(this.serviceName, encodeURIComponent(key));
52
68
  if (!record.value) {
53
69
  throw new Error('Authorization does not exist.');
54
70
  }
55
71
  const authRecord = record.value;
56
- if (!authRecord.auth_name || !authRecord.access_token || !authRecord.date_created) {
72
+ if (!authRecord.auth_name ||
73
+ !authRecord.access_token ||
74
+ !(authRecord.date_created || authRecord._date_created)) {
57
75
  throw new Error('Authorization does not exist or invalid.');
58
76
  }
59
- return {
60
- auth_name: authRecord.auth_name,
61
- access_token: authRecord.access_token,
62
- date_created: authRecord.date_created,
63
- key,
64
- };
77
+ return Object.assign(Object.assign({}, authRecord), { key });
65
78
  });
66
79
  }
67
80
  createAuthorization(params) {
68
81
  return __awaiter(this, void 0, void 0, function* () {
69
- const { authName, password, username } = params;
82
+ const { authName, password, username, dynamicCollection, destinationAccount = 'CURRENT', customAccountId } = params;
70
83
  if (!authName || !username || !password) {
71
84
  throw new Error('Invalid authorization config passed.');
72
85
  }
73
86
  if (!this.serviceName)
74
87
  throw new Error('Service name is not defined.');
75
88
  const id = uuidv4();
76
- const authKey = createAuthKey(id, authName);
89
+ const authKey = dynamicCollection ? createDynamicKey(id, dynamicCollection) : createAuthKey(id, authName);
77
90
  const authData = {
78
91
  auth_name: authName,
79
92
  access_token: BasicCollection.encodeAccessToken(username, password),
80
- date_created: new Date().toISOString(),
93
+ _date_created: new Date().toISOString(),
81
94
  };
82
- yield this.keyValueStorage.setValueByKey(this.serviceName, encodeURIComponent(authKey), authData);
95
+ if (dynamicCollection) {
96
+ const { value } = yield this.keyValueStorage.getValueByKey('__authorizer_dynamic_collections', dynamicCollection);
97
+ const collection = value;
98
+ if (!collection)
99
+ throw new Error('Dynamic collection name is invalid');
100
+ if (collection.type !== 'basic' || collection.service !== this.serviceName) {
101
+ throw new Error('Dynamic collection\'s type or service is invalid');
102
+ }
103
+ collection.authorizations[authName] = authKey;
104
+ yield this.keyValueStorage.setValueByKey('__authorizer_dynamic_collections', dynamicCollection, collection);
105
+ }
106
+ if (destinationAccount === 'CURRENT') {
107
+ yield this.keyValueStorage.setValueByKey(this.serviceName, encodeURIComponent(authKey), authData);
108
+ }
109
+ else {
110
+ const localRecord = {
111
+ auth_name: authData.auth_name,
112
+ isRemote: true,
113
+ id,
114
+ };
115
+ if (destinationAccount === 'CUSTOM' && !customAccountId) {
116
+ throw new Error('Custom Account ID is required if destinationAccount === "CUSTOM"');
117
+ }
118
+ yield this.providers.makeRequest({
119
+ route: 'authorizer/redirect',
120
+ params: {
121
+ method: 'PUT',
122
+ data: {
123
+ authData,
124
+ id,
125
+ storeAccount: destinationAccount,
126
+ storeCustomAccountId: destinationAccount === 'CUSTOM' ? customAccountId : undefined,
127
+ },
128
+ },
129
+ }).catch(() => { throw new Error('Could not save basic credentials to the specified account'); });
130
+ yield this.keyValueStorage.setValueByKey(this.serviceName, encodeURIComponent(authKey), localRecord);
131
+ }
83
132
  return Object.assign(Object.assign({}, authData), { key: authKey });
84
133
  });
85
134
  }
@@ -100,7 +149,7 @@ export class BasicCollection {
100
149
  const access_token = BasicCollection.encodeAccessToken(username, password);
101
150
  const response = yield this.keyValueStorage.setValueByKey(this.serviceName, encodeURIComponent(basicAuth.key), {
102
151
  auth_name: basicAuth.auth_name,
103
- date_created: basicAuth.date_created,
152
+ _date_created: basicAuth.date_created || basicAuth._date_created,
104
153
  access_token,
105
154
  });
106
155
  const updatedData = response.value;
@@ -111,8 +160,57 @@ export class BasicCollection {
111
160
  return __awaiter(this, void 0, void 0, function* () {
112
161
  if (!this.serviceName)
113
162
  throw new Error('Service name is not defined.');
163
+ if (authKey.includes('::basic-collection::')) {
164
+ const dynamicCollectionName = authKey.split('::')[2].split(' ')[0];
165
+ const { value } = yield this.keyValueStorage.getValueByKey('__authorizer_dynamic_collections', dynamicCollectionName);
166
+ const collection = value;
167
+ if (collection) {
168
+ const authName = Object.keys(collection.authorizations)
169
+ .find(name => collection.authorizations[name] === authKey);
170
+ if (authName) {
171
+ delete collection.authorizations[authName];
172
+ yield this.keyValueStorage.setValueByKey('__authorizer_dynamic_collections', dynamicCollectionName, collection);
173
+ }
174
+ }
175
+ }
114
176
  yield this.keyValueStorage.deleteKey(this.serviceName, encodeURIComponent(authKey));
115
177
  });
116
178
  }
179
+ createDynamicCollection(dynamicCollectionName) {
180
+ return __awaiter(this, void 0, void 0, function* () {
181
+ if (!dynamicCollectionName)
182
+ throw new Error('Dynamic collection name is empty or invalid');
183
+ const { value } = yield this.keyValueStorage.getValueByKey('__authorizer_dynamic_collections', dynamicCollectionName);
184
+ const collection = value;
185
+ if (!value) {
186
+ yield this.keyValueStorage.setValueByKey('__authorizer_dynamic_collections', dynamicCollectionName, {
187
+ name: dynamicCollectionName,
188
+ type: 'basic',
189
+ service: this.serviceName,
190
+ serviceConfigName: this.serviceName,
191
+ authorizations: {},
192
+ });
193
+ }
194
+ else if (collection.type === 'oauth' && collection.service === this.serviceName) {
195
+ throw new Error('Same collection already exists');
196
+ }
197
+ else {
198
+ throw new Error('Different collection exists with this name');
199
+ }
200
+ });
201
+ }
202
+ deleteDynamicCollection(dynamicCollectionName) {
203
+ return __awaiter(this, void 0, void 0, function* () {
204
+ if (!dynamicCollectionName)
205
+ throw new Error('Dynamic collection name is empty or invalid');
206
+ const { value } = yield this.keyValueStorage.getValueByKey('__authorizer_dynamic_collections', dynamicCollectionName);
207
+ const collection = value;
208
+ yield Promise.all(Object.keys(collection.authorizations)
209
+ .map(authName => {
210
+ return this.keyValueStorage.deleteKey(collection.service, encodeURIComponent(collection.authorizations[authName]));
211
+ })).catch(() => { });
212
+ yield this.keyValueStorage.deleteKey('__authorizer_dynamic_collections', dynamicCollectionName);
213
+ });
214
+ }
117
215
  }
118
216
  //# sourceMappingURL=BasicCollection.js.map