@devbro/pashmak 0.1.47 → 0.1.49

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 (42) hide show
  1. package/dist/DatabaseServiceProvider.d.mts +4 -1
  2. package/dist/DatabaseServiceProvider.mjs +5 -2
  3. package/dist/DatabaseServiceProvider.mjs.map +1 -1
  4. package/dist/app/console/StartCommand.d.mts +1 -0
  5. package/dist/app/console/StartCommand.mjs +5 -2
  6. package/dist/app/console/StartCommand.mjs.map +1 -1
  7. package/dist/app/console/generate/GenerateApiDocsCommand.d.mts +34 -2
  8. package/dist/app/console/generate/GenerateApiDocsCommand.mjs +183 -100
  9. package/dist/app/console/generate/GenerateApiDocsCommand.mjs.map +1 -1
  10. package/dist/app/console/project/base_project/src/config/storages.ts.tpl +2 -2
  11. package/dist/bin/DatabaseServiceProvider.cjs +8 -2
  12. package/dist/bin/app/console/DefaultCommand.cjs +64 -32
  13. package/dist/bin/app/console/KeyGenerateCommand.cjs +64 -32
  14. package/dist/bin/app/console/StartCommand.cjs +69 -34
  15. package/dist/bin/app/console/generate/GenerateApiDocsCommand.cjs +248 -133
  16. package/dist/bin/app/console/generate/GenerateControllerCommand.cjs +64 -32
  17. package/dist/bin/app/console/generate/index.cjs +248 -133
  18. package/dist/bin/app/console/index.cjs +253 -135
  19. package/dist/bin/app/console/migrate/GenerateMigrateCommand.cjs +64 -32
  20. package/dist/bin/app/console/migrate/MigrateCommand.cjs +64 -32
  21. package/dist/bin/app/console/migrate/MigrateRollbackCommand.cjs +64 -32
  22. package/dist/bin/app/console/migrate/index.cjs +64 -32
  23. package/dist/bin/app/console/queue/GenerateQueueMigrateCommand.cjs +64 -32
  24. package/dist/bin/cache.cjs +64 -32
  25. package/dist/bin/facades.cjs +64 -32
  26. package/dist/bin/factories.cjs +64 -32
  27. package/dist/bin/http.cjs +739 -0
  28. package/dist/bin/index.cjs +264 -141
  29. package/dist/bin/middlewares.cjs +66 -34
  30. package/dist/bin/queue.cjs +64 -32
  31. package/dist/bin/router.cjs +4 -8
  32. package/dist/config.d.mts +0 -1
  33. package/dist/facades.mjs +2 -13
  34. package/dist/facades.mjs.map +1 -1
  35. package/dist/factories.mjs +45 -2
  36. package/dist/factories.mjs.map +1 -1
  37. package/dist/http.d.mts +4 -0
  38. package/dist/http.mjs +20 -0
  39. package/dist/http.mjs.map +1 -1
  40. package/dist/queue.d.mts +1 -1
  41. package/dist/queue.mjs.map +1 -1
  42. package/package.json +1 -1
@@ -77,6 +77,7 @@ var MiddlewareFactory = class {
77
77
  };
78
78
 
79
79
  // ../neko-router/dist/CompiledRoute.mjs
