@fuzionx/framework 0.1.38 → 0.1.41

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 (81) hide show
  1. package/README.md +501 -501
  2. package/bin/fx.js +12 -12
  3. package/cli/db-sync.js +99 -99
  4. package/cli/index.js +493 -493
  5. package/cli/templates/make/app/controllers/HomeController.js +14 -14
  6. package/cli/templates/make/app/routes/api.js +7 -7
  7. package/cli/templates/make/app/routes/web.js +5 -5
  8. package/cli/templates/make/app/views/default/errors/404.html +11 -11
  9. package/cli/templates/make/app/views/default/errors/500.html +14 -14
  10. package/cli/templates/make/app/views/default/layouts/main.html +22 -22
  11. package/cli/templates/make/app/views/default/pages/home.html +11 -11
  12. package/cli/templates/make/controller.js.tpl +40 -40
  13. package/cli/templates/make/event.js.tpl +8 -8
  14. package/cli/templates/make/job.js.tpl +10 -10
  15. package/cli/templates/make/middleware.js.tpl +10 -10
  16. package/cli/templates/make/model.js.tpl +15 -15
  17. package/cli/templates/make/service.js.tpl +15 -15
  18. package/cli/templates/make/task.js.tpl +15 -15
  19. package/cli/templates/make/test.js.tpl +7 -7
  20. package/cli/templates/make/worker.js.tpl +14 -14
  21. package/cli/templates/make/ws.js.tpl +18 -18
  22. package/index.js +67 -67
  23. package/lib/core/AppError.js +46 -46
  24. package/lib/core/Application.js +1006 -998
  25. package/lib/core/AutoLoader.js +226 -226
  26. package/lib/core/Base.js +64 -64
  27. package/lib/core/Config.js +228 -228
  28. package/lib/core/Context.js +484 -460
  29. package/lib/database/ConnectionManager.js +208 -208
  30. package/lib/database/MariaModel.js +29 -29
  31. package/lib/database/Model.js +247 -247
  32. package/lib/database/ModelRegistry.js +72 -72
  33. package/lib/database/MongoModel.js +232 -232
  34. package/lib/database/Pagination.js +37 -37
  35. package/lib/database/PostgreModel.js +29 -29
  36. package/lib/database/QueryBuilder.js +172 -172
  37. package/lib/database/SQLiteModel.js +27 -27
  38. package/lib/database/SqlModel.js +257 -257
  39. package/lib/database/SqlQueryBuilder.js +332 -321
  40. package/lib/helpers/CryptoHelper.js +48 -48
  41. package/lib/helpers/FileHelper.js +61 -61
  42. package/lib/helpers/HashHelper.js +39 -39
  43. package/lib/helpers/I18nHelper.js +174 -174
  44. package/lib/helpers/Logger.js +108 -105
  45. package/lib/helpers/MediaHelper.js +84 -84
  46. package/lib/http/Controller.js +34 -34
  47. package/lib/http/ErrorHandler.js +136 -136
  48. package/lib/http/Middleware.js +43 -43
  49. package/lib/http/Router.js +109 -109
  50. package/lib/http/Validation.js +125 -124
  51. package/lib/middleware/apiAuth.js +79 -79
  52. package/lib/middleware/auth.js +42 -42
  53. package/lib/middleware/bodyParser.js +19 -19
  54. package/lib/middleware/cors.js +47 -47
  55. package/lib/middleware/csrf.js +32 -32
  56. package/lib/middleware/index.js +13 -13
  57. package/lib/middleware/session.js +27 -27
  58. package/lib/middleware/theme.js +20 -20
  59. package/lib/realtime/RoomManager.js +85 -85
  60. package/lib/realtime/WsHandler.js +107 -107
  61. package/lib/schedule/Job.js +38 -38
  62. package/lib/schedule/Queue.js +103 -102
  63. package/lib/schedule/Scheduler.js +171 -170
  64. package/lib/schedule/Task.js +39 -39
  65. package/lib/schedule/WorkerPool.js +225 -225
  66. package/lib/services/EventBus.js +94 -94
  67. package/lib/services/Service.js +261 -261
  68. package/lib/services/Storage.js +112 -112
  69. package/lib/utilities/ArrUtil.js +112 -112
  70. package/lib/utilities/DateUtil.js +98 -98
  71. package/lib/utilities/FunctionUtil.js +119 -119
  72. package/lib/utilities/NumUtil.js +75 -75
  73. package/lib/utilities/ObjectUtil.js +170 -170
  74. package/lib/utilities/PaginationUtil.js +81 -81
  75. package/lib/utilities/StrUtil.js +105 -105
  76. package/lib/utilities/index.js +18 -18
  77. package/lib/view/OpenAPI.js +231 -231
  78. package/lib/view/View.js +83 -83
  79. package/package.json +2 -2
  80. package/testing/index.js +232 -232
  81. package/cli/fx.js +0 -3
