typescript-express-starter 9.1.2 → 10.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 (401) hide show
  1. package/.vscode/configurationCache.log +1 -0
  2. package/.vscode/dryrun.log +6 -0
  3. package/.vscode/settings.json +3 -0
  4. package/.vscode/targets.log +239 -0
  5. package/CONTRIBUTORS.md +61 -0
  6. package/README.kr.md +122 -161
  7. package/README.md +118 -157
  8. package/bin/cli.js +1 -1
  9. package/lib/default/.swcrc +0 -3
  10. package/lib/default/Dockerfile.dev +18 -0
  11. package/lib/default/Dockerfile.prod +18 -0
  12. package/lib/default/Makefile +29 -16
  13. package/lib/default/docker-compose.yml +8 -8
  14. package/lib/default/jest.config.js +1 -1
  15. package/lib/default/package.json +42 -40
  16. package/lib/default/src/app.ts +4 -5
  17. package/lib/default/src/controllers/auth.controller.ts +9 -11
  18. package/lib/default/src/controllers/users.controller.ts +11 -13
  19. package/lib/default/src/dtos/users.dto.ts +12 -1
  20. package/lib/default/src/interfaces/users.interface.ts +2 -2
  21. package/lib/default/src/middlewares/auth.middleware.ts +16 -10
  22. package/lib/default/src/middlewares/error.middleware.ts +2 -4
  23. package/lib/default/src/middlewares/validation.middleware.ts +22 -20
  24. package/lib/default/src/models/users.model.ts +6 -8
  25. package/lib/default/src/routes/auth.route.ts +8 -11
  26. package/lib/default/src/routes/users.route.ts +10 -12
  27. package/lib/default/src/server.ts +6 -7
  28. package/lib/default/src/services/auth.service.ts +25 -36
  29. package/lib/default/src/services/users.service.ts +20 -29
  30. package/lib/{graphql/src/tests → default/src/test}/auth.test.ts +21 -21
  31. package/lib/default/src/test/users.test.ts +62 -0
  32. package/lib/default/src/utils/validateEnv.ts +1 -3
  33. package/lib/default/tsconfig.json +1 -1
  34. package/lib/graphql/.env.development.local +6 -6
  35. package/lib/graphql/.env.production.local +6 -6
  36. package/lib/graphql/.env.test.local +6 -6
  37. package/lib/graphql/.swcrc +1 -1
  38. package/lib/graphql/Dockerfile.dev +19 -0
  39. package/lib/graphql/Dockerfile.prod +19 -0
  40. package/lib/graphql/Makefile +32 -15
  41. package/lib/graphql/docker-compose.yml +23 -15
  42. package/lib/graphql/jest.config.js +1 -1
  43. package/lib/graphql/package.json +42 -41
  44. package/lib/graphql/src/app.ts +14 -13
  45. package/lib/graphql/src/config/index.ts +2 -2
  46. package/lib/{typeorm/src/databases → graphql/src/database}/index.ts +6 -6
  47. package/lib/graphql/src/dtos/users.dto.ts +14 -1
  48. package/lib/graphql/src/interfaces/users.interface.ts +2 -2
  49. package/lib/graphql/src/middlewares/auth.middleware.ts +16 -6
  50. package/lib/graphql/src/middlewares/error.middleware.ts +2 -4
  51. package/lib/graphql/src/repositories/auth.repository.ts +19 -27
  52. package/lib/graphql/src/repositories/users.repository.ts +9 -18
  53. package/lib/graphql/src/resolvers/auth.resolver.ts +2 -2
  54. package/lib/graphql/src/resolvers/users.resolver.ts +4 -4
  55. package/lib/graphql/src/server.ts +6 -7
  56. package/lib/graphql/src/test/auth.test.ts +10 -0
  57. package/lib/graphql/src/test/users.test.ts +11 -0
  58. package/lib/graphql/src/typedefs/users.type.ts +2 -2
  59. package/lib/graphql/src/utils/logger.ts +2 -0
  60. package/lib/graphql/src/utils/validateEnv.ts +1 -3
  61. package/lib/graphql/tsconfig.json +2 -2
  62. package/lib/knex/.env.development.local +2 -2
  63. package/lib/knex/.env.production.local +3 -3
  64. package/lib/knex/.env.test.local +3 -3
  65. package/lib/knex/.swcrc +1 -1
  66. package/lib/knex/Dockerfile.dev +19 -0
  67. package/lib/knex/Dockerfile.prod +19 -0
  68. package/lib/knex/Makefile +32 -15
  69. package/lib/knex/docker-compose.yml +19 -14
  70. package/lib/knex/jest.config.js +1 -1
  71. package/lib/knex/knexfile.ts +8 -8
  72. package/lib/knex/package.json +44 -42
  73. package/lib/knex/src/app.ts +6 -7
  74. package/lib/knex/src/config/index.ts +2 -1
  75. package/lib/knex/src/controllers/auth.controller.ts +9 -11
  76. package/lib/knex/src/controllers/users.controller.ts +10 -12
  77. package/lib/knex/src/{databases → database}/index.ts +4 -4
  78. package/lib/knex/src/database/migrations/20210713110926_initial.ts +17 -0
  79. package/lib/knex/src/dtos/users.dto.ts +12 -1
  80. package/lib/knex/src/interfaces/users.interface.ts +2 -2
  81. package/lib/knex/src/middlewares/auth.middleware.ts +17 -10
  82. package/lib/knex/src/middlewares/error.middleware.ts +2 -4
  83. package/lib/knex/src/middlewares/validation.middleware.ts +22 -20
  84. package/lib/knex/src/models/users.model.ts +2 -2
  85. package/lib/knex/src/routes/auth.route.ts +8 -10
  86. package/lib/knex/src/routes/users.route.ts +10 -12
  87. package/lib/knex/src/server.ts +6 -7
  88. package/lib/knex/src/services/auth.service.ts +27 -36
  89. package/lib/knex/src/services/users.service.ts +18 -23
  90. package/lib/knex/src/{tests → test}/auth.test.ts +2 -2
  91. package/lib/knex/src/{tests → test}/users.test.ts +2 -2
  92. package/lib/knex/src/utils/validateEnv.ts +1 -3
  93. package/lib/knex/tsconfig.json +2 -2
  94. package/lib/mikro-orm/.env.production.local +1 -1
  95. package/lib/mikro-orm/.env.test.local +1 -1
  96. package/lib/mikro-orm/.swcrc +1 -1
  97. package/lib/mikro-orm/Dockerfile.dev +19 -0
  98. package/lib/mikro-orm/Dockerfile.prod +19 -0
  99. package/lib/mikro-orm/Makefile +32 -15
  100. package/lib/mikro-orm/docker-compose.yml +20 -11
  101. package/lib/mikro-orm/package.json +42 -40
  102. package/lib/mikro-orm/src/app.ts +10 -12
  103. package/lib/mikro-orm/src/config/index.ts +2 -1
  104. package/lib/mikro-orm/src/controllers/auth.controller.ts +9 -11
  105. package/lib/mikro-orm/src/controllers/users.controller.ts +11 -13
  106. package/lib/mikro-orm/src/dtos/users.dto.ts +12 -1
  107. package/lib/mikro-orm/src/interfaces/users.interface.ts +1 -1
  108. package/lib/mikro-orm/src/middlewares/auth.middleware.ts +17 -10
  109. package/lib/mikro-orm/src/middlewares/error.middleware.ts +2 -4
  110. package/lib/mikro-orm/src/middlewares/validation.middleware.ts +22 -20
  111. package/lib/mikro-orm/src/routes/auth.route.ts +8 -10
  112. package/lib/mikro-orm/src/routes/users.route.ts +9 -11
  113. package/lib/mikro-orm/src/server.ts +6 -7
  114. package/lib/mikro-orm/src/services/auth.service.ts +23 -33
  115. package/lib/mikro-orm/src/services/users.service.ts +13 -21
  116. package/lib/mikro-orm/src/{tests → test}/auth.test.ts +3 -4
  117. package/lib/mikro-orm/src/{tests → test}/users.test.ts +4 -5
  118. package/lib/mikro-orm/src/utils/validateEnv.ts +1 -3
  119. package/lib/mikro-orm/tsconfig.json +2 -2
  120. package/lib/mongoose/.env.production.local +1 -1
  121. package/lib/mongoose/.env.test.local +1 -1
  122. package/lib/mongoose/.swcrc +1 -1
  123. package/lib/mongoose/Dockerfile.dev +19 -0
  124. package/lib/mongoose/Dockerfile.prod +19 -0
  125. package/lib/mongoose/Makefile +32 -15
  126. package/lib/mongoose/docker-compose.yml +20 -11
  127. package/lib/mongoose/jest.config.js +1 -1
  128. package/lib/mongoose/package.json +43 -41
  129. package/lib/mongoose/src/app.ts +6 -7
  130. package/lib/mongoose/src/config/index.ts +2 -1
  131. package/lib/mongoose/src/controllers/auth.controller.ts +9 -11
  132. package/lib/mongoose/src/controllers/users.controller.ts +11 -13
  133. package/lib/mongoose/src/{databases → database}/index.ts +1 -2
  134. package/lib/mongoose/src/dtos/users.dto.ts +12 -1
  135. package/lib/mongoose/src/interfaces/users.interface.ts +1 -1
  136. package/lib/mongoose/src/middlewares/auth.middleware.ts +16 -9
  137. package/lib/mongoose/src/middlewares/error.middleware.ts +2 -4
  138. package/lib/mongoose/src/middlewares/validation.middleware.ts +22 -20
  139. package/lib/mongoose/src/models/users.model.ts +2 -4
  140. package/lib/mongoose/src/routes/auth.route.ts +8 -10
  141. package/lib/mongoose/src/routes/users.route.ts +9 -11
  142. package/lib/mongoose/src/server.ts +6 -7
  143. package/lib/mongoose/src/services/auth.service.ts +26 -37
  144. package/lib/mongoose/src/services/users.service.ts +19 -29
  145. package/lib/{typegoose/src/tests → mongoose/src/test}/users.test.ts +7 -7
  146. package/lib/mongoose/src/utils/validateEnv.ts +1 -3
  147. package/lib/mongoose/tsconfig.json +2 -2
  148. package/lib/node-postgres/.dockerignore +18 -0
  149. package/lib/node-postgres/.editorconfig +9 -0
  150. package/lib/node-postgres/.env.development.local +13 -0
  151. package/lib/node-postgres/.env.production.local +13 -0
  152. package/lib/node-postgres/.env.test.local +13 -0
  153. package/lib/node-postgres/.eslintignore +1 -0
  154. package/lib/node-postgres/.eslintrc +18 -0
  155. package/lib/node-postgres/.huskyrc +5 -0
  156. package/lib/node-postgres/.lintstagedrc.json +5 -0
  157. package/lib/node-postgres/.prettierrc +8 -0
  158. package/lib/node-postgres/.swcrc +39 -0
  159. package/lib/node-postgres/.vscode/launch.json +35 -0
  160. package/lib/node-postgres/.vscode/settings.json +6 -0
  161. package/lib/node-postgres/Dockerfile.dev +17 -0
  162. package/lib/node-postgres/Dockerfile.prod +17 -0
  163. package/lib/node-postgres/Makefile +46 -0
  164. package/lib/node-postgres/docker-compose.yml +61 -0
  165. package/lib/node-postgres/ecosystem.config.js +57 -0
  166. package/lib/node-postgres/jest.config.js +12 -0
  167. package/lib/node-postgres/nginx.conf +40 -0
  168. package/lib/node-postgres/nodemon.json +12 -0
  169. package/lib/node-postgres/package.json +78 -0
  170. package/lib/node-postgres/src/app.ts +87 -0
  171. package/lib/node-postgres/src/config/index.ts +6 -0
  172. package/lib/node-postgres/src/controllers/auth.controller.ts +44 -0
  173. package/lib/node-postgres/src/controllers/users.controller.ts +63 -0
  174. package/lib/node-postgres/src/database/index.ts +6 -0
  175. package/lib/node-postgres/src/database/init.sql +110 -0
  176. package/lib/node-postgres/src/dtos/users.dto.ts +20 -0
  177. package/lib/node-postgres/src/http/auth.http +27 -0
  178. package/lib/node-postgres/src/http/users.http +34 -0
  179. package/lib/node-postgres/src/interfaces/auth.interface.ts +15 -0
  180. package/lib/node-postgres/src/interfaces/routes.interface.ts +6 -0
  181. package/lib/node-postgres/src/interfaces/users.interface.ts +5 -0
  182. package/lib/node-postgres/src/middlewares/auth.middleware.ts +38 -0
  183. package/lib/node-postgres/src/middlewares/error.middleware.ts +15 -0
  184. package/lib/node-postgres/src/middlewares/validation.middleware.ts +27 -0
  185. package/lib/node-postgres/src/models/users.model.ts +9 -0
  186. package/lib/node-postgres/src/routes/auth.route.ts +21 -0
  187. package/lib/node-postgres/src/routes/users.route.ts +23 -0
  188. package/lib/node-postgres/src/server.ts +10 -0
  189. package/lib/node-postgres/src/services/auth.service.ts +52 -0
  190. package/lib/node-postgres/src/services/users.service.ts +51 -0
  191. package/lib/{default/src/tests → node-postgres/src/test}/auth.test.ts +2 -2
  192. package/lib/{default/src/tests → node-postgres/src/test}/users.test.ts +5 -5
  193. package/lib/node-postgres/src/utils/logger.ts +65 -0
  194. package/lib/node-postgres/src/utils/validateEnv.ts +8 -0
  195. package/lib/node-postgres/swagger.yaml +123 -0
  196. package/lib/node-postgres/tsconfig.json +40 -0
  197. package/lib/prisma/.env.production.local +1 -1
  198. package/lib/prisma/.env.test.local +1 -1
  199. package/lib/prisma/Dockerfile.dev +19 -0
  200. package/lib/prisma/Dockerfile.prod +19 -0
  201. package/lib/prisma/Makefile +32 -15
  202. package/lib/prisma/docker-compose.yml +15 -14
  203. package/lib/prisma/jest.config.js +1 -1
  204. package/lib/prisma/package.json +43 -41
  205. package/lib/prisma/src/app.ts +4 -5
  206. package/lib/prisma/src/controllers/auth.controller.ts +10 -12
  207. package/lib/prisma/src/controllers/users.controller.ts +12 -14
  208. package/lib/prisma/src/dtos/users.dto.ts +12 -1
  209. package/lib/prisma/src/interfaces/auth.interface.ts +1 -1
  210. package/lib/prisma/src/interfaces/users.interface.ts +5 -0
  211. package/lib/prisma/src/middlewares/auth.middleware.ts +16 -11
  212. package/lib/prisma/src/middlewares/error.middleware.ts +2 -4
  213. package/lib/prisma/src/middlewares/validation.middleware.ts +22 -20
  214. package/lib/prisma/src/routes/auth.route.ts +8 -10
  215. package/lib/prisma/src/routes/users.route.ts +9 -11
  216. package/lib/prisma/src/server.ts +6 -7
  217. package/lib/prisma/src/services/auth.service.ts +10 -16
  218. package/lib/prisma/src/services/users.service.ts +19 -27
  219. package/lib/prisma/src/utils/validateEnv.ts +1 -3
  220. package/lib/prisma/tsconfig.json +1 -1
  221. package/lib/routing-controllers/Dockerfile.dev +19 -0
  222. package/lib/routing-controllers/Dockerfile.prod +19 -0
  223. package/lib/routing-controllers/Makefile +29 -16
  224. package/lib/routing-controllers/docker-compose.yml +9 -9
  225. package/lib/routing-controllers/jest.config.js +1 -1
  226. package/lib/routing-controllers/package.json +41 -40
  227. package/lib/routing-controllers/src/app.ts +4 -6
  228. package/lib/routing-controllers/src/controllers/auth.controller.ts +13 -12
  229. package/lib/routing-controllers/src/controllers/users.controller.ts +15 -13
  230. package/lib/routing-controllers/src/dtos/users.dto.ts +12 -1
  231. package/lib/routing-controllers/src/interfaces/users.interface.ts +1 -1
  232. package/lib/routing-controllers/src/middlewares/auth.middleware.ts +16 -10
  233. package/lib/routing-controllers/src/middlewares/error.middleware.ts +2 -5
  234. package/lib/routing-controllers/src/middlewares/validation.middleware.ts +23 -27
  235. package/lib/routing-controllers/src/models/users.model.ts +1 -3
  236. package/lib/routing-controllers/src/server.ts +5 -6
  237. package/lib/routing-controllers/src/services/auth.service.ts +25 -35
  238. package/lib/routing-controllers/src/services/users.service.ts +17 -25
  239. package/lib/routing-controllers/src/{tests → test}/auth.test.ts +1 -1
  240. package/lib/routing-controllers/src/{tests → test}/users.test.ts +10 -10
  241. package/lib/routing-controllers/src/utils/validateEnv.ts +1 -3
  242. package/lib/routing-controllers/tsconfig.json +1 -1
  243. package/lib/sequelize/.env.development.local +2 -2
  244. package/lib/sequelize/.env.production.local +3 -3
  245. package/lib/sequelize/.env.test.local +3 -3
  246. package/lib/sequelize/.swcrc +1 -1
  247. package/lib/sequelize/Dockerfile.dev +23 -0
  248. package/lib/sequelize/Dockerfile.prod +23 -0
  249. package/lib/sequelize/Makefile +32 -15
  250. package/lib/sequelize/docker-compose.yml +19 -14
  251. package/lib/sequelize/jest.config.js +1 -1
  252. package/lib/sequelize/package.json +45 -43
  253. package/lib/sequelize/src/app.ts +5 -6
  254. package/lib/sequelize/src/config/index.ts +2 -1
  255. package/lib/sequelize/src/controllers/auth.controller.ts +7 -8
  256. package/lib/sequelize/src/controllers/users.controller.ts +9 -10
  257. package/lib/sequelize/src/{databases → database}/index.ts +1 -3
  258. package/lib/sequelize/src/dtos/users.dto.ts +12 -1
  259. package/lib/sequelize/src/interfaces/users.interface.ts +1 -1
  260. package/lib/sequelize/src/middlewares/auth.middleware.ts +16 -10
  261. package/lib/sequelize/src/middlewares/error.middleware.ts +2 -4
  262. package/lib/sequelize/src/middlewares/validation.middleware.ts +22 -20
  263. package/lib/sequelize/src/routes/auth.route.ts +8 -11
  264. package/lib/sequelize/src/routes/users.route.ts +9 -11
  265. package/lib/sequelize/src/server.ts +6 -7
  266. package/lib/sequelize/src/services/auth.service.ts +24 -35
  267. package/lib/sequelize/src/services/users.service.ts +18 -29
  268. package/lib/sequelize/src/{tests → test}/auth.test.ts +2 -2
  269. package/lib/sequelize/src/{tests → test}/users.test.ts +2 -2
  270. package/lib/sequelize/src/utils/validateEnv.ts +1 -3
  271. package/lib/sequelize/tsconfig.json +2 -2
  272. package/lib/starter.js +18 -27
  273. package/lib/typegoose/.env.production.local +1 -1
  274. package/lib/typegoose/.env.test.local +1 -1
  275. package/lib/typegoose/.swcrc +1 -1
  276. package/lib/typegoose/Dockerfile.dev +19 -0
  277. package/lib/typegoose/Dockerfile.prod +19 -0
  278. package/lib/typegoose/Makefile +32 -15
  279. package/lib/typegoose/docker-compose.yml +20 -11
  280. package/lib/typegoose/jest.config.js +1 -1
  281. package/lib/typegoose/package.json +41 -39
  282. package/lib/typegoose/src/app.ts +3 -2
  283. package/lib/typegoose/src/config/index.ts +2 -1
  284. package/lib/typegoose/src/controllers/auth.controller.ts +9 -11
  285. package/lib/typegoose/src/controllers/users.controller.ts +11 -13
  286. package/lib/typegoose/src/database/index.ts +11 -0
  287. package/lib/typegoose/src/dtos/users.dto.ts +12 -1
  288. package/lib/typegoose/src/interfaces/users.interface.ts +1 -1
  289. package/lib/typegoose/src/middlewares/auth.middleware.ts +16 -10
  290. package/lib/typegoose/src/middlewares/error.middleware.ts +2 -4
  291. package/lib/typegoose/src/middlewares/validation.middleware.ts +22 -20
  292. package/lib/typegoose/src/models/users.model.ts +1 -3
  293. package/lib/typegoose/src/routes/auth.route.ts +8 -11
  294. package/lib/typegoose/src/routes/users.route.ts +9 -11
  295. package/lib/typegoose/src/server.ts +5 -6
  296. package/lib/typegoose/src/services/auth.service.ts +27 -36
  297. package/lib/typegoose/src/services/users.service.ts +17 -26
  298. package/lib/typegoose/src/{tests → test}/auth.test.ts +2 -2
  299. package/lib/{mongoose/src/tests → typegoose/src/test}/users.test.ts +7 -7
  300. package/lib/typegoose/src/utils/validateEnv.ts +1 -3
  301. package/lib/typegoose/tsconfig.json +2 -2
  302. package/lib/typeorm/.env.development.local +2 -2
  303. package/lib/typeorm/.env.production.local +3 -3
  304. package/lib/typeorm/.env.test.local +3 -3
  305. package/lib/typeorm/.swcrc +1 -1
  306. package/lib/typeorm/Dockerfile.dev +19 -0
  307. package/lib/typeorm/Dockerfile.prod +19 -0
  308. package/lib/typeorm/Makefile +32 -15
  309. package/lib/typeorm/docker-compose.yml +21 -14
  310. package/lib/typeorm/jest.config.js +1 -1
  311. package/lib/typeorm/package.json +42 -41
  312. package/lib/typeorm/src/app.ts +6 -8
  313. package/lib/typeorm/src/config/index.ts +2 -1
  314. package/lib/typeorm/src/controllers/auth.controller.ts +9 -11
  315. package/lib/typeorm/src/controllers/users.controller.ts +11 -13
  316. package/lib/{graphql/src/databases → typeorm/src/database}/index.ts +3 -3
  317. package/lib/typeorm/src/dtos/users.dto.ts +12 -1
  318. package/lib/typeorm/src/exceptions/httpException.ts +10 -0
  319. package/lib/typeorm/src/interfaces/users.interface.ts +1 -1
  320. package/lib/typeorm/src/middlewares/auth.middleware.ts +14 -7
  321. package/lib/typeorm/src/middlewares/error.middleware.ts +2 -4
  322. package/lib/typeorm/src/middlewares/validation.middleware.ts +22 -20
  323. package/lib/typeorm/src/routes/auth.route.ts +8 -11
  324. package/lib/typeorm/src/routes/users.route.ts +9 -11
  325. package/lib/typeorm/src/server.ts +6 -7
  326. package/lib/typeorm/src/services/auth.service.ts +24 -32
  327. package/lib/typeorm/src/services/users.service.ts +10 -20
  328. package/lib/typeorm/src/{tests → test}/auth.test.ts +10 -11
  329. package/lib/typeorm/src/{tests → test}/users.test.ts +34 -38
  330. package/lib/typeorm/src/utils/validateEnv.ts +1 -3
  331. package/lib/typeorm/tsconfig.json +2 -2
  332. package/package.json +3 -3
  333. package/lib/default/Dockerfile +0 -24
  334. package/lib/default/src/controllers/index.controller.ts +0 -13
  335. package/lib/default/src/routes/index.route.ts +0 -19
  336. package/lib/default/src/utils/util.ts +0 -19
  337. package/lib/graphql/Dockerfile +0 -24
  338. package/lib/graphql/src/tests/index.test.ts +0 -18
  339. package/lib/graphql/src/tests/users.test.ts +0 -71
  340. package/lib/graphql/src/utils/util.ts +0 -19
  341. package/lib/knex/Dockerfile +0 -24
  342. package/lib/knex/src/controllers/index.controller.ts +0 -13
  343. package/lib/knex/src/databases/migrations/20210713110926_initial.ts +0 -13
  344. package/lib/knex/src/routes/index.route.ts +0 -19
  345. package/lib/knex/src/tests/index.test.ts +0 -17
  346. package/lib/knex/src/utils/util.ts +0 -19
  347. package/lib/mikro-orm/Dockerfile +0 -24
  348. package/lib/mikro-orm/src/controllers/index.controller.ts +0 -13
  349. package/lib/mikro-orm/src/routes/index.route.ts +0 -19
  350. package/lib/mikro-orm/src/tests/index.test.ts +0 -18
  351. package/lib/mikro-orm/src/utils/util.ts +0 -19
  352. package/lib/mongoose/Dockerfile +0 -24
  353. package/lib/mongoose/src/controllers/index.controller.ts +0 -13
  354. package/lib/mongoose/src/routes/index.route.ts +0 -19
  355. package/lib/mongoose/src/utils/util.ts +0 -19
  356. package/lib/prisma/Dockerfile +0 -24
  357. package/lib/prisma/src/controllers/index.controller.ts +0 -13
  358. package/lib/prisma/src/routes/index.route.ts +0 -19
  359. package/lib/prisma/src/tests/index.test.ts +0 -18
  360. package/lib/prisma/src/utils/util.ts +0 -19
  361. package/lib/routing-controllers/Dockerfile +0 -24
  362. package/lib/routing-controllers/src/controllers/index.controller.ts +0 -9
  363. package/lib/routing-controllers/src/tests/index.test.ts +0 -17
  364. package/lib/routing-controllers/src/utils/util.ts +0 -19
  365. package/lib/sequelize/Dockerfile +0 -28
  366. package/lib/sequelize/src/controllers/index.controller.ts +0 -13
  367. package/lib/sequelize/src/routes/index.route.ts +0 -19
  368. package/lib/sequelize/src/tests/index.test.ts +0 -18
  369. package/lib/sequelize/src/utils/util.ts +0 -19
  370. package/lib/typegoose/Dockerfile +0 -24
  371. package/lib/typegoose/src/controllers/index.controller.ts +0 -13
  372. package/lib/typegoose/src/databases/index.ts +0 -3
  373. package/lib/typegoose/src/routes/index.route.ts +0 -19
  374. package/lib/typegoose/src/tests/index.test.ts +0 -18
  375. package/lib/typegoose/src/utils/util.ts +0 -19
  376. package/lib/typeorm/Dockerfile +0 -24
  377. package/lib/typeorm/src/controllers/index.controller.ts +0 -13
  378. package/lib/typeorm/src/routes/index.route.ts +0 -19
  379. package/lib/typeorm/src/tests/index.test.ts +0 -18
  380. package/lib/typeorm/src/utils/util.ts +0 -19
  381. package/lib/default/src/exceptions/{HttpException.ts → httpException.ts} +0 -0
  382. package/lib/graphql/src/exceptions/{HttpException.ts → httpException.ts} +0 -0
  383. package/lib/knex/src/{databases → database}/migrations/.gitkeep +0 -0
  384. package/lib/knex/src/{databases → database}/seeds/.gitkeep +0 -0
  385. package/lib/knex/src/exceptions/{HttpException.ts → httpException.ts} +0 -0
  386. package/lib/mikro-orm/src/{databases → database}/index.ts +0 -0
  387. package/lib/mikro-orm/src/exceptions/{HttpException.ts → httpException.ts} +0 -0
  388. package/lib/mongoose/src/exceptions/{HttpException.ts → httpException.ts} +0 -0
  389. package/lib/mongoose/src/{tests → test}/auth.test.ts +0 -0
  390. package/lib/{default/src/tests → mongoose/src/test}/index.test.ts +0 -0
  391. package/lib/{prisma/src/exceptions/HttpException.ts → node-postgres/src/exceptions/httpException.ts} +0 -0
  392. package/lib/{sequelize/src/exceptions/HttpException.ts → prisma/src/exceptions/httpException.ts} +0 -0
  393. package/lib/prisma/src/{tests → test}/auth.test.ts +1 -1
  394. package/lib/{mongoose/src/tests → prisma/src/test}/index.test.ts +0 -0
  395. package/lib/prisma/src/{tests → test}/users.test.ts +1 -1
  396. /package/lib/routing-controllers/src/exceptions/{HttpException.ts → httpException.ts} +0 -0
  397. /package/lib/sequelize/src/{migrations → database/migrations}/.gitkeep +0 -0
  398. /package/lib/sequelize/src/{seeders → database/seeders}/.gitkeep +0 -0
  399. /package/lib/{typegoose/src/exceptions/HttpException.ts → sequelize/src/exceptions/httpException.ts} +0 -0
  400. /package/lib/{typeorm/src/exceptions/HttpException.ts → typegoose/src/exceptions/httpException.ts} +0 -0
  401. /package/lib/typeorm/src/{migration → database/migrations}/.gitkeep +0 -0
