@typetron/framework 0.3.17 → 0.3.18

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 (428) hide show
  1. package/Cache/Cache.d.ts +9 -0
  2. package/Cache/Cache.d.ts.map +1 -0
  3. package/Cache/Cache.js +7 -0
  4. package/Cache/Cache.js.map +1 -0
  5. package/Cache/CacheLoader.d.ts +8 -0
  6. package/Cache/CacheLoader.d.ts.map +1 -0
  7. package/Cache/CacheLoader.js +55 -0
  8. package/Cache/CacheLoader.js.map +1 -0
  9. package/Cache/Consumers/Cache.d.ts +18 -0
  10. package/Cache/Consumers/Cache.d.ts.map +1 -0
  11. package/Cache/Consumers/Cache.js +99 -0
  12. package/Cache/Consumers/Cache.js.map +1 -0
  13. package/Cache/Contracts/CacheInterface.d.ts +14 -0
  14. package/Cache/Contracts/CacheInterface.d.ts.map +1 -0
  15. package/Cache/Contracts/CacheInterface.js +3 -0
  16. package/Cache/Contracts/CacheInterface.js.map +1 -0
  17. package/Cache/Contracts/EngineInterface.d.ts +8 -0
  18. package/Cache/Contracts/EngineInterface.d.ts.map +1 -0
  19. package/Cache/Contracts/EngineInterface.js +3 -0
  20. package/Cache/Contracts/EngineInterface.js.map +1 -0
  21. package/Cache/Contracts/ServiceInterface.d.ts +8 -0
  22. package/Cache/Contracts/ServiceInterface.d.ts.map +1 -0
  23. package/Cache/Contracts/ServiceInterface.js +3 -0
  24. package/Cache/Contracts/ServiceInterface.js.map +1 -0
  25. package/Cache/Engines/DatabaseCache.d.ts +11 -0
  26. package/Cache/Engines/DatabaseCache.d.ts.map +1 -0
  27. package/Cache/Engines/DatabaseCache.js +40 -0
  28. package/Cache/Engines/DatabaseCache.js.map +1 -0
  29. package/Cache/Engines/FileCache.d.ts +22 -0
  30. package/Cache/Engines/FileCache.d.ts.map +1 -0
  31. package/Cache/Engines/FileCache.js +107 -0
  32. package/Cache/Engines/FileCache.js.map +1 -0
  33. package/Cache/Services/DatabaseCacheService.d.ts +13 -0
  34. package/Cache/Services/DatabaseCacheService.d.ts.map +1 -0
  35. package/Cache/Services/DatabaseCacheService.js +74 -0
  36. package/Cache/Services/DatabaseCacheService.js.map +1 -0
  37. package/Cache/Services/FileCacheService.d.ts +13 -0
  38. package/Cache/Services/FileCacheService.d.ts.map +1 -0
  39. package/Cache/Services/FileCacheService.js +60 -0
  40. package/Cache/Services/FileCacheService.js.map +1 -0
  41. package/Cache/Stores/DatabaseStore.d.ts +16 -0
  42. package/Cache/Stores/DatabaseStore.d.ts.map +1 -0
  43. package/Cache/Stores/DatabaseStore.js +208 -0
  44. package/Cache/Stores/DatabaseStore.js.map +1 -0
  45. package/Cache/Stores/FileStore.d.ts +16 -0
  46. package/Cache/Stores/FileStore.d.ts.map +1 -0
  47. package/Cache/Stores/FileStore.js +63 -0
  48. package/Cache/Stores/FileStore.js.map +1 -0
  49. package/Cache/Stores/MemoryStore.d.ts +13 -0
  50. package/Cache/Stores/MemoryStore.d.ts.map +1 -0
  51. package/Cache/Stores/MemoryStore.js +60 -0
  52. package/Cache/Stores/MemoryStore.js.map +1 -0
  53. package/Cache/index.d.ts +6 -0
  54. package/Cache/index.d.ts.map +1 -0
  55. package/Cache/index.js +18 -0
  56. package/Cache/index.js.map +1 -0
  57. package/Cache/types.d.ts +5 -0
  58. package/Cache/types.d.ts.map +1 -0
  59. package/Cache/types.js +3 -0
  60. package/Cache/types.js.map +1 -0
  61. package/Container/ClassResolver.d.ts +8 -8
  62. package/Container/ClassResolver.d.ts.map +1 -1
  63. package/Container/ClassResolver.js +89 -87
  64. package/Container/ClassResolver.js.map +1 -1
  65. package/Container/Container.d.ts +24 -24
  66. package/Container/Container.d.ts.map +1 -1
  67. package/Container/Container.js +118 -118
  68. package/Container/Container.js.map +1 -1
  69. package/Container/Contracts.d.ts +2 -2
  70. package/Container/Contracts.js +2 -2
  71. package/Container/Decorators.d.ts +4 -4
  72. package/Container/Decorators.js +21 -21
  73. package/Container/Metadata.d.ts +20 -20
  74. package/Container/Metadata.js +18 -18
  75. package/Container/Resolver.d.ts +18 -18
  76. package/Container/Resolver.js +15 -15
  77. package/Container/index.d.ts +5 -5
  78. package/Container/index.js +17 -17
  79. package/Database/Clauses/Where.js +1 -1
  80. package/Database/Connection.d.ts +20 -20
  81. package/Database/Connection.js +42 -42
  82. package/Database/Decorators.d.ts +36 -36
  83. package/Database/Decorators.js +116 -116
  84. package/Database/Drivers/DatabaseDriver.d.ts +28 -28
  85. package/Database/Drivers/DatabaseDriver.js +6 -6
  86. package/Database/Drivers/MySQL/Alter/index.d.ts +33 -33
  87. package/Database/Drivers/MySQL/Alter/index.js +61 -61
  88. package/Database/Drivers/MySQL/ColumnDefinition.d.ts +6 -6
  89. package/Database/Drivers/MySQL/ColumnDefinition.js +17 -17
  90. package/Database/Drivers/MySQL/Create.d.ts +9 -9
  91. package/Database/Drivers/MySQL/Create.js +37 -37
  92. package/Database/Drivers/MySQL/MysqlDriver.d.ts +41 -41
  93. package/Database/Drivers/MySQL/MysqlDriver.js +76 -76
  94. package/Database/Drivers/MySQL/Schema.d.ts +15 -15
  95. package/Database/Drivers/MySQL/Schema.js +65 -65
  96. package/Database/Drivers/MySQL/index.d.ts +1 -1
  97. package/Database/Drivers/MySQL/index.js +15 -15
  98. package/Database/Drivers/SQL/Schema.d.ts +6 -6
  99. package/Database/Drivers/SQL/Schema.js +57 -57
  100. package/Database/Drivers/SQL/Statements/Alter.d.ts +7 -7
  101. package/Database/Drivers/SQL/Statements/Alter.js +17 -17
  102. package/Database/Drivers/SQL/Statements/BaseStatement.d.ts +12 -12
  103. package/Database/Drivers/SQL/Statements/BaseStatement.js +46 -46
  104. package/Database/Drivers/SQL/Statements/Delete.d.ts +5 -5
  105. package/Database/Drivers/SQL/Statements/Delete.js +16 -16
  106. package/Database/Drivers/SQL/Statements/Insert.d.ts +6 -6
  107. package/Database/Drivers/SQL/Statements/Insert.js +23 -23
  108. package/Database/Drivers/SQL/Statements/Select.d.ts +7 -7
  109. package/Database/Drivers/SQL/Statements/Select.js +44 -44
  110. package/Database/Drivers/SQL/Statements/Update.d.ts +6 -6
  111. package/Database/Drivers/SQL/Statements/Update.js +27 -27
  112. package/Database/Drivers/SQL/index.d.ts +8 -8
  113. package/Database/Drivers/SQL/index.js +2 -2
  114. package/Database/Drivers/SQLite/Create.d.ts +9 -9
  115. package/Database/Drivers/SQLite/Create.js +36 -36
  116. package/Database/Drivers/SQLite/Schema.d.ts +15 -15
  117. package/Database/Drivers/SQLite/Schema.js +44 -44
  118. package/Database/Drivers/SQLite/SqliteDriver.d.ts +42 -42
  119. package/Database/Drivers/SQLite/SqliteDriver.d.ts.map +1 -1
  120. package/Database/Drivers/SQLite/SqliteDriver.js +102 -102
  121. package/Database/Drivers/SQLite/SqliteDriver.js.map +1 -1
  122. package/Database/Drivers/SQLite/index.d.ts +2 -2
  123. package/Database/Drivers/SQLite/index.js +26 -26
  124. package/Database/Drivers/SchemaContract.d.ts +8 -8
  125. package/Database/Drivers/SchemaContract.js +9 -9
  126. package/Database/Drivers/Statement.d.ts +9 -9
  127. package/Database/Drivers/Statement.js +15 -15
  128. package/Database/Drivers/index.d.ts +4 -4
  129. package/Database/Drivers/index.js +16 -16
  130. package/Database/Entity.d.ts +64 -64
  131. package/Database/Entity.d.ts.map +1 -1
  132. package/Database/Entity.js +252 -252
  133. package/Database/Entity.js.map +1 -1
  134. package/Database/EntityNotFoundError.d.ts +5 -5
  135. package/Database/EntityNotFoundError.js +10 -10
  136. package/Database/EntityProxyHandler.d.ts +5 -5
  137. package/Database/EntityProxyHandler.js +30 -30
  138. package/Database/EntityQuery.d.ts +28 -28
  139. package/Database/EntityQuery.js +156 -156
  140. package/Database/Expression.d.ts +3 -3
  141. package/Database/Expression.js +6 -6
  142. package/Database/Fields.d.ts +155 -155
  143. package/Database/Fields.js +548 -548
  144. package/Database/Helpers.d.ts +1 -1
  145. package/Database/Helpers.js +16 -16
  146. package/Database/List.d.ts +24 -24
  147. package/Database/List.d.ts.map +1 -1
  148. package/Database/List.js +49 -49
  149. package/Database/List.js.map +1 -1
  150. package/Database/Migrations/Migration.d.ts +7 -7
  151. package/Database/Migrations/Migration.js +9 -9
  152. package/Database/Migrations/MigrationHistory.d.ts +8 -8
  153. package/Database/Migrations/MigrationHistory.js +38 -38
  154. package/Database/Migrations/Migrator.d.ts +20 -20
  155. package/Database/Migrations/Migrator.js +118 -118
  156. package/Database/Migrations/index.d.ts +3 -3
  157. package/Database/Migrations/index.js +15 -15
  158. package/Database/ORM/BaseRelationship.d.ts +7 -7
  159. package/Database/ORM/BaseRelationship.js +10 -10
  160. package/Database/Query.d.ts +62 -62
  161. package/Database/Query.d.ts.map +1 -1
  162. package/Database/Query.js +265 -264
  163. package/Database/Query.js.map +1 -1
  164. package/Database/Seeders/Seeder.d.ts +3 -3
  165. package/Database/Seeders/Seeder.js +6 -6
  166. package/Database/Seeders/SeederManager.d.ts +8 -8
  167. package/Database/Seeders/SeederManager.js +24 -24
  168. package/Database/Seeders/index.d.ts +2 -2
  169. package/Database/Seeders/index.js +14 -14
  170. package/Database/StringExpression.d.ts +6 -6
  171. package/Database/StringExpression.js +14 -14
  172. package/Database/Types.d.ts +117 -117
  173. package/Database/Types.d.ts.map +1 -1
  174. package/Database/Types.js +94 -94
  175. package/Database/Types.js.map +1 -1
  176. package/Database/index.d.ts +20 -20
  177. package/Database/index.js +20 -20
  178. package/Encryption/index.d.ts +15 -15
  179. package/Encryption/index.js +53 -53
  180. package/Forms/Decorators.d.ts +6 -6
  181. package/Forms/Decorators.js +28 -28
  182. package/Forms/Form.d.ts +17 -17
  183. package/Forms/Form.js +69 -69
  184. package/Forms/FormFields.d.ts +9 -9
  185. package/Forms/FormFields.js +35 -35
  186. package/Forms/index.d.ts +3 -3
  187. package/Forms/index.js +15 -15
  188. package/Framework/App.d.ts +6 -6
  189. package/Framework/App.js +9 -9
  190. package/Framework/Application.d.ts +17 -17
  191. package/Framework/Application.d.ts.map +1 -1
  192. package/Framework/Application.js +94 -93
  193. package/Framework/Application.js.map +1 -1
  194. package/Framework/Auth/Auth.d.ts +24 -24
  195. package/Framework/Auth/Auth.js +108 -108
  196. package/Framework/Auth/Authenticatable.d.ts +6 -6
  197. package/Framework/Auth/Authenticatable.js +2 -2
  198. package/Framework/Auth/User.d.ts +10 -10
  199. package/Framework/Auth/User.js +37 -37
  200. package/Framework/Auth/index.d.ts +5 -5
  201. package/Framework/Auth/index.d.ts.map +1 -1
  202. package/Framework/Auth/index.js +45 -45
  203. package/Framework/Auth/index.js.map +1 -1
  204. package/Framework/Config/AppConfig.d.ts +18 -18
  205. package/Framework/Config/AppConfig.js +11 -11
  206. package/Framework/Config/AuthConfig.d.ts +8 -8
  207. package/Framework/Config/AuthConfig.js +7 -7
  208. package/Framework/Config/BaseConfig.d.ts +6 -6
  209. package/Framework/Config/BaseConfig.js +12 -12
  210. package/Framework/Config/CacheConfig.d.ts +16 -0
  211. package/Framework/Config/CacheConfig.d.ts.map +1 -0
  212. package/Framework/Config/CacheConfig.js +23 -0
  213. package/Framework/Config/CacheConfig.js.map +1 -0
  214. package/Framework/Config/DatabaseConfig.d.ts +10 -10
  215. package/Framework/Config/DatabaseConfig.js +25 -25
  216. package/Framework/Config/index.d.ts +5 -4
  217. package/Framework/Config/index.d.ts.map +1 -1
  218. package/Framework/Config/index.js +17 -16
  219. package/Framework/Config/index.js.map +1 -1
  220. package/Framework/Middleware/AuthMiddleware.d.ts +7 -7
  221. package/Framework/Middleware/AuthMiddleware.js +63 -63
  222. package/Framework/Middleware/CorsMiddleware.d.ts +6 -6
  223. package/Framework/Middleware/CorsMiddleware.js +43 -43
  224. package/Framework/Middleware/StaticAssetsMiddleware.d.ts +14 -14
  225. package/Framework/Middleware/StaticAssetsMiddleware.js +104 -104
  226. package/Framework/Middleware/index.d.ts +2 -2
  227. package/Framework/Middleware/index.js +14 -14
  228. package/Framework/Provider.d.ts +5 -5
  229. package/Framework/Provider.js +20 -20
  230. package/Framework/Providers/CacheProvider.d.ts +7 -0
  231. package/Framework/Providers/CacheProvider.d.ts.map +1 -0
  232. package/Framework/Providers/CacheProvider.js +39 -0
  233. package/Framework/Providers/CacheProvider.js.map +1 -0
  234. package/Framework/Providers/DatabaseProvider.d.ts +9 -9
  235. package/Framework/Providers/DatabaseProvider.js +63 -63
  236. package/Framework/Providers/WebsocketsProvider.d.ts +12 -12
  237. package/Framework/Providers/WebsocketsProvider.js +122 -122
  238. package/Framework/Resolvers/AuthResolver.d.ts +5 -5
  239. package/Framework/Resolvers/AuthResolver.js +14 -14
  240. package/Framework/Resolvers/EntityResolver.d.ts +9 -9
  241. package/Framework/Resolvers/EntityResolver.js +40 -40
  242. package/Framework/Resolvers/FormResolver.d.ts +9 -9
  243. package/Framework/Resolvers/FormResolver.js +32 -32
  244. package/Framework/RootDir.d.ts +2 -2
  245. package/Framework/RootDir.js +6 -6
  246. package/Framework/index.d.ts +7 -6
  247. package/Framework/index.d.ts.map +1 -1
  248. package/Framework/index.js +19 -18
  249. package/Framework/index.js.map +1 -1
  250. package/Models/Model.d.ts +9 -9
  251. package/Models/Model.js +35 -35
  252. package/Models/index.d.ts +21 -21
  253. package/Models/index.d.ts.map +1 -1
  254. package/Models/index.js +58 -58
  255. package/Models/index.js.map +1 -1
  256. package/Router/BaseController.d.ts +4 -4
  257. package/Router/BaseController.js +20 -20
  258. package/Router/Decorators.d.ts +21 -21
  259. package/Router/Decorators.js +170 -170
  260. package/Router/Guard.d.ts +4 -4
  261. package/Router/Guard.js +10 -10
  262. package/Router/Http/Contracts.d.ts +3 -3
  263. package/Router/Http/Contracts.js +2 -2
  264. package/Router/Http/ErrorHandler.d.ts +9 -9
  265. package/Router/Http/ErrorHandler.js +51 -51
  266. package/Router/Http/ErrorHandlerInterface.d.ts +5 -5
  267. package/Router/Http/ErrorHandlerInterface.js +6 -6
  268. package/Router/Http/Errors/HttpError.d.ts +7 -7
  269. package/Router/Http/Errors/HttpError.js +15 -15
  270. package/Router/Http/Handler.d.ts +15 -15
  271. package/Router/Http/Handler.js +131 -131
  272. package/Router/Http/Request.d.ts +22 -22
  273. package/Router/Http/Request.js +151 -151
  274. package/Router/Http/Response.d.ts +17 -17
  275. package/Router/Http/Response.js +51 -51
  276. package/Router/Http/index.d.ts +83 -83
  277. package/Router/Http/index.js +99 -99
  278. package/Router/Metadata.d.ts +31 -31
  279. package/Router/Metadata.js +25 -25
  280. package/Router/Middleware.d.ts +5 -5
  281. package/Router/Middleware.js +2 -2
  282. package/Router/Route.d.ts +23 -23
  283. package/Router/Route.js +110 -110
  284. package/Router/RouteNotFoundError.d.ts +3 -3
  285. package/Router/RouteNotFoundError.js +9 -9
  286. package/Router/Router.d.ts +12 -12
  287. package/Router/Router.js +32 -32
  288. package/Router/Websockets/Handler.d.ts +12 -12
  289. package/Router/Websockets/Handler.js +59 -59
  290. package/Router/Websockets/WebsocketEvent.d.ts +15 -15
  291. package/Router/Websockets/WebsocketEvent.js +53 -53
  292. package/Router/Websockets/index.d.ts +16 -16
  293. package/Router/Websockets/index.d.ts.map +1 -1
  294. package/Router/Websockets/index.js +57 -57
  295. package/Router/Websockets/index.js.map +1 -1
  296. package/Router/Websockets/types.d.ts +20 -20
  297. package/Router/Websockets/types.js +8 -8
  298. package/Router/index.d.ts +6 -6
  299. package/Router/index.js +18 -18
  300. package/Storage/File.d.ts +11 -11
  301. package/Storage/File.js +46 -46
  302. package/Storage/Image.d.ts +3 -3
  303. package/Storage/Image.js +7 -7
  304. package/Storage/InvalidImage.d.ts +3 -3
  305. package/Storage/InvalidImage.js +7 -7
  306. package/Storage/Storage.d.ts +13 -12
  307. package/Storage/Storage.d.ts.map +1 -1
  308. package/Storage/Storage.js +104 -110
  309. package/Storage/Storage.js.map +1 -1
  310. package/Storage/index.d.ts +4 -4
  311. package/Storage/index.js +16 -16
  312. package/Storage/utils.d.ts +5 -5
  313. package/Storage/utils.js +20 -20
  314. package/Support/Array.d.ts +28 -28
  315. package/Support/Array.d.ts.map +1 -1
  316. package/Support/Array.js +108 -108
  317. package/Support/Array.js.map +1 -1
  318. package/Support/Math.d.ts +6 -6
  319. package/Support/Math.js +7 -7
  320. package/Support/Metadata.d.ts +14 -14
  321. package/Support/Metadata.js +20 -20
  322. package/Support/String.d.ts +11 -11
  323. package/Support/String.js +23 -23
  324. package/Support/index.d.ts +14 -13
  325. package/Support/index.d.ts.map +1 -1
  326. package/Support/index.js +6 -5
  327. package/Support/index.js.map +1 -1
  328. package/Support/utils.d.ts +2 -0
  329. package/Support/utils.d.ts.map +1 -0
  330. package/Support/utils.js +13 -0
  331. package/Support/utils.js.map +1 -0
  332. package/Testing/TestCase.d.ts +32 -32
  333. package/Testing/TestCase.js +130 -130
  334. package/Validation/Rule.d.ts +6 -6
  335. package/Validation/Rule.js +6 -6
  336. package/Validation/RuleInterface.d.ts +6 -6
  337. package/Validation/RuleInterface.js +2 -2
  338. package/Validation/Rules/Email.d.ts +3 -3
  339. package/Validation/Rules/Email.js +20 -20
  340. package/Validation/Rules/FileExtension.d.ts +3 -3
  341. package/Validation/Rules/FileExtension.js +22 -22
  342. package/Validation/Rules/MaxLength.d.ts +3 -3
  343. package/Validation/Rules/MaxLength.js +19 -19
  344. package/Validation/Rules/MinLength.d.ts +3 -3
  345. package/Validation/Rules/MinLength.js +19 -19
  346. package/Validation/Rules/Optional.d.ts +3 -3
  347. package/Validation/Rules/Optional.js +19 -19
  348. package/Validation/Rules/Required.d.ts +3 -3
  349. package/Validation/Rules/Required.js +26 -26
  350. package/Validation/Validator.d.ts +11 -11
  351. package/Validation/Validator.js +10 -10
  352. package/Validation/index.d.ts +9 -9
  353. package/Validation/index.js +21 -21
  354. package/package.json +9 -5
  355. package/tests/Cache/DatabaseStoreTest.d.ts +2 -0
  356. package/tests/Cache/DatabaseStoreTest.d.ts.map +1 -0
  357. package/tests/Cache/DatabaseStoreTest.js +138 -0
  358. package/tests/Cache/DatabaseStoreTest.js.map +1 -0
  359. package/tests/Cache/FileStoreTest.d.ts +2 -0
  360. package/tests/Cache/FileStoreTest.d.ts.map +1 -0
  361. package/tests/Cache/FileStoreTest.js +142 -0
  362. package/tests/Cache/FileStoreTest.js.map +1 -0
  363. package/tests/Cache/MemoryStoreTest.d.ts +2 -0
  364. package/tests/Cache/MemoryStoreTest.d.ts.map +1 -0
  365. package/tests/Cache/MemoryStoreTest.js +141 -0
  366. package/tests/Cache/MemoryStoreTest.js.map +1 -0
  367. package/tests/Container/ContainerTest.d.ts +1 -1
  368. package/tests/Container/ContainerTest.js +395 -395
  369. package/tests/Database/Drivers/MySQL/AlterTest.d.ts +1 -1
  370. package/tests/Database/Drivers/MySQL/AlterTest.js +135 -135
  371. package/tests/Database/Drivers/MySQL/CreateTest.d.ts +1 -1
  372. package/tests/Database/Drivers/MySQL/CreateTest.js +57 -57
  373. package/tests/Database/Drivers/MysqlDriverTest.d.ts +1 -1
  374. package/tests/Database/Drivers/MysqlDriverTest.js +149 -149
  375. package/tests/Database/Drivers/SqliteDriverTest.d.ts +1 -1
  376. package/tests/Database/Drivers/SqliteDriverTest.js +135 -135
  377. package/tests/Database/Entities/Article.d.ts +10 -10
  378. package/tests/Database/Entities/Article.js +42 -42
  379. package/tests/Database/Entities/Profile.d.ts +10 -10
  380. package/tests/Database/Entities/Profile.js +38 -38
  381. package/tests/Database/Entities/Role.d.ts +8 -8
  382. package/tests/Database/Entities/Role.js +30 -30
  383. package/tests/Database/Entities/User.d.ts +15 -15
  384. package/tests/Database/Entities/User.js +57 -57
  385. package/tests/Database/EntityRelationshipsTest.d.ts +1 -1
  386. package/tests/Database/EntityRelationshipsTest.js +552 -552
  387. package/tests/Database/EntityTest.d.ts +1 -1
  388. package/tests/Database/EntityTest.js +233 -233
  389. package/tests/Database/Migrations/RunnerTest.d.ts +1 -1
  390. package/tests/Database/Migrations/RunnerTest.js +111 -111
  391. package/tests/Database/Migrations/migrations/1.createUserTable.d.ts +5 -5
  392. package/tests/Database/Migrations/migrations/1.createUserTable.js +13 -13
  393. package/tests/Database/Migrations/migrations/2.createArticlesTable.d.ts +5 -5
  394. package/tests/Database/Migrations/migrations/2.createArticlesTable.js +13 -13
  395. package/tests/Database/QueryTest.d.ts +1 -1
  396. package/tests/Database/QueryTest.js +622 -622
  397. package/tests/Database/SchemaTest.d.ts +1 -1
  398. package/tests/Database/SchemaTest.js +45 -45
  399. package/tests/Database/Seeders/RunnerTest.d.ts +1 -1
  400. package/tests/Database/Seeders/RunnerTest.js +43 -43
  401. package/tests/Database/Seeders/seeders/RandomSeeder.d.ts +4 -4
  402. package/tests/Database/Seeders/seeders/RandomSeeder.js +13 -13
  403. package/tests/Database/utils.d.ts +5 -5
  404. package/tests/Database/utils.js +18 -18
  405. package/tests/Forms/FormsTest.d.ts +1 -1
  406. package/tests/Forms/FormsTest.js +79 -79
  407. package/tests/Framework/Middleware/StaticAssetsMiddlewareTest.d.ts +1 -1
  408. package/tests/Framework/Middleware/StaticAssetsMiddlewareTest.js +165 -165
  409. package/tests/Framework/Resolvers/EntityResolverTest.d.ts +1 -1
  410. package/tests/Framework/Resolvers/EntityResolverTest.js +59 -59
  411. package/tests/Model/ModelTest.d.ts +1 -1
  412. package/tests/Model/ModelTest.js +233 -233
  413. package/tests/Router/HttpHandlerTest.d.ts +1 -1
  414. package/tests/Router/HttpHandlerTest.js +36 -36
  415. package/tests/Router/WebSocketsHandlerTest.d.ts +1 -1
  416. package/tests/Router/WebSocketsHandlerTest.js +35 -35
  417. package/tests/Support/ArrayTest.d.ts +1 -1
  418. package/tests/Support/ArrayTest.js +258 -258
  419. package/tests/Support/StringTest.d.ts +1 -1
  420. package/tests/Support/StringTest.js +38 -38
  421. package/tests/Validation/RulesTest.d.ts +1 -1
  422. package/tests/Validation/RulesTest.js +67 -67
  423. package/Database/Drivers/SQL/Statements/Create.d.ts +0 -7
  424. package/Database/Drivers/SQL/Statements/Create.d.ts.map +0 -1
  425. package/Database/Drivers/SQL/Statements/Create.js +0 -22
  426. package/Database/Drivers/SQL/Statements/Create.js.map +0 -1
  427. package/LICENSE.md +0 -21
  428. package/Readme.md +0 -123