80
+ var import_neko_helper = require("@devbro/neko-helper");
80
81
  var CompiledRoute = class {
81
82
  static {
82
83
  __name(this, "CompiledRoute");
@@ -97,7 +98,7 @@ var CompiledRoute = class {
97
98
  for (const middleware of [...this.globalMiddlewares, ...this.route.getMiddlewares()]) {
98
99
  if (middleware instanceof Middleware) {
99
100
  this.middlewares.push(middleware);
100
- } else if (this.isClass(middleware)) {
101
+ } else if ((0, import_neko_helper.isClass)(middleware)) {
101
102
  this.middlewares.push(middleware.getInstance({}));
102
103
  } else if (typeof middleware === "function") {
103
104
  this.middlewares.push(MiddlewareFactory.create(middleware));
@@ -106,13 +107,8 @@ var CompiledRoute = class {
106
107
  }
107
108
  }
108
109
  }
109
- isClass(func) {
110
- return typeof func === "function" && /^class\s/.test(Function.prototype.toString.call(func));
111
- }
112
110
  async run() {
113
- let rc = await this.runMiddlewares(this.middlewares, this.request, this.response);
114
- this.response.end();
115
- return rc;
111
+ return await this.runMiddlewares(this.middlewares, this.request, this.response);
116
112
  }
117
113
  prepareOutputJsonFormat(obj) {
118
114
  function traverse(value) {
@@ -246,7 +242,7 @@ var Route = class {
246
242
  i = start;
247
243
  } else if (char === "*") {
248
244
  let start = i + 1;
249
- while (start < path3.length && /[a-zA-Z0-9_\.]/.test(path3[start])) {
245
+ while (start < path3.length && /[a-zA-Z0-9_]/.test(path3[start])) {
250
246
  start++;
251
247
  }
252
248
  tokens.push({ type: "WILDCARD", value: path3.slice(i + 1, start) });
@@ -457,7 +453,7 @@ var Router = class {
457
453
 
458
454
  // src/facades.mts
459
455
  var import_neko_scheduler = require("@devbro/neko-scheduler");
460
- var import_neko_helper2 = require("@devbro/neko-helper");
456
+ var import_neko_helper3 = require("@devbro/neko-helper");
461
457
  var import_neko_context3 = require("@devbro/neko-context");
462
458
  var import_neko_storage2 = require("@devbro/neko-storage");
463
459
  var import_neko_mailer2 = require("@devbro/neko-mailer");
@@ -466,7 +462,24 @@ var import_clipanion = require("clipanion");
466
462
 
467
463
  // src/http.mts
468
464
  var http_exports = {};
465
+ __export(http_exports, {
466
+ handleHttpErrors: () => handleHttpErrors
467
+ });
468
+ var import_neko_http = require("@devbro/neko-http");
469
469
  __reExport(http_exports, require("@devbro/neko-http"));
470
+ async function handleHttpErrors(err, req, res) {
471
+ if (err instanceof import_neko_http.HttpError) {
472
+ res.writeHead(err.statusCode, { "Content-Type": "application/json" });
473
+ res.write(JSON.stringify({ message: err.message, error: err.code }));
474
+ logger().warn({ msg: "HttpError: " + err.message, err });
475
+ return;
476
+ } else {
477
+ logger().error({ msg: "Error: " + err.message, err });
478
+ }
479
+ res.writeHead(500, { "Content-Type": "application/json" });
480
+ res.write(JSON.stringify({ error: "Internal Server Error" }));
481
+ }
482
+ __name(handleHttpErrors, "handleHttpErrors");
470
483
 
471
484
  // src/facades.mts
472
485
  var import_neko_logger = require("@devbro/neko-logger");
@@ -481,7 +494,7 @@ __export(queue_exports, {
481
494
  DatabaseTransport: () => DatabaseTransport
482
495
  });
483
496
  __reExport(queue_exports, require("@devbro/neko-queue"));
484
- var import_neko_helper = require("@devbro/neko-helper");
497
+ var import_neko_helper2 = require("@devbro/neko-helper");
485
498
  var import_neko_context2 = require("@devbro/neko-context");
486
499
  var DatabaseTransport = class {
487
500
  static {
@@ -542,7 +555,7 @@ var DatabaseTransport = class {
542
555
  }, "processMessage");
543
556
  constructor(config3 = {}) {
544
557
  this.config = { ...this.config, ...config3 };
545
- this.repeater = (0, import_neko_helper.createRepeater)(
558
+ this.repeater = (0, import_neko_helper2.createRepeater)(
546
559
  this.processMessage,
547
560
  this.config.listen_interval * 1e3
548
561
  );
@@ -610,6 +623,24 @@ import_neko_queue.QueueTransportFactory.register("database", (opt) => {
610
623
  import_neko_queue.QueueTransportFactory.register("memory", (opt) => {
611
624
  return new import_neko_queue.MemoryTransport(opt);
612
625
  });
626
+ import_neko_queue.QueueTransportFactory.register("sqs", (opt) => {
627
+ return new import_neko_queue.AwsSqsTransport(opt);
628
+ });
629
+ import_neko_queue.QueueTransportFactory.register("amqp", (opt) => {
630
+ return new import_neko_queue.AmqpTransport(opt);
631
+ });
632
+ import_neko_queue.QueueTransportFactory.register("redis", (opt) => {
633
+ return new import_neko_queue.RedisTransport(opt);
634
+ });
635
+ import_neko_queue.QueueTransportFactory.register("async", (opt) => {
636
+ return new import_neko_queue.AsyncTransport();
637
+ });
638
+ import_neko_queue.QueueTransportFactory.register("azure_service_bus", (opt) => {
639
+ return new import_neko_queue.AzureServiceBusTransport(opt);
640
+ });
641
+ import_neko_queue.QueueTransportFactory.register("google_pubsub", (opt) => {
642
+ return new import_neko_queue.GooglePubSubTransport(opt);
643
+ });
613
644
  var CacheProviderFactory = class _CacheProviderFactory {
614
645
  static {
615
646
  __name(this, "CacheProviderFactory");
@@ -640,12 +671,24 @@ import_neko_storage.StorageProviderFactory.register("local", (opt) => {
640
671
  import_neko_storage.StorageProviderFactory.register("s3", (opt) => {
641
672
  return new import_neko_storage.AWSS3StorageProvider(opt);
642
673
  });
674
+ import_neko_storage.StorageProviderFactory.register("gcp", (opt) => {
675
+ return new import_neko_storage.GCPStorageProvider(opt);
676
+ });
677
+ import_neko_storage.StorageProviderFactory.register("azure", (opt) => {
678
+ return new import_neko_storage.AzureBlobStorageProvider(opt);
679
+ });
680
+ import_neko_storage.StorageProviderFactory.register("ftp", (opt) => {
681
+ return new import_neko_storage.FTPStorageProvider(opt);
682
+ });
683
+ import_neko_storage.StorageProviderFactory.register("sftp", (opt) => {
684
+ return new import_neko_storage.SFTPStorageProvider(opt);
685
+ });
643
686
 
644
687
  // src/facades.mts
645
688
  var import_neko_cache2 = require("@devbro/neko-cache");
646
689
  var import_neko_queue2 = require("@devbro/neko-queue");
647
- var router = (0, import_neko_helper2.createSingleton)(() => new Router());
648
- var scheduler = (0, import_neko_helper2.createSingleton)(() => {
690
+ var router = (0, import_neko_helper3.createSingleton)(() => new Router());
691
+ var scheduler = (0, import_neko_helper3.createSingleton)(() => {
649
692
  const rc = new import_neko_scheduler.Scheduler();
650
693
  rc.setErrorHandler((err, job) => {
651
694
  logger().error({
@@ -657,7 +700,7 @@ var scheduler = (0, import_neko_helper2.createSingleton)(() => {
657
700
  return rc;
658
701
  });
659
702
  var db = /* @__PURE__ */ __name((label = "default") => (0, import_neko_context3.ctx)().getOrThrow(["database", label]), "db");
660
- var storage = (0, import_neko_helper2.createSingleton)((label = "default") => {
703
+ var storage = (0, import_neko_helper3.createSingleton)((label = "default") => {
661
704
  let storage_config = import_neko_config.config.get(["storages", label].join("."));
662
705
  const provider = import_neko_storage2.StorageProviderFactory.create(
663
706
  storage_config.provider,
@@ -665,7 +708,7 @@ var storage = (0, import_neko_helper2.createSingleton)((label = "default") => {
665
708
  );
666
709
  return new import_neko_storage2.Storage(provider);
667
710
  });
668
- var cli = (0, import_neko_helper2.createSingleton)(() => {
711
+ var cli = (0, import_neko_helper3.createSingleton)(() => {
669
712
  const [node, app, ...args] = process.argv;
670
713
  return new import_clipanion.Cli({
671
714
  binaryLabel: `My Application`,
@@ -673,24 +716,13 @@ var cli = (0, import_neko_helper2.createSingleton)(() => {
673
716
  binaryVersion: `1.0.0`
674
717
  });
675
718
  });
676
- var httpServer = (0, import_neko_helper2.createSingleton)(() => {
719
+ var httpServer = (0, import_neko_helper3.createSingleton)(() => {
677
720
  const server = new http_exports.HttpServer();
678
- server.setErrorHandler(async (err, req, res) => {
679
- if (err instanceof http_exports.HttpError) {
680
- res.writeHead(err.statusCode, { "Content-Type": "application/json" });
681
- res.end(JSON.stringify({ message: err.message, error: err.code }));
682
- logger().warn({ msg: "HttpError: " + err.message, err });
683
- return;
684
- } else {
685
- logger().error({ msg: "Error: " + err.message, err });
686
- }
687
- res.writeHead(500, { "Content-Type": "" });
688
- res.end(JSON.stringify({ error: "Internal Server Error" }));
689
- });
721
+ server.setErrorHandler(handleHttpErrors);
690
722
  server.setRouter(router());
691
723
  return server;
692
724
  });
693
- var logger = (0, import_neko_helper2.createSingleton)((label) => {
725
+ var logger = (0, import_neko_helper3.createSingleton)((label) => {
694
726
  const logger_config = import_neko_config.config.get(["loggers", label].join("."));
695
727
  const rc = new import_neko_logger.Logger(logger_config);
696
728
  rc.setExtrasFunction((message) => {
@@ -699,7 +731,7 @@ var logger = (0, import_neko_helper2.createSingleton)((label) => {
699
731
  });
700
732
  return rc;
701
733
  });
702
- var mailer = (0, import_neko_helper2.createSingleton)((label) => {
734
+ var mailer = (0, import_neko_helper3.createSingleton)((label) => {
703
735
  const mailer_config = import_neko_config.config.get(["mailer", label].join("."));
704
736
  const provider = import_neko_mailer2.MailerProviderFactory.create(
705
737
  mailer_config.provider,
@@ -708,7 +740,7 @@ var mailer = (0, import_neko_helper2.createSingleton)((label) => {
708
740
  const rc = new import_neko_mailer2.Mailer(provider);
709
741
  return rc;
710
742
  });
711
- var queue = (0, import_neko_helper2.createSingleton)((label) => {
743
+ var queue = (0, import_neko_helper3.createSingleton)((label) => {
712
744
  const queue_config = import_neko_config.config.get(["queues", label].join("."));
713
745
  if (!queue_config) {
714
746
  throw new Error(`Queue configuration for '${label}' not found`);
@@ -719,7 +751,7 @@ var queue = (0, import_neko_helper2.createSingleton)((label) => {
719
751
  );
720
752
  return new import_neko_queue2.QueueConnection(provider);
721
753
  });
722
- var cache = (0, import_neko_helper2.createSingleton)((label) => {
754
+ var cache = (0, import_neko_helper3.createSingleton)((label) => {
723
755
  const cache_config = import_neko_config.config.get(["caches", label].join("."));
724
756
  if (!cache_config) {
725
757
  throw new Error(`Cache configuration for '${label}' not found`);