@edumalin/identity 3.0.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 (322) hide show
  1. package/LICENSE +7 -0
  2. package/README.md +3 -0
  3. package/dist/cjs/client/index.d.ts +1 -0
  4. package/dist/cjs/client/index.js +2 -0
  5. package/dist/cjs/error/invalid-identity-external-id-error-properties.d.ts +3 -0
  6. package/dist/cjs/error/invalid-identity-external-id-error-properties.js +2 -0
  7. package/dist/cjs/error/invalid-identity-id-error-properties.d.ts +3 -0
  8. package/dist/cjs/error/invalid-identity-id-error-properties.js +2 -0
  9. package/dist/cjs/error/invalid-identity-provider-id-error-properties.d.ts +3 -0
  10. package/dist/cjs/error/invalid-identity-provider-id-error-properties.js +2 -0
  11. package/dist/cjs/error/invalid-identity-provider-type-code-error-properties.d.ts +3 -0
  12. package/dist/cjs/error/invalid-identity-provider-type-code-error-properties.js +2 -0
  13. package/dist/cjs/identity/external-id/as-identity-external-id.d.ts +2 -0
  14. package/dist/cjs/identity/external-id/as-identity-external-id.js +8 -0
  15. package/dist/cjs/identity/external-id/identity-external-id.d.ts +3 -0
  16. package/dist/cjs/identity/external-id/identity-external-id.js +2 -0
  17. package/dist/cjs/identity/external-id/is-identity-external-id.d.ts +2 -0
  18. package/dist/cjs/identity/external-id/is-identity-external-id.js +6 -0
  19. package/dist/cjs/identity/external-id/validate-identity-external-id.d.ts +2 -0
  20. package/dist/cjs/identity/external-id/validate-identity-external-id.js +10 -0
  21. package/dist/cjs/identity/id/as-identity-id.d.ts +2 -0
  22. package/dist/cjs/identity/id/as-identity-id.js +8 -0
  23. package/dist/cjs/identity/id/generate-identity-id.d.ts +2 -0
  24. package/dist/cjs/identity/id/generate-identity-id.js +9 -0
  25. package/dist/cjs/identity/id/identity-id.d.ts +4 -0
  26. package/dist/cjs/identity/id/identity-id.js +2 -0
  27. package/dist/cjs/identity/id/is-identity-id.d.ts +2 -0
  28. package/dist/cjs/identity/id/is-identity-id.js +7 -0
  29. package/dist/cjs/identity/id/validate-identity-id.d.ts +2 -0
  30. package/dist/cjs/identity/id/validate-identity-id.js +10 -0
  31. package/dist/cjs/identity/identity.d.ts +11 -0
  32. package/dist/cjs/identity/identity.js +2 -0
  33. package/dist/cjs/identity-provider/base-identity-provider.d.ts +12 -0
  34. package/dist/cjs/identity-provider/base-identity-provider.js +2 -0
  35. package/dist/cjs/identity-provider/cas-identity-provider.d.ts +12 -0
  36. package/dist/cjs/identity-provider/cas-identity-provider.js +2 -0
  37. package/dist/cjs/identity-provider/id/as-identity-provider-id.d.ts +2 -0
  38. package/dist/cjs/identity-provider/id/as-identity-provider-id.js +8 -0
  39. package/dist/cjs/identity-provider/id/generate-identity-provider-id.d.ts +2 -0
  40. package/dist/cjs/identity-provider/id/generate-identity-provider-id.js +9 -0
  41. package/dist/cjs/identity-provider/id/identity-provider-id.d.ts +4 -0
  42. package/dist/cjs/identity-provider/id/identity-provider-id.js +2 -0
  43. package/dist/cjs/identity-provider/id/is-identity-provider-id.d.ts +2 -0
  44. package/dist/cjs/identity-provider/id/is-identity-provider-id.js +7 -0
  45. package/dist/cjs/identity-provider/id/validate-identity-provider-id.d.ts +2 -0
  46. package/dist/cjs/identity-provider/id/validate-identity-provider-id.js +10 -0
  47. package/dist/cjs/identity-provider/identity-provider-attribute-map-mapping.d.ts +9 -0
  48. package/dist/cjs/identity-provider/identity-provider-attribute-map-mapping.js +2 -0
  49. package/dist/cjs/identity-provider/identity-provider-attribute-map.d.ts +16 -0
  50. package/dist/cjs/identity-provider/identity-provider-attribute-map.js +2 -0
  51. package/dist/cjs/identity-provider/identity-provider.d.ts +5 -0
  52. package/dist/cjs/identity-provider/identity-provider.js +2 -0
  53. package/dist/cjs/identity-provider/oidc-identity-provider.d.ts +11 -0
  54. package/dist/cjs/identity-provider/oidc-identity-provider.js +2 -0
  55. package/dist/cjs/identity-provider/platform-identity-provider.d.ts +7 -0
  56. package/dist/cjs/identity-provider/platform-identity-provider.js +2 -0
  57. package/dist/cjs/identity-provider/saml-identity-provider.d.ts +7 -0
  58. package/dist/cjs/identity-provider/saml-identity-provider.js +2 -0
  59. package/dist/cjs/identity-provider-type/code/as-identity-provider-type-code.d.ts +2 -0
  60. package/dist/cjs/identity-provider-type/code/as-identity-provider-type-code.js +8 -0
  61. package/dist/cjs/identity-provider-type/code/identity-provider-type-code.d.ts +2 -0
  62. package/dist/cjs/identity-provider-type/code/identity-provider-type-code.js +2 -0
  63. package/dist/cjs/identity-provider-type/code/identity-provider-type-codes.d.ts +1 -0
  64. package/dist/cjs/identity-provider-type/code/identity-provider-type-codes.js +4 -0
  65. package/dist/cjs/identity-provider-type/code/is-identity-provider-type-code.d.ts +2 -0
  66. package/dist/cjs/identity-provider-type/code/is-identity-provider-type-code.js +8 -0
  67. package/dist/cjs/identity-provider-type/code/validate-identity-provider-type-code.d.ts +2 -0
  68. package/dist/cjs/identity-provider-type/code/validate-identity-provider-type-code.js +10 -0
  69. package/dist/cjs/identity-provider-type/identity-provider-type.d.ts +6 -0
  70. package/dist/cjs/identity-provider-type/identity-provider-type.js +2 -0
  71. package/dist/cjs/identity.domain.d.ts +1 -0
  72. package/dist/cjs/identity.domain.js +5 -0
  73. package/dist/cjs/identity.error.d.ts +1 -0
  74. package/dist/cjs/identity.error.js +6 -0
  75. package/dist/cjs/index.d.ts +12 -0
  76. package/dist/cjs/index.js +7 -0
  77. package/dist/cjs/testing/create-test-base-identity-provider.d.ts +3 -0
  78. package/dist/cjs/testing/create-test-base-identity-provider.js +21 -0
  79. package/dist/cjs/testing/create-test-cas-identity-provider.d.ts +3 -0
  80. package/dist/cjs/testing/create-test-cas-identity-provider.js +22 -0
  81. package/dist/cjs/testing/create-test-identity-provider-attribute-map-mapping.d.ts +3 -0
  82. package/dist/cjs/testing/create-test-identity-provider-attribute-map-mapping.js +8 -0
  83. package/dist/cjs/testing/create-test-identity-provider-attribute-map.d.ts +3 -0
  84. package/dist/cjs/testing/create-test-identity-provider-attribute-map.js +30 -0
  85. package/dist/cjs/testing/create-test-identity-provider-type.d.ts +3 -0
  86. package/dist/cjs/testing/create-test-identity-provider-type.js +16 -0
  87. package/dist/cjs/testing/create-test-identity-provider.d.ts +3 -0
  88. package/dist/cjs/testing/create-test-identity-provider.js +24 -0
  89. package/dist/cjs/testing/create-test-identity.d.ts +3 -0
  90. package/dist/cjs/testing/create-test-identity.js +20 -0
  91. package/dist/cjs/testing/create-test-oidc-identity-provider.d.ts +3 -0
  92. package/dist/cjs/testing/create-test-oidc-identity-provider.js +23 -0
  93. package/dist/cjs/testing/create-test-platform-identity-provider.d.ts +3 -0
  94. package/dist/cjs/testing/create-test-platform-identity-provider.js +15 -0
  95. package/dist/cjs/testing/create-test-saml-identity-provider.d.ts +3 -0
  96. package/dist/cjs/testing/create-test-saml-identity-provider.js +15 -0
  97. package/dist/cjs/testing/index.d.ts +10 -0
  98. package/dist/cjs/testing/index.js +23 -0
  99. package/dist/esm/client/index.d.ts +1 -0
  100. package/dist/esm/client/index.js +1 -0
  101. package/dist/esm/error/invalid-identity-external-id-error-properties.d.ts +3 -0
  102. package/dist/esm/error/invalid-identity-external-id-error-properties.js +1 -0
  103. package/dist/esm/error/invalid-identity-id-error-properties.d.ts +3 -0
  104. package/dist/esm/error/invalid-identity-id-error-properties.js +1 -0
  105. package/dist/esm/error/invalid-identity-provider-id-error-properties.d.ts +3 -0
  106. package/dist/esm/error/invalid-identity-provider-id-error-properties.js +1 -0
  107. package/dist/esm/error/invalid-identity-provider-type-code-error-properties.d.ts +3 -0
  108. package/dist/esm/error/invalid-identity-provider-type-code-error-properties.js +1 -0
  109. package/dist/esm/identity/external-id/as-identity-external-id.d.ts +2 -0
  110. package/dist/esm/identity/external-id/as-identity-external-id.js +5 -0
  111. package/dist/esm/identity/external-id/identity-external-id.d.ts +3 -0
  112. package/dist/esm/identity/external-id/identity-external-id.js +1 -0
  113. package/dist/esm/identity/external-id/is-identity-external-id.d.ts +2 -0
  114. package/dist/esm/identity/external-id/is-identity-external-id.js +3 -0
  115. package/dist/esm/identity/external-id/validate-identity-external-id.d.ts +2 -0
  116. package/dist/esm/identity/external-id/validate-identity-external-id.js +7 -0
  117. package/dist/esm/identity/id/as-identity-id.d.ts +2 -0
  118. package/dist/esm/identity/id/as-identity-id.js +5 -0
  119. package/dist/esm/identity/id/generate-identity-id.d.ts +2 -0
  120. package/dist/esm/identity/id/generate-identity-id.js +6 -0
  121. package/dist/esm/identity/id/identity-id.d.ts +4 -0
  122. package/dist/esm/identity/id/identity-id.js +1 -0
  123. package/dist/esm/identity/id/is-identity-id.d.ts +2 -0
  124. package/dist/esm/identity/id/is-identity-id.js +4 -0
  125. package/dist/esm/identity/id/validate-identity-id.d.ts +2 -0
  126. package/dist/esm/identity/id/validate-identity-id.js +7 -0
  127. package/dist/esm/identity/identity.d.ts +11 -0
  128. package/dist/esm/identity/identity.js +1 -0
  129. package/dist/esm/identity-provider/base-identity-provider.d.ts +12 -0
  130. package/dist/esm/identity-provider/base-identity-provider.js +1 -0
  131. package/dist/esm/identity-provider/cas-identity-provider.d.ts +12 -0
  132. package/dist/esm/identity-provider/cas-identity-provider.js +1 -0
  133. package/dist/esm/identity-provider/id/as-identity-provider-id.d.ts +2 -0
  134. package/dist/esm/identity-provider/id/as-identity-provider-id.js +5 -0
  135. package/dist/esm/identity-provider/id/generate-identity-provider-id.d.ts +2 -0
  136. package/dist/esm/identity-provider/id/generate-identity-provider-id.js +6 -0
  137. package/dist/esm/identity-provider/id/identity-provider-id.d.ts +4 -0
  138. package/dist/esm/identity-provider/id/identity-provider-id.js +1 -0
  139. package/dist/esm/identity-provider/id/is-identity-provider-id.d.ts +2 -0
  140. package/dist/esm/identity-provider/id/is-identity-provider-id.js +4 -0
  141. package/dist/esm/identity-provider/id/validate-identity-provider-id.d.ts +2 -0
  142. package/dist/esm/identity-provider/id/validate-identity-provider-id.js +7 -0
  143. package/dist/esm/identity-provider/identity-provider-attribute-map-mapping.d.ts +9 -0
  144. package/dist/esm/identity-provider/identity-provider-attribute-map-mapping.js +1 -0
  145. package/dist/esm/identity-provider/identity-provider-attribute-map.d.ts +16 -0
  146. package/dist/esm/identity-provider/identity-provider-attribute-map.js +1 -0
  147. package/dist/esm/identity-provider/identity-provider.d.ts +5 -0
  148. package/dist/esm/identity-provider/identity-provider.js +1 -0
  149. package/dist/esm/identity-provider/oidc-identity-provider.d.ts +11 -0
  150. package/dist/esm/identity-provider/oidc-identity-provider.js +1 -0
  151. package/dist/esm/identity-provider/platform-identity-provider.d.ts +7 -0
  152. package/dist/esm/identity-provider/platform-identity-provider.js +1 -0
  153. package/dist/esm/identity-provider/saml-identity-provider.d.ts +7 -0
  154. package/dist/esm/identity-provider/saml-identity-provider.js +1 -0
  155. package/dist/esm/identity-provider-type/code/as-identity-provider-type-code.d.ts +2 -0
  156. package/dist/esm/identity-provider-type/code/as-identity-provider-type-code.js +5 -0
  157. package/dist/esm/identity-provider-type/code/identity-provider-type-code.d.ts +2 -0
  158. package/dist/esm/identity-provider-type/code/identity-provider-type-code.js +1 -0
  159. package/dist/esm/identity-provider-type/code/identity-provider-type-codes.d.ts +1 -0
  160. package/dist/esm/identity-provider-type/code/identity-provider-type-codes.js +1 -0
  161. package/dist/esm/identity-provider-type/code/is-identity-provider-type-code.d.ts +2 -0
  162. package/dist/esm/identity-provider-type/code/is-identity-provider-type-code.js +5 -0
  163. package/dist/esm/identity-provider-type/code/validate-identity-provider-type-code.d.ts +2 -0
  164. package/dist/esm/identity-provider-type/code/validate-identity-provider-type-code.js +7 -0
  165. package/dist/esm/identity-provider-type/identity-provider-type.d.ts +6 -0
  166. package/dist/esm/identity-provider-type/identity-provider-type.js +1 -0
  167. package/dist/esm/identity.domain.d.ts +1 -0
  168. package/dist/esm/identity.domain.js +2 -0
  169. package/dist/esm/identity.error.d.ts +1 -0
  170. package/dist/esm/identity.error.js +3 -0
  171. package/dist/esm/index.d.ts +12 -0
  172. package/dist/esm/index.js +2 -0
  173. package/dist/esm/testing/create-test-base-identity-provider.d.ts +3 -0
  174. package/dist/esm/testing/create-test-base-identity-provider.js +18 -0
  175. package/dist/esm/testing/create-test-cas-identity-provider.d.ts +3 -0
  176. package/dist/esm/testing/create-test-cas-identity-provider.js +19 -0
  177. package/dist/esm/testing/create-test-identity-provider-attribute-map-mapping.d.ts +3 -0
  178. package/dist/esm/testing/create-test-identity-provider-attribute-map-mapping.js +5 -0
  179. package/dist/esm/testing/create-test-identity-provider-attribute-map.d.ts +3 -0
  180. package/dist/esm/testing/create-test-identity-provider-attribute-map.js +27 -0
  181. package/dist/esm/testing/create-test-identity-provider-type.d.ts +3 -0
  182. package/dist/esm/testing/create-test-identity-provider-type.js +13 -0
  183. package/dist/esm/testing/create-test-identity-provider.d.ts +3 -0
  184. package/dist/esm/testing/create-test-identity-provider.js +21 -0
  185. package/dist/esm/testing/create-test-identity.d.ts +3 -0
  186. package/dist/esm/testing/create-test-identity.js +17 -0
  187. package/dist/esm/testing/create-test-oidc-identity-provider.d.ts +3 -0
  188. package/dist/esm/testing/create-test-oidc-identity-provider.js +20 -0
  189. package/dist/esm/testing/create-test-platform-identity-provider.d.ts +3 -0
  190. package/dist/esm/testing/create-test-platform-identity-provider.js +12 -0
  191. package/dist/esm/testing/create-test-saml-identity-provider.d.ts +3 -0
  192. package/dist/esm/testing/create-test-saml-identity-provider.js +12 -0
  193. package/dist/esm/testing/index.d.ts +10 -0
  194. package/dist/esm/testing/index.js +10 -0
  195. package/dist/types/client/index.d.ts +2 -0
  196. package/dist/types/client/index.d.ts.map +1 -0
  197. package/dist/types/error/invalid-identity-external-id-error-properties.d.ts +7 -0
  198. package/dist/types/error/invalid-identity-external-id-error-properties.d.ts.map +1 -0
  199. package/dist/types/error/invalid-identity-id-error-properties.d.ts +10 -0
  200. package/dist/types/error/invalid-identity-id-error-properties.d.ts.map +1 -0
  201. package/dist/types/error/invalid-identity-provider-id-error-properties.d.ts +10 -0
  202. package/dist/types/error/invalid-identity-provider-id-error-properties.d.ts.map +1 -0
  203. package/dist/types/error/invalid-identity-provider-type-code-error-properties.d.ts +10 -0
  204. package/dist/types/error/invalid-identity-provider-type-code-error-properties.d.ts.map +1 -0
  205. package/dist/types/identity/external-id/as-identity-external-id.d.ts +9 -0
  206. package/dist/types/identity/external-id/as-identity-external-id.d.ts.map +1 -0
  207. package/dist/types/identity/external-id/identity-external-id.d.ts +7 -0
  208. package/dist/types/identity/external-id/identity-external-id.d.ts.map +1 -0
  209. package/dist/types/identity/external-id/is-identity-external-id.d.ts +9 -0
  210. package/dist/types/identity/external-id/is-identity-external-id.d.ts.map +1 -0
  211. package/dist/types/identity/external-id/validate-identity-external-id.d.ts +8 -0
  212. package/dist/types/identity/external-id/validate-identity-external-id.d.ts.map +1 -0
  213. package/dist/types/identity/id/as-identity-id.d.ts +9 -0
  214. package/dist/types/identity/id/as-identity-id.d.ts.map +1 -0
  215. package/dist/types/identity/id/generate-identity-id.d.ts +8 -0
  216. package/dist/types/identity/id/generate-identity-id.d.ts.map +1 -0
  217. package/dist/types/identity/id/identity-id.d.ts +8 -0
  218. package/dist/types/identity/id/identity-id.d.ts.map +1 -0
  219. package/dist/types/identity/id/is-identity-id.d.ts +9 -0
  220. package/dist/types/identity/id/is-identity-id.d.ts.map +1 -0
  221. package/dist/types/identity/id/validate-identity-id.d.ts +8 -0
  222. package/dist/types/identity/id/validate-identity-id.d.ts.map +1 -0
  223. package/dist/types/identity/identity.d.ts +36 -0
  224. package/dist/types/identity/identity.d.ts.map +1 -0
  225. package/dist/types/identity-provider/base-identity-provider.d.ts +31 -0
  226. package/dist/types/identity-provider/base-identity-provider.d.ts.map +1 -0
  227. package/dist/types/identity-provider/cas-identity-provider.d.ts +31 -0
  228. package/dist/types/identity-provider/cas-identity-provider.d.ts.map +1 -0
  229. package/dist/types/identity-provider/id/as-identity-provider-id.d.ts +9 -0
  230. package/dist/types/identity-provider/id/as-identity-provider-id.d.ts.map +1 -0
  231. package/dist/types/identity-provider/id/generate-identity-provider-id.d.ts +8 -0
  232. package/dist/types/identity-provider/id/generate-identity-provider-id.d.ts.map +1 -0
  233. package/dist/types/identity-provider/id/identity-provider-id.d.ts +8 -0
  234. package/dist/types/identity-provider/id/identity-provider-id.d.ts.map +1 -0
  235. package/dist/types/identity-provider/id/is-identity-provider-id.d.ts +9 -0
  236. package/dist/types/identity-provider/id/is-identity-provider-id.d.ts.map +1 -0
  237. package/dist/types/identity-provider/id/validate-identity-provider-id.d.ts +8 -0
  238. package/dist/types/identity-provider/id/validate-identity-provider-id.d.ts.map +1 -0
  239. package/dist/types/identity-provider/identity-provider-attribute-map-mapping.d.ts +28 -0
  240. package/dist/types/identity-provider/identity-provider-attribute-map-mapping.d.ts.map +1 -0
  241. package/dist/types/identity-provider/identity-provider-attribute-map.d.ts +61 -0
  242. package/dist/types/identity-provider/identity-provider-attribute-map.d.ts.map +1 -0
  243. package/dist/types/identity-provider/identity-provider.d.ts +9 -0
  244. package/dist/types/identity-provider/identity-provider.d.ts.map +1 -0
  245. package/dist/types/identity-provider/oidc-identity-provider.d.ts +30 -0
  246. package/dist/types/identity-provider/oidc-identity-provider.d.ts.map +1 -0
  247. package/dist/types/identity-provider/platform-identity-provider.d.ts +14 -0
  248. package/dist/types/identity-provider/platform-identity-provider.d.ts.map +1 -0
  249. package/dist/types/identity-provider/saml-identity-provider.d.ts +14 -0
  250. package/dist/types/identity-provider/saml-identity-provider.d.ts.map +1 -0
  251. package/dist/types/identity-provider-type/code/as-identity-provider-type-code.d.ts +9 -0
  252. package/dist/types/identity-provider-type/code/as-identity-provider-type-code.d.ts.map +1 -0
  253. package/dist/types/identity-provider-type/code/identity-provider-type-code.d.ts +6 -0
  254. package/dist/types/identity-provider-type/code/identity-provider-type-code.d.ts.map +1 -0
  255. package/dist/types/identity-provider-type/code/identity-provider-type-codes.d.ts +5 -0
  256. package/dist/types/identity-provider-type/code/identity-provider-type-codes.d.ts.map +1 -0
  257. package/dist/types/identity-provider-type/code/is-identity-provider-type-code.d.ts +9 -0
  258. package/dist/types/identity-provider-type/code/is-identity-provider-type-code.d.ts.map +1 -0
  259. package/dist/types/identity-provider-type/code/validate-identity-provider-type-code.d.ts +8 -0
  260. package/dist/types/identity-provider-type/code/validate-identity-provider-type-code.d.ts.map +1 -0
  261. package/dist/types/identity-provider-type/identity-provider-type.d.ts +16 -0
  262. package/dist/types/identity-provider-type/identity-provider-type.d.ts.map +1 -0
  263. package/dist/types/identity.domain.d.ts +5 -0
  264. package/dist/types/identity.domain.d.ts.map +1 -0
  265. package/dist/types/identity.error.d.ts +5 -0
  266. package/dist/types/identity.error.d.ts.map +1 -0
  267. package/dist/types/index.d.ts +13 -0
  268. package/dist/types/index.d.ts.map +1 -0
  269. package/dist/types/testing/create-test-base-identity-provider.d.ts +10 -0
  270. package/dist/types/testing/create-test-base-identity-provider.d.ts.map +1 -0
  271. package/dist/types/testing/create-test-cas-identity-provider.d.ts +10 -0
  272. package/dist/types/testing/create-test-cas-identity-provider.d.ts.map +1 -0
  273. package/dist/types/testing/create-test-identity-provider-attribute-map-mapping.d.ts +10 -0
  274. package/dist/types/testing/create-test-identity-provider-attribute-map-mapping.d.ts.map +1 -0
  275. package/dist/types/testing/create-test-identity-provider-attribute-map.d.ts +10 -0
  276. package/dist/types/testing/create-test-identity-provider-attribute-map.d.ts.map +1 -0
  277. package/dist/types/testing/create-test-identity-provider-type.d.ts +10 -0
  278. package/dist/types/testing/create-test-identity-provider-type.d.ts.map +1 -0
  279. package/dist/types/testing/create-test-identity-provider.d.ts +10 -0
  280. package/dist/types/testing/create-test-identity-provider.d.ts.map +1 -0
  281. package/dist/types/testing/create-test-identity.d.ts +10 -0
  282. package/dist/types/testing/create-test-identity.d.ts.map +1 -0
  283. package/dist/types/testing/create-test-oidc-identity-provider.d.ts +10 -0
  284. package/dist/types/testing/create-test-oidc-identity-provider.d.ts.map +1 -0
  285. package/dist/types/testing/create-test-platform-identity-provider.d.ts +10 -0
  286. package/dist/types/testing/create-test-platform-identity-provider.d.ts.map +1 -0
  287. package/dist/types/testing/create-test-saml-identity-provider.d.ts +10 -0
  288. package/dist/types/testing/create-test-saml-identity-provider.d.ts.map +1 -0
  289. package/dist/types/testing/index.d.ts +11 -0
  290. package/dist/types/testing/index.d.ts.map +1 -0
  291. package/package.json +82 -0
  292. package/src/client/index.ts +1 -0
  293. package/src/identity/identity.ts +36 -0
  294. package/src/identity-provider/base-identity-provider.ts +32 -0
  295. package/src/identity-provider/cas-identity-provider.ts +30 -0
  296. package/src/identity-provider/identity-provider-attribute-map-mapping.ts +30 -0
  297. package/src/identity-provider/identity-provider-attribute-map.ts +61 -0
  298. package/src/identity-provider/identity-provider.ts +13 -0
  299. package/src/identity-provider/oidc-identity-provider.ts +28 -0
  300. package/src/identity-provider/platform-identity-provider.ts +12 -0
  301. package/src/identity-provider/saml-identity-provider.ts +12 -0
  302. package/src/identity-provider-type/identity-provider-type.ts +16 -0
  303. package/src/identity.domain.ts +6 -0
  304. package/src/identity.error.ts +8 -0
  305. package/src/index.ts +12 -0
  306. package/src/testing/create-test-base-identity-provider.ts +32 -0
  307. package/src/testing/create-test-cas-identity-provider.ts +33 -0
  308. package/src/testing/create-test-identity-provider-attribute-map-mapping.ts +18 -0
  309. package/src/testing/create-test-identity-provider-attribute-map.ts +40 -0
  310. package/src/testing/create-test-identity-provider-type.ts +25 -0
  311. package/src/testing/create-test-identity-provider.ts +38 -0
  312. package/src/testing/create-test-identity.ts +30 -0
  313. package/src/testing/create-test-oidc-identity-provider.ts +33 -0
  314. package/src/testing/create-test-platform-identity-provider.ts +25 -0
  315. package/src/testing/create-test-saml-identity-provider.ts +25 -0
  316. package/src/testing/index.ts +10 -0
  317. package/src/tsconfig.base.json +15 -0
  318. package/src/tsconfig.cjs.json +8 -0
  319. package/src/tsconfig.esm.json +8 -0
  320. package/src/tsconfig.spec.json +9 -0
  321. package/src/tsconfig.types.json +13 -0
  322. package/tsconfig.json +37 -0
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createTestIdentityProviderAttributeMap = createTestIdentityProviderAttributeMap;
4
+ const create_test_identity_provider_attribute_map_mapping_1 = require("./create-test-identity-provider-attribute-map-mapping");
5
+ function createTestIdentityProviderAttributeMap(attributeMap) {
6
+ const classNames = (0, create_test_identity_provider_attribute_map_mapping_1.createTestIdentityProviderAttributeMapMapping)(attributeMap?.classNames);
7
+ const establishmentCode = (0, create_test_identity_provider_attribute_map_mapping_1.createTestIdentityProviderAttributeMapMapping)(attributeMap?.establishmentCode);
8
+ const externalUserId = (0, create_test_identity_provider_attribute_map_mapping_1.createTestIdentityProviderAttributeMapMapping)(attributeMap?.externalUserId);
9
+ const givenName = (0, create_test_identity_provider_attribute_map_mapping_1.createTestIdentityProviderAttributeMapMapping)(attributeMap?.givenName);
10
+ const groupNames = (0, create_test_identity_provider_attribute_map_mapping_1.createTestIdentityProviderAttributeMapMapping)(attributeMap?.groupNames);
11
+ const identityName = (0, create_test_identity_provider_attribute_map_mapping_1.createTestIdentityProviderAttributeMapMapping)(attributeMap?.identityName);
12
+ const isHeadmaster = (0, create_test_identity_provider_attribute_map_mapping_1.createTestIdentityProviderAttributeMapMapping)(attributeMap?.isHeadmaster);
13
+ const isParent = (0, create_test_identity_provider_attribute_map_mapping_1.createTestIdentityProviderAttributeMapMapping)(attributeMap?.isParent);
14
+ const isStudent = (0, create_test_identity_provider_attribute_map_mapping_1.createTestIdentityProviderAttributeMapMapping)(attributeMap?.isStudent);
15
+ const isTeacher = (0, create_test_identity_provider_attribute_map_mapping_1.createTestIdentityProviderAttributeMapMapping)(attributeMap?.isTeacher);
16
+ const surname = (0, create_test_identity_provider_attribute_map_mapping_1.createTestIdentityProviderAttributeMapMapping)(attributeMap?.surname);
17
+ return {
18
+ classNames,
19
+ establishmentCode,
20
+ externalUserId,
21
+ givenName,
22
+ groupNames,
23
+ identityName,
24
+ isHeadmaster,
25
+ isParent,
26
+ isStudent,
27
+ isTeacher,
28
+ surname,
29
+ };
30
+ }
@@ -0,0 +1,3 @@
1
+ import { type IdentityProviderType } from '@edumalin/identity';
2
+ import { type DeepPartial } from '@edumalin/platform/typescript';
3
+ export declare function createTestIdentityProviderType(identityProviderType?: DeepPartial<IdentityProviderType>): IdentityProviderType;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createTestIdentityProviderType = createTestIdentityProviderType;
4
+ const id_1 = require("@edumalin/id");
5
+ const random_1 = require("@edumalin/platform/random");
6
+ function createTestIdentityProviderType(identityProviderType) {
7
+ const identityProviderTypeCode = (0, random_1.getRandomArrayValue)(id_1.identityProviderTypeCodes);
8
+ const identityProviderTypeName = identityProviderType?.identityProviderTypeName ?? {
9
+ 'en-US': `${identityProviderTypeCode} test identity provider type`,
10
+ 'fr-FR': `Type de fournisseur d'identité de test ${identityProviderTypeCode}`,
11
+ };
12
+ return {
13
+ identityProviderTypeCode,
14
+ identityProviderTypeName,
15
+ };
16
+ }
@@ -0,0 +1,3 @@
1
+ import { type IdentityProvider } from '@edumalin/identity';
2
+ import { type DeepPartial } from '@edumalin/platform/typescript';
3
+ export declare function createTestIdentityProvider(identityProvider?: DeepPartial<IdentityProvider>): IdentityProvider;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createTestIdentityProvider = createTestIdentityProvider;
4
+ const random_1 = require("@edumalin/platform/random");
5
+ const create_test_cas_identity_provider_js_1 = require("./create-test-cas-identity-provider.js");
6
+ const create_test_platform_identity_provider_js_1 = require("./create-test-platform-identity-provider.js");
7
+ const create_test_oidc_identity_provider_js_1 = require("./create-test-oidc-identity-provider.js");
8
+ const create_test_saml_identity_provider_js_1 = require("./create-test-saml-identity-provider.js");
9
+ function createTestIdentityProvider(identityProvider) {
10
+ const identityProviderType = identityProvider?.identityProviderType?.identityProviderTypeCode ??
11
+ (0, random_1.getRandomArrayValue)(['cas', 'platform', 'oidc', 'saml']);
12
+ switch (identityProviderType) {
13
+ case 'cas':
14
+ return (0, create_test_cas_identity_provider_js_1.createTestCasIdentityProvider)(identityProvider);
15
+ case 'oidc':
16
+ return (0, create_test_oidc_identity_provider_js_1.createTestOidcIdentityProvider)(identityProvider);
17
+ case 'platform':
18
+ return (0, create_test_platform_identity_provider_js_1.createTestPlatformIdentityProvider)(identityProvider);
19
+ case 'saml':
20
+ return (0, create_test_saml_identity_provider_js_1.createTestSamlIdentityProvider)(identityProvider);
21
+ default:
22
+ throw new Error(`unknown identity provider type`);
23
+ }
24
+ }
@@ -0,0 +1,3 @@
1
+ import { type Identity } from '@edumalin/identity';
2
+ import { type DeepPartial } from '@edumalin/platform/typescript';
3
+ export declare function createTestIdentity(identity?: DeepPartial<Identity>): Identity;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createTestIdentity = createTestIdentity;
4
+ const id_1 = require("@edumalin/id");
5
+ const url_1 = require("@edumalin/platform/url");
6
+ function createTestIdentity(identity) {
7
+ const email = identity?.email;
8
+ const givenName = identity?.givenName ?? 'Camille';
9
+ const identityId = identity?.identityId ?? (0, id_1.generateIdentityId)();
10
+ const profilePictureUrl = identity?.profilePictureUrl ??
11
+ (0, url_1.asUrlString)('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAIAAAAlC+aJAAAA2UlEQVR4nOzRoWpCcRiG8W38+2CXsA22Wxi7iKWlExcHYzcxBoZj0AsQu9Gs6Vi8AY1iMwgaDKJ4DW96PPD88vuFh6/MX0Y3ifv3KtpPZ9/RfrN9jvZ30foKGUAzgGYAzQCaATQDaAbQyno3jg7OvSbad1/70X5w+oz2rf+AATQDaAbQDKAZQDOAZgCt/D0uo4PbziLaV/Ux2v/8PkT71n/AAJoBNANoBtAMoBlAM4BWnj6G0cGq+Y/29ds+2n9NDtG+9R8wgGYAzQCaATQDaAbQDKBdAgAA//+JQhusQ+q2ywAAAABJRU5ErkJggg');
12
+ const surname = identity?.surname ?? 'Dupont';
13
+ return {
14
+ ...(email ? { email } : {}),
15
+ givenName,
16
+ identityId,
17
+ ...(profilePictureUrl ? { profilePictureUrl } : {}),
18
+ surname,
19
+ };
20
+ }
@@ -0,0 +1,3 @@
1
+ import { type OidcIdentityProvider } from '@edumalin/identity';
2
+ import { type DeepPartial } from '@edumalin/platform/typescript';
3
+ export declare function createTestOidcIdentityProvider(identityProvider?: DeepPartial<OidcIdentityProvider>): OidcIdentityProvider;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createTestOidcIdentityProvider = createTestOidcIdentityProvider;
4
+ const create_test_base_identity_provider_js_1 = require("./create-test-base-identity-provider.js");
5
+ const create_test_identity_provider_type_js_1 = require("./create-test-identity-provider-type.js");
6
+ function createTestOidcIdentityProvider(identityProvider) {
7
+ const challengeAlgorithm = identityProvider?.challengeAlgorithm ?? 'SHA-256';
8
+ const challengeMethod = identityProvider?.challengeMethod ?? 'S256';
9
+ const clientId = identityProvider?.clientId ?? 'test-client-id';
10
+ const clientSecret = identityProvider?.clientSecret ?? 'test-client-secret';
11
+ const identityProviderType = {
12
+ ...(0, create_test_identity_provider_type_js_1.createTestIdentityProviderType)(identityProvider?.identityProviderType),
13
+ identityProviderTypeCode: 'oidc',
14
+ };
15
+ return {
16
+ ...(0, create_test_base_identity_provider_js_1.createTestBaseIdentityProvider)(identityProvider),
17
+ challengeAlgorithm,
18
+ challengeMethod,
19
+ clientId,
20
+ clientSecret,
21
+ identityProviderType,
22
+ };
23
+ }
@@ -0,0 +1,3 @@
1
+ import { type PlatformIdentityProvider } from '@edumalin/identity';
2
+ import { type DeepPartial } from '@edumalin/platform/typescript';
3
+ export declare function createTestPlatformIdentityProvider(identityProvider?: DeepPartial<PlatformIdentityProvider>): PlatformIdentityProvider;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createTestPlatformIdentityProvider = createTestPlatformIdentityProvider;
4
+ const create_test_base_identity_provider_js_1 = require("./create-test-base-identity-provider.js");
5
+ const create_test_identity_provider_type_js_1 = require("./create-test-identity-provider-type.js");
6
+ function createTestPlatformIdentityProvider(identityProvider) {
7
+ const identityProviderType = {
8
+ ...(0, create_test_identity_provider_type_js_1.createTestIdentityProviderType)(identityProvider?.identityProviderType),
9
+ identityProviderTypeCode: 'platform',
10
+ };
11
+ return {
12
+ ...(0, create_test_base_identity_provider_js_1.createTestBaseIdentityProvider)(identityProvider),
13
+ identityProviderType,
14
+ };
15
+ }
@@ -0,0 +1,3 @@
1
+ import { type SamlIdentityProvider } from '@edumalin/identity';
2
+ import { type DeepPartial } from '@edumalin/platform/typescript';
3
+ export declare function createTestSamlIdentityProvider(identityProvider?: DeepPartial<SamlIdentityProvider>): SamlIdentityProvider;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createTestSamlIdentityProvider = createTestSamlIdentityProvider;
4
+ const create_test_base_identity_provider_js_1 = require("./create-test-base-identity-provider.js");
5
+ const create_test_identity_provider_type_js_1 = require("./create-test-identity-provider-type.js");
6
+ function createTestSamlIdentityProvider(identityProvider) {
7
+ const identityProviderType = {
8
+ ...(0, create_test_identity_provider_type_js_1.createTestIdentityProviderType)(identityProvider?.identityProviderType),
9
+ identityProviderTypeCode: 'saml',
10
+ };
11
+ return {
12
+ ...(0, create_test_base_identity_provider_js_1.createTestBaseIdentityProvider)(identityProvider),
13
+ identityProviderType,
14
+ };
15
+ }
@@ -0,0 +1,10 @@
1
+ export { createTestBaseIdentityProvider } from './create-test-base-identity-provider.js';
2
+ export { createTestCasIdentityProvider } from './create-test-cas-identity-provider.js';
3
+ export { createTestIdentity } from './create-test-identity.js';
4
+ export { createTestIdentityProvider } from './create-test-identity-provider.js';
5
+ export { createTestIdentityProviderAttributeMap } from './create-test-identity-provider-attribute-map.js';
6
+ export { createTestIdentityProviderAttributeMapMapping } from './create-test-identity-provider-attribute-map-mapping.js';
7
+ export { createTestIdentityProviderType } from './create-test-identity-provider-type.js';
8
+ export { createTestOidcIdentityProvider } from './create-test-oidc-identity-provider.js';
9
+ export { createTestPlatformIdentityProvider } from './create-test-platform-identity-provider.js';
10
+ export { createTestSamlIdentityProvider } from './create-test-saml-identity-provider.js';
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createTestSamlIdentityProvider = exports.createTestPlatformIdentityProvider = exports.createTestOidcIdentityProvider = exports.createTestIdentityProviderType = exports.createTestIdentityProviderAttributeMapMapping = exports.createTestIdentityProviderAttributeMap = exports.createTestIdentityProvider = exports.createTestIdentity = exports.createTestCasIdentityProvider = exports.createTestBaseIdentityProvider = void 0;
4
+ var create_test_base_identity_provider_js_1 = require("./create-test-base-identity-provider.js");
5
+ Object.defineProperty(exports, "createTestBaseIdentityProvider", { enumerable: true, get: function () { return create_test_base_identity_provider_js_1.createTestBaseIdentityProvider; } });
6
+ var create_test_cas_identity_provider_js_1 = require("./create-test-cas-identity-provider.js");
7
+ Object.defineProperty(exports, "createTestCasIdentityProvider", { enumerable: true, get: function () { return create_test_cas_identity_provider_js_1.createTestCasIdentityProvider; } });
8
+ var create_test_identity_js_1 = require("./create-test-identity.js");
9
+ Object.defineProperty(exports, "createTestIdentity", { enumerable: true, get: function () { return create_test_identity_js_1.createTestIdentity; } });
10
+ var create_test_identity_provider_js_1 = require("./create-test-identity-provider.js");
11
+ Object.defineProperty(exports, "createTestIdentityProvider", { enumerable: true, get: function () { return create_test_identity_provider_js_1.createTestIdentityProvider; } });
12
+ var create_test_identity_provider_attribute_map_js_1 = require("./create-test-identity-provider-attribute-map.js");
13
+ Object.defineProperty(exports, "createTestIdentityProviderAttributeMap", { enumerable: true, get: function () { return create_test_identity_provider_attribute_map_js_1.createTestIdentityProviderAttributeMap; } });
14
+ var create_test_identity_provider_attribute_map_mapping_js_1 = require("./create-test-identity-provider-attribute-map-mapping.js");
15
+ Object.defineProperty(exports, "createTestIdentityProviderAttributeMapMapping", { enumerable: true, get: function () { return create_test_identity_provider_attribute_map_mapping_js_1.createTestIdentityProviderAttributeMapMapping; } });
16
+ var create_test_identity_provider_type_js_1 = require("./create-test-identity-provider-type.js");
17
+ Object.defineProperty(exports, "createTestIdentityProviderType", { enumerable: true, get: function () { return create_test_identity_provider_type_js_1.createTestIdentityProviderType; } });
18
+ var create_test_oidc_identity_provider_js_1 = require("./create-test-oidc-identity-provider.js");
19
+ Object.defineProperty(exports, "createTestOidcIdentityProvider", { enumerable: true, get: function () { return create_test_oidc_identity_provider_js_1.createTestOidcIdentityProvider; } });
20
+ var create_test_platform_identity_provider_js_1 = require("./create-test-platform-identity-provider.js");
21
+ Object.defineProperty(exports, "createTestPlatformIdentityProvider", { enumerable: true, get: function () { return create_test_platform_identity_provider_js_1.createTestPlatformIdentityProvider; } });
22
+ var create_test_saml_identity_provider_js_1 = require("./create-test-saml-identity-provider.js");
23
+ Object.defineProperty(exports, "createTestSamlIdentityProvider", { enumerable: true, get: function () { return create_test_saml_identity_provider_js_1.createTestSamlIdentityProvider; } });
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,3 @@
1
+ export interface InvalidIdentityExternalIdErrorProperties {
2
+ readonly value: unknown;
3
+ }
@@ -0,0 +1,3 @@
1
+ export interface InvalidIdentityIdErrorProperties {
2
+ readonly value: unknown;
3
+ }
@@ -0,0 +1,3 @@
1
+ export interface InvalidIdentityProviderIdErrorProperties {
2
+ readonly value: unknown;
3
+ }
@@ -0,0 +1,3 @@
1
+ export interface InvalidIdentityProviderTypeCodeErrorProperties {
2
+ readonly value: unknown;
3
+ }
@@ -0,0 +1,2 @@
1
+ import { type IdentityExternalId } from './identity-external-id.js';
2
+ export declare function asIdentityExternalId(value: unknown): IdentityExternalId;
@@ -0,0 +1,5 @@
1
+ import { validateIdentityExternalId } from './validate-identity-external-id.js';
2
+ export function asIdentityExternalId(value) {
3
+ validateIdentityExternalId(value);
4
+ return value;
5
+ }
@@ -0,0 +1,3 @@
1
+ export type IdentityExternalId = string & {
2
+ readonly __tag_identityExternalId: unique symbol;
3
+ };
@@ -0,0 +1,2 @@
1
+ import { type IdentityExternalId } from './identity-external-id.js';
2
+ export declare function isIdentityExternalId(value: unknown): value is IdentityExternalId;
@@ -0,0 +1,3 @@
1
+ export function isIdentityExternalId(value) {
2
+ return typeof value === 'string' && value.length > 0;
3
+ }
@@ -0,0 +1,2 @@
1
+ import { type IdentityExternalId } from './identity-external-id.js';
2
+ export declare function validateIdentityExternalId(value: unknown): asserts value is IdentityExternalId;
@@ -0,0 +1,7 @@
1
+ import { identityError } from '../../identity.error.js';
2
+ import { isIdentityExternalId } from './is-identity-external-id.js';
3
+ export function validateIdentityExternalId(value) {
4
+ if (!isIdentityExternalId(value)) {
5
+ throw identityError.invalidIdentityExternalId({ value });
6
+ }
7
+ }
@@ -0,0 +1,2 @@
1
+ import { type IdentityId } from './identity-id.js';
2
+ export declare function asIdentityId(value: unknown): IdentityId;
@@ -0,0 +1,5 @@
1
+ import { validateIdentityId } from './validate-identity-id.js';
2
+ export function asIdentityId(value) {
3
+ validateIdentityId(value);
4
+ return value;
5
+ }
@@ -0,0 +1,2 @@
1
+ import { type IdentityId } from './identity-id.js';
2
+ export declare function generateIdentityId(): IdentityId;
@@ -0,0 +1,6 @@
1
+ import { generateUUID } from '@edumalin/platform/uuid';
2
+ import { asIdentityId } from './as-identity-id.js';
3
+ export function generateIdentityId() {
4
+ const uuid = generateUUID();
5
+ return asIdentityId(uuid);
6
+ }
@@ -0,0 +1,4 @@
1
+ import { type UUID } from '@edumalin/platform/uuid';
2
+ export type IdentityId = UUID & {
3
+ readonly __tag_identityIdentityId: unique symbol;
4
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ import { type IdentityId } from './identity-id.js';
2
+ export declare function isIdentityId(value: unknown): value is IdentityId;
@@ -0,0 +1,4 @@
1
+ import { isUUID } from '@edumalin/platform/uuid';
2
+ export function isIdentityId(value) {
3
+ return isUUID(value);
4
+ }
@@ -0,0 +1,2 @@
1
+ import { type IdentityId } from './identity-id.js';
2
+ export declare function validateIdentityId(value: unknown): asserts value is IdentityId;
@@ -0,0 +1,7 @@
1
+ import { identityError } from '../../identity.error.js';
2
+ import { isIdentityId } from './is-identity-id.js';
3
+ export function validateIdentityId(value) {
4
+ if (!isIdentityId(value)) {
5
+ throw identityError.invalidIdentityId({ value });
6
+ }
7
+ }
@@ -0,0 +1,11 @@
1
+ import { type IdentityId } from '@edumalin/id';
2
+ import { type UrlString } from '@edumalin/platform/url';
3
+ export interface Identity {
4
+ readonly email?: string;
5
+ readonly gender?: 'M' | 'F';
6
+ readonly givenName: string;
7
+ readonly identityId: IdentityId;
8
+ readonly profilePictureUrl?: UrlString;
9
+ readonly redacted?: true;
10
+ readonly surname: string;
11
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,12 @@
1
+ import { type IdentityProviderId } from '@edumalin/id';
2
+ import { type I18nString } from '@edumalin/platform/i18n';
3
+ import { type UrlString } from '@edumalin/platform/url';
4
+ import { type IdentityProviderType } from '../identity-provider-type/identity-provider-type.js';
5
+ import { type IdentityProviderAttributeMap } from './identity-provider-attribute-map.js';
6
+ export interface BaseIdentityProvider {
7
+ readonly attributeMap?: IdentityProviderAttributeMap;
8
+ readonly identityProviderId: IdentityProviderId;
9
+ readonly identityProviderName?: I18nString;
10
+ readonly identityProviderType?: IdentityProviderType;
11
+ readonly serviceUrl?: UrlString;
12
+ }
@@ -0,0 +1,12 @@
1
+ import { type UrlString } from '@edumalin/platform/url';
2
+ import { type IdentityProviderType } from '../identity-provider-type/identity-provider-type.js';
3
+ import { type BaseIdentityProvider } from './base-identity-provider.js';
4
+ export interface CasIdentityProvider extends BaseIdentityProvider {
5
+ readonly attributeMapExpressionPrefix?: string;
6
+ readonly authorizationUrl?: UrlString;
7
+ readonly identityProviderType: IdentityProviderType & {
8
+ readonly identityProviderTypeCode: 'cas';
9
+ };
10
+ readonly protocolVersion: '2.0' | '3.0';
11
+ readonly validationServiceUrl?: UrlString;
12
+ }
@@ -0,0 +1,2 @@
1
+ import { type IdentityProviderId } from './identity-provider-id.js';
2
+ export declare function asIdentityProviderId(value: unknown): IdentityProviderId;
@@ -0,0 +1,5 @@
1
+ import { validateIdentityProviderId } from './validate-identity-provider-id.js';
2
+ export function asIdentityProviderId(value) {
3
+ validateIdentityProviderId(value);
4
+ return value;
5
+ }
@@ -0,0 +1,2 @@
1
+ import { type IdentityProviderId } from './identity-provider-id.js';
2
+ export declare function generateIdentityProviderId(): IdentityProviderId;
@@ -0,0 +1,6 @@
1
+ import { generateUUID } from '@edumalin/platform/uuid';
2
+ import { asIdentityProviderId } from './as-identity-provider-id.js';
3
+ export function generateIdentityProviderId() {
4
+ const uuid = generateUUID();
5
+ return asIdentityProviderId(uuid);
6
+ }
@@ -0,0 +1,4 @@
1
+ import { type UUID } from '@edumalin/platform/uuid';
2
+ export type IdentityProviderId = UUID & {
3
+ readonly __tag_identityProviderId: unique symbol;
4
+ };
@@ -0,0 +1,2 @@
1
+ import { type IdentityProviderId } from './identity-provider-id.js';
2
+ export declare function isIdentityProviderId(value: unknown): value is IdentityProviderId;
@@ -0,0 +1,4 @@
1
+ import { isUUID } from '@edumalin/platform/uuid';
2
+ export function isIdentityProviderId(value) {
3
+ return isUUID(value);
4
+ }
@@ -0,0 +1,2 @@
1
+ import { type IdentityProviderId } from './identity-provider-id.js';
2
+ export declare function validateIdentityProviderId(value: unknown): asserts value is IdentityProviderId;
@@ -0,0 +1,7 @@
1
+ import { identityError } from '../../identity.error.js';
2
+ import { isIdentityProviderId } from './is-identity-provider-id.js';
3
+ export function validateIdentityProviderId(value) {
4
+ if (!isIdentityProviderId(value)) {
5
+ throw identityError.invalidIdentityProviderId({ value });
6
+ }
7
+ }
@@ -0,0 +1,9 @@
1
+ export type IdentityProviderAttributeMapMapping = {
2
+ readonly constant: string;
3
+ readonly mappingType: 'constant';
4
+ } | {
5
+ readonly mappingType: 'disabled';
6
+ } | {
7
+ readonly mappingType: 'path';
8
+ readonly path: string;
9
+ };
@@ -0,0 +1,16 @@
1
+ import { type IdentityProviderAttributeMapMapping } from './identity-provider-attribute-map-mapping.js';
2
+ export interface IdentityProviderAttributeMap {
3
+ readonly classNames?: IdentityProviderAttributeMapMapping;
4
+ readonly email?: IdentityProviderAttributeMapMapping;
5
+ readonly establishmentCode?: IdentityProviderAttributeMapMapping;
6
+ readonly establishmentId?: IdentityProviderAttributeMapMapping;
7
+ readonly externalUserId?: IdentityProviderAttributeMapMapping;
8
+ readonly givenName?: IdentityProviderAttributeMapMapping;
9
+ readonly groupNames?: IdentityProviderAttributeMapMapping;
10
+ readonly identityName?: IdentityProviderAttributeMapMapping;
11
+ readonly isHeadmaster?: IdentityProviderAttributeMapMapping;
12
+ readonly isParent?: IdentityProviderAttributeMapMapping;
13
+ readonly isStudent?: IdentityProviderAttributeMapMapping;
14
+ readonly isTeacher?: IdentityProviderAttributeMapMapping;
15
+ readonly surname?: IdentityProviderAttributeMapMapping;
16
+ }
@@ -0,0 +1,5 @@
1
+ import { type CasIdentityProvider } from './cas-identity-provider.js';
2
+ import { type OidcIdentityProvider } from './oidc-identity-provider.js';
3
+ import { type PlatformIdentityProvider } from './platform-identity-provider.js';
4
+ import { type SamlIdentityProvider } from './saml-identity-provider.js';
5
+ export type IdentityProvider = CasIdentityProvider | OidcIdentityProvider | PlatformIdentityProvider | SamlIdentityProvider;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,11 @@
1
+ import { type IdentityProviderType } from '../identity-provider-type/identity-provider-type.js';
2
+ import { type BaseIdentityProvider } from './base-identity-provider.js';
3
+ export interface OidcIdentityProvider extends BaseIdentityProvider {
4
+ readonly challengeAlgorithm: 'SHA-256';
5
+ readonly challengeMethod: 'S256';
6
+ readonly clientId: string;
7
+ readonly clientSecret: string;
8
+ readonly identityProviderType: IdentityProviderType & {
9
+ readonly identityProviderTypeCode: 'oidc';
10
+ };
11
+ }
@@ -0,0 +1,7 @@
1
+ import { type IdentityProviderType } from '../identity-provider-type/identity-provider-type.js';
2
+ import { type BaseIdentityProvider } from './base-identity-provider.js';
3
+ export interface PlatformIdentityProvider extends BaseIdentityProvider {
4
+ readonly identityProviderType: IdentityProviderType & {
5
+ readonly identityProviderTypeCode: 'platform';
6
+ };
7
+ }
@@ -0,0 +1,7 @@
1
+ import { type IdentityProviderType } from '../identity-provider-type/identity-provider-type.js';
2
+ import { type BaseIdentityProvider } from './base-identity-provider.js';
3
+ export interface SamlIdentityProvider extends BaseIdentityProvider {
4
+ readonly identityProviderType: IdentityProviderType & {
5
+ readonly identityProviderTypeCode: 'saml';
6
+ };
7
+ }
@@ -0,0 +1,2 @@
1
+ import { type IdentityProviderTypeCode } from './identity-provider-type-code.js';
2
+ export declare function asIdentityProviderTypeCode(value: unknown): IdentityProviderTypeCode;
@@ -0,0 +1,5 @@
1
+ import { validateIdentityProviderTypeCode } from './validate-identity-provider-type-code.js';
2
+ export function asIdentityProviderTypeCode(value) {
3
+ validateIdentityProviderTypeCode(value);
4
+ return value;
5
+ }
@@ -0,0 +1,2 @@
1
+ import { type identityProviderTypeCodes } from './identity-provider-type-codes.js';
2
+ export type IdentityProviderTypeCode = (typeof identityProviderTypeCodes)[number];
@@ -0,0 +1 @@
1
+ export declare const identityProviderTypeCodes: readonly ["cas", "oidc", "platform", "saml"];
@@ -0,0 +1 @@
1
+ export const identityProviderTypeCodes = ['cas', 'oidc', 'platform', 'saml'];
@@ -0,0 +1,2 @@
1
+ import { type IdentityProviderTypeCode } from './identity-provider-type-code.js';
2
+ export declare function isIdentityProviderTypeCode(value: unknown): value is IdentityProviderTypeCode;
@@ -0,0 +1,5 @@
1
+ import { identityProviderTypeCodes } from './identity-provider-type-codes.js';
2
+ export function isIdentityProviderTypeCode(value) {
3
+ return typeof value === 'string' && set.has(value);
4
+ }
5
+ const set = new Set(identityProviderTypeCodes);
@@ -0,0 +1,2 @@
1
+ import { type IdentityProviderTypeCode } from './identity-provider-type-code.js';
2
+ export declare function validateIdentityProviderTypeCode(value: unknown): asserts value is IdentityProviderTypeCode;