@@ -1,94 +1,95 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.Application = void 0;
7
- const Container_1 = require("../Container");
8
- const App_1 = require("./App");
9
- const Config_1 = require("./Config");
10
- const FormResolver_1 = require("./Resolvers/FormResolver");
11
- const EntityResolver_1 = require("./Resolvers/EntityResolver");
12
- const RootDir_1 = require("./RootDir");
13
- const StaticAssetsMiddleware_1 = require("./Middleware/StaticAssetsMiddleware");
14
- const Http_1 = require("../Router/Http");
15
- const Storage_1 = require("../Storage");
16
- const AuthResolver_1 = require("./Resolvers/AuthResolver");
17
- const fs_1 = __importDefault(require("fs"));
18
- const path_1 = __importDefault(require("path"));
19
- const WebsocketsProvider_1 = require("./Providers/WebsocketsProvider");
20
- class Application extends Container_1.Container {
21
- constructor(directory, configDirectory = Application.defaultConfigDirectory) {
22
- super();
23
- this.directory = directory;
24
- this.configDirectory = configDirectory;
25
- this.config = new Map();
26
- Application.setInstance(this);
27
- this.set(Application, App_1.App.instance = this);
28
- this.set(Container_1.Container, this);
29
- this.set(RootDir_1.RootDir, directory);
30
- }
31
- static async create(directory, configDirectory = Application.defaultConfigDirectory) {
32
- const app = new this(fs_1.default.realpathSync.native(directory), configDirectory);
33
- await app.bootstrap();
34
- return app;
35
- }
36
- async startServer() {
37
- const httpHandler = this.get(Http_1.Handler);
38
- const appConfig = this.get(Config_1.AppConfig);
39
- if (appConfig.websocketsPort) {
40
- await this.registerProviders([WebsocketsProvider_1.WebsocketsProvider]);
41
- }
42
- return httpHandler.startServer(this);
43
- }
44
- async registerProviders(providers) {
45
- await Promise.all(providers.map(provider => {
46
- const instance = this.get(provider);
47
- return instance.register();
48
- }));
49
- }
50
- async loadConfig(configDirectory) {
51
- const configsPath = path_1.default.join(this.directory, configDirectory);
52
- const storage = this.get(Storage_1.Storage);
53
- if (!await storage.exists(configsPath)) {
54
- console.warn(`Config path '${configsPath}' does not exist. Running with default config.`);
55
- }
56
- storage
57
- .files(configsPath)
58
- .whereIn('extension', ['ts'])
59
- .forEach(file => {
60
- const configItem = require(file.path).default;
61
- if (configItem && configItem.constructor) {
62
- configItem.applyNewValues();
63
- this.config.set(configItem.constructor, configItem);
64
- this.set(configItem.constructor, configItem);
65
- }
66
- });
67
- }
68
- registerResolvers() {
69
- this.resolvers.unshift(new FormResolver_1.FormResolver(this));
70
- this.resolvers.unshift(new EntityResolver_1.EntityResolver(this));
71
- this.resolvers.unshift(new AuthResolver_1.AuthResolver(this));
72
- }
73
- async bootstrap() {
74
- await this.loadConfig(this.configDirectory);
75
- this.set(Http_1.ErrorHandlerInterface, this.get(Http_1.ErrorHandler));
76
- const appConfig = this.get(Config_1.AppConfig);
77
- await this.checkAppSecret();
78
- if (appConfig.staticAssets) {
79
- appConfig.middleware.unshift(StaticAssetsMiddleware_1.StaticAssetsMiddleware);
80
- }
81
- this.registerResolvers();
82
- const providers = appConfig.providers || [];
83
- await this.registerProviders(providers);
84
- }
85
- async checkAppSecret() {
86
- const authConfig = this.get(Config_1.AuthConfig);
87
- if (!authConfig.signature) {
88
- throw new Error(`APP_SECRET is not setup in your '.env' file.`);
89
- }
90
- }
91
- }
92
- exports.Application = Application;
93
- Application.defaultConfigDirectory = 'config';
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.Application = void 0;
7
+ const Container_1 = require("../Container");
8
+ const App_1 = require("./App");
9
+ const Config_1 = require("./Config");
10
+ const FormResolver_1 = require("./Resolvers/FormResolver");
11
+ const EntityResolver_1 = require("./Resolvers/EntityResolver");
12
+ const RootDir_1 = require("./RootDir");
13
+ const StaticAssetsMiddleware_1 = require("./Middleware/StaticAssetsMiddleware");
14
+ const Http_1 = require("../Router/Http");
15
+ const Storage_1 = require("../Storage");
16
+ const AuthResolver_1 = require("./Resolvers/AuthResolver");
17
+ const fs_1 = __importDefault(require("fs"));
18
+ const path_1 = __importDefault(require("path"));
19
+ const WebsocketsProvider_1 = require("./Providers/WebsocketsProvider");
20
+ const CacheProvider_1 = require("@Typetron/Framework/Providers/CacheProvider");
21
+ class Application extends Container_1.Container {
22
+ constructor(directory, configDirectory = Application.defaultConfigDirectory) {
23
+ super();
24
+ this.directory = directory;
25
+ this.configDirectory = configDirectory;
26
+ this.config = new Map();
27
+ Application.setInstance(this);
28
+ this.set(Application, (App_1.App.instance = this));
29
+ this.set(Container_1.Container, this);
30
+ this.set(RootDir_1.RootDir, directory);
31
+ }
32
+ static async create(directory, configDirectory = Application.defaultConfigDirectory) {
33
+ const app = new this(fs_1.default.realpathSync.native(directory), configDirectory);
34
+ await app.bootstrap();
35
+ return app;
36
+ }
37
+ async startServer() {
38
+ const httpHandler = this.get(Http_1.Handler);
39
+ const appConfig = this.get(Config_1.AppConfig);
40
+ if (appConfig.websocketsPort) {
41
+ await this.registerProviders([WebsocketsProvider_1.WebsocketsProvider, CacheProvider_1.CacheProvider]);
42
+ }
43
+ return httpHandler.startServer(this);
44
+ }
45
+ async registerProviders(providers) {
46
+ await Promise.all(providers.map((provider) => {
47
+ const instance = this.get(provider);
48
+ return instance.register();
49
+ }));
50
+ }
51
+ async loadConfig(configDirectory) {
52
+ const configsPath = path_1.default.join(this.directory, configDirectory);
53
+ const storage = this.get(Storage_1.Storage);
54
+ if (!(await storage.exists(configsPath))) {
55
+ console.warn(`Config path '${configsPath}' does not exist. Running with default config.`);
56
+ }
57
+ storage
58
+ .files(configsPath)
59
+ .whereIn('extension', ['ts'])
60
+ .forEach((file) => {
61
+ const configItem = require(file.path).default;
62
+ if (configItem && configItem.constructor) {
63
+ configItem.applyNewValues();
64
+ this.config.set(configItem.constructor, configItem);
65
+ this.set(configItem.constructor, configItem);
66
+ }
67
+ });
68
+ }
69
+ registerResolvers() {
70
+ this.resolvers.unshift(new FormResolver_1.FormResolver(this));
71
+ this.resolvers.unshift(new EntityResolver_1.EntityResolver(this));
72
+ this.resolvers.unshift(new AuthResolver_1.AuthResolver(this));
73
+ }
74
+ async bootstrap() {
75
+ await this.loadConfig(this.configDirectory);
76
+ this.set(Http_1.ErrorHandlerInterface, this.get(Http_1.ErrorHandler));
77
+ const appConfig = this.get(Config_1.AppConfig);
78
+ await this.checkAppSecret();
79
+ if (appConfig.staticAssets) {
80
+ appConfig.middleware.unshift(StaticAssetsMiddleware_1.StaticAssetsMiddleware);
81
+ }
82
+ this.registerResolvers();
83
+ const providers = appConfig.providers || [];
84
+ await this.registerProviders(providers);
85
+ }
86
+ async checkAppSecret() {
87
+ const authConfig = this.get(Config_1.AuthConfig);
88
+ if (!authConfig.signature) {
89
+ throw new Error(`APP_SECRET is not setup in your '.env' file.`);
90
+ }
91
+ }
92
+ }
93
+ exports.Application = Application;
94
+ Application.defaultConfigDirectory = 'config';
94
95
  //# sourceMappingURL=Application.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Application.js","sourceRoot":"","sources":["../../Framework/Application.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Application.js","sourceRoot":"","sources":["../../Framework/Application.ts"],"names":[],"mappings":"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"}
