@creator.co/wapi 1.7.1-alpha4 → 1.7.2-alpha1

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 (151) hide show
  1. package/.eslintignore +3 -0
  2. package/.eslintrc.cjs +62 -0
  3. package/.github/workflows/npmpublish.yml +11 -0
  4. package/.github/workflows/prs.yml +13 -0
  5. package/dist/index.d.ts +14 -14
  6. package/dist/index.js +14 -14
  7. package/dist/index.js.map +1 -1
  8. package/dist/package-lock.json +2676 -454
  9. package/dist/package.json +2 -1
  10. package/dist/src/API/Request.d.ts +1 -1
  11. package/dist/src/API/Request.js +1 -1
  12. package/dist/src/API/Request.js.map +1 -1
  13. package/dist/src/API/Response.d.ts +1 -1
  14. package/dist/src/API/Response.js +1 -1
  15. package/dist/src/API/Response.js.map +1 -1
  16. package/dist/src/BaseEvent/EventProcessor.d.ts +2 -2
  17. package/dist/src/BaseEvent/EventProcessor.js +3 -3
  18. package/dist/src/BaseEvent/EventProcessor.js.map +1 -1
  19. package/dist/src/BaseEvent/Process.d.ts +3 -3
  20. package/dist/src/BaseEvent/Process.js +2 -2
  21. package/dist/src/BaseEvent/Process.js.map +1 -1
  22. package/dist/src/BaseEvent/Transaction.d.ts +5 -5
  23. package/dist/src/BaseEvent/Transaction.js +6 -6
  24. package/dist/src/BaseEvent/Transaction.js.map +1 -1
  25. package/dist/src/Cache/Redis.d.ts +1 -1
  26. package/dist/src/Cache/Redis.js +1 -1
  27. package/dist/src/Cache/Redis.js.map +1 -1
  28. package/dist/src/Cache/types.d.ts +1 -1
  29. package/dist/src/Config/Configuration.js +1 -1
  30. package/dist/src/Config/Configuration.js.map +1 -1
  31. package/dist/src/Database/Database.d.ts +2 -2
  32. package/dist/src/Database/DatabaseManager.d.ts +4 -4
  33. package/dist/src/Database/DatabaseManager.js +3 -3
  34. package/dist/src/Database/DatabaseManager.js.map +1 -1
  35. package/dist/src/Database/DatabaseTransaction.d.ts +1 -1
  36. package/dist/src/Database/index.d.ts +10 -10
  37. package/dist/src/Database/index.js +6 -6
  38. package/dist/src/Database/index.js.map +1 -1
  39. package/dist/src/Database/integrations/knex/KnexDatabase.d.ts +3 -3
  40. package/dist/src/Database/integrations/knex/KnexDatabase.js +2 -2
  41. package/dist/src/Database/integrations/knex/KnexDatabase.js.map +1 -1
  42. package/dist/src/Database/integrations/knex/KnexTransaction.d.ts +3 -3
  43. package/dist/src/Database/integrations/knex/KnexTransaction.js +1 -1
  44. package/dist/src/Database/integrations/knex/KnexTransaction.js.map +1 -1
  45. package/dist/src/Database/integrations/kysely/KyselyDatabase.d.ts +3 -3
  46. package/dist/src/Database/integrations/kysely/KyselyDatabase.js +2 -2
  47. package/dist/src/Database/integrations/kysely/KyselyDatabase.js.map +1 -1
  48. package/dist/src/Database/integrations/kysely/KyselyTransaction.d.ts +3 -3
  49. package/dist/src/Database/integrations/kysely/KyselyTransaction.js +1 -1
  50. package/dist/src/Database/integrations/kysely/KyselyTransaction.js.map +1 -1
  51. package/dist/src/Database/integrations/pgsql/PostgresDatabase.d.ts +3 -3
  52. package/dist/src/Database/integrations/pgsql/PostgresDatabase.js +2 -2
  53. package/dist/src/Database/integrations/pgsql/PostgresDatabase.js.map +1 -1
  54. package/dist/src/Database/integrations/pgsql/PostgresTransaction.d.ts +3 -3
  55. package/dist/src/Database/integrations/pgsql/PostgresTransaction.js +1 -1
  56. package/dist/src/Database/integrations/pgsql/PostgresTransaction.js.map +1 -1
  57. package/dist/src/Database/types.d.ts +5 -5
  58. package/dist/src/Globals.js +1 -1
  59. package/dist/src/Globals.js.map +1 -1
  60. package/dist/src/Logger/Logger.js +1 -1
  61. package/dist/src/Logger/Logger.js.map +1 -1
  62. package/dist/src/Server/RouteResolver.d.ts +2 -2
  63. package/dist/src/Server/Router.d.ts +3 -3
  64. package/dist/src/Server/Router.js +3 -3
  65. package/dist/src/Server/Router.js.map +1 -1
  66. package/dist/src/Server/lib/ContainerServer.d.ts +3 -3
  67. package/dist/src/Server/lib/ContainerServer.js +2 -2
  68. package/dist/src/Server/lib/ContainerServer.js.map +1 -1
  69. package/dist/src/Server/lib/Server.d.ts +2 -2
  70. package/dist/src/Server/lib/Server.js +4 -4
  71. package/dist/src/Server/lib/Server.js.map +1 -1
  72. package/dist/src/Server/lib/container/GenericHandler.d.ts +1 -1
  73. package/dist/src/Server/lib/container/GenericHandler.js +3 -3
  74. package/dist/src/Server/lib/container/GenericHandler.js.map +1 -1
  75. package/dist/src/Server/lib/container/GenericHandlerEvent.d.ts +1 -1
  76. package/dist/src/Server/lib/container/GenericHandlerEvent.js +2 -2
  77. package/dist/src/Server/lib/container/GenericHandlerEvent.js.map +1 -1
  78. package/dist/src/Server/lib/container/Proxy.d.ts +2 -2
  79. package/dist/src/Server/lib/container/Proxy.js +4 -4
  80. package/dist/src/Server/lib/container/Proxy.js.map +1 -1
  81. package/dist/src/Validation/Validator.d.ts +1 -1
  82. package/dist/src/Validation/Validator.js +2 -2
  83. package/dist/src/Validation/Validator.js.map +1 -1
  84. package/index.ts +14 -14
  85. package/jest.config.ts +37 -0
  86. package/jest.smoke.config.ts +34 -0
  87. package/package.json +2 -1
  88. package/src/API/Request.ts +2 -2
  89. package/src/API/Response.ts +2 -2
  90. package/src/BaseEvent/EventProcessor.ts +3 -3
  91. package/src/BaseEvent/Process.ts +3 -3
  92. package/src/BaseEvent/Transaction.ts +8 -8
  93. package/src/Cache/Redis.ts +2 -2
  94. package/src/Cache/types.ts +1 -1
  95. package/src/Config/Configuration.ts +1 -1
  96. package/src/Database/Database.ts +2 -2
  97. package/src/Database/DatabaseManager.ts +4 -4
  98. package/src/Database/DatabaseTransaction.ts +1 -1
  99. package/src/Database/index.ts +10 -10
  100. package/src/Database/integrations/knex/KnexDatabase.ts +3 -3
  101. package/src/Database/integrations/knex/KnexTransaction.ts +3 -3
  102. package/src/Database/integrations/kysely/KyselyDatabase.ts +3 -3
  103. package/src/Database/integrations/kysely/KyselyTransaction.ts +3 -3
  104. package/src/Database/integrations/pgsql/PostgresDatabase.ts +3 -3
  105. package/src/Database/integrations/pgsql/PostgresTransaction.ts +3 -3
  106. package/src/Database/types.ts +5 -5
  107. package/src/Globals.ts +1 -1
  108. package/src/Logger/Logger.ts +1 -1
  109. package/src/Server/RouteResolver.ts +2 -2
  110. package/src/Server/Router.ts +6 -6
  111. package/src/Server/lib/ContainerServer.ts +3 -3
  112. package/src/Server/lib/Server.ts +6 -6
  113. package/src/Server/lib/container/GenericHandler.ts +4 -4
  114. package/src/Server/lib/container/GenericHandlerEvent.ts +3 -3
  115. package/src/Server/lib/container/Proxy.ts +6 -6
  116. package/src/Validation/Validator.ts +2 -2
  117. package/tests/API/Request.test.ts +273 -0
  118. package/tests/API/Response.test.ts +367 -0
  119. package/tests/API/Utils.test.ts +167 -0
  120. package/tests/BaseEvent/EventProcessor.test.ts +261 -0
  121. package/tests/BaseEvent/Process.test.ts +49 -0
  122. package/tests/BaseEvent/Transaction.test.ts +408 -0
  123. package/tests/Cache/Redis-client.test.ts +90 -0
  124. package/tests/Cache/Redis-cluster.test.ts +100 -0
  125. package/tests/Config/Config.test.ts +205 -0
  126. package/tests/Config/EnvironmentVar.test.ts +250 -0
  127. package/tests/Crypto/Crypto.test.ts +88 -0
  128. package/tests/Crypto/JWT.test.ts +92 -0
  129. package/tests/Database/DatabaseManager.test.ts +71 -0
  130. package/tests/Database/integrations/knex/KnexDatabase.test.ts +76 -0
  131. package/tests/Database/integrations/knex/KnexTransaction.test.ts +149 -0
  132. package/tests/Database/integrations/kysely/KyselyDatabase.test.ts +113 -0
  133. package/tests/Database/integrations/kysely/KyselyTransaction.test.ts +119 -0
  134. package/tests/Database/integrations/pg/PostgresDatabase.test.ts +76 -0
  135. package/tests/Database/integrations/pg/PostgresTransaction.test.ts +118 -0
  136. package/tests/Logger/Logger.test.ts +219 -0
  137. package/tests/Mailer/Mailer.test.ts +59 -0
  138. package/tests/Publisher/Publisher.test.ts +94 -0
  139. package/tests/Server/RouteResolver.test.ts +102 -0
  140. package/tests/Server/Router.test.ts +39 -0
  141. package/tests/Server/lib/ContainerServer.test.ts +531 -0
  142. package/tests/Server/lib/Server.test.ts +12 -0
  143. package/tests/Server/lib/container/GenericHandler.test.ts +131 -0
  144. package/tests/Server/lib/container/GenericHandlerEvent.test.ts +103 -0
  145. package/tests/Server/lib/container/HealthHandler.test.ts +30 -0
  146. package/tests/Server/lib/container/Proxy.test.ts +268 -0
  147. package/tests/Server/lib/container/Utils.test.ts +47 -0
  148. package/tests/Test.utils.ts +74 -0
  149. package/tests/Validation/Validator.test.ts +76 -0
  150. package/tsconfig.json +26 -0
  151. package/tsconfig.smoke.json +26 -0