@@ -1,32 +1,28 @@
1
1
  import { hash } from 'bcrypt';
2
2
  import { EntityRepository, Repository } from 'typeorm';
3
- import { CreateUserDto } from '@dtos/users.dto';
3
+ import { Service } from 'typedi';
4
4
  import { UserEntity } from '@entities/users.entity';
5
- import { HttpException } from '@exceptions/HttpException';
5
+ import { HttpException } from '@/exceptions/httpException';
6
6
  import { User } from '@interfaces/users.interface';
7
- import { isEmpty } from '@utils/util';
8
7
 
8
+ @Service()
9
9
  @EntityRepository()
10
- class UserService extends Repository<UserEntity> {
10
+ export class UserService extends Repository<UserEntity> {
11
11
  public async findAllUser(): Promise<User[]> {
12
12
  const users: User[] = await UserEntity.find();
13
13
  return users;
14
14
  }
15
15
 
16
16
  public async findUserById(userId: number): Promise<User> {
17
- if (isEmpty(userId)) throw new HttpException(400, "You're not userId");
18
-
19
17
  const findUser: User = await UserEntity.findOne({ where: { id: userId } });
20
- if (!findUser) throw new HttpException(409, "You're not user");
18
+ if (!findUser) throw new HttpException(409, "User doesn't exist");
21
19
 
22
20
  return findUser;
23
21
  }
24
22
 
25
- public async createUser(userData: CreateUserDto): Promise<User> {
26
- if (isEmpty(userData)) throw new HttpException(400, "You're not userData");
27
-
23
+ public async createUser(userData: User): Promise<User> {
28
24
  const findUser: User = await UserEntity.findOne({ where: { email: userData.email } });
29
- if (findUser) throw new HttpException(409, `You're email ${userData.email} already exists`);
25
+ if (findUser) throw new HttpException(409, `This email ${userData.email} already exists`);
30
26
 
31
27
  const hashedPassword = await hash(userData.password, 10);
32
28
  const createUserData: User = await UserEntity.create({ ...userData, password: hashedPassword }).save();
@@ -34,11 +30,9 @@ class UserService extends Repository<UserEntity> {
34
30
  return createUserData;
35
31
  }
36
32
 
37
- public async updateUser(userId: number, userData: CreateUserDto): Promise<User> {
38
- if (isEmpty(userData)) throw new HttpException(400, "You're not userData");
39
-
33
+ public async updateUser(userId: number, userData: User): Promise<User> {
40
34
  const findUser: User = await UserEntity.findOne({ where: { id: userId } });
41
- if (!findUser) throw new HttpException(409, "You're not user");
35
+ if (!findUser) throw new HttpException(409, "User doesn't exist");
42
36
 
43
37
  const hashedPassword = await hash(userData.password, 10);
44
38
  await UserEntity.update(userId, { ...userData, password: hashedPassword });
@@ -48,14 +42,10 @@ class UserService extends Repository<UserEntity> {
48
42
  }
49
43
 
50
44
  public async deleteUser(userId: number): Promise<User> {
51
- if (isEmpty(userId)) throw new HttpException(400, "You're not userId");
52
-
53
45
  const findUser: User = await UserEntity.findOne({ where: { id: userId } });
54
- if (!findUser) throw new HttpException(409, "You're not user");
46
+ if (!findUser) throw new HttpException(409, "User doesn't exist");
55
47
 
56
48
  await UserEntity.delete({ id: userId });
57
49
  return findUser;
58
50
  }
59
51
  }
60
-
61
- export default UserService;
@@ -1,17 +1,18 @@
1
1
  import bcrypt from 'bcrypt';
2
2
  import request from 'supertest';
3
- import { createConnection, getRepository } from 'typeorm';
4
- import App from '@/app';
3
+ import { createConnection, getConnection, Repository } from 'typeorm';
4
+ import { App } from '@/app';
5
5
  import { dbConnection } from '@databases';
6
6
  import { CreateUserDto } from '@dtos/users.dto';
7
- import AuthRoute from '@routes/auth.route';
7
+ import { UserEntity } from '@entities/users.entity';
8
+ import { AuthRoute } from '@routes/auth.route';
8
9
 
9
- beforeAll(async () => {
10
- await createConnection(dbConnection);
11
- });
10
+ // beforeAll(async () => {
11
+ // await createConnection(dbConnection);
12
+ // });
12
13
 
13
14
  afterAll(async () => {
14
- await new Promise<void>(resolve => setTimeout(() => resolve(), 500));
15
+ await getConnection().close();
15
16
  });
16
17
 
17
18
  describe('Testing Auth', () => {
@@ -23,8 +24,7 @@ describe('Testing Auth', () => {
23
24
  };
24
25
 
25
26
  const authRoute = new AuthRoute();
26
- const users = authRoute.authController.authService.users;
27
- const userRepository = getRepository(users);
27
+ const userRepository = new Repository<UserEntity>();
28
28
 
29
29
  userRepository.findOne = jest.fn().mockReturnValue(null);
30
30
  userRepository.save = jest.fn().mockReturnValue({
@@ -46,8 +46,7 @@ describe('Testing Auth', () => {
46
46
  };
47
47
 
48
48
  const authRoute = new AuthRoute();
49
- const users = authRoute.authController.authService.users;
50
- const userRepository = getRepository(users);
49
+ const userRepository = new Repository<UserEntity>();
51
50
 
52
51
  userRepository.findOne = jest.fn().mockReturnValue({
53
52
  id: 1,
@@ -1,25 +1,47 @@
1
1
  import bcrypt from 'bcrypt';
2
2
  import request from 'supertest';
3
- import { createConnection, getRepository } from 'typeorm';
4
- import App from '@/app';
3
+ import { createConnection, getConnection, Repository } from 'typeorm';
4
+ import { App } from '@/app';
5
5
  import { dbConnection } from '@databases';
6
6
  import { CreateUserDto } from '@dtos/users.dto';
7
- import UserRoute from '@routes/users.route';
7
+ import { UserEntity } from '@entities/users.entity';
8
+ import { UserRoute } from '@routes/users.route';
8
9
 
9
- beforeAll(async () => {
10
- await createConnection(dbConnection);
11
- });
10
+ // beforeAll(async () => {
11
+ // await createConnection(dbConnection);
12
+ // });
12
13
 
13
14
  afterAll(async () => {
14
- await new Promise<void>(resolve => setTimeout(() => resolve(), 500));
15
+ await getConnection().close();
15
16
  });
16
17
 
17
18
  describe('Testing Users', () => {
19
+ describe('[POST] /users', () => {
20
+ it('response Create user', async () => {
21
+ const userData: CreateUserDto = {
22
+ email: 'test@email.com',
23
+ password: 'q1w2e3r4!',
24
+ };
25
+
26
+ const usersRoute = new UserRoute();
27
+ const userRepository = new Repository<UserEntity>();
28
+
29
+ userRepository.findOne = jest.fn().mockReturnValue(null);
30
+ userRepository.save = jest.fn().mockReturnValue({
31
+ id: 1,
32
+ email: userData.email,
33
+ password: await bcrypt.hash(userData.password, 10),
34
+ });
35
+
36
+ const app = new App([usersRoute]);
37
+ return request(app.getServer()).post(`${usersRoute.path}`).send(userData).expect(201);
38
+ });
39
+ });
40
+
18
41
  describe('[GET] /users', () => {
19
42
  it('response findAll users', async () => {
20
43
  const usersRoute = new UserRoute();
21
- const users = usersRoute.usersController.userService.users;
22
- const userRepository = getRepository(users);
44
+ const userRepository = new Repository<UserEntity>();
23
45
 
24
46
  userRepository.find = jest.fn().mockReturnValue([
25
47
  {
@@ -49,8 +71,7 @@ describe('Testing Users', () => {
49
71
  const userId = 1;
50
72
 
51
73
  const usersRoute = new UserRoute();
52
- const users = usersRoute.usersController.userService.users;
53
- const userRepository = getRepository(users);
74
+ const userRepository = new Repository<UserEntity>();
54
75
 
55
76
  userRepository.findOne = jest.fn().mockReturnValue({
56
77
  id: userId,
@@ -63,29 +84,6 @@ describe('Testing Users', () => {
63
84
  });
64
85
  });
65
86
 
66
- describe('[POST] /users', () => {
67
- it('response Create user', async () => {
68
- const userData: CreateUserDto = {
69
- email: 'test@email.com',
70
- password: 'q1w2e3r4!',
71
- };
72
-
73
- const usersRoute = new UserRoute();
74
- const users = usersRoute.usersController.userService.users;
75
- const userRepository = getRepository(users);
76
-
77
- userRepository.findOne = jest.fn().mockReturnValue(null);
78
- userRepository.save = jest.fn().mockReturnValue({
79
- id: 1,
80
- email: userData.email,
81
- password: await bcrypt.hash(userData.password, 10),
82
- });
83
-
84
- const app = new App([usersRoute]);
85
- return request(app.getServer()).post(`${usersRoute.path}`).send(userData).expect(201);
86
- });
87
- });
88
-
89
87
  describe('[PUT] /users/:id', () => {
90
88
  it('response Update user', async () => {
91
89
  const userId = 1;
@@ -95,8 +93,7 @@ describe('Testing Users', () => {
95
93
  };
96
94
 
97
95
  const usersRoute = new UserRoute();
98
- const users = usersRoute.usersController.userService.users;
99
- const userRepository = getRepository(users);
96
+ const userRepository = new Repository<UserEntity>();
100
97
 
101
98
  userRepository.findOne = jest.fn().mockReturnValue({
102
99
  id: userId,
@@ -124,8 +121,7 @@ describe('Testing Users', () => {
124
121
  const userId = 1;
125
122
 
126
123
  const usersRoute = new UserRoute();
127
- const users = usersRoute.usersController.userService.users;
128
- const userRepository = getRepository(users);
124
+ const userRepository = new Repository<UserEntity>();
129
125
 
130
126
  userRepository.findOne = jest.fn().mockReturnValue({
131
127
  id: userId,
@@ -1,10 +1,8 @@
1
1
  import { cleanEnv, port, str } from 'envalid';
2
2
 
3
- const validateEnv = () => {
3
+ export const ValidateEnv = () => {
4
4
  cleanEnv(process.env, {
5
5
  NODE_ENV: str(),
6
6
  PORT: port(),
7
7
  });
8
8
  };
9
-
10
- export default validateEnv;
@@ -24,7 +24,7 @@
24
24
  "@/*": ["*"],
25
25
  "@config": ["config"],
26
26
  "@controllers/*": ["controllers/*"],
27
- "@databases": ["databases"],
27
+ "@database": ["database"],
28
28
  "@dtos/*": ["dtos/*"],
29
29
  "@entities/*": ["entities/*"],
30
30
  "@exceptions/*": ["exceptions/*"],
@@ -36,5 +36,5 @@
36
36
  }
37
37
  },
38
38
  "include": ["src/**/*.ts", "src/**/*.json", ".env"],
39
- "exclude": ["node_modules", "src/http", "src/logs", "src/tests"]
39
+ "exclude": ["node_modules", "src/http", "src/logs"]
40
40
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "typescript-express-starter",
3
- "version": "9.1.2",
3
+ "version": "10.0.0",
4
4
  "description": "Quick and Easy TypeScript Express Starter",
5
5
  "author": "AGUMON <ljlm0402@gmail.com>",
6
6
  "license": "MIT",
@@ -16,6 +16,7 @@
16
16
  "typegoose",
17
17
  "mikro-orm",
18
18
  "routing-controllers",
19
+ "node-postgres",
19
20
  "logger",
20
21
  "swagger",
21
22
  "jest",
@@ -36,14 +37,13 @@
36
37
  "start": "node bin/cli.js"
37
38
  },
38
39
  "dependencies": {
39
- "chalk": "^3.0.0",
40
+ "chalk": "^4.1.2",
40
41
  "edit-json-file": "^1.5.0",
41
42
  "gitignore": "^0.6.0",
42
43
  "inquirer": "^6.5.2",
43
44
  "ncp": "^2.0.0",
44
45
  "ora": "^4.0.3"
45
46
  },
46
- "devDependencies": {},
47
47
  "publishConfig": {
48
48
  "access": "public"
49
49
  },
@@ -1,24 +0,0 @@
1
- # Common build stage
2
- FROM node:14.14.0-alpine3.12 as common-build-stage
3
-
4
- COPY . ./app
5
-
6
- WORKDIR /app
7
-
8
- RUN npm install
9
-
10
- EXPOSE 3000
11
-
12
- # Development build stage
13
- FROM common-build-stage as development-build-stage
14
-
15
- ENV NODE_ENV development
16
-
17
- CMD ["npm", "run", "dev"]
18
-
19
- # Production build stage
20
- FROM common-build-stage as production-build-stage
21
-
22
- ENV NODE_ENV production
23
-
24
- CMD ["npm", "run", "start"]
@@ -1,13 +0,0 @@
1
- import { NextFunction, Request, Response } from 'express';
2
-
3
- class IndexController {
4
- public index = (req: Request, res: Response, next: NextFunction): void => {
5
- try {
6
- res.sendStatus(200);
7
- } catch (error) {
8
- next(error);
9
- }
10
- };
11
- }
12
-
13
- export default IndexController;
@@ -1,19 +0,0 @@
1
- import { Router } from 'express';
2
- import IndexController from '@controllers/index.controller';
3
- import { Routes } from '@interfaces/routes.interface';
4
-
5
- class IndexRoute implements Routes {
6
- public path = '/';
7
- public router = Router();
8
- public indexController = new IndexController();
9
-
10
- constructor() {
11
- this.initializeRoutes();
12
- }
13
-
14
- private initializeRoutes() {
15
- this.router.get(`${this.path}`, this.indexController.index);
16
- }
17
- }
18
-
19
- export default IndexRoute;
@@ -1,19 +0,0 @@
1
- /**
2
- * @method isEmpty
3
- * @param {String | Number | Object} value
4
- * @returns {Boolean} true & false
5
- * @description this value is Empty Check
6
- */
7
- export const isEmpty = (value: string | number | object): boolean => {
8
- if (value === null) {
9
- return true;
10
- } else if (typeof value !== 'number' && value === '') {
11
- return true;
12
- } else if (typeof value === 'undefined' || value === undefined) {
13
- return true;
14
- } else if (value !== null && typeof value === 'object' && !Object.keys(value).length) {
15
- return true;
16
- } else {
17
- return false;
18
- }
19
- };
@@ -1,24 +0,0 @@
1
- # Common build stage
2
- FROM node:14.14.0-alpine3.12 as common-build-stage
3
-
4
- COPY . ./app
5
-
6
- WORKDIR /app
7
-
8
- RUN npm install
9
-
10
- EXPOSE 3000
11
-
12
- # Development build stage
13
- FROM common-build-stage as development-build-stage
14
-
15
- ENV NODE_ENV development
16
-
17
- CMD ["npm", "run", "dev"]
18
-
19
- # Production build stage
20
- FROM common-build-stage as production-build-stage
21
-
22
- ENV NODE_ENV production
23
-
24
- CMD ["npm", "run", "start"]
@@ -1,18 +0,0 @@
1
- import request from 'supertest';
2
- import App from '@app';
3
- import IndexRoute from '@routes/index.route';
4
-
5
- afterAll(async () => {
6
- await new Promise<void>(resolve => setTimeout(() => resolve(), 500));
7
- });
8
-
9
- describe('Testing Index', () => {
10
- describe('[GET] /', () => {
11
- it('response statusCode 200', () => {
12
- const indexRoute = new IndexRoute();
13
- const app = new App([indexRoute]);
14
-
15
- return request(app.getServer()).get(`${indexRoute.path}`).expect(200);
16
- });
17
- });
18
- });
@@ -1,71 +0,0 @@
1
- import request from 'supertest';
2
- import App from '@app';
3
- import { CreateUserDto } from '@dtos/users.dto';
4
- import { User } from '@interfaces/users.interface';
5
- import userModel from '@models/users.model';
6
- import UserRoute from '@routes/users.route';
7
-
8
- afterAll(async () => {
9
- await new Promise<void>(resolve => setTimeout(() => resolve(), 500));
10
- });
11
-
12
- describe('Testing Users', () => {
13
- describe('[GET] /users', () => {
14
- it('response statusCode 200 / findAll', () => {
15
- const findUser: User[] = userModel;
16
- const usersRoute = new UserRoute();
17
- const app = new App([usersRoute]);
18
-
19
- return request(app.getServer()).get(`${usersRoute.path}`).expect(200, { data: findUser, message: 'findAll' });
20
- });
21
- });
22
-
23
- describe('[GET] /users/:id', () => {
24
- it('response statusCode 200 / findOne', () => {
25
- const userId = 1;
26
- const findUser: User = userModel.find(user => user.id === userId);
27
- const usersRoute = new UserRoute();
28
- const app = new App([usersRoute]);
29
-
30
- return request(app.getServer()).get(`${usersRoute.path}/${userId}`).expect(200, { data: findUser, message: 'findOne' });
31
- });
32
- });
33
-
34
- describe('[POST] /users', () => {
35
- it('response statusCode 201 / created', async () => {
36
- const userData: CreateUserDto = {
37
- email: 'test@email.com',
38
- password: 'q1w2e3r4',
39
- };
40
- const usersRoute = new UserRoute();
41
- const app = new App([usersRoute]);
42
-
43
- return request(app.getServer()).post(`${usersRoute.path}`).send(userData).expect(201);
44
- });
45
- });
46
-
47
- describe('[PUT] /users/:id', () => {
48
- it('response statusCode 200 / updated', async () => {
49
- const userId = 1;
50
- const userData: CreateUserDto = {
51
- email: 'test@email.com',
52
- password: 'q1w2e3r4',
53
- };
54
- const usersRoute = new UserRoute();
55
- const app = new App([usersRoute]);
56
-
57
- return request(app.getServer()).put(`${usersRoute.path}/${userId}`).send(userData).expect(200);
58
- });
59
- });
60
-
61
- describe('[DELETE] /users/:id', () => {
62
- it('response statusCode 200 / deleted', () => {
63
- const userId = 1;
64
- const deleteUser: User[] = userModel.filter(user => user.id !== userId);
65
- const usersRoute = new UserRoute();
66
- const app = new App([usersRoute]);
67
-
68
- return request(app.getServer()).delete(`${usersRoute.path}/${userId}`).expect(200, { data: deleteUser, message: 'deleted' });
69
- });
70
- });
71
- });
@@ -1,19 +0,0 @@
1
- /**
2
- * @method isEmpty
3
- * @param {String | Number | Object} value
4
- * @returns {Boolean} true & false
5
- * @description this value is Empty Check
6
- */
7
- export const isEmpty = (value: string | number | object): boolean => {
8
- if (value === null) {
9
- return true;
10
- } else if (typeof value !== 'number' && value === '') {
11
- return true;
12
- } else if (typeof value === 'undefined' || value === undefined) {
13
- return true;
14
- } else if (value !== null && typeof value === 'object' && !Object.keys(value).length) {
15
- return true;
16
- } else {
17
- return false;
18
- }
19
- };
@@ -1,24 +0,0 @@
1
- # Common build stage
2
- FROM node:14.14.0-alpine3.12 as common-build-stage
3
-
4
- COPY . ./app
5
-
6
- WORKDIR /app
7
-
8
- RUN npm install
9
-
10
- EXPOSE 3000
11
-
12
- # Development build stage
13
- FROM common-build-stage as development-build-stage
14
-
15
- ENV NODE_ENV development
16
-
17
- CMD ["npm", "run", "dev"]
18
-
19
- # Production build stage
20
- FROM common-build-stage as production-build-stage
21
-
22
- ENV NODE_ENV production
23
-
24
- CMD ["npm", "run", "start"]
@@ -1,13 +0,0 @@
1
- import { NextFunction, Request, Response } from 'express';
2
-
3
- class IndexController {
4
- public index = (req: Request, res: Response, next: NextFunction): void => {
5
- try {
6
- res.sendStatus(200);
7
- } catch (error) {
8
- next(error);
9
- }
10
- };
11
- }
12
-
13
- export default IndexController;
@@ -1,13 +0,0 @@
1
- import Knex from 'knex';
2
-
3
- export async function up(knex: Knex): Promise<void> {
4
- await knex.schema.createTable('users', table => {
5
- table.bigIncrements('id').unsigned().primary();
6
- table.string('email', 45).notNullable();
7
- table.string('password', 255).notNullable();
8
- });
9
- }
10
-
11
- export async function down(knex: Knex): Promise<void> {
12
- await knex.schema.dropTable('users');
13
- }
@@ -1,19 +0,0 @@
1
- import { Router } from 'express';
2
- import IndexController from '@controllers/index.controller';
3
- import { Routes } from '@interfaces/routes.interface';
4
-
5
- class IndexRoute implements Routes {
6
- public path = '/';
7
- public router = Router();
8
- public indexController = new IndexController();
9
-
10
- constructor() {
11
- this.initializeRoutes();
12
- }
13
-
14
- private initializeRoutes() {
15
- this.router.get(`${this.path}`, this.indexController.index);
16
- }
17
- }
18
-
19
- export default IndexRoute;
@@ -1,17 +0,0 @@
1
- import request from 'supertest';
2
- import App from '@/app';
3
- import IndexRoute from '@routes/index.route';
4
-
5
- afterAll(async () => {
6
- await new Promise<void>(resolve => setTimeout(() => resolve(), 500));
7
- });
8
-
9
- describe('Testing Index', () => {
10
- describe('[GET] /', () => {
11
- it('response statusCode 200', () => {
12
- const indexRoute = new IndexRoute();
13
- const app = new App([indexRoute]);
14
- return request(app.getServer()).get(`${indexRoute.path}`).expect(200);
15
- });
16
- });
17
- });
@@ -1,19 +0,0 @@
1
- /**
2
- * @method isEmpty
3
- * @param {String | Number | Object} value
4
- * @returns {Boolean} true & false
5
- * @description this value is Empty Check
6
- */
7
- export const isEmpty = (value: string | number | object): boolean => {
8
- if (value === null) {
9
- return true;
10
- } else if (typeof value !== 'number' && value === '') {
11
- return true;
12
- } else if (typeof value === 'undefined' || value === undefined) {
13
- return true;
14
- } else if (value !== null && typeof value === 'object' && !Object.keys(value).length) {
15
- return true;
16
- } else {
17
- return false;
18
- }
19
- };
@@ -1,24 +0,0 @@
1
- # Common build stage
2
- FROM node:14.14.0-alpine3.12 as common-build-stage
3
-
4
- COPY . ./app
5
-
6
- WORKDIR /app
7
-
8
- RUN npm install
9
-
10
- EXPOSE 3000
11
-
12
- # Development build stage
13
- FROM common-build-stage as development-build-stage
14
-
15
- ENV NODE_ENV development
16
-
17
- CMD ["npm", "run", "dev"]
18
-
19
- # Production build stage
20
- FROM common-build-stage as production-build-stage
21
-
22
- ENV NODE_ENV production
23
-
24
- CMD ["npm", "run", "start"]
@@ -1,13 +0,0 @@
1
- import { NextFunction, Request, Response } from 'express';
2
-
3
- class IndexController {
4
- public index = (req: Request, res: Response, next: NextFunction) => {
5
- try {
6
- res.sendStatus(200);
7
- } catch (error) {
8
- next(error);
9
- }
10
- };
11
- }
12
-
13
- export default IndexController;