@@ -1,25 +1,25 @@
1
- import { User } from './User';
2
- import { AuthConfig } from '../Config';
3
- import { ID } from '../../Database';
4
- import { Crypt, JWT, JWToken } from '@Typetron/Encryption';
5
- export declare class Auth {
6
- authConfig: AuthConfig;
7
- jwt: JWT;
8
- crypt: Crypt;
9
- id?: ID;
10
- /**
11
- * This is primarily used in websocket connections so we don't need to pass the auth token for each weboscket message
12
- */
13
- expiresAt: Date;
14
- private savedUser?;
15
- get authenticable(): typeof User;
16
- user<T extends User>(): Promise<T | undefined>;
17
- login(username: string, password: string): Promise<string>;
18
- loginById(id: ID): Promise<string>;
19
- loginUser(authenticable: User): Promise<string>;
20
- sign(id: ID, expiresAtTimestampInSeconds?: number): Promise<string>;
21
- register<T extends User>(username: string, password: string): Promise<T>;
22
- verify(token: string): Promise<JWToken<number>>;
23
- private set;
24
- }
1
+ import { User } from './User';
2
+ import { AuthConfig } from '../Config';
3
+ import { ID } from '../../Database';
4
+ import { Crypt, JWT, JWToken } from '@Typetron/Encryption';
5
+ export declare class Auth {
6
+ authConfig: AuthConfig;
7
+ jwt: JWT;
8
+ crypt: Crypt;
9
+ id?: ID;
10
+ /**
11
+ * This is primarily used in websocket connections so we don't need to pass the auth token for each weboscket message
12
+ */
13
+ expiresAt: Date;
14
+ private savedUser?;
15
+ get authenticable(): typeof User;
16
+ user<T extends User>(): Promise<T | undefined>;
17
+ login(username: string, password: string): Promise<string>;
18
+ loginById(id: ID): Promise<string>;
19
+ loginUser(authenticable: User): Promise<string>;
20
+ sign(id: ID, expiresAtTimestampInSeconds?: number): Promise<string>;
21
+ register<T extends User>(username: string, password: string): Promise<T>;
22
+ verify(token: string): Promise<JWToken<number>>;
23
+ private set;
24
+ }
25
25
  //# sourceMappingURL=Auth.d.ts.map