@@ -0,0 +1,76 @@
1
+ import { expect } from 'chai'
2
+
3
+ import Response from '../../src/API/Response.js'
4
+ import Globals from '../../src/Globals.js'
5
+ import Validator from '../../src/Validation/Validator.js'
6
+ import { ViewSchema } from '../Test.utils.js'
7
+
8
+ function expectFullFailure(validationResult, c = 4) {
9
+ expect(validationResult).to.be.an.instanceof(Response)
10
+ if (validationResult instanceof Response) {
11
+ expect(validationResult.getBody()).is.not.null
12
+ expect(validationResult.getBody()).to.have.property('err', Globals.ErrorResponseValidationFail)
13
+ expect(validationResult.getBody()).to.have.property('errCode', Globals.ErrorCode_InvalidInput)
14
+ expect(validationResult.getBody()).to.have.property('validationFailure')
15
+ expect(validationResult.getBody()['validationFailure']).to.have.lengthOf(c)
16
+ expect(validationResult.getCode()).is.equals(400)
17
+ }
18
+ }
19
+
20
+ describe('Validates unsuccessfully', () => {
21
+ test('Fails to validate async', () => {
22
+ const validationResult = Validator.validateSchema(async () => {}, ViewSchema)
23
+ expectFullFailure(validationResult, 1)
24
+ })
25
+
26
+ test('Fails to validate null', () => {
27
+ const validationResult = Validator.validateSchema(null, ViewSchema)
28
+ expectFullFailure(validationResult, 1)
29
+ })
30
+
31
+ test('Fails to validate empty string', () => {
32
+ const validationResult = Validator.validateSchema('', ViewSchema)
33
+ expectFullFailure(validationResult, 1)
34
+ })
35
+
36
+ test('Fails to validate empty object', () => {
37
+ const validationResult = Validator.validateSchema({}, ViewSchema)
38
+ expectFullFailure(validationResult)
39
+ })
40
+
41
+ test('Fails to validate object with wrong keys', () => {
42
+ const validationResult = Validator.validateSchema({ name: 'Joe' }, ViewSchema)
43
+ expectFullFailure(validationResult)
44
+ })
45
+
46
+ test('Fails to validate object with wrong key types', () => {
47
+ const validationResult = Validator.validateSchema({ id: 123 }, ViewSchema)
48
+ expectFullFailure(validationResult)
49
+ if (validationResult instanceof Response) {
50
+ console.log(validationResult.getBody()['validationFailure'])
51
+ expect(
52
+ validationResult.getBody()['validationFailure'].filter(f => {
53
+ return f.message == 'Expected string, received number'
54
+ })
55
+ ).to.have.lengthOf(1)
56
+ }
57
+ })
58
+ })
59
+
60
+ describe('Validates successfully', () => {
61
+ test('Succeeds to validate', () => {
62
+ const validationResult = Validator.validateSchema(
63
+ {
64
+ id: '123',
65
+ content: '123',
66
+ createdAt: new Date(),
67
+ updatedAt: new Date(),
68
+ },
69
+ ViewSchema
70
+ )
71
+ expect(validationResult).to.not.be.an.instanceof(Response)
72
+ expect(validationResult).to.be.true
73
+ })
74
+ })
75
+
76
+ export {}
package/tsconfig.json ADDED
@@ -0,0 +1,26 @@
1
+ {
2
+ "exclude": ["**/*.test.*", "**/__mocks__/*", "**/__tests__/*", "**/tests/*", "./dist/**/*", "./smoke-tests/**/*", "./jest*", "./node_modules"],
3
+ "include": ["./**/*", "./package.json", "./package-lock.json"],
4
+ "compilerOptions": {
5
+ "lib": [
6
+ "es5",
7
+ "es6",
8
+ "dom"
9
+ ],
10
+ "module": "esnext",
11
+ "target": "es6",
12
+ "moduleResolution": "node",
13
+ "esModuleInterop": true,
14
+ "noImplicitAny": false,
15
+ "noEmitOnError": true,
16
+ "removeComments": false,
17
+ "downlevelIteration": true,
18
+ "resolveJsonModule": true,
19
+ "sourceMap": true,
20
+ "outDir": "dist",
21
+ "declaration": true,
22
+ "skipLibCheck": true,
23
+ "strictNullChecks": true,
24
+ "noErrorTruncation": true
25
+ }
26
+ }
@@ -0,0 +1,26 @@
1
+ {
2
+ "exclude": ["./dist/**/*", "./smoke-tests/**/*", "./node_modules", "./**/Logger.test.*"],
3
+ "include": ["./**/*", "./package.json", "./package-lock.json"],
4
+ "compilerOptions": {
5
+ "lib": [
6
+ "es5",
7
+ "es6",
8
+ "dom"
9
+ ],
10
+ "module": "esnext",
11
+ "target": "es6",
12
+ "moduleResolution": "node",
13
+ "noImplicitAny": false,
14
+ "noEmitOnError": true,
15
+ "removeComments": false,
16
+ "downlevelIteration": true,
17
+ "resolveJsonModule": true,
18
+ "sourceMap": true,
19
+ "esModuleInterop": true,
20
+ "outDir": "smoke-tests",
21
+ "declaration": true,
22
+ "skipLibCheck": true,
23
+ "strictNullChecks": true,
24
+ "noErrorTruncation": true
25
+ }
26
+ }