@pangza/express 0.0.0-stage → 1.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 (450) hide show
  1. package/Application/callbackArgs.d.ts +5 -0
  2. package/Application/callbackArgs.d.ts.map +1 -0
  3. package/Application/callbackArgs.js +98 -0
  4. package/Application/callbackArgs.js.map +1 -0
  5. package/Application/decorators.d.ts +29 -0
  6. package/Application/decorators.d.ts.map +1 -0
  7. package/Application/decorators.js +181 -0
  8. package/Application/decorators.js.map +1 -0
  9. package/Application/index.d.ts +49 -0
  10. package/Application/index.d.ts.map +1 -0
  11. package/Application/index.js +504 -0
  12. package/Application/index.js.map +1 -0
  13. package/Application/lifecycle.d.ts +8 -0
  14. package/Application/lifecycle.d.ts.map +1 -0
  15. package/Application/lifecycle.js +96 -0
  16. package/Application/lifecycle.js.map +1 -0
  17. package/Application/metadata.d.ts +32 -0
  18. package/Application/metadata.d.ts.map +1 -0
  19. package/Application/metadata.js +230 -0
  20. package/Application/metadata.js.map +1 -0
  21. package/Application/processGuards.d.ts +2 -0
  22. package/Application/processGuards.d.ts.map +1 -0
  23. package/Application/processGuards.js +18 -0
  24. package/Application/processGuards.js.map +1 -0
  25. package/Application/types.d.ts +42 -0
  26. package/Application/types.d.ts.map +1 -0
  27. package/Application/types.js +13 -0
  28. package/Application/types.js.map +1 -0
  29. package/Application/warmup.d.ts +2 -0
  30. package/Application/warmup.d.ts.map +1 -0
  31. package/Application/warmup.js +64 -0
  32. package/Application/warmup.js.map +1 -0
  33. package/Auth/AuthUtil.d.ts +36 -0
  34. package/Auth/AuthUtil.d.ts.map +1 -0
  35. package/Auth/AuthUtil.js +305 -0
  36. package/Auth/AuthUtil.js.map +1 -0
  37. package/Auth/context.d.ts +5 -0
  38. package/Auth/context.d.ts.map +1 -0
  39. package/Auth/context.js +10 -0
  40. package/Auth/context.js.map +1 -0
  41. package/Auth/errors.d.ts +15 -0
  42. package/Auth/errors.d.ts.map +1 -0
  43. package/Auth/errors.js +34 -0
  44. package/Auth/errors.js.map +1 -0
  45. package/Auth/flag.d.ts +2 -0
  46. package/Auth/flag.d.ts.map +1 -0
  47. package/Auth/flag.js +5 -0
  48. package/Auth/flag.js.map +1 -0
  49. package/Auth/index.d.ts +11 -0
  50. package/Auth/index.d.ts.map +1 -0
  51. package/Auth/index.js +128 -0
  52. package/Auth/index.js.map +1 -0
  53. package/Auth/store.d.ts +47 -0
  54. package/Auth/store.d.ts.map +1 -0
  55. package/Auth/store.js +151 -0
  56. package/Auth/store.js.map +1 -0
  57. package/Auth/token.d.ts +10 -0
  58. package/Auth/token.d.ts.map +1 -0
  59. package/Auth/token.js +74 -0
  60. package/Auth/token.js.map +1 -0
  61. package/Auth/types.d.ts +76 -0
  62. package/Auth/types.d.ts.map +1 -0
  63. package/Auth/types.js +3 -0
  64. package/Auth/types.js.map +1 -0
  65. package/Exception/decorators.d.ts +4 -0
  66. package/Exception/decorators.d.ts.map +1 -0
  67. package/Exception/decorators.js +40 -0
  68. package/Exception/decorators.js.map +1 -0
  69. package/Exception/handler.d.ts +3 -0
  70. package/Exception/handler.d.ts.map +1 -0
  71. package/Exception/handler.js +96 -0
  72. package/Exception/handler.js.map +1 -0
  73. package/Exception/index.d.ts +9 -0
  74. package/Exception/index.d.ts.map +1 -0
  75. package/Exception/index.js +34 -0
  76. package/Exception/index.js.map +1 -0
  77. package/Exception/registry.d.ts +6 -0
  78. package/Exception/registry.d.ts.map +1 -0
  79. package/Exception/registry.js +60 -0
  80. package/Exception/registry.js.map +1 -0
  81. package/Exception/types.d.ts +27 -0
  82. package/Exception/types.d.ts.map +1 -0
  83. package/Exception/types.js +15 -0
  84. package/Exception/types.js.map +1 -0
  85. package/Json/ObjectMapper.d.ts +13 -0
  86. package/Json/ObjectMapper.d.ts.map +1 -0
  87. package/Json/ObjectMapper.js +184 -0
  88. package/Json/ObjectMapper.js.map +1 -0
  89. package/Json/beanKeys.d.ts +3 -0
  90. package/Json/beanKeys.d.ts.map +1 -0
  91. package/Json/beanKeys.js +29 -0
  92. package/Json/beanKeys.js.map +1 -0
  93. package/Json/convert.d.ts +11 -0
  94. package/Json/convert.d.ts.map +1 -0
  95. package/Json/convert.js +89 -0
  96. package/Json/convert.js.map +1 -0
  97. package/Json/decorators.d.ts +15 -0
  98. package/Json/decorators.d.ts.map +1 -0
  99. package/Json/decorators.js +80 -0
  100. package/Json/decorators.js.map +1 -0
  101. package/Json/index.d.ts +13 -0
  102. package/Json/index.d.ts.map +1 -0
  103. package/Json/index.js +39 -0
  104. package/Json/index.js.map +1 -0
  105. package/Json/types.d.ts +27 -0
  106. package/Json/types.d.ts.map +1 -0
  107. package/Json/types.js +11 -0
  108. package/Json/types.js.map +1 -0
  109. package/Log/decorators.d.ts +3 -0
  110. package/Log/decorators.d.ts.map +1 -0
  111. package/Log/decorators.js +10 -0
  112. package/Log/decorators.js.map +1 -0
  113. package/Log/flag.d.ts +2 -0
  114. package/Log/flag.d.ts.map +1 -0
  115. package/Log/flag.js +5 -0
  116. package/Log/flag.js.map +1 -0
  117. package/Log/index.d.ts +9 -0
  118. package/Log/index.d.ts.map +1 -0
  119. package/Log/index.js +33 -0
  120. package/Log/index.js.map +1 -0
  121. package/Log/ip.d.ts +14 -0
  122. package/Log/ip.d.ts.map +1 -0
  123. package/Log/ip.js +125 -0
  124. package/Log/ip.js.map +1 -0
  125. package/Log/recorder.d.ts +18 -0
  126. package/Log/recorder.d.ts.map +1 -0
  127. package/Log/recorder.js +144 -0
  128. package/Log/recorder.js.map +1 -0
  129. package/Log/types.d.ts +53 -0
  130. package/Log/types.d.ts.map +1 -0
  131. package/Log/types.js +21 -0
  132. package/Log/types.js.map +1 -0
  133. package/Logger/index.d.ts +18 -0
  134. package/Logger/index.d.ts.map +1 -0
  135. package/Logger/index.js +150 -0
  136. package/Logger/index.js.map +1 -0
  137. package/Logger/types.d.ts +13 -0
  138. package/Logger/types.d.ts.map +1 -0
  139. package/Logger/types.js +3 -0
  140. package/Logger/types.js.map +1 -0
  141. package/ORM/BaseMapper.d.ts +54 -0
  142. package/ORM/BaseMapper.d.ts.map +1 -0
  143. package/ORM/BaseMapper.js +593 -0
  144. package/ORM/BaseMapper.js.map +1 -0
  145. package/ORM/DataSource.d.ts +47 -0
  146. package/ORM/DataSource.d.ts.map +1 -0
  147. package/ORM/DataSource.js +336 -0
  148. package/ORM/DataSource.js.map +1 -0
  149. package/ORM/Db.d.ts +43 -0
  150. package/ORM/Db.d.ts.map +1 -0
  151. package/ORM/Db.js +198 -0
  152. package/ORM/Db.js.map +1 -0
  153. package/ORM/IdType.d.ts +10 -0
  154. package/ORM/IdType.d.ts.map +1 -0
  155. package/ORM/IdType.js +22 -0
  156. package/ORM/IdType.js.map +1 -0
  157. package/ORM/QueryWrapper.d.ts +58 -0
  158. package/ORM/QueryWrapper.d.ts.map +1 -0
  159. package/ORM/QueryWrapper.js +289 -0
  160. package/ORM/QueryWrapper.js.map +1 -0
  161. package/ORM/config.d.ts +6 -0
  162. package/ORM/config.d.ts.map +1 -0
  163. package/ORM/config.js +70 -0
  164. package/ORM/config.js.map +1 -0
  165. package/ORM/dialect.d.ts +24 -0
  166. package/ORM/dialect.d.ts.map +1 -0
  167. package/ORM/dialect.js +169 -0
  168. package/ORM/dialect.js.map +1 -0
  169. package/ORM/entityDecorators.d.ts +39 -0
  170. package/ORM/entityDecorators.d.ts.map +1 -0
  171. package/ORM/entityDecorators.js +131 -0
  172. package/ORM/entityDecorators.js.map +1 -0
  173. package/ORM/errors.d.ts +9 -0
  174. package/ORM/errors.d.ts.map +1 -0
  175. package/ORM/errors.js +20 -0
  176. package/ORM/errors.js.map +1 -0
  177. package/ORM/fieldSelect.d.ts +25 -0
  178. package/ORM/fieldSelect.d.ts.map +1 -0
  179. package/ORM/fieldSelect.js +49 -0
  180. package/ORM/fieldSelect.js.map +1 -0
  181. package/ORM/fill.d.ts +6 -0
  182. package/ORM/fill.d.ts.map +1 -0
  183. package/ORM/fill.js +45 -0
  184. package/ORM/fill.js.map +1 -0
  185. package/ORM/hydrate.d.ts +12 -0
  186. package/ORM/hydrate.d.ts.map +1 -0
  187. package/ORM/hydrate.js +304 -0
  188. package/ORM/hydrate.js.map +1 -0
  189. package/ORM/identifier.d.ts +8 -0
  190. package/ORM/identifier.d.ts.map +1 -0
  191. package/ORM/identifier.js +47 -0
  192. package/ORM/identifier.js.map +1 -0
  193. package/ORM/index.d.ts +39 -0
  194. package/ORM/index.d.ts.map +1 -0
  195. package/ORM/index.js +113 -0
  196. package/ORM/index.js.map +1 -0
  197. package/ORM/relation.d.ts +53 -0
  198. package/ORM/relation.d.ts.map +1 -0
  199. package/ORM/relation.js +143 -0
  200. package/ORM/relation.js.map +1 -0
  201. package/ORM/resultMap.d.ts +3 -0
  202. package/ORM/resultMap.d.ts.map +1 -0
  203. package/ORM/resultMap.js +21 -0
  204. package/ORM/resultMap.js.map +1 -0
  205. package/ORM/security.d.ts +5 -0
  206. package/ORM/security.d.ts.map +1 -0
  207. package/ORM/security.js +39 -0
  208. package/ORM/security.js.map +1 -0
  209. package/ORM/sqlDecorators.d.ts +15 -0
  210. package/ORM/sqlDecorators.d.ts.map +1 -0
  211. package/ORM/sqlDecorators.js +106 -0
  212. package/ORM/sqlDecorators.js.map +1 -0
  213. package/ORM/sqlLog.d.ts +20 -0
  214. package/ORM/sqlLog.d.ts.map +1 -0
  215. package/ORM/sqlLog.js +172 -0
  216. package/ORM/sqlLog.js.map +1 -0
  217. package/ORM/sqlTemplate.d.ts +13 -0
  218. package/ORM/sqlTemplate.d.ts.map +1 -0
  219. package/ORM/sqlTemplate.js +89 -0
  220. package/ORM/sqlTemplate.js.map +1 -0
  221. package/ORM/table.d.ts +8 -0
  222. package/ORM/table.d.ts.map +1 -0
  223. package/ORM/table.js +45 -0
  224. package/ORM/table.js.map +1 -0
  225. package/ORM/tableSearch.d.ts +43 -0
  226. package/ORM/tableSearch.d.ts.map +1 -0
  227. package/ORM/tableSearch.js +205 -0
  228. package/ORM/tableSearch.js.map +1 -0
  229. package/ORM/transactional.d.ts +7 -0
  230. package/ORM/transactional.d.ts.map +1 -0
  231. package/ORM/transactional.js +43 -0
  232. package/ORM/transactional.js.map +1 -0
  233. package/ORM/types.d.ts +92 -0
  234. package/ORM/types.d.ts.map +1 -0
  235. package/ORM/types.js +3 -0
  236. package/ORM/types.js.map +1 -0
  237. package/ORM/xml/MapperXml.d.ts +10 -0
  238. package/ORM/xml/MapperXml.d.ts.map +1 -0
  239. package/ORM/xml/MapperXml.js +79 -0
  240. package/ORM/xml/MapperXml.js.map +1 -0
  241. package/ORM/xml/execute.d.ts +10 -0
  242. package/ORM/xml/execute.d.ts.map +1 -0
  243. package/ORM/xml/execute.js +53 -0
  244. package/ORM/xml/execute.js.map +1 -0
  245. package/ORM/xml/index.d.ts +11 -0
  246. package/ORM/xml/index.d.ts.map +1 -0
  247. package/ORM/xml/index.js +29 -0
  248. package/ORM/xml/index.js.map +1 -0
  249. package/ORM/xml/loadMappers.d.ts +10 -0
  250. package/ORM/xml/loadMappers.d.ts.map +1 -0
  251. package/ORM/xml/loadMappers.js +162 -0
  252. package/ORM/xml/loadMappers.js.map +1 -0
  253. package/ORM/xml/parseMapperXml.d.ts +3 -0
  254. package/ORM/xml/parseMapperXml.d.ts.map +1 -0
  255. package/ORM/xml/parseMapperXml.js +217 -0
  256. package/ORM/xml/parseMapperXml.js.map +1 -0
  257. package/ORM/xml/registry.d.ts +15 -0
  258. package/ORM/xml/registry.d.ts.map +1 -0
  259. package/ORM/xml/registry.js +57 -0
  260. package/ORM/xml/registry.js.map +1 -0
  261. package/ORM/xml/renderSql.d.ts +4 -0
  262. package/ORM/xml/renderSql.d.ts.map +1 -0
  263. package/ORM/xml/renderSql.js +178 -0
  264. package/ORM/xml/renderSql.js.map +1 -0
  265. package/ORM/xml/types.d.ts +50 -0
  266. package/ORM/xml/types.d.ts.map +1 -0
  267. package/ORM/xml/types.js +3 -0
  268. package/ORM/xml/types.js.map +1 -0
  269. package/ORM/xml/xmlMapper.d.ts +10 -0
  270. package/ORM/xml/xmlMapper.d.ts.map +1 -0
  271. package/ORM/xml/xmlMapper.js +44 -0
  272. package/ORM/xml/xmlMapper.js.map +1 -0
  273. package/README.md +41 -2
  274. package/Redis/Redis.d.ts +65 -0
  275. package/Redis/Redis.d.ts.map +1 -0
  276. package/Redis/Redis.js +622 -0
  277. package/Redis/Redis.js.map +1 -0
  278. package/Redis/cache.d.ts +4 -0
  279. package/Redis/cache.d.ts.map +1 -0
  280. package/Redis/cache.js +70 -0
  281. package/Redis/cache.js.map +1 -0
  282. package/Redis/decorators.d.ts +5 -0
  283. package/Redis/decorators.d.ts.map +1 -0
  284. package/Redis/decorators.js +20 -0
  285. package/Redis/decorators.js.map +1 -0
  286. package/Redis/errors.d.ts +9 -0
  287. package/Redis/errors.d.ts.map +1 -0
  288. package/Redis/errors.js +20 -0
  289. package/Redis/errors.js.map +1 -0
  290. package/Redis/index.d.ts +9 -0
  291. package/Redis/index.d.ts.map +1 -0
  292. package/Redis/index.js +36 -0
  293. package/Redis/index.js.map +1 -0
  294. package/Redis/rateLimit.d.ts +8 -0
  295. package/Redis/rateLimit.d.ts.map +1 -0
  296. package/Redis/rateLimit.js +82 -0
  297. package/Redis/rateLimit.js.map +1 -0
  298. package/Redis/redisson/RCountDownLatch.d.ts +12 -0
  299. package/Redis/redisson/RCountDownLatch.d.ts.map +1 -0
  300. package/Redis/redisson/RCountDownLatch.js +48 -0
  301. package/Redis/redisson/RCountDownLatch.js.map +1 -0
  302. package/Redis/redisson/RFairLock.d.ts +4 -0
  303. package/Redis/redisson/RFairLock.d.ts.map +1 -0
  304. package/Redis/redisson/RFairLock.js +29 -0
  305. package/Redis/redisson/RFairLock.js.map +1 -0
  306. package/Redis/redisson/RLock.d.ts +34 -0
  307. package/Redis/redisson/RLock.d.ts.map +1 -0
  308. package/Redis/redisson/RLock.js +146 -0
  309. package/Redis/redisson/RLock.js.map +1 -0
  310. package/Redis/redisson/RMultiLock.d.ts +15 -0
  311. package/Redis/redisson/RMultiLock.d.ts.map +1 -0
  312. package/Redis/redisson/RMultiLock.js +90 -0
  313. package/Redis/redisson/RMultiLock.js.map +1 -0
  314. package/Redis/redisson/RReadWriteLock.d.ts +9 -0
  315. package/Redis/redisson/RReadWriteLock.d.ts.map +1 -0
  316. package/Redis/redisson/RReadWriteLock.js +51 -0
  317. package/Redis/redisson/RReadWriteLock.js.map +1 -0
  318. package/Redis/redisson/RSemaphore.d.ts +13 -0
  319. package/Redis/redisson/RSemaphore.d.ts.map +1 -0
  320. package/Redis/redisson/RSemaphore.js +54 -0
  321. package/Redis/redisson/RSemaphore.js.map +1 -0
  322. package/Redis/redisson/Redisson.d.ts +30 -0
  323. package/Redis/redisson/Redisson.d.ts.map +1 -0
  324. package/Redis/redisson/Redisson.js +93 -0
  325. package/Redis/redisson/Redisson.js.map +1 -0
  326. package/Redis/redisson/index.d.ts +12 -0
  327. package/Redis/redisson/index.d.ts.map +1 -0
  328. package/Redis/redisson/index.js +32 -0
  329. package/Redis/redisson/index.js.map +1 -0
  330. package/Redis/redisson/objects.d.ts +116 -0
  331. package/Redis/redisson/objects.d.ts.map +1 -0
  332. package/Redis/redisson/objects.js +384 -0
  333. package/Redis/redisson/objects.js.map +1 -0
  334. package/Redis/redisson/scripts.d.ts +13 -0
  335. package/Redis/redisson/scripts.d.ts.map +1 -0
  336. package/Redis/redisson/scripts.js +187 -0
  337. package/Redis/redisson/scripts.js.map +1 -0
  338. package/Redis/redisson/types.d.ts +129 -0
  339. package/Redis/redisson/types.d.ts.map +1 -0
  340. package/Redis/redisson/types.js +8 -0
  341. package/Redis/redisson/types.js.map +1 -0
  342. package/Redis/redisson/utils.d.ts +9 -0
  343. package/Redis/redisson/utils.d.ts.map +1 -0
  344. package/Redis/redisson/utils.js +78 -0
  345. package/Redis/redisson/utils.js.map +1 -0
  346. package/Redis/types.d.ts +82 -0
  347. package/Redis/types.d.ts.map +1 -0
  348. package/Redis/types.js +23 -0
  349. package/Redis/types.js.map +1 -0
  350. package/Service/BaseService.d.ts +18 -0
  351. package/Service/BaseService.d.ts.map +1 -0
  352. package/Service/BaseService.js +46 -0
  353. package/Service/BaseService.js.map +1 -0
  354. package/Service/MapperType.d.ts +18 -0
  355. package/Service/MapperType.d.ts.map +1 -0
  356. package/Service/MapperType.js +46 -0
  357. package/Service/MapperType.js.map +1 -0
  358. package/Service/bean.d.ts +16 -0
  359. package/Service/bean.d.ts.map +1 -0
  360. package/Service/bean.js +72 -0
  361. package/Service/bean.js.map +1 -0
  362. package/Service/container.d.ts +18 -0
  363. package/Service/container.d.ts.map +1 -0
  364. package/Service/container.js +66 -0
  365. package/Service/container.js.map +1 -0
  366. package/Service/decorators.d.ts +12 -0
  367. package/Service/decorators.d.ts.map +1 -0
  368. package/Service/decorators.js +148 -0
  369. package/Service/decorators.js.map +1 -0
  370. package/Service/index.d.ts +11 -0
  371. package/Service/index.d.ts.map +1 -0
  372. package/Service/index.js +32 -0
  373. package/Service/index.js.map +1 -0
  374. package/Service/types.d.ts +19 -0
  375. package/Service/types.d.ts.map +1 -0
  376. package/Service/types.js +18 -0
  377. package/Service/types.js.map +1 -0
  378. package/Validate/decorators.d.ts +18 -0
  379. package/Validate/decorators.d.ts.map +1 -0
  380. package/Validate/decorators.js +77 -0
  381. package/Validate/decorators.js.map +1 -0
  382. package/Validate/engine.d.ts +5 -0
  383. package/Validate/engine.d.ts.map +1 -0
  384. package/Validate/engine.js +78 -0
  385. package/Validate/engine.js.map +1 -0
  386. package/Validate/index.d.ts +6 -0
  387. package/Validate/index.d.ts.map +1 -0
  388. package/Validate/index.js +28 -0
  389. package/Validate/index.js.map +1 -0
  390. package/Validate/rules.d.ts +11 -0
  391. package/Validate/rules.d.ts.map +1 -0
  392. package/Validate/rules.js +120 -0
  393. package/Validate/rules.js.map +1 -0
  394. package/Validate/types.d.ts +22 -0
  395. package/Validate/types.d.ts.map +1 -0
  396. package/Validate/types.js +17 -0
  397. package/Validate/types.js.map +1 -0
  398. package/config/index.d.ts +104 -0
  399. package/config/index.d.ts.map +1 -0
  400. package/config/index.js +330 -0
  401. package/config/index.js.map +1 -0
  402. package/encrypt/AESUtil.d.ts +5 -0
  403. package/encrypt/AESUtil.d.ts.map +1 -0
  404. package/encrypt/AESUtil.js +36 -0
  405. package/encrypt/AESUtil.js.map +1 -0
  406. package/encrypt/DynamicAesKeyManager.d.ts +9 -0
  407. package/encrypt/DynamicAesKeyManager.d.ts.map +1 -0
  408. package/encrypt/DynamicAesKeyManager.js +46 -0
  409. package/encrypt/DynamicAesKeyManager.js.map +1 -0
  410. package/encrypt/index.d.ts +3 -0
  411. package/encrypt/index.d.ts.map +1 -0
  412. package/encrypt/index.js +8 -0
  413. package/encrypt/index.js.map +1 -0
  414. package/index.d.ts +31 -0
  415. package/index.d.ts.map +1 -0
  416. package/index.js +252 -0
  417. package/index.js.map +1 -0
  418. package/langchain/decorators.d.ts +2 -0
  419. package/langchain/decorators.d.ts.map +1 -0
  420. package/langchain/decorators.js +6 -0
  421. package/langchain/decorators.js.map +1 -0
  422. package/langchain/index.d.ts +1 -0
  423. package/langchain/index.d.ts.map +1 -0
  424. package/langchain/index.js +2 -0
  425. package/langchain/index.js.map +1 -0
  426. package/package.json +110 -4
  427. package/schedule/ScheduleManager.d.ts +25 -0
  428. package/schedule/ScheduleManager.d.ts.map +1 -0
  429. package/schedule/ScheduleManager.js +125 -0
  430. package/schedule/ScheduleManager.js.map +1 -0
  431. package/types/enums.d.ts +11 -0
  432. package/types/enums.d.ts.map +1 -0
  433. package/types/enums.js +15 -0
  434. package/types/enums.js.map +1 -0
  435. package/utils/case.d.ts +6 -0
  436. package/utils/case.d.ts.map +1 -0
  437. package/utils/case.js +32 -0
  438. package/utils/case.js.map +1 -0
  439. package/utils/entity/PageResult/index.d.ts +20 -0
  440. package/utils/entity/PageResult/index.d.ts.map +1 -0
  441. package/utils/entity/PageResult/index.js +15 -0
  442. package/utils/entity/PageResult/index.js.map +1 -0
  443. package/utils/entity/ResponseData/index.d.ts +11 -0
  444. package/utils/entity/ResponseData/index.d.ts.map +1 -0
  445. package/utils/entity/ResponseData/index.js +25 -0
  446. package/utils/entity/ResponseData/index.js.map +1 -0
  447. package/utils/id.d.ts +2 -0
  448. package/utils/id.d.ts.map +1 -0
  449. package/utils/id.js +9 -0
  450. package/utils/id.js.map +1 -0