@@ -1,109 +1,109 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.Auth = void 0;
13
- const Container_1 = require("../../Container");
14
- const Config_1 = require("../Config");
15
- const Encryption_1 = require("@Typetron/Encryption");
16
- let Auth = class Auth {
17
- constructor() {
18
- /**
19
- * This is primarily used in websocket connections so we don't need to pass the auth token for each weboscket message
20
- */
21
- this.expiresAt = new Date();
22
- }
23
- get authenticable() {
24
- return this.authConfig.entity;
25
- }
26
- // @BeforeRequest() // TODO implement the container's '@BeforeRequest' decorator to do something before each request.
27
- // For example, load the authenticated user in memory again
28
- // async before() {
29
- // if (!this.id) {
30
- // return undefined
31
- // throw new Error('You tried to use the Auth service without authenticating the user. ' +
32
- // 'Please use the AuthMiddleware or authenticate the user before using this route')
33
- // }
34
- //
35
- // const user = await this.authenticable.find(this.id)
36
- // if (!user) {
37
- // throw new Error(`Authenticated user with ID ${this.id} not found `)
38
- // }
39
- // this.savedUser = await this.authenticable.find(this.id)
40
- // }
41
- async user() {
42
- // if (this.savedUser) { // TODO this if statement should be removed using the @BeforeRequest decorator above
43
- // return this.savedUser as T
44
- // }
45
- if (!this.id) {
46
- throw new Error('You tried to use the Auth service without authenticating the user. Please use the AuthMiddleware or authenticate the user before using this route');
47
- }
48
- return this.savedUser = await this.authenticable.find(this.id);
49
- }
50
- async login(username, password) {
51
- const user = await this.authenticable.where((new this.authenticable).getUsername(), username).first();
52
- if (!user || !await this.crypt.compare(password, user.password)) {
53
- throw new Error('Invalid credentials');
54
- }
55
- delete this.savedUser;
56
- return this.sign(this.id = user.id);
57
- }
58
- loginById(id) {
59
- return this.sign(id);
60
- }
61
- loginUser(authenticable) {
62
- return this.loginById(authenticable[authenticable.getId()]);
63
- }
64
- sign(id, expiresAtTimestampInSeconds) {
65
- return this.jwt.sign({
66
- sub: this.set(id, expiresAtTimestampInSeconds)
67
- }, this.authConfig.signature, {
68
- expiresIn: this.authConfig.duration
69
- });
70
- }
71
- async register(username, password) {
72
- return await this.authenticable.create({
73
- [(new this.authenticable).getUsername()]: username,
74
- password: await this.crypt.hash(password, this.authConfig.saltRounds),
75
- });
76
- }
77
- async verify(token) {
78
- const payload = await this.jwt.verify(token, this.authConfig.signature);
79
- this.set(payload.sub, payload.exp);
80
- return payload;
81
- }
82
- set(id, expiresAtTimestampInSeconds) {
83
- if (expiresAtTimestampInSeconds) {
84
- this.expiresAt = new Date(expiresAtTimestampInSeconds * 1000);
85
- }
86
- else {
87
- this.expiresAt = new Date();
88
- this.expiresAt.setSeconds(this.expiresAt.getSeconds() + this.authConfig.duration);
89
- }
90
- return this.id = id;
91
- }
92
- };
93
- __decorate([
94
- Container_1.Inject(),
95
- __metadata("design:type", Config_1.AuthConfig)
96
- ], Auth.prototype, "authConfig", void 0);
97
- __decorate([
98
- Container_1.Inject(),
99
- __metadata("design:type", Encryption_1.JWT)
100
- ], Auth.prototype, "jwt", void 0);
101
- __decorate([
102
- Container_1.Inject(),
103
- __metadata("design:type", Encryption_1.Crypt)
104
- ], Auth.prototype, "crypt", void 0);
105
- Auth = __decorate([
106
- Container_1.Injectable(Container_1.Scope.REQUEST)
107
- ], Auth);
108
- exports.Auth = Auth;
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.Auth = void 0;
13
+ const Container_1 = require("../../Container");
14
+ const Config_1 = require("../Config");
15
+ const Encryption_1 = require("@Typetron/Encryption");
16
+ let Auth = class Auth {
17
+ constructor() {
18
+ /**
19
+ * This is primarily used in websocket connections so we don't need to pass the auth token for each weboscket message
20
+ */
21
+ this.expiresAt = new Date();
22
+ }
23
+ get authenticable() {
24
+ return this.authConfig.entity;
25
+ }
26
+ // @BeforeRequest() // TODO implement the container's '@BeforeRequest' decorator to do something before each request.
27
+ // For example, load the authenticated user in memory again
28
+ // async before() {
29
+ // if (!this.id) {
30
+ // return undefined
31
+ // throw new Error('You tried to use the Auth service without authenticating the user. ' +
32
+ // 'Please use the AuthMiddleware or authenticate the user before using this route')
33
+ // }
34
+ //
35
+ // const user = await this.authenticable.find(this.id)
36
+ // if (!user) {
37
+ // throw new Error(`Authenticated user with ID ${this.id} not found `)
38
+ // }
39
+ // this.savedUser = await this.authenticable.find(this.id)
40
+ // }
41
+ async user() {
42
+ // if (this.savedUser) { // TODO this if statement should be removed using the @BeforeRequest decorator above
43
+ // return this.savedUser as T
44
+ // }
45
+ if (!this.id) {
46
+ throw new Error('You tried to use the Auth service without authenticating the user. Please use the AuthMiddleware or authenticate the user before using this route');
47
+ }
48
+ return this.savedUser = await this.authenticable.find(this.id);
49
+ }
50
+ async login(username, password) {
51
+ const user = await this.authenticable.where((new this.authenticable).getUsername(), username).first();
52
+ if (!user || !await this.crypt.compare(password, user.password)) {
53
+ throw new Error('Invalid credentials');
54
+ }
55
+ delete this.savedUser;
56
+ return this.sign(this.id = user.id);
57
+ }
58
+ loginById(id) {
59
+ return this.sign(id);
60
+ }
61
+ loginUser(authenticable) {
62
+ return this.loginById(authenticable[authenticable.getId()]);
63
+ }
64
+ sign(id, expiresAtTimestampInSeconds) {
65
+ return this.jwt.sign({
66
+ sub: this.set(id, expiresAtTimestampInSeconds)
67
+ }, this.authConfig.signature, {
68
+ expiresIn: this.authConfig.duration
69
+ });
70
+ }
71
+ async register(username, password) {
72
+ return await this.authenticable.create({
73
+ [(new this.authenticable).getUsername()]: username,
74
+ password: await this.crypt.hash(password, this.authConfig.saltRounds),
75
+ });
76
+ }
77
+ async verify(token) {
78
+ const payload = await this.jwt.verify(token, this.authConfig.signature);
79
+ this.set(payload.sub, payload.exp);
80
+ return payload;
81
+ }
82
+ set(id, expiresAtTimestampInSeconds) {
83
+ if (expiresAtTimestampInSeconds) {
84
+ this.expiresAt = new Date(expiresAtTimestampInSeconds * 1000);
85
+ }
86
+ else {
87
+ this.expiresAt = new Date();
88
+ this.expiresAt.setSeconds(this.expiresAt.getSeconds() + this.authConfig.duration);
89
+ }
90
+ return this.id = id;
91
+ }
92
+ };
93
+ __decorate([
94
+ Container_1.Inject(),
95
+ __metadata("design:type", Config_1.AuthConfig)
96
+ ], Auth.prototype, "authConfig", void 0);
97
+ __decorate([
98
+ Container_1.Inject(),
99
+ __metadata("design:type", Encryption_1.JWT)
100
+ ], Auth.prototype, "jwt", void 0);
101
+ __decorate([
102
+ Container_1.Inject(),
103
+ __metadata("design:type", Encryption_1.Crypt)
104
+ ], Auth.prototype, "crypt", void 0);
105
+ Auth = __decorate([
106
+ Container_1.Injectable(Container_1.Scope.REQUEST)
107
+ ], Auth);
108
+ exports.Auth = Auth;
109
109
  //# sourceMappingURL=Auth.js.map