@@ -1,46 +1,46 @@
1
- /**
2
- * AppError — 프레임워크 에러 타입
3
- *
4
- * HTTP 상태 코드 + 추가 데이터를 포함하는 에러.
5
- * ServiceError, ValidationError 등의 기반 클래스.
6
- *
7
- * @see docs/framework/08-error-handling.md
8
- */
9
- export default class AppError extends Error {
10
- /**
11
- * @param {string} message - 에러 메시지
12
- * @param {number} [status=500] - HTTP 상태 코드
13
- * @param {object|null} [data=null] - 추가 데이터 (validation errors 등)
14
- */
15
- constructor(message, status = 500, data = null) {
16
- super(message);
17
- this.name = 'AppError';
18
- this.status = status;
19
- this.data = data;
20
- }
21
- }
22
-
23
- /**
24
- * ServiceError — 비즈니스 로직 에러 (400/403/404)
25
- */
26
- export class ServiceError extends AppError {
27
- constructor(message, status = 400, data = null) {
28
- super(message, status, data);
29
- this.name = 'ServiceError';
30
- }
31
- }
32
-
33
- /**
34
- * ValidationError — 입력 검증 실패 (422)
35
- */
36
- export class ValidationError extends AppError {
37
- /**
38
- * @param {string} message - 에러 메시지
39
- * @param {object} fields - 필드별 에러 메시지 { email: '필수 입력', name: '2자 이상' }
40
- */
41
- constructor(message = 'Validation failed', fields = {}) {
42
- super(message, 422, { fields });
43
- this.name = 'ValidationError';
44
- this.fields = fields;
45
- }
46
- }
1
+ /**
2
+ * AppError — 프레임워크 에러 타입
3
+ *
4
+ * HTTP 상태 코드 + 추가 데이터를 포함하는 에러.
5
+ * ServiceError, ValidationError 등의 기반 클래스.
6
+ *
7
+ * @see docs/framework/08-error-handling.md
8
+ */
9
+ export default class AppError extends Error {
10
+ /**
11
+ * @param {string} message - 에러 메시지
12
+ * @param {number} [status=500] - HTTP 상태 코드
13
+ * @param {object|null} [data=null] - 추가 데이터 (validation errors 등)
14
+ */
15
+ constructor(message, status = 500, data = null) {
16
+ super(message);
17
+ this.name = 'AppError';
18
+ this.status = status;
19
+ this.data = data;
20
+ }
21
+ }
22
+
23
+ /**
24
+ * ServiceError — 비즈니스 로직 에러 (400/403/404)
25
+ */
26
+ export class ServiceError extends AppError {
27
+ constructor(message, status = 400, data = null) {
28
+ super(message, status, data);
29
+ this.name = 'ServiceError';
30
+ }
31
+ }
32
+
33
+ /**
34
+ * ValidationError — 입력 검증 실패 (422)
35
+ */
36
+ export class ValidationError extends AppError {
37
+ /**
38
+ * @param {string} message - 에러 메시지
39
+ * @param {object} fields - 필드별 에러 메시지 { email: '필수 입력', name: '2자 이상' }
40
+ */
41
+ constructor(message = 'Validation failed', fields = {}) {
42
+ super(message, 422, { fields });
43
+ this.name = 'ValidationError';
44
+ this.fields = fields;
45
+ }
46
+ }