@@ -0,0 +1,305 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AuthUtil = void 0;
4
+ exports.configureAuth = configureAuth;
5
+ exports.getAuthOptions = getAuthOptions;
6
+ exports.isSessionExpired = isSessionExpired;
7
+ const context_1 = require("./context");
8
+ const errors_1 = require("./errors");
9
+ const store_1 = require("./store");
10
+ const token_1 = require("./token");
11
+ const DEFAULT_TIMEOUT = 2 * 60 * 60 * 1000;
12
+ const DEFAULT_JWT_SECRET = "pangza-admin-express-jwt-secret";
13
+ let authOptions = {
14
+ tokenName: "satoken",
15
+ header: "Authorization",
16
+ tokenPrefix: "Bearer",
17
+ timeout: DEFAULT_TIMEOUT,
18
+ activityTimeout: -1,
19
+ allowConcurrentLogin: true,
20
+ isShare: false,
21
+ tokenStyle: "uuid",
22
+ jwtSecret: DEFAULT_JWT_SECRET,
23
+ jwtAlgorithm: "HS256",
24
+ ignore: [],
25
+ readCookie: true,
26
+ checkMode: "OR",
27
+ };
28
+ function resolveExpireTime(timeoutMs, now = Date.now()) {
29
+ if (timeoutMs < 0)
30
+ return Number.MAX_SAFE_INTEGER;
31
+ return now + timeoutMs;
32
+ }
33
+ function configureAuth(options = {}) {
34
+ authOptions = {
35
+ ...authOptions,
36
+ ...options,
37
+ tokenName: options.tokenName ?? authOptions.tokenName,
38
+ header: options.header ?? authOptions.header,
39
+ tokenPrefix: options.tokenPrefix !== undefined
40
+ ? options.tokenPrefix
41
+ : authOptions.tokenPrefix,
42
+ timeout: options.timeout ?? authOptions.timeout,
43
+ activityTimeout: options.activityTimeout ?? authOptions.activityTimeout,
44
+ allowConcurrentLogin: options.allowConcurrentLogin ?? authOptions.allowConcurrentLogin,
45
+ isShare: options.isShare ?? authOptions.isShare,
46
+ tokenStyle: options.tokenStyle ?? authOptions.tokenStyle,
47
+ createToken: options.createToken ?? authOptions.createToken,
48
+ jwtSecret: options.jwtSecret ?? authOptions.jwtSecret,
49
+ jwtAlgorithm: options.jwtAlgorithm ?? authOptions.jwtAlgorithm,
50
+ ignore: options.ignore ?? authOptions.ignore,
51
+ readCookie: options.readCookie ?? authOptions.readCookie,
52
+ redis: options.redis ?? authOptions.redis,
53
+ checkMode: options.checkMode ?? authOptions.checkMode,
54
+ };
55
+ if (options.redis) {
56
+ (0, store_1.setSessionStore)(new store_1.RedisStore(options.redis));
57
+ }
58
+ else if (options.redis === undefined && !authOptions.redis) {
59
+ (0, store_1.setSessionStore)(new store_1.MemoryStore());
60
+ }
61
+ }
62
+ function getAuthOptions() {
63
+ return authOptions;
64
+ }
65
+ function normalizeLoginArgs(rolesOrOptions, permissions, profile) {
66
+ if (rolesOrOptions &&
67
+ !Array.isArray(rolesOrOptions) &&
68
+ typeof rolesOrOptions === "object") {
69
+ return rolesOrOptions;
70
+ }
71
+ return {
72
+ roles: rolesOrOptions ?? [],
73
+ permissions: permissions ?? [],
74
+ username: profile?.username,
75
+ avatar: profile?.avatar,
76
+ device: profile?.device,
77
+ };
78
+ }
79
+ function isSessionExpired(session, options = authOptions) {
80
+ const now = Date.now();
81
+ if (now > session.expireTime)
82
+ return true;
83
+ if (options.activityTimeout >= 0 &&
84
+ now - (session.lastActiveTime || session.createTime) >
85
+ options.activityTimeout) {
86
+ return true;
87
+ }
88
+ return false;
89
+ }
90
+ class AuthUtil {
91
+ static async login(loginId, rolesOrOptions = [], permissions = [], profile) {
92
+ const opt = normalizeLoginArgs(rolesOrOptions, permissions, profile);
93
+ const store = (0, store_1.getSessionStore)();
94
+ const timeout = opt.timeout ?? authOptions.timeout;
95
+ const device = opt.device;
96
+ const now = Date.now();
97
+ if (authOptions.isShare) {
98
+ const tokens = await store.listTokensByLoginId(loginId);
99
+ for (const t of tokens) {
100
+ const old = await store.getByToken(t);
101
+ if (!old || isSessionExpired(old)) {
102
+ if (old)
103
+ await store.removeByToken(t);
104
+ continue;
105
+ }
106
+ if (device && old.device && old.device !== device)
107
+ continue;
108
+ if (!device && old.device)
109
+ continue;
110
+ old.roles = opt.roles ?? old.roles;
111
+ old.permissions = opt.permissions ?? old.permissions;
112
+ old.username = opt.username ?? old.username;
113
+ old.avatar = opt.avatar ?? old.avatar;
114
+ old.expireTime = resolveExpireTime(timeout, now);
115
+ old.lastActiveTime = now;
116
+ await store.set(old);
117
+ this.syncContext(old.token, old);
118
+ return old.token;
119
+ }
120
+ }
121
+ if (!authOptions.allowConcurrentLogin) {
122
+ if (device) {
123
+ const tokens = await store.listTokensByLoginId(loginId);
124
+ for (const t of tokens) {
125
+ const old = await store.getByToken(t);
126
+ if (old && (!old.device || old.device === device)) {
127
+ await store.removeByToken(t);
128
+ }
129
+ }
130
+ }
131
+ else {
132
+ await store.removeByLoginId(loginId);
133
+ }
134
+ }
135
+ const token = await (0, token_1.createAuthToken)(authOptions, {
136
+ loginId,
137
+ device,
138
+ timeout,
139
+ });
140
+ const session = {
141
+ token,
142
+ loginId,
143
+ device,
144
+ roles: opt.roles ?? [],
145
+ permissions: opt.permissions ?? [],
146
+ username: opt.username,
147
+ avatar: opt.avatar,
148
+ createTime: now,
149
+ expireTime: resolveExpireTime(timeout, now),
150
+ lastActiveTime: now,
151
+ };
152
+ await store.set(session);
153
+ this.syncContext(token, session);
154
+ return token;
155
+ }
156
+ static syncContext(token, session) {
157
+ const ctx = (0, context_1.getAuthStore)();
158
+ if (ctx) {
159
+ ctx.token = token;
160
+ ctx.session = session;
161
+ }
162
+ }
163
+ static async logout(token) {
164
+ const value = token ?? this.getTokenValue();
165
+ if (value)
166
+ await (0, store_1.getSessionStore)().removeByToken(value);
167
+ const ctx = (0, context_1.getAuthStore)();
168
+ if (ctx && (!token || ctx.token === token)) {
169
+ ctx.token = null;
170
+ ctx.session = null;
171
+ }
172
+ }
173
+ static async logoutByLoginId(loginId) {
174
+ await (0, store_1.getSessionStore)().removeByLoginId(loginId);
175
+ }
176
+ static async logoutByDevice(loginId, device) {
177
+ const store = (0, store_1.getSessionStore)();
178
+ const tokens = await store.listTokensByLoginId(loginId);
179
+ for (const t of tokens) {
180
+ const session = await store.getByToken(t);
181
+ if (session?.device === device) {
182
+ await store.removeByToken(t);
183
+ }
184
+ }
185
+ }
186
+ static getTokenValue() {
187
+ const store = (0, context_1.getAuthStore)();
188
+ if (store?.token)
189
+ return store.token;
190
+ if (store?.req)
191
+ return this.readTokenFromRequest(store.req);
192
+ return null;
193
+ }
194
+ static readTokenFromRequest(req) {
195
+ const tryRaw = (raw) => {
196
+ if (typeof raw !== "string" || !raw.trim())
197
+ return null;
198
+ const value = raw.trim();
199
+ const prefix = authOptions.tokenPrefix;
200
+ if (prefix && value.startsWith(`${prefix} `)) {
201
+ return value.slice(prefix.length + 1).trim() || null;
202
+ }
203
+ return value || null;
204
+ };
205
+ const byName = tryRaw(req.headers[authOptions.tokenName.toLowerCase()]);
206
+ if (byName)
207
+ return byName;
208
+ const headerName = authOptions.header.toLowerCase();
209
+ if (headerName !== authOptions.tokenName.toLowerCase()) {
210
+ const byHeader = tryRaw(req.headers[headerName]);
211
+ if (byHeader)
212
+ return byHeader;
213
+ }
214
+ if (authOptions.readCookie) {
215
+ const cookies = req.cookies;
216
+ if (cookies) {
217
+ const byCookie = tryRaw(cookies[authOptions.tokenName]);
218
+ if (byCookie)
219
+ return byCookie;
220
+ }
221
+ }
222
+ return null;
223
+ }
224
+ static async loadSession(token, options = { touch: true }) {
225
+ if (!token)
226
+ return null;
227
+ if (!(0, token_1.verifyAuthToken)(authOptions, token)) {
228
+ await (0, store_1.getSessionStore)().removeByToken(token);
229
+ return null;
230
+ }
231
+ const session = await (0, store_1.getSessionStore)().getByToken(token);
232
+ if (!session)
233
+ return null;
234
+ if (!session.lastActiveTime) {
235
+ session.lastActiveTime = session.createTime;
236
+ }
237
+ if (isSessionExpired(session)) {
238
+ await (0, store_1.getSessionStore)().removeByToken(token);
239
+ return null;
240
+ }
241
+ if (options.touch !== false) {
242
+ session.lastActiveTime = Date.now();
243
+ await (0, store_1.getSessionStore)().touch(session);
244
+ }
245
+ return session;
246
+ }
247
+ static async getSession() {
248
+ const ctx = (0, context_1.getAuthStore)();
249
+ if (ctx?.session) {
250
+ if (isSessionExpired(ctx.session)) {
251
+ await this.logout(ctx.session.token);
252
+ return null;
253
+ }
254
+ return ctx.session;
255
+ }
256
+ const token = this.getTokenValue();
257
+ const session = await this.loadSession(token);
258
+ if (ctx)
259
+ ctx.session = session;
260
+ return session;
261
+ }
262
+ static async isLogin() {
263
+ return (await this.getSession()) !== null;
264
+ }
265
+ static async checkLogin() {
266
+ const session = await this.getSession();
267
+ if (!session)
268
+ throw new errors_1.NotLoginError();
269
+ return session.loginId;
270
+ }
271
+ static async getLoginId() {
272
+ return this.checkLogin();
273
+ }
274
+ static async getLoginIdDefaultNull() {
275
+ return (await this.getSession())?.loginId ?? null;
276
+ }
277
+ static async getLoginDevice() {
278
+ return (await this.getSession())?.device;
279
+ }
280
+ static async getRoleList() {
281
+ return (await this.getSession())?.roles ?? [];
282
+ }
283
+ static async getPermissionList() {
284
+ return (await this.getSession())?.permissions ?? [];
285
+ }
286
+ static async hasRole(role) {
287
+ return (await this.getRoleList()).includes(role);
288
+ }
289
+ static async hasPermission(permission) {
290
+ return (await this.getPermissionList()).includes(permission);
291
+ }
292
+ static async checkRole(role) {
293
+ await this.checkLogin();
294
+ if (!(await this.hasRole(role)))
295
+ throw new errors_1.NotRoleError(`无角色: ${role}`);
296
+ }
297
+ static async checkPermission(permission) {
298
+ await this.checkLogin();
299
+ if (!(await this.hasPermission(permission))) {
300
+ throw new errors_1.NotPermissionError(`无权限: ${permission}`);
301
+ }
302
+ }
303
+ }
304
+ exports.AuthUtil = AuthUtil;
305
+ //# sourceMappingURL=AuthUtil.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AuthUtil.js","sourceRoot":"","sources":["../../../../src/framework/Auth/AuthUtil.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { AsyncLocalStorage } from "async_hooks";
2
+ import type { AuthContextStore } from "./types";
3
+ export declare const authContext: AsyncLocalStorage<AuthContextStore>;
4
+ export declare function getAuthStore(): AuthContextStore | undefined;
5
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../src/framework/Auth/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAMhD,eAAO,MAAM,WAAW,qCAA4C,CAAC;AAGrE,wBAAgB,YAAY,IAAI,gBAAgB,GAAG,SAAS,CAE3D"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.authContext = void 0;
4
+ exports.getAuthStore = getAuthStore;
5
+ const async_hooks_1 = require("async_hooks");
6
+ exports.authContext = new async_hooks_1.AsyncLocalStorage();
7
+ function getAuthStore() {
8
+ return exports.authContext.getStore();
9
+ }
10
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../src/framework/Auth/context.ts"],"names":[],"mappings":";;;AAUA,oCAEC;AAZD,6CAAgD;AAOnC,QAAA,WAAW,GAAG,IAAI,+BAAiB,EAAoB,CAAC;AAGrE,SAAgB,YAAY;IAC1B,OAAO,mBAAW,CAAC,QAAQ,EAAE,CAAC;AAChC,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { ResponseCode } from "../types/enums";
2
+ export declare class AuthError extends Error {
3
+ readonly code: ResponseCode;
4
+ constructor(message: string, code: ResponseCode);
5
+ }
6
+ export declare class NotLoginError extends AuthError {
7
+ constructor(message?: string);
8
+ }
9
+ export declare class NotPermissionError extends AuthError {
10
+ constructor(message?: string);
11
+ }
12
+ export declare class NotRoleError extends AuthError {
13
+ constructor(message?: string);
14
+ }
15
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../../src/framework/Auth/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAGvD,qBAAa,SAAU,SAAQ,KAAK;IAClC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;gBAEhB,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY;CAKhD;AAGD,qBAAa,aAAc,SAAQ,SAAS;gBAC9B,OAAO,SAAQ;CAI5B;AAGD,qBAAa,kBAAmB,SAAQ,SAAS;gBACnC,OAAO,SAAS;CAI7B;AAGD,qBAAa,YAAa,SAAQ,SAAS;gBAC7B,OAAO,SAAS;CAI7B"}
package/Auth/errors.js ADDED
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NotRoleError = exports.NotPermissionError = exports.NotLoginError = exports.AuthError = void 0;
4
+ const enums_1 = require("../types/enums");
5
+ class AuthError extends Error {
6
+ constructor(message, code) {
7
+ super(message);
8
+ this.name = "AuthError";
9
+ this.code = code;
10
+ }
11
+ }
12
+ exports.AuthError = AuthError;
13
+ class NotLoginError extends AuthError {
14
+ constructor(message = "未登录") {
15
+ super(message, enums_1.ResponseCode.UNAUTHORIZED);
16
+ this.name = "NotLoginError";
17
+ }
18
+ }
19
+ exports.NotLoginError = NotLoginError;
20
+ class NotPermissionError extends AuthError {
21
+ constructor(message = "无此权限") {
22
+ super(message, enums_1.ResponseCode.FORBIDDEN);
23
+ this.name = "NotPermissionError";
24
+ }
25
+ }
26
+ exports.NotPermissionError = NotPermissionError;
27
+ class NotRoleError extends AuthError {
28
+ constructor(message = "无此角色") {
29
+ super(message, enums_1.ResponseCode.FORBIDDEN);
30
+ this.name = "NotRoleError";
31
+ }
32
+ }
33
+ exports.NotRoleError = NotRoleError;
34
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../../src/framework/Auth/errors.ts"],"names":[],"mappings":";;;AAAA,mDAAuD;AAGvD,MAAa,SAAU,SAAQ,KAAK;IAGlC,YAAY,OAAe,EAAE,IAAkB;QAC7C,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AARD,8BAQC;AAGD,MAAa,aAAc,SAAQ,SAAS;IAC1C,YAAY,OAAO,GAAG,KAAK;QACzB,KAAK,CAAC,OAAO,EAAE,oBAAY,CAAC,YAAY,CAAC,CAAC;QAC1C,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;IAC9B,CAAC;CACF;AALD,sCAKC;AAGD,MAAa,kBAAmB,SAAQ,SAAS;IAC/C,YAAY,OAAO,GAAG,MAAM;QAC1B,KAAK,CAAC,OAAO,EAAE,oBAAY,CAAC,SAAS,CAAC,CAAC;QACvC,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF;AALD,gDAKC;AAGD,MAAa,YAAa,SAAQ,SAAS;IACzC,YAAY,OAAO,GAAG,MAAM;QAC1B,KAAK,CAAC,OAAO,EAAE,oBAAY,CAAC,SAAS,CAAC,CAAC;QACvC,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;IAC7B,CAAC;CACF;AALD,oCAKC"}
package/Auth/flag.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ export declare const AUTH_MIDDLEWARE_FLAG: unique symbol;
2
+ //# sourceMappingURL=flag.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flag.d.ts","sourceRoot":"","sources":["../../../../src/framework/Auth/flag.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,oBAAoB,eAAuC,CAAC"}
package/Auth/flag.js ADDED
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AUTH_MIDDLEWARE_FLAG = void 0;
4
+ exports.AUTH_MIDDLEWARE_FLAG = Symbol.for("pangza.auth.middleware");
5
+ //# sourceMappingURL=flag.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flag.js","sourceRoot":"","sources":["../../../../src/framework/Auth/flag.ts"],"names":[],"mappings":";;;AACa,QAAA,oBAAoB,GAAG,MAAM,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { NextFunction, Request, Response } from "express";
2
+ import type { AuthOptions } from "./types";
3
+ export declare function matchesIgnore(path: string, ignore?: string[]): boolean;
4
+ export declare function isGloballyIgnored(path: string): boolean;
5
+ export default function Auth(options?: AuthOptions): (req: Request, _res: Response, next: NextFunction) => void;
6
+ export { AuthUtil, getAuthOptions, isSessionExpired } from "./AuthUtil";
7
+ export { AUTH_MIDDLEWARE_FLAG } from "./flag";
8
+ export { AuthError, NotLoginError, NotPermissionError, NotRoleError, } from "./errors";
9
+ export { createAuthToken, generateStyleToken, verifyAuthToken } from "./token";
10
+ export type { AuthOptions, AuthSession, LoginId, LoginOptions, TokenStyle, AuthCheckMode, ResolvedAuthOptions, } from "./types";
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/framework/Auth/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAI1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AA4B3C,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,GAAE,MAAM,EAAO,GAAG,OAAO,CAK1E;AAgED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEvD;AAkBD,MAAM,CAAC,OAAO,UAAU,IAAI,CAAC,OAAO,GAAE,WAAgB,SAG3B,OAAO,QAAQ,QAAQ,QAAQ,YAAY,UAgCrE;AAED,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EACL,SAAS,EACT,aAAa,EACb,kBAAkB,EAClB,YAAY,GACb,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC/E,YAAY,EACV,WAAW,EACX,WAAW,EACX,OAAO,EACP,YAAY,EACZ,UAAU,EACV,aAAa,EACb,mBAAmB,GACpB,MAAM,SAAS,CAAC"}
package/Auth/index.js ADDED
@@ -0,0 +1,128 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.verifyAuthToken = exports.generateStyleToken = exports.createAuthToken = exports.NotRoleError = exports.NotPermissionError = exports.NotLoginError = exports.AuthError = exports.AUTH_MIDDLEWARE_FLAG = exports.isSessionExpired = exports.getAuthOptions = exports.AuthUtil = void 0;
4
+ exports.matchesIgnore = matchesIgnore;
5
+ exports.isGloballyIgnored = isGloballyIgnored;
6
+ exports.default = Auth;
7
+ const context_1 = require("./context");
8
+ const AuthUtil_1 = require("./AuthUtil");
9
+ const flag_1 = require("./flag");
10
+ const DEFAULT_IGNORE_PATHS = [
11
+ "/.well-known",
12
+ "/favicon.ico",
13
+ "/robots.txt",
14
+ "/sitemap.xml",
15
+ ];
16
+ function normalizeIgnorePath(p) {
17
+ if (!p)
18
+ return "/";
19
+ let s = p.trim();
20
+ if (!s.startsWith("/"))
21
+ s = `/${s}`;
22
+ if (s.length > 1 && s.endsWith("/") && !s.endsWith("*/") && !s.endsWith("**/")) {
23
+ s = s.slice(0, -1);
24
+ }
25
+ return s;
26
+ }
27
+ function matchesIgnore(path, ignore = []) {
28
+ const requestPath = normalizeIgnorePath(path);
29
+ const list = [...DEFAULT_IGNORE_PATHS, ...ignore].map(normalizeIgnorePath);
30
+ return list.some((pattern) => matchIgnorePattern(requestPath, pattern));
31
+ }
32
+ function matchIgnorePattern(requestPath, pattern) {
33
+ if (pattern.endsWith("/**")) {
34
+ const base = pattern.slice(0, -3);
35
+ if (!base || base === "/") {
36
+ return true;
37
+ }
38
+ return requestPath === base || requestPath.startsWith(`${base}/`);
39
+ }
40
+ if (pattern.endsWith("/*")) {
41
+ const base = pattern.slice(0, -2);
42
+ if (!requestPath.startsWith(`${base}/`))
43
+ return false;
44
+ const rest = requestPath.slice(base.length + 1);
45
+ return rest.length > 0 && !rest.includes("/");
46
+ }
47
+ if (pattern.endsWith("*") && !pattern.slice(0, -1).includes("*")) {
48
+ return requestPath.startsWith(pattern.slice(0, -1));
49
+ }
50
+ if (pattern.includes("*")) {
51
+ return globToRegExp(pattern).test(requestPath);
52
+ }
53
+ return requestPath === pattern || requestPath.startsWith(`${pattern}/`);
54
+ }
55
+ function globToRegExp(pattern) {
56
+ let i = 0;
57
+ let out = "^";
58
+ while (i < pattern.length) {
59
+ const ch = pattern[i];
60
+ if (ch === "*" && pattern[i + 1] === "*") {
61
+ out += ".*";
62
+ i += 2;
63
+ if (pattern[i] === "/")
64
+ i += 1;
65
+ continue;
66
+ }
67
+ if (ch === "*") {
68
+ out += "[^/]*";
69
+ i += 1;
70
+ continue;
71
+ }
72
+ if (".+^${}()|[]\\".includes(ch)) {
73
+ out += `\\${ch}`;
74
+ }
75
+ else {
76
+ out += ch;
77
+ }
78
+ i += 1;
79
+ }
80
+ out += "/?$";
81
+ return new RegExp(out);
82
+ }
83
+ function isGloballyIgnored(path) {
84
+ return matchesIgnore(path, (0, AuthUtil_1.getAuthOptions)().ignore ?? []);
85
+ }
86
+ function Auth(options = {}) {
87
+ (0, AuthUtil_1.configureAuth)(options);
88
+ const middleware = (req, _res, next) => {
89
+ if (req.method === "OPTIONS" || matchesIgnore(req.path, options.ignore)) {
90
+ return next();
91
+ }
92
+ const token = AuthUtil_1.AuthUtil.readTokenFromRequest(req);
93
+ void (async () => {
94
+ try {
95
+ const session = await AuthUtil_1.AuthUtil.loadSession(token, { touch: true });
96
+ context_1.authContext.run({
97
+ req,
98
+ token,
99
+ session,
100
+ }, () => next());
101
+ }
102
+ catch (err) {
103
+ next(err);
104
+ }
105
+ })();
106
+ };
107
+ Object.defineProperty(middleware, flag_1.AUTH_MIDDLEWARE_FLAG, {
108
+ value: true,
109
+ enumerable: false,
110
+ });
111
+ return middleware;
112
+ }
113
+ var AuthUtil_2 = require("./AuthUtil");
114
+ Object.defineProperty(exports, "AuthUtil", { enumerable: true, get: function () { return AuthUtil_2.AuthUtil; } });
115
+ Object.defineProperty(exports, "getAuthOptions", { enumerable: true, get: function () { return AuthUtil_2.getAuthOptions; } });
116
+ Object.defineProperty(exports, "isSessionExpired", { enumerable: true, get: function () { return AuthUtil_2.isSessionExpired; } });
117
+ var flag_2 = require("./flag");
118
+ Object.defineProperty(exports, "AUTH_MIDDLEWARE_FLAG", { enumerable: true, get: function () { return flag_2.AUTH_MIDDLEWARE_FLAG; } });
119
+ var errors_1 = require("./errors");
120
+ Object.defineProperty(exports, "AuthError", { enumerable: true, get: function () { return errors_1.AuthError; } });
121
+ Object.defineProperty(exports, "NotLoginError", { enumerable: true, get: function () { return errors_1.NotLoginError; } });
122
+ Object.defineProperty(exports, "NotPermissionError", { enumerable: true, get: function () { return errors_1.NotPermissionError; } });
123
+ Object.defineProperty(exports, "NotRoleError", { enumerable: true, get: function () { return errors_1.NotRoleError; } });
124
+ var token_1 = require("./token");
125
+ Object.defineProperty(exports, "createAuthToken", { enumerable: true, get: function () { return token_1.createAuthToken; } });
126
+ Object.defineProperty(exports, "generateStyleToken", { enumerable: true, get: function () { return token_1.generateStyleToken; } });
127
+ Object.defineProperty(exports, "verifyAuthToken", { enumerable: true, get: function () { return token_1.verifyAuthToken; } });
128
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/framework/Auth/index.ts"],"names":[],"mappings":";;;AAgCA,sCAKC;AAgED,8CAEC;AAkBD,uBAmCC;AA3JD,uCAAwC;AACxC,yCAAqE;AACrE,iCAA8C;AAI9C,MAAM,oBAAoB,GAAG;IAC3B,cAAc;IACd,cAAc;IACd,aAAa;IACb,cAAc;CACf,CAAC;AAEF,SAAS,mBAAmB,CAAC,CAAS;IACpC,IAAI,CAAC,CAAC;QAAE,OAAO,GAAG,CAAC;IACnB,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACjB,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;IAEpC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/E,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACrB,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AASD,SAAgB,aAAa,CAAC,IAAY,EAAE,SAAmB,EAAE;IAC/D,MAAM,WAAW,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC9C,MAAM,IAAI,GAAG,CAAC,GAAG,oBAAoB,EAAE,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IAE3E,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,kBAAkB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;AAC1E,CAAC;AAED,SAAS,kBAAkB,CAAC,WAAmB,EAAE,OAAe;IAE9D,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAClC,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,WAAW,KAAK,IAAI,IAAI,WAAW,CAAC,UAAU,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;IACpE,CAAC;IAGD,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAClC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,IAAI,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;QACtD,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAChD,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAChD,CAAC;IAGD,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACjE,OAAO,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD,CAAC;IAGD,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1B,OAAO,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACjD,CAAC;IAGD,OAAO,WAAW,KAAK,OAAO,IAAI,WAAW,CAAC,UAAU,CAAC,GAAG,OAAO,GAAG,CAAC,CAAC;AAC1E,CAAC;AAGD,SAAS,YAAY,CAAC,OAAe;IACnC,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,IAAI,GAAG,GAAG,GAAG,CAAC;IACd,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;QAC1B,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC;QACvB,IAAI,EAAE,KAAK,GAAG,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YACzC,GAAG,IAAI,IAAI,CAAC;YACZ,CAAC,IAAI,CAAC,CAAC;YAEP,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG;gBAAE,CAAC,IAAI,CAAC,CAAC;YAC/B,SAAS;QACX,CAAC;QACD,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACf,GAAG,IAAI,OAAO,CAAC;YACf,CAAC,IAAI,CAAC,CAAC;YACP,SAAS;QACX,CAAC;QACD,IAAI,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;YACjC,GAAG,IAAI,KAAK,EAAE,EAAE,CAAC;QACnB,CAAC;aAAM,CAAC;YACN,GAAG,IAAI,EAAE,CAAC;QACZ,CAAC;QACD,CAAC,IAAI,CAAC,CAAC;IACT,CAAC;IACD,GAAG,IAAI,KAAK,CAAC;IACb,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC;AAGD,SAAgB,iBAAiB,CAAC,IAAY;IAC5C,OAAO,aAAa,CAAC,IAAI,EAAE,IAAA,yBAAc,GAAE,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;AAC5D,CAAC;AAkBD,SAAwB,IAAI,CAAC,UAAuB,EAAE;IACpD,IAAA,wBAAa,EAAC,OAAO,CAAC,CAAC;IAEvB,MAAM,UAAU,GAAG,CAAC,GAAY,EAAE,IAAc,EAAE,IAAkB,EAAE,EAAE;QAEtE,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACxE,OAAO,IAAI,EAAE,CAAC;QAChB,CAAC;QAED,MAAM,KAAK,GAAG,mBAAQ,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;QAEjD,KAAK,CAAC,KAAK,IAAI,EAAE;YACf,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,mBAAQ,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;gBAEnE,qBAAW,CAAC,GAAG,CACb;oBACE,GAAG;oBACH,KAAK;oBACL,OAAO;iBACR,EACD,GAAG,EAAE,CAAC,IAAI,EAAE,CACb,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,GAAG,CAAC,CAAC;YACZ,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;IACP,CAAC,CAAC;IAEF,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,2BAAoB,EAAE;QACtD,KAAK,EAAE,IAAI;QACX,UAAU,EAAE,KAAK;KAClB,CAAC,CAAC;IAEH,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,uCAAwE;AAA/D,oGAAA,QAAQ,OAAA;AAAE,0GAAA,cAAc,OAAA;AAAE,4GAAA,gBAAgB,OAAA;AACnD,+BAA8C;AAArC,4GAAA,oBAAoB,OAAA;AAC7B,mCAKkB;AAJhB,mGAAA,SAAS,OAAA;AACT,uGAAA,aAAa,OAAA;AACb,4GAAA,kBAAkB,OAAA;AAClB,sGAAA,YAAY,OAAA;AAEd,iCAA+E;AAAtE,wGAAA,eAAe,OAAA;AAAE,2GAAA,kBAAkB,OAAA;AAAE,wGAAA,eAAe,OAAA"}
@@ -0,0 +1,47 @@
1
+ import type { AuthSession, LoginId } from "./types";
2
+ export interface SessionStore {
3
+ set(session: AuthSession): Promise<void>;
4
+ getByToken(token: string): Promise<AuthSession | null>;
5
+ removeByToken(token: string): Promise<void>;
6
+ removeByLoginId(loginId: LoginId): Promise<void>;
7
+ listTokensByLoginId(loginId: LoginId): Promise<string[]>;
8
+ touch(session: AuthSession): Promise<void>;
9
+ }
10
+ export declare class MemoryStore implements SessionStore {
11
+ private tokenMap;
12
+ private loginIdMap;
13
+ set(session: AuthSession): Promise<void>;
14
+ getByToken(token: string): Promise<AuthSession | null>;
15
+ removeByToken(token: string): Promise<void>;
16
+ removeByLoginId(loginId: LoginId): Promise<void>;
17
+ listTokensByLoginId(loginId: LoginId): Promise<string[]>;
18
+ touch(session: AuthSession): Promise<void>;
19
+ }
20
+ export type RedisLike = {
21
+ setJSON(key: string, value: unknown, ttlSeconds?: number): Promise<void>;
22
+ getJSON<T = unknown>(key: string): Promise<T | null>;
23
+ del(...keys: string[]): Promise<number>;
24
+ sAdd(key: string, ...members: string[]): Promise<number>;
25
+ sMembers(key: string): Promise<string[]>;
26
+ sRem(key: string, ...members: string[]): Promise<number>;
27
+ expire?(key: string, ttlSeconds: number): Promise<boolean>;
28
+ ttl?(key: string): Promise<number>;
29
+ };
30
+ export declare class RedisStore implements SessionStore {
31
+ private readonly redis;
32
+ constructor(redis: RedisLike);
33
+ private tokenKey;
34
+ private uidKey;
35
+ private ttlSeconds;
36
+ private refreshUidExpire;
37
+ set(session: AuthSession): Promise<void>;
38
+ getByToken(token: string): Promise<AuthSession | null>;
39
+ removeByToken(token: string): Promise<void>;
40
+ private pruneUidTokens;
41
+ removeByLoginId(loginId: LoginId): Promise<void>;
42
+ listTokensByLoginId(loginId: LoginId): Promise<string[]>;
43
+ touch(session: AuthSession): Promise<void>;
44
+ }
45
+ export declare function getSessionStore(): SessionStore;
46
+ export declare function setSessionStore(store: SessionStore): void;
47
+ //# sourceMappingURL=store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../../src/framework/Auth/store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAGpD,MAAM,WAAW,YAAY;IAC3B,GAAG,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IACvD,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjD,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAEzD,KAAK,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5C;AAOD,qBAAa,WAAY,YAAW,YAAY;IAC9C,OAAO,CAAC,QAAQ,CAAkC;IAClD,OAAO,CAAC,UAAU,CAAkC;IAE9C,GAAG,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAWxC,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAItD,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAY3C,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAUhD,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAKxD,KAAK,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;CAGjD;AAGD,MAAM,MAAM,SAAS,GAAG;IACtB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzE,OAAO,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IACrD,GAAG,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACxC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACzD,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACzC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACzD,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE3D,GAAG,CAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACpC,CAAC;AAQF,qBAAa,UAAW,YAAW,YAAY;IACjC,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAAL,KAAK,EAAE,SAAS;IAE7C,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,UAAU;YAYJ,gBAAgB;IAcxB,GAAG,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAQxC,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAItD,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAYnC,cAAc;IAqBtB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAUhD,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAIxD,KAAK,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;CAKjD;AAKD,wBAAgB,eAAe,IAAI,YAAY,CAE9C;AAGD,wBAAgB,eAAe,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAEzD"}