@@ -1,7 +1,7 @@
1
- import { Entity, EntityColumns } from '../../Database';
2
- export interface Authenticatable<T extends Entity> {
3
- getId(): EntityColumns<T>;
4
- getUsername(): EntityColumns<T>;
5
- getPassword(): EntityColumns<T>;
6
- }
1
+ import { Entity, EntityColumns } from '../../Database';
2
+ export interface Authenticatable<T extends Entity> {
3
+ getId(): EntityColumns<T>;
4
+ getUsername(): EntityColumns<T>;
5
+ getPassword(): EntityColumns<T>;
6
+ }
7
7
  //# sourceMappingURL=Authenticatable.d.ts.map
@@ -1,3 +1,3 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  //# sourceMappingURL=Authenticatable.js.map
@@ -1,11 +1,11 @@
1
- import { Entity, EntityColumns, ID } from '../../Database';
2
- import { Authenticatable } from './Authenticatable';
3
- export declare class User extends Entity implements Authenticatable<User> {
4
- id: ID;
5
- email: string;
6
- password: string;
7
- getId(): EntityColumns<User>;
8
- getPassword(): EntityColumns<User>;
9
- getUsername(): EntityColumns<User>;
10
- }
1
+ import { Entity, EntityColumns, ID } from '../../Database';
2
+ import { Authenticatable } from './Authenticatable';
3
+ export declare class User extends Entity implements Authenticatable<User> {
4
+ id: ID;
5
+ email: string;
6
+ password: string;
7
+ getId(): EntityColumns<User>;
8
+ getPassword(): EntityColumns<User>;
9
+ getUsername(): EntityColumns<User>;
10
+ }
11
11
  //# sourceMappingURL=User.d.ts.map
@@ -1,38 +1,38 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.User = void 0;
13
- const Database_1 = require("../../Database");
14
- class User extends Database_1.Entity {
15
- getId() {
16
- return 'id';
17
- }
18
- getPassword() {
19
- return 'password';
20
- }
21
- getUsername() {
22
- return 'email';
23
- }
24
- }
25
- __decorate([
26
- Database_1.PrimaryColumn(),
27
- __metadata("design:type", Object)
28
- ], User.prototype, "id", void 0);
29
- __decorate([
30
- Database_1.Column(),
31
- __metadata("design:type", String)
32
- ], User.prototype, "email", void 0);
33
- __decorate([
34
- Database_1.Column(),
35
- __metadata("design:type", String)
36
- ], User.prototype, "password", void 0);
37
- exports.User = User;
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.User = void 0;
13
+ const Database_1 = require("../../Database");
14
+ class User extends Database_1.Entity {
15
+ getId() {
16
+ return 'id';
17
+ }
18
+ getPassword() {
19
+ return 'password';
20
+ }
21
+ getUsername() {
22
+ return 'email';
23
+ }
24
+ }
25
+ __decorate([
26
+ Database_1.PrimaryColumn(),
27
+ __metadata("design:type", Object)
28
+ ], User.prototype, "id", void 0);
29
+ __decorate([
30
+ Database_1.Column(),
31
+ __metadata("design:type", String)
32
+ ], User.prototype, "email", void 0);
33
+ __decorate([
34
+ Database_1.Column(),
35
+ __metadata("design:type", String)
36
+ ], User.prototype, "password", void 0);
37
+ exports.User = User;
38
38
  //# sourceMappingURL=User.js.map
@@ -1,6 +1,6 @@
1
- export * from './Auth';
2
- export * from './User';
3
- export * from './Authenticatable';
4
- export declare const AuthUserIdentifier: unique symbol;
5
- export declare function AuthUser(): (target: Object, property: string, parameterIndex?: number | undefined) => void;
1
+ export * from './Auth';
2
+ export * from './User';
3
+ export * from './Authenticatable';
4
+ export declare const AuthUserIdentifier: unique symbol;
5
+ export declare function AuthUser(): (target: Object, property: string, parameterIndex?: number | undefined) => void;
6
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../Framework/Auth/index.ts"],"names":[],"mappings":"AAGA,cAAc,QAAQ,CAAA;AACtB,cAAc,QAAQ,CAAA;AACtB,cAAc,mBAAmB,CAAA;AAEjC,eAAO,MAAM,kBAAkB,eAA0C,CAAA;AAEzE,wBAAgB,QAAQ,aACK,MAAM,YAAY,MAAM,+CAyBpD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../Framework/Auth/index.ts"],"names":[],"mappings":"AAGA,cAAc,QAAQ,CAAA;AACtB,cAAc,QAAQ,CAAA;AACtB,cAAc,mBAAmB,CAAA;AAEjC,eAAO,MAAM,kBAAkB,eAA0C,CAAA;AAEzE,wBAAgB,QAAQ,aACI,MAAM,YAAY,MAAM,+CAyBnD"}