@xxmachina/components 19.0.0-preview.29 → 19.0.0-preview.3

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 (104) hide show
  1. package/features/query/query.feature.d.ts +2 -2
  2. package/fesm2022/xxmachina-components-features-command.mjs +3 -2
  3. package/fesm2022/xxmachina-components-features-command.mjs.map +1 -1
  4. package/fesm2022/xxmachina-components-features-query.mjs +3 -2
  5. package/fesm2022/xxmachina-components-features-query.mjs.map +1 -1
  6. package/fesm2022/xxmachina-components-molecules-daily-cell.mjs +1 -1
  7. package/fesm2022/xxmachina-components-molecules-daily-cell.mjs.map +1 -1
  8. package/fesm2022/xxmachina-components-molecules-weekly-header.mjs +2 -2
  9. package/fesm2022/xxmachina-components-organisms-calendar-section.mjs +2 -2
  10. package/fesm2022/xxmachina-components-organisms-calendar-section.mjs.map +1 -1
  11. package/fesm2022/xxmachina-components-pages-command.mjs +6 -22
  12. package/fesm2022/xxmachina-components-pages-command.mjs.map +1 -1
  13. package/fesm2022/xxmachina-components-pages-query.mjs +3 -7
  14. package/fesm2022/xxmachina-components-pages-query.mjs.map +1 -1
  15. package/fesm2022/{xxmachina-components-routes-commands-command.routes-CSwIdXZg.mjs → xxmachina-components-routes-commands-command.routes-CeRVzy3Z.mjs} +11 -4
  16. package/fesm2022/xxmachina-components-routes-commands-command.routes-CeRVzy3Z.mjs.map +1 -0
  17. package/fesm2022/{xxmachina-components-routes-commands-pages.routes-j2xVop4W.mjs → xxmachina-components-routes-commands-pages.routes-Cm6Yd40h.mjs} +4 -4
  18. package/fesm2022/xxmachina-components-routes-commands-pages.routes-Cm6Yd40h.mjs.map +1 -0
  19. package/fesm2022/xxmachina-components-routes-commands.mjs +3 -5
  20. package/fesm2022/xxmachina-components-routes-commands.mjs.map +1 -1
  21. package/fesm2022/xxmachina-components-routes-pages.mjs +1 -3
  22. package/fesm2022/xxmachina-components-routes-pages.mjs.map +1 -1
  23. package/fesm2022/xxmachina-components-routes-queries-pages.routes-BfWsTCij.mjs +9 -0
  24. package/fesm2022/xxmachina-components-routes-queries-pages.routes-BfWsTCij.mjs.map +1 -0
  25. package/fesm2022/xxmachina-components-routes-queries.mjs +4 -6
  26. package/fesm2022/xxmachina-components-routes-queries.mjs.map +1 -1
  27. package/fesm2022/{xxmachina-components-routes-query-pages.routes-CxTbOJDQ.mjs → xxmachina-components-routes-query-pages.routes-H2vrF7kQ.mjs} +9 -9
  28. package/fesm2022/xxmachina-components-routes-query-pages.routes-H2vrF7kQ.mjs.map +1 -0
  29. package/fesm2022/xxmachina-components-routes-query.mjs +2 -4
  30. package/fesm2022/xxmachina-components-routes-query.mjs.map +1 -1
  31. package/fesm2022/{xxmachina-components-routes-resources-pages.routes-CzjQOxwT.mjs → xxmachina-components-routes-resources-pages.routes-BSjrrV1g.mjs} +4 -4
  32. package/fesm2022/xxmachina-components-routes-resources-pages.routes-BSjrrV1g.mjs.map +1 -0
  33. package/fesm2022/{xxmachina-components-routes-resources-resource.routes-C5KpB3KM.mjs → xxmachina-components-routes-resources-resource.routes-DzGgwitX.mjs} +3 -3
  34. package/fesm2022/xxmachina-components-routes-resources-resource.routes-DzGgwitX.mjs.map +1 -0
  35. package/fesm2022/xxmachina-components-routes-resources.mjs +5 -7
  36. package/fesm2022/xxmachina-components-routes-resources.mjs.map +1 -1
  37. package/fesm2022/xxmachina-components-routes.mjs +4 -4
  38. package/fesm2022/xxmachina-components-routes.mjs.map +1 -1
  39. package/fesm2022/xxmachina-components-services-assistant.mjs.map +1 -1
  40. package/fesm2022/xxmachina-components-services-calendar.mjs.map +1 -1
  41. package/fesm2022/xxmachina-components-services-command.mjs +6 -4
  42. package/fesm2022/xxmachina-components-services-command.mjs.map +1 -1
  43. package/fesm2022/xxmachina-components-services-contract.mjs +1 -1
  44. package/fesm2022/xxmachina-components-services-contract.mjs.map +1 -1
  45. package/fesm2022/xxmachina-components-services-forms-schedule.mjs +1 -1
  46. package/fesm2022/xxmachina-components-services-forms-schedule.mjs.map +1 -1
  47. package/fesm2022/xxmachina-components-services-invoice.mjs +1 -1
  48. package/fesm2022/xxmachina-components-services-invoice.mjs.map +1 -1
  49. package/fesm2022/xxmachina-components-services-link.mjs.map +1 -1
  50. package/fesm2022/xxmachina-components-services-openapi.mjs +1 -1
  51. package/fesm2022/xxmachina-components-services-openapi.mjs.map +1 -1
  52. package/fesm2022/xxmachina-components-services-order.mjs +1 -1
  53. package/fesm2022/xxmachina-components-services-order.mjs.map +1 -1
  54. package/fesm2022/xxmachina-components-services-partner.mjs +1 -1
  55. package/fesm2022/xxmachina-components-services-partner.mjs.map +1 -1
  56. package/fesm2022/xxmachina-components-services-query-config.mjs +18 -17
  57. package/fesm2022/xxmachina-components-services-query-config.mjs.map +1 -1
  58. package/fesm2022/xxmachina-components-services-query.mjs +2 -12
  59. package/fesm2022/xxmachina-components-services-query.mjs.map +1 -1
  60. package/fesm2022/xxmachina-components-services-schedule.mjs +1 -1
  61. package/fesm2022/xxmachina-components-services-schedule.mjs.map +1 -1
  62. package/fesm2022/xxmachina-components-services-thread.mjs +1 -1
  63. package/fesm2022/xxmachina-components-services-thread.mjs.map +1 -1
  64. package/fesm2022/xxmachina-components-validators-query.mjs +3 -6
  65. package/fesm2022/xxmachina-components-validators-query.mjs.map +1 -1
  66. package/fesm2022/xxmachina-components.mjs +1 -1
  67. package/fesm2022/xxmachina-components.mjs.map +1 -1
  68. package/molecules/daily-cell/daily-cell.molecule.d.ts +1 -1
  69. package/organisms/calendar-section/calendar-section.organism.d.ts +1 -1
  70. package/package.json +1 -1
  71. package/pages/command/command.page.d.ts +1 -3
  72. package/routes/commands/commands.routes.d.ts +2 -1
  73. package/routes/commands/index.d.ts +1 -1
  74. package/routes/commands/pages/command/command.routes.d.ts +2 -2
  75. package/routes/commands/pages/pages.routes.d.ts +2 -1
  76. package/routes/pages/index.d.ts +1 -1
  77. package/routes/pages/pages.routes.d.ts +2 -1
  78. package/routes/queries/index.d.ts +1 -1
  79. package/routes/queries/pages/pages.routes.d.ts +2 -1
  80. package/routes/queries/queries.routes.d.ts +2 -1
  81. package/routes/query/index.d.ts +1 -1
  82. package/routes/query/pages/pages.routes.d.ts +2 -1
  83. package/routes/query/query.routes.d.ts +2 -1
  84. package/routes/resources/index.d.ts +1 -1
  85. package/routes/resources/pages/pages.routes.d.ts +2 -1
  86. package/routes/resources/pages/resource/resource.routes.d.ts +2 -1
  87. package/routes/resources/resources.routes.d.ts +2 -1
  88. package/services/assistant/assistant.service.d.ts +1 -1
  89. package/services/calendar/calendar.service.d.ts +1 -1
  90. package/services/command/command.service.d.ts +2 -2
  91. package/services/forms/schedule/schedule.service.d.ts +1 -1
  92. package/services/invoice/invoice.service.d.ts +1 -1
  93. package/services/link/link.service.d.ts +1 -1
  94. package/services/openapi/openapi.service.d.ts +1 -1
  95. package/services/order/order.service.d.ts +1 -1
  96. package/services/query-config/query-config.service.d.ts +19 -7
  97. package/services/schedule/schedule.service.d.ts +1 -1
  98. package/fesm2022/xxmachina-components-routes-commands-command.routes-CSwIdXZg.mjs.map +0 -1
  99. package/fesm2022/xxmachina-components-routes-commands-pages.routes-j2xVop4W.mjs.map +0 -1
  100. package/fesm2022/xxmachina-components-routes-queries-pages.routes-CfrglCIL.mjs +0 -9
  101. package/fesm2022/xxmachina-components-routes-queries-pages.routes-CfrglCIL.mjs.map +0 -1
  102. package/fesm2022/xxmachina-components-routes-query-pages.routes-CxTbOJDQ.mjs.map +0 -1
  103. package/fesm2022/xxmachina-components-routes-resources-pages.routes-CzjQOxwT.mjs.map +0 -1
  104. package/fesm2022/xxmachina-components-routes-resources-resource.routes-C5KpB3KM.mjs.map +0 -1
@@ -1,6 +1,6 @@
1
1
  import { effect, inject } from '@angular/core';
2
2
  import { Resource, ResourceHelper } from '@xxmachina/common/domain/models';
3
- import { ResourceHasuraRepository } from '@xxmachina/common/infra/repository/hasura';
3
+ import { ResourceHasuraRepository } from '@xxmachina/common/infrastructure/repository/hasura/resource';
4
4
  import { provideDataAccessor } from '@ng-atomic/common/pipes/data-accessor';
5
5
  import { provideLangMap } from '@ng-atomic/common/pipes/domain';
6
6
  import { AppService } from '@ng-atomic/common/services/app';
@@ -8,19 +8,19 @@ import { injectAll } from '@ng-atomic/common/stores/entities';
8
8
  import { injectIndexForm, buildColumns } from '@ng-atomic/components/organisms/table';
9
9
  import { IndexPageStore, IndexPage } from '@ng-atomic/components/pages/_index';
10
10
  import { provideEffect, applyToInput } from '@ng-atomic/core';
11
- import { getLangMap } from '@nx-ddd/common/domain';
12
- import { plainToInstanceWithValid } from '@nx-ddd/core';
11
+ import { getLangMap } from '@nx-ddd/common/domain/models';
12
+ import { plainToInstanceWithValid } from '@nx-ddd/core/util';
13
13
 
14
14
  var ActionId;
15
15
  (function (ActionId) {
16
16
  ActionId["EXPORT_RESOURCES"] = "[@xxmachina/app] EXPORT_RESOURCES";
17
17
  ActionId["IMPORT_RESOURCES"] = "[@xxmachina/app] IMPORT_RESOURCES";
18
18
  })(ActionId || (ActionId = {}));
19
- const routes = [
19
+ var resources_routes = [
20
20
  {
21
21
  path: '',
22
22
  component: IndexPage,
23
- loadChildren: () => import('./xxmachina-components-routes-resources-pages.routes-CzjQOxwT.mjs').then(m => m.routes),
23
+ loadChildren: () => import('./xxmachina-components-routes-resources-pages.routes-BSjrrV1g.mjs'),
24
24
  providers: [
25
25
  provideLangMap(() => getLangMap(Resource, {
26
26
  description: '説明',
@@ -125,6 +125,4 @@ const routes = [
125
125
  /**
126
126
  * Generated bundle index. Do not edit.
127
127
  */
128
-
129
- export { routes };
130
128
  //# sourceMappingURL=xxmachina-components-routes-resources.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"xxmachina-components-routes-resources.mjs","sources":["../../../../../packages/@xxmachina/components/src/lib/routes/resources/resources.routes.ts","../../../../../packages/@xxmachina/components/src/lib/routes/resources/xxmachina-components-routes-resources.ts"],"sourcesContent":["import { effect, inject } from '@angular/core';\nimport { Routes } from '@angular/router';\nimport { Resource, ResourceHelper } from '@xxmachina/common/domain/models';\nimport { ResourceHasuraRepository } from '@xxmachina/common/infra/repository/hasura';\nimport { provideDataAccessor } from '@ng-atomic/common/pipes/data-accessor';\nimport { provideLangMap } from '@ng-atomic/common/pipes/domain';\nimport { AppService } from '@ng-atomic/common/services/app';\nimport { injectAll } from '@ng-atomic/common/stores/entities';\nimport { buildColumns, injectIndexForm } from '@ng-atomic/components/organisms/table';\nimport { IndexPage, IndexPageStore } from '@ng-atomic/components/pages/_index';\nimport { applyToInput, provideEffect } from '@ng-atomic/core';\nimport { getLangMap } from '@nx-ddd/common/domain';\nimport { plainToInstanceWithValid } from '@nx-ddd/core';\n\nenum ActionId {\n\tEXPORT_RESOURCES = '[@xxmachina/app] EXPORT_RESOURCES',\n\tIMPORT_RESOURCES = '[@xxmachina/app] IMPORT_RESOURCES',\n}\n\nexport const routes: Routes = [\n\t{\n\t\tpath: '',\n\t\tcomponent: IndexPage,\n\t\tloadChildren: () => import('./pages/pages.routes').then(m => m.routes),\n\t\tproviders: [\n\t\t\tprovideLangMap(() => getLangMap(Resource, {\n\t\t\t\tdescription: '説明',\n\t\t\t\t'graphql.url': 'GraphQL URL',\n\t\t\t\t'openapi.url': 'OpenAPI URL',\n\t\t\t})),\n\t\t\tprovideDataAccessor(() => {\n\t\t\t\treturn (item: Resource, key) => {\n\t\t\t\t\tswitch (key) {\n\t\t\t\t\t\tcase 'description':\n\t\t\t\t\t\t\treturn ResourceHelper.getDescription(item);\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\treturn item[key];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}),\n\t\t\tIndexPageStore.provideDefault(),\n\t\t\tIndexPageStore.Config.provide(() => {\n\t\t\t\treturn config => ({\n\t\t\t\t\t...config,\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\t...config.style,\n\t\t\t\t\t\twidth: 'var(--page-width-lv2)',\n\t\t\t\t\t},\n\t\t\t\t\ttitle: 'リソース一覧',\n\t\t\t\t\tnavEndActions: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: 'menu',\n\t\t\t\t\t\t\ticon: 'more_vert',\n\t\t\t\t\t\t\tchildren: [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tid: IndexPageStore.ActionId.ADD,\n\t\t\t\t\t\t\t\t\tname: '追加',\n\t\t\t\t\t\t\t\t\ticon: 'add',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tid: ActionId.EXPORT_RESOURCES,\n\t\t\t\t\t\t\t\t\ticon: 'download',\n\t\t\t\t\t\t\t\t\tname: 'リソースのエクスポート'\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tid: ActionId.IMPORT_RESOURCES,\n\t\t\t\t\t\t\t\t\ticon: 'upload',\n\t\t\t\t\t\t\t\t\tname: 'リソースのインポート'\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t}\n\t\t\t\t\t],\n\t\t\t\t\titemActions: (item: Resource) => [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: IndexPageStore.ActionId.DETAIL,\n\t\t\t\t\t\t\tname: '詳細',\n\t\t\t\t\t\t\ticon: 'open_in_new',\n\t\t\t\t\t\t\tpayload: item,\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t})\n\t\t\t}),\n\t\t\tIndexPageStore.Initializer.provide((store) => {\n\t\t\t\tconst form = injectIndexForm({\n\t\t\t\t\tcolumns: buildColumns([\n\t\t\t\t\t\t'id', 'name', 'type', 'description', '__actions'\n\t\t\t\t\t])\n\t\t\t\t})\n\t\t\t\tapplyToInput(store, 'form', form);\n\t\t\t\tconst resources = injectAll(Resource);\n\t\t\t\teffect(() => {\n\t\t\t\t\tapplyToInput(store, 'items', resources());\n\t\t\t\t});\n\t\t\t}),\n\t\t\tprovideEffect(ActionId.EXPORT_RESOURCES, () => {\n\t\t\t\tconst store = inject(IndexPageStore);\n\t\t\t\tconst app = inject(AppService);\n\t\t\t\treturn () => {\n\t\t\t\t\tapp.clipboard.copy(JSON.stringify(store.items(), null, 2));\n\t\t\t\t\tapp.snackBar.open('JSONをコピーしました');\n\t\t\t\t}\n\t\t\t}),\n\t\t\tprovideEffect(ActionId.IMPORT_RESOURCES, () => {\n\t\t\t\tconst repo = inject(ResourceHasuraRepository);\n\t\t\t\tconst app = inject(AppService);\n\t\t\t\treturn () => {\n\t\t\t\t\tconst json = prompt('JSONを貼り付けてください');\n\t\t\t\t\tif (!json) return;\t\n\t\t\t\t\tconst items = JSON.parse(json) as any[];\n\t\t\t\t\tconst queries = items.map(item => plainToInstanceWithValid(Resource, item));\n\t\t\t\t\tapp.loading.await(() => {\n\t\t\t\t\t\treturn repo.saveMany(queries).then(() => {\n\t\t\t\t\t\t\tapp.snackBar.open('リソースをインポートしました');\n\t\t\t\t\t\t}).catch((error) => {\n\t\t\t\t\t\t\tconsole.error(error);\n\t\t\t\t\t\t\tapp.snackBar.open('リソースのインポートに失敗しました');\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}),\n\t\t]\n\t}\n];","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"xxmachina-components-routes-resources.mjs","sources":["../../../../../packages/@xxmachina/components/src/lib/routes/resources/resources.routes.ts","../../../../../packages/@xxmachina/components/src/lib/routes/resources/xxmachina-components-routes-resources.ts"],"sourcesContent":["import { effect, inject } from '@angular/core';\nimport { Routes } from '@angular/router';\nimport { Resource, ResourceHelper } from '@xxmachina/common/domain/models';\nimport { ResourceHasuraRepository } from '@xxmachina/common/infrastructure/repository/hasura/resource';\nimport { provideDataAccessor } from '@ng-atomic/common/pipes/data-accessor';\nimport { provideLangMap } from '@ng-atomic/common/pipes/domain';\nimport { AppService } from '@ng-atomic/common/services/app';\nimport { injectAll } from '@ng-atomic/common/stores/entities';\nimport { buildColumns, injectIndexForm } from '@ng-atomic/components/organisms/table';\nimport { IndexPage, IndexPageStore } from '@ng-atomic/components/pages/_index';\nimport { applyToInput, provideEffect } from '@ng-atomic/core';\nimport { getLangMap } from '@nx-ddd/common/domain/models';\nimport { plainToInstanceWithValid } from '@nx-ddd/core/util';\n\nenum ActionId {\n\tEXPORT_RESOURCES = '[@xxmachina/app] EXPORT_RESOURCES',\n\tIMPORT_RESOURCES = '[@xxmachina/app] IMPORT_RESOURCES',\n}\n\nexport default <Routes>[\n\t{\n\t\tpath: '',\n\t\tcomponent: IndexPage,\n\t\tloadChildren: () => import('./pages/pages.routes'),\n\t\tproviders: [\n\t\t\tprovideLangMap(() => getLangMap(Resource, {\n\t\t\t\tdescription: '説明',\n\t\t\t\t'graphql.url': 'GraphQL URL',\n\t\t\t\t'openapi.url': 'OpenAPI URL',\n\t\t\t})),\n\t\t\tprovideDataAccessor(() => {\n\t\t\t\treturn (item: Resource, key) => {\n\t\t\t\t\tswitch (key) {\n\t\t\t\t\t\tcase 'description':\n\t\t\t\t\t\t\treturn ResourceHelper.getDescription(item);\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\treturn item[key];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}),\n\t\t\tIndexPageStore.provideDefault(),\n\t\t\tIndexPageStore.Config.provide(() => {\n\t\t\t\treturn config => ({\n\t\t\t\t\t...config,\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\t...config.style,\n\t\t\t\t\t\twidth: 'var(--page-width-lv2)',\n\t\t\t\t\t},\n\t\t\t\t\ttitle: 'リソース一覧',\n\t\t\t\t\tnavEndActions: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: 'menu',\n\t\t\t\t\t\t\ticon: 'more_vert',\n\t\t\t\t\t\t\tchildren: [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tid: IndexPageStore.ActionId.ADD,\n\t\t\t\t\t\t\t\t\tname: '追加',\n\t\t\t\t\t\t\t\t\ticon: 'add',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tid: ActionId.EXPORT_RESOURCES,\n\t\t\t\t\t\t\t\t\ticon: 'download',\n\t\t\t\t\t\t\t\t\tname: 'リソースのエクスポート'\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tid: ActionId.IMPORT_RESOURCES,\n\t\t\t\t\t\t\t\t\ticon: 'upload',\n\t\t\t\t\t\t\t\t\tname: 'リソースのインポート'\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t}\n\t\t\t\t\t],\n\t\t\t\t\titemActions: (item: Resource) => [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: IndexPageStore.ActionId.DETAIL,\n\t\t\t\t\t\t\tname: '詳細',\n\t\t\t\t\t\t\ticon: 'open_in_new',\n\t\t\t\t\t\t\tpayload: item,\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t})\n\t\t\t}),\n\t\t\tIndexPageStore.Initializer.provide((store) => {\n\t\t\t\tconst form = injectIndexForm({\n\t\t\t\t\tcolumns: buildColumns([\n\t\t\t\t\t\t'id', 'name', 'type', 'description', '__actions'\n\t\t\t\t\t])\n\t\t\t\t})\n\t\t\t\tapplyToInput(store, 'form', form);\n\t\t\t\tconst resources = injectAll(Resource);\n\t\t\t\teffect(() => {\n\t\t\t\t\tapplyToInput(store, 'items', resources());\n\t\t\t\t});\n\t\t\t}),\n\t\t\tprovideEffect(ActionId.EXPORT_RESOURCES, () => {\n\t\t\t\tconst store = inject(IndexPageStore);\n\t\t\t\tconst app = inject(AppService);\n\t\t\t\treturn () => {\n\t\t\t\t\tapp.clipboard.copy(JSON.stringify(store.items(), null, 2));\n\t\t\t\t\tapp.snackBar.open('JSONをコピーしました');\n\t\t\t\t}\n\t\t\t}),\n\t\t\tprovideEffect(ActionId.IMPORT_RESOURCES, () => {\n\t\t\t\tconst repo = inject(ResourceHasuraRepository);\n\t\t\t\tconst app = inject(AppService);\n\t\t\t\treturn () => {\n\t\t\t\t\tconst json = prompt('JSONを貼り付けてください');\n\t\t\t\t\tif (!json) return;\t\n\t\t\t\t\tconst items = JSON.parse(json) as any[];\n\t\t\t\t\tconst queries = items.map(item => plainToInstanceWithValid(Resource, item));\n\t\t\t\t\tapp.loading.await(() => {\n\t\t\t\t\t\treturn repo.saveMany(queries).then(() => {\n\t\t\t\t\t\t\tapp.snackBar.open('リソースをインポートしました');\n\t\t\t\t\t\t}).catch((error) => {\n\t\t\t\t\t\t\tconsole.error(error);\n\t\t\t\t\t\t\tapp.snackBar.open('リソースのインポートに失敗しました');\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}),\n\t\t]\n\t}\n];","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -3,21 +3,21 @@ function xxRoutes(routes) {
3
3
  ...routes.filter(route => route.path !== '**'),
4
4
  {
5
5
  path: 'commands',
6
- loadChildren: () => import('@xxmachina/components/routes/commands').then(m => m.routes),
6
+ loadChildren: () => import('@xxmachina/components/routes/commands'),
7
7
  data: { preload: true },
8
8
  },
9
9
  {
10
10
  path: 'queries',
11
- loadChildren: () => import('@xxmachina/components/routes/queries').then(m => m.routes),
11
+ loadChildren: () => import('@xxmachina/components/routes/queries'),
12
12
  data: { preload: true },
13
13
  },
14
14
  {
15
15
  path: 'pages',
16
- loadChildren: () => import('@xxmachina/components/routes/pages').then(m => m.routes)
16
+ loadChildren: () => import('@xxmachina/components/routes/pages')
17
17
  },
18
18
  {
19
19
  path: 'resources',
20
- loadChildren: () => import('@xxmachina/components/routes/resources').then(m => m.routes)
20
+ loadChildren: () => import('@xxmachina/components/routes/resources')
21
21
  },
22
22
  ...routes.filter(route => route.path === '**'),
23
23
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"xxmachina-components-routes.mjs","sources":["../../../../../packages/@xxmachina/components/src/lib/routes/index.ts","../../../../../packages/@xxmachina/components/src/lib/routes/xxmachina-components-routes.ts"],"sourcesContent":["import { Routes } from '@angular/router';\n\nexport function xxRoutes(routes: Routes): Routes {\n\treturn [\n\t\t...routes.filter(route => route.path !== '**'),\n\t\t{\n\t\t\tpath: 'commands',\n\t\t\tloadChildren: () => import('@xxmachina/components/routes/commands').then(m => m.routes),\n\t\t\tdata: { preload: true },\n\t\t},\n\t\t{\n\t\t\tpath: 'queries',\n\t\t\tloadChildren: () => import('@xxmachina/components/routes/queries').then(m => m.routes),\n\t\t\tdata: { preload: true },\n\t\t},\n\t\t{\n\t\t\tpath: 'pages',\n\t\t\tloadChildren: () => import('@xxmachina/components/routes/pages').then(m => m.routes)\n\t\t},\n\t\t{\n\t\t\tpath: 'resources',\n\t\t\tloadChildren: () => import('@xxmachina/components/routes/resources').then(m => m.routes)\n\t\t},\n\t\t...routes.filter(route => route.path === '**'),\n\t];\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"AAEM,SAAU,QAAQ,CAAC,MAAc,EAAA;IACtC,OAAO;AACN,QAAA,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC;AAC9C,QAAA;AACC,YAAA,IAAI,EAAE,UAAU;AAChB,YAAA,YAAY,EAAE,MAAM,OAAO,uCAAuC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;AACvF,YAAA,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;AACvB,SAAA;AACD,QAAA;AACC,YAAA,IAAI,EAAE,SAAS;AACf,YAAA,YAAY,EAAE,MAAM,OAAO,sCAAsC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;AACtF,YAAA,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;AACvB,SAAA;AACD,QAAA;AACC,YAAA,IAAI,EAAE,OAAO;AACb,YAAA,YAAY,EAAE,MAAM,OAAO,oCAAoC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM;AACnF,SAAA;AACD,QAAA;AACC,YAAA,IAAI,EAAE,WAAW;AACjB,YAAA,YAAY,EAAE,MAAM,OAAO,wCAAwC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM;AACvF,SAAA;AACD,QAAA,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC;KAC9C;AACF;;ACzBA;;AAEG;;;;"}
1
+ {"version":3,"file":"xxmachina-components-routes.mjs","sources":["../../../../../packages/@xxmachina/components/src/lib/routes/index.ts","../../../../../packages/@xxmachina/components/src/lib/routes/xxmachina-components-routes.ts"],"sourcesContent":["import { Routes } from '@angular/router';\n\nexport function xxRoutes(routes: Routes): Routes {\n\treturn [\n\t\t...routes.filter(route => route.path !== '**'),\n\t\t{\n\t\t\tpath: 'commands',\n\t\t\tloadChildren: () => import('@xxmachina/components/routes/commands'),\n\t\t\tdata: { preload: true },\n\t\t},\n\t\t{\n\t\t\tpath: 'queries',\n\t\t\tloadChildren: () => import('@xxmachina/components/routes/queries'),\n\t\t\tdata: { preload: true },\n\t\t},\n\t\t{\n\t\t\tpath: 'pages',\n\t\t\tloadChildren: () => import('@xxmachina/components/routes/pages')\n\t\t},\n\t\t{\n\t\t\tpath: 'resources',\n\t\t\tloadChildren: () => import('@xxmachina/components/routes/resources')\n\t\t},\n\t\t...routes.filter(route => route.path === '**'),\n\t];\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"AAEM,SAAU,QAAQ,CAAC,MAAc,EAAA;IACtC,OAAO;AACN,QAAA,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC;AAC9C,QAAA;AACC,YAAA,IAAI,EAAE,UAAU;AAChB,YAAA,YAAY,EAAE,MAAM,OAAO,uCAAuC,CAAC;AACnE,YAAA,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;AACvB,SAAA;AACD,QAAA;AACC,YAAA,IAAI,EAAE,SAAS;AACf,YAAA,YAAY,EAAE,MAAM,OAAO,sCAAsC,CAAC;AAClE,YAAA,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;AACvB,SAAA;AACD,QAAA;AACC,YAAA,IAAI,EAAE,OAAO;AACb,YAAA,YAAY,EAAE,MAAM,OAAO,oCAAoC;AAC/D,SAAA;AACD,QAAA;AACC,YAAA,IAAI,EAAE,WAAW;AACjB,YAAA,YAAY,EAAE,MAAM,OAAO,wCAAwC;AACnE,SAAA;AACD,QAAA,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC;KAC9C;AACF;;ACzBA;;AAEG;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"xxmachina-components-services-assistant.mjs","sources":["../../../../../packages/@xxmachina/components/src/lib/services/assistant/assistant.service.ts","../../../../../packages/@xxmachina/components/src/lib/services/assistant/xxmachina-components-services-assistant.ts"],"sourcesContent":["import { HttpClient } from '@angular/common/http';\nimport { Injectable, inject } from '@angular/core';\nimport { Assistant } from '@xxmachina/common/domain/models';\nimport { Observable, lastValueFrom } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AssistantService {\n readonly http = inject(HttpClient);\n\n list() {\n return this.http.get(`/api/assistants/`);\n }\n\n create(assistant: Assistant) {\n return lastValueFrom(this.http.post(`/api/assistants/`, assistant));\n }\n\n get(id: string): Observable<Assistant> {\n return this.http.get<Assistant>(`/api/assistants/${id}`);\n }\n\n update(assistant: Partial<Assistant> & {id: string}) {\n return lastValueFrom(this.http.put(`/api/assistants/${assistant.id}`, assistant));\n }\n\n delete(id: string) {\n return lastValueFrom(this.http.delete(`/api/assistants/${id}`));\n }\n\n syncFiles(id: string) {\n return lastValueFrom(this.http.patch(`/api/assistants/${id}/sync_files`, {}));\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;MAQa,gBAAgB,CAAA;AAH7B,IAAA,WAAA,GAAA;AAIW,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC;AAyBnC;IAvBC,IAAI,GAAA;QACF,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA,gBAAA,CAAkB,CAAC;;AAG1C,IAAA,MAAM,CAAC,SAAoB,EAAA;AACzB,QAAA,OAAO,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAkB,gBAAA,CAAA,EAAE,SAAS,CAAC,CAAC;;AAGrE,IAAA,GAAG,CAAC,EAAU,EAAA;QACZ,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAY,CAAmB,gBAAA,EAAA,EAAE,CAAE,CAAA,CAAC;;AAG1D,IAAA,MAAM,CAAC,SAA4C,EAAA;AACjD,QAAA,OAAO,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAmB,gBAAA,EAAA,SAAS,CAAC,EAAE,CAAA,CAAE,EAAE,SAAS,CAAC,CAAC;;AAGnF,IAAA,MAAM,CAAC,EAAU,EAAA;AACf,QAAA,OAAO,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAmB,gBAAA,EAAA,EAAE,CAAE,CAAA,CAAC,CAAC;;AAGjE,IAAA,SAAS,CAAC,EAAU,EAAA;AAClB,QAAA,OAAO,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA,gBAAA,EAAmB,EAAE,CAAa,WAAA,CAAA,EAAE,EAAE,CAAC,CAAC;;8GAxBpE,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAhB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,cAFf,MAAM,EAAA,CAAA,CAAA;;2FAEP,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAH5B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE;AACb,iBAAA;;;ACPD;;AAEG;;;;"}
1
+ {"version":3,"file":"xxmachina-components-services-assistant.mjs","sources":["../../../../../packages/@xxmachina/components/src/lib/services/assistant/assistant.service.ts","../../../../../packages/@xxmachina/components/src/lib/services/assistant/xxmachina-components-services-assistant.ts"],"sourcesContent":["import { HttpClient } from '@angular/common/http';\nimport { Injectable, inject } from '@angular/core';\nimport { Assistant } from '@xxmachina/common/domain/models/agent';\nimport { Observable, lastValueFrom } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AssistantService {\n readonly http = inject(HttpClient);\n\n list() {\n return this.http.get(`/api/assistants/`);\n }\n\n create(assistant: Assistant) {\n return lastValueFrom(this.http.post(`/api/assistants/`, assistant));\n }\n\n get(id: string): Observable<Assistant> {\n return this.http.get<Assistant>(`/api/assistants/${id}`);\n }\n\n update(assistant: Partial<Assistant> & {id: string}) {\n return lastValueFrom(this.http.put(`/api/assistants/${assistant.id}`, assistant));\n }\n\n delete(id: string) {\n return lastValueFrom(this.http.delete(`/api/assistants/${id}`));\n }\n\n syncFiles(id: string) {\n return lastValueFrom(this.http.patch(`/api/assistants/${id}/sync_files`, {}));\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;MAQa,gBAAgB,CAAA;AAH7B,IAAA,WAAA,GAAA;AAIW,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC;AAyBnC;IAvBC,IAAI,GAAA;QACF,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA,gBAAA,CAAkB,CAAC;;AAG1C,IAAA,MAAM,CAAC,SAAoB,EAAA;AACzB,QAAA,OAAO,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAkB,gBAAA,CAAA,EAAE,SAAS,CAAC,CAAC;;AAGrE,IAAA,GAAG,CAAC,EAAU,EAAA;QACZ,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAY,CAAmB,gBAAA,EAAA,EAAE,CAAE,CAAA,CAAC;;AAG1D,IAAA,MAAM,CAAC,SAA4C,EAAA;AACjD,QAAA,OAAO,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAmB,gBAAA,EAAA,SAAS,CAAC,EAAE,CAAA,CAAE,EAAE,SAAS,CAAC,CAAC;;AAGnF,IAAA,MAAM,CAAC,EAAU,EAAA;AACf,QAAA,OAAO,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAmB,gBAAA,EAAA,EAAE,CAAE,CAAA,CAAC,CAAC;;AAGjE,IAAA,SAAS,CAAC,EAAU,EAAA;AAClB,QAAA,OAAO,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA,gBAAA,EAAmB,EAAE,CAAa,WAAA,CAAA,EAAE,EAAE,CAAC,CAAC;;8GAxBpE,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAhB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,cAFf,MAAM,EAAA,CAAA,CAAA;;2FAEP,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAH5B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE;AACb,iBAAA;;;ACPD;;AAEG;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"xxmachina-components-services-calendar.mjs","sources":["../../../../../packages/@xxmachina/components/src/lib/services/calendar/calendar.service.ts","../../../../../packages/@xxmachina/components/src/lib/services/calendar/xxmachina-components-services-calendar.ts"],"sourcesContent":["import { HttpClient } from '@angular/common/http';\nimport { Injectable, inject } from '@angular/core';\nimport { Calendar } from '@xxmachina/common/domain/models';\nimport { Observable } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CalendarService {\n\n http = inject(HttpClient);\n\n list(): Observable<Calendar[]> {\n return this.http.get<Calendar[]>('/api/calendars');\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;MAQa,eAAe,CAAA;AAH5B,IAAA,WAAA,GAAA;AAKE,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC;AAK1B;IAHC,IAAI,GAAA;QACF,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAa,gBAAgB,CAAC;;8GALzC,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAf,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,cAFd,MAAM,EAAA,CAAA,CAAA;;2FAEP,eAAe,EAAA,UAAA,EAAA,CAAA;kBAH3B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE;AACb,iBAAA;;;ACPD;;AAEG;;;;"}
1
+ {"version":3,"file":"xxmachina-components-services-calendar.mjs","sources":["../../../../../packages/@xxmachina/components/src/lib/services/calendar/calendar.service.ts","../../../../../packages/@xxmachina/components/src/lib/services/calendar/xxmachina-components-services-calendar.ts"],"sourcesContent":["import { HttpClient } from '@angular/common/http';\nimport { Injectable, inject } from '@angular/core';\nimport { Calendar } from '@xxmachina/common/domain/models/scheduler';\nimport { Observable } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CalendarService {\n\n http = inject(HttpClient);\n\n list(): Observable<Calendar[]> {\n return this.http.get<Calendar[]>('/api/calendars');\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;MAQa,eAAe,CAAA;AAH5B,IAAA,WAAA,GAAA;AAKE,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC;AAK1B;IAHC,IAAI,GAAA;QACF,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAa,gBAAgB,CAAC;;8GALzC,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAf,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,cAFd,MAAM,EAAA,CAAA,CAAA;;2FAEP,eAAe,EAAA,UAAA,EAAA,CAAA;kBAH3B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE;AACb,iBAAA;;;ACPD;;AAEG;;;;"}
@@ -3,12 +3,14 @@ import * as i0 from '@angular/core';
3
3
  import { InjectionToken, inject, computed, effect, Injectable } from '@angular/core';
4
4
  import { toObservable, toSignal, takeUntilDestroyed } from '@angular/core/rxjs-interop';
5
5
  import { ReplaySubject, switchMap, catchError, NEVER, map, shareReplay, interval, lastValueFrom } from 'rxjs';
6
- import { Resource, CommandHelper } from '@xxmachina/common/domain/models';
6
+ import { Resource } from '@xxmachina/common/domain/models';
7
7
  import { JsonSchemaService } from '@xxmachina/components/services/json-schema';
8
8
  import { AppService } from '@ng-atomic/common/services/app';
9
9
  import { injectAll, distinctUntilChangedArray } from '@ng-atomic/common/stores/entities';
10
- import { ActionId, CommandBuilder, CommandActionsBuilder, createCommandNavigateAction, createCommandExecutionAction } from '@xxmachina/common/domain/builder';
10
+ import { CommandBuilder } from '@xxmachina/common/domain/builder/command';
11
11
  import { OpenApiService } from '@xxmachina/components/services/openapi';
12
+ import { ActionId, CommandActionsBuilder, createCommandNavigateAction, createCommandExecutionAction } from '@xxmachina/common/domain/builder/command-action';
13
+ import { CommandHelper } from '@xxmachina/common/domain/models/command/command.helper';
12
14
  import { merge } from 'lodash-es';
13
15
 
14
16
  const COMMAND_PERMISSION_RESOLVER = new InjectionToken('[@xxmachina/components] COMMAND_PERMISSION_RESOLVER', {
@@ -84,8 +86,8 @@ class CommandService {
84
86
  this.refresh$.next();
85
87
  }
86
88
  async resolveResponse(data) {
87
- console.debug('[CommandService] response:', data);
88
- if (data?.['__typename'] === 'action') {
89
+ console.debug('[CommandService] resolveResponse:', data);
90
+ if (data['__typename'] === 'action') {
89
91
  switch (data['id']) {
90
92
  case 'download': return this.download(data['payload'].url);
91
93
  }
@@ -1 +1 @@
1
- {"version":3,"file":"xxmachina-components-services-command.mjs","sources":["../../../../../packages/@xxmachina/components/src/lib/services/command/command.service.ts","../../../../../packages/@xxmachina/components/src/lib/services/command/xxmachina-components-services-command.ts"],"sourcesContent":["import { HttpClient } from '@angular/common/http';\nimport { computed, effect, inject, Injectable, InjectionToken } from '@angular/core';\nimport { takeUntilDestroyed, toObservable, toSignal } from '@angular/core/rxjs-interop';\nimport { catchError, interval, lastValueFrom, map, NEVER, ReplaySubject, shareReplay, switchMap } from 'rxjs';\nimport { Command } from '@xxmachina/common/domain/models';\nimport { Resource } from '@xxmachina/common/domain/models';\nimport { JsonSchemaService } from '@xxmachina/components/services/json-schema';\nimport { AppService } from '@ng-atomic/common/services/app';\nimport { distinctUntilChangedArray, injectAll } from '@ng-atomic/common/stores/entities';\nimport { CommandBuilder } from '@xxmachina/common/domain/builder';\nimport { OpenApiService } from '@xxmachina/components/services/openapi';\nimport { CommandActionsBuilder, ActionId, createCommandNavigateAction, CommandActionFactoryOptions, createCommandExecutionAction } from '@xxmachina/common/domain/builder';\nimport { CommandHelper } from '@xxmachina/common/domain/models';\nimport { NavigationExtras } from '@angular/router';\nimport { Action } from '@ng-atomic/core';\nimport { merge } from 'lodash-es';\n\nexport type CommandActionOptions = CommandActionFactoryOptions & { overwrite?: Partial<Action> };\n\nexport type CommandPermissionResolver = (command: Command) => boolean;\nexport const COMMAND_PERMISSION_RESOLVER = new InjectionToken<CommandPermissionResolver>('[@xxmachina/components] COMMAND_PERMISSION_RESOLVER', {\n providedIn: 'root',\n factory: () => (command: Command) => true,\n});\n\nexport function provideCommandPermissionResolver(useFactory: () => CommandPermissionResolver) {\n return { provide: COMMAND_PERMISSION_RESOLVER, useFactory };\n}\n\n@Injectable({ providedIn: 'root' })\nexport class CommandService {\n static readonly ActionId = ActionId;\n protected readonly app = inject(AppService);\n protected readonly http = inject(HttpClient);\n protected readonly resources = injectAll(Resource);\n protected readonly resourceUrls = computed(() => {\n return this.resources().filter(resource => resource.type === 'openapi').map((resource) => resource.openapi?.url);\n });\n protected readonly resourceUrls$ = toObservable(this.resourceUrls);\n protected readonly refresh$ = new ReplaySubject<void>(1);\n readonly schema = inject(JsonSchemaService);\n readonly openApi = inject(OpenApiService);\n readonly commands$ = this.refresh$.pipe(\n switchMap(() => this.resourceUrls$),\n this.app.loading.switchMap((urls) => this.openApi.getOpenApiMany(urls).pipe(\n catchError((error) => (console.error(error), NEVER)),\n ), 'commands-refresh'),\n map((openApis) => openApis.filter((openApi) => openApi !== null)),\n map((openApis) => openApis.map((openApi) => new CommandBuilder().buildFromOpenApi(openApi)).flat()),\n distinctUntilChangedArray(),\n shareReplay(1),\n );\n readonly commands = toSignal<Command[]>(this.commands$, {initialValue: [] as any});\n protected readonly permissionResolver = inject(COMMAND_PERMISSION_RESOLVER);\n\n constructor() {\n this.refresh();\n interval(1000 * 5).pipe(takeUntilDestroyed()).subscribe(() => this.refresh());\n\n effect(() => {\n console.debug('[CommandService] commands:', this.commands());\n });\n }\n\n getCommand(id: string): Command | null {\n return this.commands().find((command) => command.id === id) ?? null;\n }\n\n getCommands(ids: string[]): Command[] {\n return this.commands().filter((command) => ids.includes(command.id));\n }\n\n getActionBuilder(item?: any): CommandActionsBuilder {\n return new CommandActionsBuilder().setItem(item).setCommands(this.commands());\n }\n\n async execute(commandOrCommandId: Command | string, data: any): Promise<any> {\n const command = this.resolveCommand(commandOrCommandId);\n if (command === null) throw new Error(`Command not found: ${commandOrCommandId}`);\n if (command.type === 'webApiRequest') {\n const endpoint = CommandHelper.resolveEndpoint(command, data);\n switch (command.webApiRequest.responseContentType) {\n case 'application/octet-stream': {\n return lastValueFrom(this.http.request(command.webApiRequest.method, endpoint, {\n responseType: 'blob',\n observe: 'response',\n body: data,\n })).then((res) => {\n const contentDisposition = res.headers.get('Content-Disposition');\n const name = contentDisposition?.split('filename=')[1]?.replace(/\"/g, '') ?? 'sample.xlsx';\n const u = URL.createObjectURL(res.body);\n const a = document.createElement('a');\n a.href = u;\n a.download = name;\n a.click();\n });\n }\n default: {\n console.debug('[CommandService] execute:', {command, data});\n return lastValueFrom(this.http.request(command.webApiRequest.method, endpoint, { body: data })).then((data) => {\n return this.resolveResponse(data);\n });\n }\n }\n }\n }\n\n async refresh() {\n this.refresh$.next();\n }\n\n async resolveResponse(data: any) {\n console.debug('[CommandService] response:', data);\n if (data?.['__typename'] === 'action') {\n switch (data['id']) {\n case 'download': return this.download(data['payload'].url);\n }\n }\n }\n\n async download(url: string) {\n return lastValueFrom(this.http.get(url, { responseType: 'blob', observe: 'response' })).then((res) => {\n const contentDisposition = res.headers.get('Content-Disposition');\n const name = contentDisposition?.split('filename=')[1]?.replace(/\"/g, '') ?? 'sample.xlsx';\n const u = URL.createObjectURL(res.body);\n const a = document.createElement('a');\n a.href = u;\n a.download = name;\n a.click();\n });\n }\n\n buildNavigationAction(\n commandOrId: Command | string,\n data: any = {},\n navigationExtra: NavigationExtras = {},\n options: CommandActionOptions = {},\n ) {\n const command = this.resolveCommand(commandOrId);\n const overwrite = merge({disabled: !this.permissionResolver(command)}, options?.overwrite ?? {});\n return createCommandNavigateAction(command, navigationExtra, data, options, overwrite);\n }\n\n buildExecutionAction(\n commandOrId: Command | string,\n data: any = {},\n options: CommandActionOptions = {},\n ) {\n const command = this.resolveCommand(commandOrId);\n const overwrite = merge({disabled: !this.hasPermission(command)}, options?.overwrite ?? {});\n return createCommandExecutionAction(command, data, options, overwrite);\n }\n\n hasPermission(commandOrId: Command | string): boolean {\n const command = this.resolveCommand(commandOrId);\n return this.permissionResolver(command);\n }\n\n protected resolveCommand(commandOrId: Command | string): Command | null {\n return typeof commandOrId === 'string' ? this.getCommand(commandOrId) : commandOrId;\n }\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"xxmachina-components-services-command.mjs","sources":["../../../../../packages/@xxmachina/components/src/lib/services/command/command.service.ts","../../../../../packages/@xxmachina/components/src/lib/services/command/xxmachina-components-services-command.ts"],"sourcesContent":["import { HttpClient } from '@angular/common/http';\nimport { computed, effect, inject, Injectable, InjectionToken } from '@angular/core';\nimport { takeUntilDestroyed, toObservable, toSignal } from '@angular/core/rxjs-interop';\nimport { catchError, interval, lastValueFrom, map, NEVER, ReplaySubject, shareReplay, switchMap } from 'rxjs';\nimport { Command } from '@xxmachina/common/domain/models/command/command';\nimport { Resource } from '@xxmachina/common/domain/models';\nimport { JsonSchemaService } from '@xxmachina/components/services/json-schema';\nimport { AppService } from '@ng-atomic/common/services/app';\nimport { distinctUntilChangedArray, injectAll } from '@ng-atomic/common/stores/entities';\nimport { CommandBuilder } from '@xxmachina/common/domain/builder/command';\nimport { OpenApiService } from '@xxmachina/components/services/openapi';\nimport { CommandActionsBuilder, ActionId, createCommandNavigateAction, CommandActionFactoryOptions, createCommandExecutionAction } from '@xxmachina/common/domain/builder/command-action';\nimport { CommandHelper } from '@xxmachina/common/domain/models/command/command.helper';\nimport { NavigationExtras } from '@angular/router';\nimport { Action } from '@ng-atomic/core';\nimport { merge } from 'lodash-es';\n\nexport type CommandActionOptions = CommandActionFactoryOptions & { overwrite?: Partial<Action> };\n\nexport type CommandPermissionResolver = (command: Command) => boolean;\nexport const COMMAND_PERMISSION_RESOLVER = new InjectionToken<CommandPermissionResolver>('[@xxmachina/components] COMMAND_PERMISSION_RESOLVER', {\n providedIn: 'root',\n factory: () => (command: Command) => true,\n});\n\nexport function provideCommandPermissionResolver(useFactory: () => CommandPermissionResolver) {\n return { provide: COMMAND_PERMISSION_RESOLVER, useFactory };\n}\n\n@Injectable({ providedIn: 'root' })\nexport class CommandService {\n static readonly ActionId = ActionId;\n protected readonly app = inject(AppService);\n protected readonly http = inject(HttpClient);\n protected readonly resources = injectAll(Resource);\n protected readonly resourceUrls = computed(() => {\n return this.resources().filter(resource => resource.type === 'openapi').map((resource) => resource.openapi?.url);\n });\n protected readonly resourceUrls$ = toObservable(this.resourceUrls);\n protected readonly refresh$ = new ReplaySubject<void>(1);\n readonly schema = inject(JsonSchemaService);\n readonly openApi = inject(OpenApiService);\n readonly commands$ = this.refresh$.pipe(\n switchMap(() => this.resourceUrls$),\n this.app.loading.switchMap((urls) => this.openApi.getOpenApiMany(urls).pipe(\n catchError((error) => (console.error(error), NEVER)),\n ), 'commands-refresh'),\n map((openApis) => openApis.filter((openApi) => openApi !== null)),\n map((openApis) => openApis.map((openApi) => new CommandBuilder().buildFromOpenApi(openApi)).flat()),\n distinctUntilChangedArray(),\n shareReplay(1),\n );\n readonly commands = toSignal<Command[]>(this.commands$, {initialValue: [] as any});\n protected readonly permissionResolver = inject(COMMAND_PERMISSION_RESOLVER);\n\n constructor() {\n this.refresh();\n interval(1000 * 5).pipe(takeUntilDestroyed()).subscribe(() => this.refresh());\n\n effect(() => {\n console.debug('[CommandService] commands:', this.commands());\n });\n }\n\n getCommand(id: string): Command | null {\n return this.commands().find((command) => command.id === id) ?? null;\n }\n\n getCommands(ids: string[]): Command[] {\n return this.commands().filter((command) => ids.includes(command.id));\n }\n\n getActionBuilder(item?: any): CommandActionsBuilder {\n return new CommandActionsBuilder().setItem(item).setCommands(this.commands());\n }\n\n async execute(commandOrCommandId: Command | string, data: any): Promise<any> {\n const command = this.resolveCommand(commandOrCommandId);\n if (command === null) throw new Error(`Command not found: ${commandOrCommandId}`);\n if (command.type === 'webApiRequest') {\n const endpoint = CommandHelper.resolveEndpoint(command, data);\n switch (command.webApiRequest.responseContentType) {\n case 'application/octet-stream': {\n return lastValueFrom(this.http.request(command.webApiRequest.method, endpoint, {\n responseType: 'blob',\n observe: 'response',\n body: data,\n })).then((res) => {\n const contentDisposition = res.headers.get('Content-Disposition');\n const name = contentDisposition?.split('filename=')[1]?.replace(/\"/g, '') ?? 'sample.xlsx';\n const u = URL.createObjectURL(res.body);\n const a = document.createElement('a');\n a.href = u;\n a.download = name;\n a.click();\n });\n }\n default: {\n console.debug('[CommandService] execute:', {command, data});\n return lastValueFrom(this.http.request(command.webApiRequest.method, endpoint, { body: data })).then((data) => {\n return this.resolveResponse(data);\n });\n }\n }\n }\n }\n\n async refresh() {\n this.refresh$.next();\n }\n\n async resolveResponse(data: any) {\n console.debug('[CommandService] resolveResponse:', data);\n if (data['__typename'] === 'action') {\n switch (data['id']) {\n case 'download': return this.download(data['payload'].url);\n }\n }\n }\n\n async download(url: string) {\n return lastValueFrom(this.http.get(url, { responseType: 'blob', observe: 'response' })).then((res) => {\n const contentDisposition = res.headers.get('Content-Disposition');\n const name = contentDisposition?.split('filename=')[1]?.replace(/\"/g, '') ?? 'sample.xlsx';\n const u = URL.createObjectURL(res.body);\n const a = document.createElement('a');\n a.href = u;\n a.download = name;\n a.click();\n });\n }\n\n buildNavigationAction(\n commandOrId: Command | string,\n data: any = {},\n navigationExtra: NavigationExtras = {},\n options: CommandActionOptions = {},\n ) {\n const command = this.resolveCommand(commandOrId);\n const overwrite = merge({disabled: !this.permissionResolver(command)}, options?.overwrite ?? {});\n return createCommandNavigateAction(command, navigationExtra, data, options, overwrite);\n }\n\n buildExecutionAction(\n commandOrId: Command | string,\n data: any = {},\n options: CommandActionOptions = {},\n ) {\n const command = this.resolveCommand(commandOrId);\n const overwrite = merge({disabled: !this.hasPermission(command)}, options?.overwrite ?? {});\n return createCommandExecutionAction(command, data, options, overwrite);\n }\n\n hasPermission(commandOrId: Command | string): boolean {\n const command = this.resolveCommand(commandOrId);\n return this.permissionResolver(command);\n }\n\n protected resolveCommand(commandOrId: Command | string): Command | null {\n return typeof commandOrId === 'string' ? this.getCommand(commandOrId) : commandOrId;\n }\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { inject, Injectable } from '@angular/core';
3
3
  import { GraphqlService } from '@xxmachina/components/services/graphql';
4
- import { Contract } from '@xxmachina/common/domain-invoice';
4
+ import { Contract } from '@xxmachina/common/domain/invoice/models';
5
5
  import { map } from 'rxjs';
6
6
 
7
7
  class ContractService {
@@ -1 +1 @@
1
- {"version":3,"file":"xxmachina-components-services-contract.mjs","sources":["../../../../../packages/@xxmachina/components/src/lib/services/contract/contract.service.ts","../../../../../packages/@xxmachina/components/src/lib/services/contract/xxmachina-components-services-contract.ts"],"sourcesContent":["import { Injectable, inject } from '@angular/core';\nimport { GraphqlService } from '@xxmachina/components/services/graphql';\nimport { Contract } from '@xxmachina/common/domain-invoice';\nimport { map } from 'rxjs';\n\n@Injectable({ providedIn: 'root' })\nexport class ContractService {\n private graphql = inject(GraphqlService);\n list() {\n return this.graphql.graphql({\n query: `query { contracts { id no title issueDate orderIds } }`,\n }).pipe(\n map((data => data?.data?.contracts ?? [])),\n map((contracts) => contracts.map((contract: any) => Contract.from({...contract}))),\n )\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;MAMa,eAAe,CAAA;AAD5B,IAAA,WAAA,GAAA;AAEU,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,cAAc,CAAC;AASzC;IARC,IAAI,GAAA;AACF,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;AAC1B,YAAA,KAAK,EAAE,CAAwD,sDAAA,CAAA;SAChE,CAAC,CAAC,IAAI,CACL,GAAG,EAAE,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,SAAS,IAAI,EAAE,EAAE,EAC1C,GAAG,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,GAAG,CAAC,CAAC,QAAa,KAAK,QAAQ,CAAC,IAAI,CAAC,EAAC,GAAG,QAAQ,EAAC,CAAC,CAAC,CAAC,CACnF;;8GARQ,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAf,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,cADF,MAAM,EAAA,CAAA,CAAA;;2FACnB,eAAe,EAAA,UAAA,EAAA,CAAA;kBAD3B,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;ACLlC;;AAEG;;;;"}
1
+ {"version":3,"file":"xxmachina-components-services-contract.mjs","sources":["../../../../../packages/@xxmachina/components/src/lib/services/contract/contract.service.ts","../../../../../packages/@xxmachina/components/src/lib/services/contract/xxmachina-components-services-contract.ts"],"sourcesContent":["import { Injectable, inject } from '@angular/core';\nimport { GraphqlService } from '@xxmachina/components/services/graphql';\nimport { Contract } from '@xxmachina/common/domain/invoice/models';\nimport { map } from 'rxjs';\n\n@Injectable({ providedIn: 'root' })\nexport class ContractService {\n private graphql = inject(GraphqlService);\n list() {\n return this.graphql.graphql({\n query: `query { contracts { id no title issueDate orderIds } }`,\n }).pipe(\n map((data => data?.data?.contracts ?? [])),\n map((contracts) => contracts.map((contract: any) => Contract.from({...contract}))),\n )\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;MAMa,eAAe,CAAA;AAD5B,IAAA,WAAA,GAAA;AAEU,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,cAAc,CAAC;AASzC;IARC,IAAI,GAAA;AACF,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;AAC1B,YAAA,KAAK,EAAE,CAAwD,sDAAA,CAAA;SAChE,CAAC,CAAC,IAAI,CACL,GAAG,EAAE,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,SAAS,IAAI,EAAE,EAAE,EAC1C,GAAG,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,GAAG,CAAC,CAAC,QAAa,KAAK,QAAQ,CAAC,IAAI,CAAC,EAAC,GAAG,QAAQ,EAAC,CAAC,CAAC,CAAC,CACnF;;8GARQ,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAf,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,cADF,MAAM,EAAA,CAAA,CAAA;;2FACnB,eAAe,EAAA,UAAA,EAAA,CAAA;kBAD3B,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;ACLlC;;AAEG;;;;"}
@@ -1,7 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { inject, Injectable } from '@angular/core';
3
3
  import { FormBuilder } from '@angular/forms';
4
- import { Schedule } from '@xxmachina/common/domain/models';
4
+ import { Schedule } from '@xxmachina/common/domain/models/scheduler';
5
5
  import dayjs from 'dayjs';
6
6
 
7
7
  class ScheduleService {
@@ -1 +1 @@
1
- {"version":3,"file":"xxmachina-components-services-forms-schedule.mjs","sources":["../../../../../packages/@xxmachina/components/src/lib/services/forms/schedule/schedule.service.ts","../../../../../packages/@xxmachina/components/src/lib/services/forms/schedule/xxmachina-components-services-forms-schedule.ts"],"sourcesContent":["import { Injectable, inject } from '@angular/core';\nimport { FormArray, FormBuilder, FormControl, FormGroup } from '@angular/forms';\nimport { Schedule } from '@xxmachina/common/domain/models';\nimport dayjs from 'dayjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ScheduleService {\n protected fb = inject(FormBuilder);\n\n buildScheduleForm({\n id = null,\n calendarId = 'primary',\n name = '',\n startAt = dayjs('2023-12-16'),\n endAt = startAt.add(1, 'hours'),\n url = '',\n }: Partial<Schedule> = {}) {\n return this.fb.group({\n id: [id],\n calendarId: [calendarId],\n name: [name],\n startAt: [startAt],\n endAt: [endAt],\n url: [url],\n });\n }\n\n build() {\n return this.fb.group({\n dateRange: this.fb.group({\n start: [dayjs()],\n end: [dayjs().add(1, 'month')],\n }),\n timeRange: this.fb.group({\n start: ['13:00'],\n end: ['20:00'],\n }),\n title: [''],\n events: this.fb.array<FormGroup<{\n startAt: FormControl<dayjs.Dayjs>,\n endAt: FormControl<dayjs.Dayjs>,\n }>>([]),\n message: [''],\n });\n }\n\n getSchedulesForm(form: ReturnType<typeof this['build']>): FormArray {\n return form.get(['events']) as FormArray;\n }\n\n getSchedules(form: ReturnType<typeof this['build']>): Schedule[] {\n return this.getSchedulesForm(form).value.map((schedule) => Schedule.from({...schedule}));\n }\n\n addSchedule(form: ReturnType<typeof this['build']>, schedule: Schedule) {\n this.rebuildSchedulesForm(form, sortSchedules([...this.getSchedules(form), schedule]));\n }\n\n removeAt(form: ReturnType<typeof this['build']>, index: number) {\n const scheduleForm = this.getSchedulesForm(form);\n scheduleForm.removeAt(index);\n }\n\n removeAllSchedules(form: ReturnType<typeof this['build']>) {\n const scheduleForm = this.getSchedulesForm(form);\n while (scheduleForm.length) scheduleForm.removeAt(0);\n }\n\n rebuildSchedulesForm(form: ReturnType<typeof this['build']>, schedules: Schedule[]) {\n this.removeAllSchedules(form);\n const scheduleForm = this.getSchedulesForm(form);\n for (const schedule of schedules) scheduleForm.push(this.buildScheduleForm(schedule));\n }\n}\n\nfunction sortSchedules(schedules: Schedule[]): Schedule[] {\n return schedules.sort((a, b) => a.startAt.diff(b.startAt));\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"xxmachina-components-services-forms-schedule.mjs","sources":["../../../../../packages/@xxmachina/components/src/lib/services/forms/schedule/schedule.service.ts","../../../../../packages/@xxmachina/components/src/lib/services/forms/schedule/xxmachina-components-services-forms-schedule.ts"],"sourcesContent":["import { Injectable, inject } from '@angular/core';\nimport { FormArray, FormBuilder, FormControl, FormGroup } from '@angular/forms';\nimport { Schedule } from '@xxmachina/common/domain/models/scheduler';\nimport dayjs from 'dayjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ScheduleService {\n protected fb = inject(FormBuilder);\n\n buildScheduleForm({\n id = null,\n calendarId = 'primary',\n name = '',\n startAt = dayjs('2023-12-16'),\n endAt = startAt.add(1, 'hours'),\n url = '',\n }: Partial<Schedule> = {}) {\n return this.fb.group({\n id: [id],\n calendarId: [calendarId],\n name: [name],\n startAt: [startAt],\n endAt: [endAt],\n url: [url],\n });\n }\n\n build() {\n return this.fb.group({\n dateRange: this.fb.group({\n start: [dayjs()],\n end: [dayjs().add(1, 'month')],\n }),\n timeRange: this.fb.group({\n start: ['13:00'],\n end: ['20:00'],\n }),\n title: [''],\n events: this.fb.array<FormGroup<{\n startAt: FormControl<dayjs.Dayjs>,\n endAt: FormControl<dayjs.Dayjs>,\n }>>([]),\n message: [''],\n });\n }\n\n getSchedulesForm(form: ReturnType<typeof this['build']>): FormArray {\n return form.get(['events']) as FormArray;\n }\n\n getSchedules(form: ReturnType<typeof this['build']>): Schedule[] {\n return this.getSchedulesForm(form).value.map((schedule) => Schedule.from({...schedule}));\n }\n\n addSchedule(form: ReturnType<typeof this['build']>, schedule: Schedule) {\n this.rebuildSchedulesForm(form, sortSchedules([...this.getSchedules(form), schedule]));\n }\n\n removeAt(form: ReturnType<typeof this['build']>, index: number) {\n const scheduleForm = this.getSchedulesForm(form);\n scheduleForm.removeAt(index);\n }\n\n removeAllSchedules(form: ReturnType<typeof this['build']>) {\n const scheduleForm = this.getSchedulesForm(form);\n while (scheduleForm.length) scheduleForm.removeAt(0);\n }\n\n rebuildSchedulesForm(form: ReturnType<typeof this['build']>, schedules: Schedule[]) {\n this.removeAllSchedules(form);\n const scheduleForm = this.getSchedulesForm(form);\n for (const schedule of schedules) scheduleForm.push(this.buildScheduleForm(schedule));\n }\n}\n\nfunction sortSchedules(schedules: Schedule[]): Schedule[] {\n return schedules.sort((a, b) => a.startAt.diff(b.startAt));\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import * as i0 from '@angular/core';
2
2
  import { inject, Injectable } from '@angular/core';
3
3
  import { GraphqlService } from '@xxmachina/components/services/graphql';
4
4
  import { map, lastValueFrom } from 'rxjs';
5
- import { Invoice, Order } from '@xxmachina/common/domain-invoice/models';
5
+ import { Invoice, Order } from '@xxmachina/common/domain/invoice/models';
6
6
  import dayjs from 'dayjs';
7
7
  import { plainToInstance } from 'class-transformer';
8
8
  import { HttpClient } from '@angular/common/http';
@@ -1 +1 @@
1
- {"version":3,"file":"xxmachina-components-services-invoice.mjs","sources":["../../../../../packages/@xxmachina/components/src/lib/services/invoice/invoice.service.ts","../../../../../packages/@xxmachina/components/src/lib/services/invoice/xxmachina-components-services-invoice.ts"],"sourcesContent":["import { Injectable, inject } from '@angular/core';\nimport { GraphqlService } from '@xxmachina/components/services/graphql';\nimport { Observable, lastValueFrom, map } from 'rxjs';\nimport { Invoice, Order } from '@xxmachina/common/domain-invoice/models';\nimport dayjs from 'dayjs';\nimport { plainToInstance } from 'class-transformer';\nimport { HttpClient } from '@angular/common/http';\n\nconst query = `\nquery {\n invoices{\n id\n no\n title\n subject\n customerId\n vendorId\n amount\n dueDate\n orderIds\n customer {\n id\n name\n type\n address\n postalCode\n email\n billingEmail\n billingContact\n phoneNumber\n contact\n suffix\n bankAccount\n }\n vendor {\n id\n name\n type\n address\n postalCode\n email\n billingEmail\n billingContact\n phoneNumber\n contact\n suffix\n bankAccount\n }\n orders {\n id\n title\n eclId\n customerId\n vendorId\n contractId\n invoiceId\n startDate\n endDate\n unitPrice\n unit\n quantity\n amountInput\n amount\n statusIn\n statusOut\n }\n }\n}\n`;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class InvoiceService {\n readonly graphql = inject(GraphqlService);\n readonly http = inject(HttpClient);\n\n list(): Observable<Invoice[]> {\n return this.graphql.graphql({\n query: `query { invoices{ id no title subject customerId vendorId amount dueDate orderIds } }`,\n }).pipe(\n map((data => data?.data?.invoices ?? [])),\n map((invoices) => invoices.map((invoice: any) => plainToInstance(Invoice, {\n ...invoice,\n no: parseInt(invoice.no, 10),\n }))),\n );\n }\n\n getInvoices(): Observable<Invoice[]> {\n return this.graphql.graphql({query}).pipe(\n map((data => data?.data?.invoices ?? [])),\n map((invoices) => invoices.map((invoice: any) => Invoice.from({\n ...invoice,\n no: parseInt(invoice.no, 10),\n dueDate: dayjs(invoice.dueDate),\n orders: invoice.orders.map((order: any) => Order.from({\n ...order,\n startDate: dayjs(order.startDate),\n endDate: dayjs(order.endDate),\n })),\n }))),\n )\n }\n\n async download(invoice: Invoice): Promise<void> {\n return lastValueFrom(this.http.post('/api/invoices/pdf', invoice, {\n responseType: 'blob',\n observe: 'response',\n })).then((res) => {\n const url = URL.createObjectURL(res.body);\n const a = document.createElement('a');\n a.href = url;\n a.download = decodeURIComponent(res.headers.get('content-disposition').split('filename=')[1]);\n a.click();\n URL.revokeObjectURL(url);\n });\n }\n\n async send(invoice: Invoice): Promise<void> {\n return lastValueFrom(this.http.post<void>(`/api/invoices/send`, invoice));\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"xxmachina-components-services-invoice.mjs","sources":["../../../../../packages/@xxmachina/components/src/lib/services/invoice/invoice.service.ts","../../../../../packages/@xxmachina/components/src/lib/services/invoice/xxmachina-components-services-invoice.ts"],"sourcesContent":["import { Injectable, inject } from '@angular/core';\nimport { GraphqlService } from '@xxmachina/components/services/graphql';\nimport { Observable, lastValueFrom, map } from 'rxjs';\nimport { Invoice, Order } from '@xxmachina/common/domain/invoice/models';\nimport dayjs from 'dayjs';\nimport { plainToInstance } from 'class-transformer';\nimport { HttpClient } from '@angular/common/http';\n\nconst query = `\nquery {\n invoices{\n id\n no\n title\n subject\n customerId\n vendorId\n amount\n dueDate\n orderIds\n customer {\n id\n name\n type\n address\n postalCode\n email\n billingEmail\n billingContact\n phoneNumber\n contact\n suffix\n bankAccount\n }\n vendor {\n id\n name\n type\n address\n postalCode\n email\n billingEmail\n billingContact\n phoneNumber\n contact\n suffix\n bankAccount\n }\n orders {\n id\n title\n eclId\n customerId\n vendorId\n contractId\n invoiceId\n startDate\n endDate\n unitPrice\n unit\n quantity\n amountInput\n amount\n statusIn\n statusOut\n }\n }\n}\n`;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class InvoiceService {\n readonly graphql = inject(GraphqlService);\n readonly http = inject(HttpClient);\n\n list(): Observable<Invoice[]> {\n return this.graphql.graphql({\n query: `query { invoices{ id no title subject customerId vendorId amount dueDate orderIds } }`,\n }).pipe(\n map((data => data?.data?.invoices ?? [])),\n map((invoices) => invoices.map((invoice: any) => plainToInstance(Invoice, {\n ...invoice,\n no: parseInt(invoice.no, 10),\n }))),\n );\n }\n\n getInvoices(): Observable<Invoice[]> {\n return this.graphql.graphql({query}).pipe(\n map((data => data?.data?.invoices ?? [])),\n map((invoices) => invoices.map((invoice: any) => Invoice.from({\n ...invoice,\n no: parseInt(invoice.no, 10),\n dueDate: dayjs(invoice.dueDate),\n orders: invoice.orders.map((order: any) => Order.from({\n ...order,\n startDate: dayjs(order.startDate),\n endDate: dayjs(order.endDate),\n })),\n }))),\n )\n }\n\n async download(invoice: Invoice): Promise<void> {\n return lastValueFrom(this.http.post('/api/invoices/pdf', invoice, {\n responseType: 'blob',\n observe: 'response',\n })).then((res) => {\n const url = URL.createObjectURL(res.body);\n const a = document.createElement('a');\n a.href = url;\n a.download = decodeURIComponent(res.headers.get('content-disposition').split('filename=')[1]);\n a.click();\n URL.revokeObjectURL(url);\n });\n }\n\n async send(invoice: Invoice): Promise<void> {\n return lastValueFrom(this.http.post<void>(`/api/invoices/send`, invoice));\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"xxmachina-components-services-link.mjs","sources":["../../../../../packages/@xxmachina/components/src/lib/services/link/link.service.ts","../../../../../packages/@xxmachina/components/src/lib/services/link/xxmachina-components-services-link.ts"],"sourcesContent":["import { HttpClient } from '@angular/common/http';\nimport { Injectable, inject } from '@angular/core';\nimport { Google } from '@xxmachina/common/domain/models';\nimport { lastValueFrom } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LinkService {\n readonly http = inject(HttpClient);\n\n create(link: Google) {\n return lastValueFrom(this.http.post('/api/links', link));\n }\n\n linkWithGoogle() {\n return window.open('/api/links/google', '_blank');\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;MAQa,WAAW,CAAA;AAHxB,IAAA,WAAA,GAAA;AAIW,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC;AASnC;AAPC,IAAA,MAAM,CAAC,IAAY,EAAA;AACjB,QAAA,OAAO,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;;IAG1D,cAAc,GAAA;QACZ,OAAO,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE,QAAQ,CAAC;;8GARxC,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAX,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAW,cAFV,MAAM,EAAA,CAAA,CAAA;;2FAEP,WAAW,EAAA,UAAA,EAAA,CAAA;kBAHvB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE;AACb,iBAAA;;;ACPD;;AAEG;;;;"}
1
+ {"version":3,"file":"xxmachina-components-services-link.mjs","sources":["../../../../../packages/@xxmachina/components/src/lib/services/link/link.service.ts","../../../../../packages/@xxmachina/components/src/lib/services/link/xxmachina-components-services-link.ts"],"sourcesContent":["import { HttpClient } from '@angular/common/http';\nimport { Injectable, inject } from '@angular/core';\nimport { Google } from '@xxmachina/common/domain/models/links/google';\nimport { lastValueFrom } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LinkService {\n readonly http = inject(HttpClient);\n\n create(link: Google) {\n return lastValueFrom(this.http.post('/api/links', link));\n }\n\n linkWithGoogle() {\n return window.open('/api/links/google', '_blank');\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;MAQa,WAAW,CAAA;AAHxB,IAAA,WAAA,GAAA;AAIW,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC;AASnC;AAPC,IAAA,MAAM,CAAC,IAAY,EAAA;AACjB,QAAA,OAAO,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;;IAG1D,cAAc,GAAA;QACZ,OAAO,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE,QAAQ,CAAC;;8GARxC,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAX,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAW,cAFV,MAAM,EAAA,CAAA,CAAA;;2FAEP,WAAW,EAAA,UAAA,EAAA,CAAA;kBAHvB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE;AACb,iBAAA;;;ACPD;;AAEG;;;;"}
@@ -2,7 +2,7 @@ import { HttpClient } from '@angular/common/http';
2
2
  import * as i0 from '@angular/core';
3
3
  import { inject, Injectable } from '@angular/core';
4
4
  import { forkJoin, of, catchError, switchMap, map } from 'rxjs';
5
- import { OpenApi } from '@xxmachina/common/domain/models';
5
+ import { OpenApi } from '@xxmachina/common/domain/models/openapi';
6
6
  import { JsonSchemaService } from '@xxmachina/components/services/json-schema';
7
7
 
8
8
  function _forkJoin(sources) {
@@ -1 +1 @@
1
- {"version":3,"file":"xxmachina-components-services-openapi.mjs","sources":["../../../../../packages/@xxmachina/components/src/lib/services/openapi/openapi.service.ts","../../../../../packages/@xxmachina/components/src/lib/services/openapi/xxmachina-components-services-openapi.ts"],"sourcesContent":["import { HttpClient } from '@angular/common/http';\nimport { Injectable, inject } from '@angular/core';\nimport { catchError, forkJoin, map, Observable, of, switchMap } from 'rxjs';\nimport { OpenApi, OpenAPISchema } from '@xxmachina/common/domain/models';\nimport { JsonSchemaService } from '@xxmachina/components/services/json-schema';\n\nfunction _forkJoin<T>(sources: Observable<T>[]): Observable<T[]> {\n return sources?.length ? forkJoin(sources) : of([]);\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class OpenApiService {\n readonly http = inject(HttpClient);\n readonly schema = inject(JsonSchemaService);\n\n getOpenApiMany(urls: string[]): Observable<OpenApi[]> {\n return _forkJoin(urls.map((url) => this.getOpenApi(url).pipe(\n catchError((error) => (console.error(error), of(null))),\n )));\n }\n\n getOpenApi(url: string): Observable<OpenApi> {\n return this.getOpenApiSchema(url).pipe(\n switchMap((openApi) => this.schema.resolveRef(openApi)),\n map((openApi) => new OpenApi({...openApi, apiJsonUrl: url})),\n );\n }\n\n getOpenApiSchema(url: string): Observable<OpenAPISchema> {\n return this.http.get<OpenAPISchema>(url);\n }\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;AAMA,SAAS,SAAS,CAAI,OAAwB,EAAA;AAC5C,IAAA,OAAO,OAAO,EAAE,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;AACrD;MAKa,cAAc,CAAA;AAH3B,IAAA,WAAA,GAAA;AAIW,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC;AACzB,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAkB5C;AAhBC,IAAA,cAAc,CAAC,IAAc,EAAA;QAC3B,OAAO,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,CAC1D,UAAU,CAAC,CAAC,KAAK,MAAM,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CACxD,CAAC,CAAC;;AAGL,IAAA,UAAU,CAAC,GAAW,EAAA;QACpB,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,IAAI,CACpC,SAAS,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,EACvD,GAAG,CAAC,CAAC,OAAO,KAAK,IAAI,OAAO,CAAC,EAAC,GAAG,OAAO,EAAE,UAAU,EAAE,GAAG,EAAC,CAAC,CAAC,CAC7D;;AAGH,IAAA,gBAAgB,CAAC,GAAW,EAAA;QAC1B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAgB,GAAG,CAAC;;8GAlB/B,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAd,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,cAFb,MAAM,EAAA,CAAA,CAAA;;2FAEP,cAAc,EAAA,UAAA,EAAA,CAAA;kBAH1B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE;AACb,iBAAA;;;ACZD;;AAEG;;;;"}
1
+ {"version":3,"file":"xxmachina-components-services-openapi.mjs","sources":["../../../../../packages/@xxmachina/components/src/lib/services/openapi/openapi.service.ts","../../../../../packages/@xxmachina/components/src/lib/services/openapi/xxmachina-components-services-openapi.ts"],"sourcesContent":["import { HttpClient } from '@angular/common/http';\nimport { Injectable, inject } from '@angular/core';\nimport { catchError, forkJoin, map, Observable, of, switchMap } from 'rxjs';\nimport { OpenApi, OpenAPISchema } from '@xxmachina/common/domain/models/openapi';\nimport { JsonSchemaService } from '@xxmachina/components/services/json-schema';\n\nfunction _forkJoin<T>(sources: Observable<T>[]): Observable<T[]> {\n return sources?.length ? forkJoin(sources) : of([]);\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class OpenApiService {\n readonly http = inject(HttpClient);\n readonly schema = inject(JsonSchemaService);\n\n getOpenApiMany(urls: string[]): Observable<OpenApi[]> {\n return _forkJoin(urls.map((url) => this.getOpenApi(url).pipe(\n catchError((error) => (console.error(error), of(null))),\n )));\n }\n\n getOpenApi(url: string): Observable<OpenApi> {\n return this.getOpenApiSchema(url).pipe(\n switchMap((openApi) => this.schema.resolveRef(openApi)),\n map((openApi) => new OpenApi({...openApi, apiJsonUrl: url})),\n );\n }\n\n getOpenApiSchema(url: string): Observable<OpenAPISchema> {\n return this.http.get<OpenAPISchema>(url);\n }\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;AAMA,SAAS,SAAS,CAAI,OAAwB,EAAA;AAC5C,IAAA,OAAO,OAAO,EAAE,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;AACrD;MAKa,cAAc,CAAA;AAH3B,IAAA,WAAA,GAAA;AAIW,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC;AACzB,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAkB5C;AAhBC,IAAA,cAAc,CAAC,IAAc,EAAA;QAC3B,OAAO,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,CAC1D,UAAU,CAAC,CAAC,KAAK,MAAM,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CACxD,CAAC,CAAC;;AAGL,IAAA,UAAU,CAAC,GAAW,EAAA;QACpB,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,IAAI,CACpC,SAAS,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,EACvD,GAAG,CAAC,CAAC,OAAO,KAAK,IAAI,OAAO,CAAC,EAAC,GAAG,OAAO,EAAE,UAAU,EAAE,GAAG,EAAC,CAAC,CAAC,CAC7D;;AAGH,IAAA,gBAAgB,CAAC,GAAW,EAAA;QAC1B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAgB,GAAG,CAAC;;8GAlB/B,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAd,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,cAFb,MAAM,EAAA,CAAA,CAAA;;2FAEP,cAAc,EAAA,UAAA,EAAA,CAAA;kBAH1B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE;AACb,iBAAA;;;ACZD;;AAEG;;;;"}
@@ -1,7 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { inject, Injectable } from '@angular/core';
3
3
  import { GraphqlService } from '@xxmachina/components/services/graphql';
4
- import { Order } from '@xxmachina/common/domain-invoice/models';
4
+ import { Order } from '@xxmachina/common/domain/invoice/models';
5
5
  import { map } from 'rxjs';
6
6
 
7
7
  class OrderService {
@@ -1 +1 @@
1
- {"version":3,"file":"xxmachina-components-services-order.mjs","sources":["../../../../../packages/@xxmachina/components/src/lib/services/order/order.service.ts","../../../../../packages/@xxmachina/components/src/lib/services/order/xxmachina-components-services-order.ts"],"sourcesContent":["import { Injectable, inject } from '@angular/core';\nimport { GraphqlService } from '@xxmachina/components/services/graphql';\nimport { Order } from '@xxmachina/common/domain-invoice/models';\nimport { Observable, map } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class OrderService {\n readonly graphql = inject(GraphqlService);\n\n list(): Observable<Order[]> {\n return this.graphql.graphql({\n query: `query { orders {\n id title eclId customerId vendorId\n contractId invoiceId startDate endDate unitPrice unit\n quantity amountInput amount statusIn statusOut\n } }`,\n }).pipe(\n map((data => data?.data?.orders ?? [])),\n map((orders) => orders.map((order: any) => Order.from({\n ...order,\n }))),\n );\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;MAQa,YAAY,CAAA;AAHzB,IAAA,WAAA,GAAA;AAIW,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,cAAc,CAAC;AAgB1C;IAdC,IAAI,GAAA;AACF,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;AAC1B,YAAA,KAAK,EAAE,CAAA;;;;AAIH,SAAA,CAAA;AACL,SAAA,CAAC,CAAC,IAAI,CACL,GAAG,EAAE,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,MAAM,IAAI,EAAE,EAAE,EACvC,GAAG,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,GAAG,CAAC,CAAC,KAAU,KAAK,KAAK,CAAC,IAAI,CAAC;AACpD,YAAA,GAAG,KAAK;SACT,CAAC,CAAC,CAAC,CACL;;8GAfQ,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAZ,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,cAFX,MAAM,EAAA,CAAA,CAAA;;2FAEP,YAAY,EAAA,UAAA,EAAA,CAAA;kBAHxB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE;AACb,iBAAA;;;ACPD;;AAEG;;;;"}
1
+ {"version":3,"file":"xxmachina-components-services-order.mjs","sources":["../../../../../packages/@xxmachina/components/src/lib/services/order/order.service.ts","../../../../../packages/@xxmachina/components/src/lib/services/order/xxmachina-components-services-order.ts"],"sourcesContent":["import { Injectable, inject } from '@angular/core';\nimport { GraphqlService } from '@xxmachina/components/services/graphql';\nimport { Order } from '@xxmachina/common/domain/invoice/models';\nimport { Observable, map } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class OrderService {\n readonly graphql = inject(GraphqlService);\n\n list(): Observable<Order[]> {\n return this.graphql.graphql({\n query: `query { orders {\n id title eclId customerId vendorId\n contractId invoiceId startDate endDate unitPrice unit\n quantity amountInput amount statusIn statusOut\n } }`,\n }).pipe(\n map((data => data?.data?.orders ?? [])),\n map((orders) => orders.map((order: any) => Order.from({\n ...order,\n }))),\n );\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;MAQa,YAAY,CAAA;AAHzB,IAAA,WAAA,GAAA;AAIW,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,cAAc,CAAC;AAgB1C;IAdC,IAAI,GAAA;AACF,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;AAC1B,YAAA,KAAK,EAAE,CAAA;;;;AAIH,SAAA,CAAA;AACL,SAAA,CAAC,CAAC,IAAI,CACL,GAAG,EAAE,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,MAAM,IAAI,EAAE,EAAE,EACvC,GAAG,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,GAAG,CAAC,CAAC,KAAU,KAAK,KAAK,CAAC,IAAI,CAAC;AACpD,YAAA,GAAG,KAAK;SACT,CAAC,CAAC,CAAC,CACL;;8GAfQ,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAZ,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,cAFX,MAAM,EAAA,CAAA,CAAA;;2FAEP,YAAY,EAAA,UAAA,EAAA,CAAA;kBAHxB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE;AACb,iBAAA;;;ACPD;;AAEG;;;;"}
@@ -1,6 +1,6 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { inject, Injectable } from '@angular/core';
3
- import { Partner } from '@xxmachina/common/domain-invoice/models';
3
+ import { Partner } from '@xxmachina/common/domain/invoice/models';
4
4
  import { GraphqlService } from '@xxmachina/components/services/graphql';
5
5
  import { map } from 'rxjs';
6
6
 
@@ -1 +1 @@
1
- {"version":3,"file":"xxmachina-components-services-partner.mjs","sources":["../../../../../packages/@xxmachina/components/src/lib/services/partner/partner.service.ts","../../../../../packages/@xxmachina/components/src/lib/services/partner/xxmachina-components-services-partner.ts"],"sourcesContent":["import { Injectable, inject } from '@angular/core';\nimport { Partner } from '@xxmachina/common/domain-invoice/models';\nimport { GraphqlService } from '@xxmachina/components/services/graphql';\nimport { map } from 'rxjs';\n\n@Injectable({ providedIn: 'root' })\nexport class PartnerService {\n private graphql = inject(GraphqlService);\n list() {\n return this.graphql.graphql({\n query: `query { partners {\n id\n name\n type\n address\n postalCode\n email\n billingEmail\n billingContact\n phoneNumber\n contact\n suffix\n bankAccount\n } }`\n }).pipe(\n map((data => data?.data?.partners ?? [])),\n map((partners) => partners.map((partner: any) => Partner.from({...partner}))),\n )\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;MAMa,cAAc,CAAA;AAD3B,IAAA,WAAA,GAAA;AAEU,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,cAAc,CAAC;AAsBzC;IArBC,IAAI,GAAA;AACF,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;AAC1B,YAAA,KAAK,EAAE,CAAA;;;;;;;;;;;;;AAaH,SAAA;SACL,CAAC,CAAC,IAAI,CACL,GAAG,EAAE,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,QAAQ,IAAI,EAAE,EAAE,EACzC,GAAG,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAY,KAAK,OAAO,CAAC,IAAI,CAAC,EAAC,GAAG,OAAO,EAAC,CAAC,CAAC,CAAC,CAC9E;;8GArBQ,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAd,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,cADD,MAAM,EAAA,CAAA,CAAA;;2FACnB,cAAc,EAAA,UAAA,EAAA,CAAA;kBAD1B,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;ACLlC;;AAEG;;;;"}
1
+ {"version":3,"file":"xxmachina-components-services-partner.mjs","sources":["../../../../../packages/@xxmachina/components/src/lib/services/partner/partner.service.ts","../../../../../packages/@xxmachina/components/src/lib/services/partner/xxmachina-components-services-partner.ts"],"sourcesContent":["import { Injectable, inject } from '@angular/core';\nimport { Partner } from '@xxmachina/common/domain/invoice/models';\nimport { GraphqlService } from '@xxmachina/components/services/graphql';\nimport { map } from 'rxjs';\n\n@Injectable({ providedIn: 'root' })\nexport class PartnerService {\n private graphql = inject(GraphqlService);\n list() {\n return this.graphql.graphql({\n query: `query { partners {\n id\n name\n type\n address\n postalCode\n email\n billingEmail\n billingContact\n phoneNumber\n contact\n suffix\n bankAccount\n } }`\n }).pipe(\n map((data => data?.data?.partners ?? [])),\n map((partners) => partners.map((partner: any) => Partner.from({...partner}))),\n )\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;MAMa,cAAc,CAAA;AAD3B,IAAA,WAAA,GAAA;AAEU,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,cAAc,CAAC;AAsBzC;IArBC,IAAI,GAAA;AACF,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;AAC1B,YAAA,KAAK,EAAE,CAAA;;;;;;;;;;;;;AAaH,SAAA;SACL,CAAC,CAAC,IAAI,CACL,GAAG,EAAE,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,QAAQ,IAAI,EAAE,EAAE,EACzC,GAAG,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAY,KAAK,OAAO,CAAC,IAAI,CAAC,EAAC,GAAG,OAAO,EAAC,CAAC,CAAC,CAAC,CAC9E;;8GArBQ,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAd,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,cADD,MAAM,EAAA,CAAA,CAAA;;2FACnB,cAAc,EAAA,UAAA,EAAA,CAAA;kBAD1B,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;ACLlC;;AAEG;;;;"}
@@ -1,26 +1,27 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, makeEnvironmentProviders, inject, Injectable } from '@angular/core';
3
- import { reconstruct } from '@nx-ddd/core';
4
- import { map } from 'rxjs';
2
+ import { signal, inject, Injectable } from '@angular/core';
3
+ import { toObservable } from '@angular/core/rxjs-interop';
4
+ import { AuthService } from '@xxmachina/common/auth';
5
+ import { reconstruct } from '@nx-ddd/core/util/walk-obj';
6
+ import { filter, map } from 'rxjs';
5
7
 
6
- const QUERY_CONFIG = new InjectionToken('[@xxmachina/components] QUERY_CONFIG');
7
- function provideQueryConfig(useFactory) {
8
- return makeEnvironmentProviders([{ provide: QUERY_CONFIG, useFactory }]);
9
- }
10
8
  class QueryConfigService {
11
9
  constructor() {
12
- this.config$ = inject(QUERY_CONFIG);
13
- }
14
- replaceText(text, config) {
15
- return Object.entries(config).reduce((text, [key, value]) => text.replaceAll(`$${key}`, value), text);
10
+ this.config = signal(null);
11
+ this.config$ = toObservable(this.config);
12
+ this.auth = inject(AuthService);
13
+ this.auth.accessToken$.subscribe((accessToken) => {
14
+ this.config.update((config) => ({ ...config, auth: { accessToken } }));
15
+ });
16
16
  }
17
- replace(params, config) {
17
+ /** @deprecated use `resolve` */
18
+ replace(params, _config = this.config()) {
18
19
  if (typeof params === 'string') {
19
- return this.replaceText(params, config);
20
+ return params.replaceAll("$MACHINA_AUTH_ACCESS_TOKEN", _config?.auth?.accessToken ?? '');
20
21
  }
21
22
  const resonstruceted = reconstruct(params, (_, value) => {
22
23
  if (typeof value === 'string') {
23
- const newValue = this.replaceText(value, config);
24
+ const newValue = value.replaceAll("$MACHINA_AUTH_ACCESS_TOKEN", _config?.auth?.accessToken ?? '');
24
25
  return [true, newValue];
25
26
  }
26
27
  return [false];
@@ -28,7 +29,7 @@ class QueryConfigService {
28
29
  return resonstruceted;
29
30
  }
30
31
  resolve(params) {
31
- return this.config$.pipe(map(config => this.replace(params, config)));
32
+ return this.config$.pipe(filter((config) => !!config?.auth?.accessToken), map(config => this.replace(params, config)));
32
33
  }
33
34
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: QueryConfigService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
34
35
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: QueryConfigService, providedIn: 'root' }); }
@@ -36,11 +37,11 @@ class QueryConfigService {
36
37
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: QueryConfigService, decorators: [{
37
38
  type: Injectable,
38
39
  args: [{ providedIn: 'root' }]
39
- }] });
40
+ }], ctorParameters: () => [] });
40
41
 
41
42
  /**
42
43
  * Generated bundle index. Do not edit.
43
44
  */
44
45
 
45
- export { QUERY_CONFIG, QueryConfigService, provideQueryConfig };
46
+ export { QueryConfigService };
46
47
  //# sourceMappingURL=xxmachina-components-services-query-config.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"xxmachina-components-services-query-config.mjs","sources":["../../../../../packages/@xxmachina/components/src/lib/services/query-config/query-config.service.ts","../../../../../packages/@xxmachina/components/src/lib/services/query-config/xxmachina-components-services-query-config.ts"],"sourcesContent":["import { EnvironmentProviders, inject, Injectable, InjectionToken, makeEnvironmentProviders, signal } from \"@angular/core\";\nimport { toObservable } from \"@angular/core/rxjs-interop\";\nimport { AuthService } from \"@xxmachina/common/auth\";\nimport { reconstruct } from \"@nx-ddd/core\";\nimport { filter, map, Observable, shareReplay } from \"rxjs\";\n\nexport type QueryConfig = Record<string, string>;\nexport const QUERY_CONFIG = new InjectionToken<Observable<QueryConfig>>('[@xxmachina/components] QUERY_CONFIG');\n\nexport function provideQueryConfig(useFactory: () => Observable<QueryConfig>): EnvironmentProviders {\n return makeEnvironmentProviders([{ provide: QUERY_CONFIG, useFactory }]);\n}\n\n@Injectable({providedIn: 'root'})\nexport class QueryConfigService {\n readonly config$ = inject(QUERY_CONFIG);\n\n protected replaceText(text: string, config: QueryConfig): string {\n return Object.entries(config).reduce((text, [key, value]) => text.replaceAll(`$${key}`, value), text);\n }\n\n protected replace<T extends Record<string, any> | string>(params: T, config: QueryConfig): T {\n if (typeof params === 'string') {\n return this.replaceText(params, config) as T;\n }\n const resonstruceted = reconstruct(params, (_, value) => {\n if (typeof value === 'string') {\n const newValue = this.replaceText(value, config);\n return [true, newValue];\n }\n return [false];\n });\n return resonstruceted as T;\n }\n\n resolve<T extends object>(params: T): Observable<T> {\n return this.config$.pipe(\n map(config => this.replace(params, config)),\n );\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;MAOa,YAAY,GAAG,IAAI,cAAc,CAA0B,sCAAsC;AAExG,SAAU,kBAAkB,CAAC,UAAyC,EAAA;AAC1E,IAAA,OAAO,wBAAwB,CAAC,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC,CAAC;AAC1E;MAGa,kBAAkB,CAAA;AAD/B,IAAA,WAAA,GAAA;AAEW,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,YAAY,CAAC;AAyBxC;IAvBW,WAAW,CAAC,IAAY,EAAE,MAAmB,EAAA;AACrD,QAAA,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,IAAI,CAAC,UAAU,CAAC,CAAA,CAAA,EAAI,GAAG,CAAA,CAAE,EAAE,KAAK,CAAC,EAAE,IAAI,CAAC;;IAG7F,OAAO,CAAyC,MAAS,EAAE,MAAmB,EAAA;AACtF,QAAA,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;YAC9B,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAM;;QAE9C,MAAM,cAAc,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,KAAK,KAAI;AACtD,YAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;gBAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC;AAChD,gBAAA,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC;;YAEzB,OAAO,CAAC,KAAK,CAAC;AAChB,SAAC,CAAC;AACF,QAAA,OAAO,cAAmB;;AAG5B,IAAA,OAAO,CAAmB,MAAS,EAAA;QACjC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CACtB,GAAG,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAC5C;;8GAxBQ,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,cADN,MAAM,EAAA,CAAA,CAAA;;2FAClB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAD9B,UAAU;mBAAC,EAAC,UAAU,EAAE,MAAM,EAAC;;;ACbhC;;AAEG;;;;"}
1
+ {"version":3,"file":"xxmachina-components-services-query-config.mjs","sources":["../../../../../packages/@xxmachina/components/src/lib/services/query-config/query-config.service.ts","../../../../../packages/@xxmachina/components/src/lib/services/query-config/xxmachina-components-services-query-config.ts"],"sourcesContent":["import { inject, Injectable, signal } from \"@angular/core\";\nimport { toObservable } from \"@angular/core/rxjs-interop\";\nimport { AuthService } from \"@xxmachina/common/auth\";\nimport { reconstruct } from \"@nx-ddd/core/util/walk-obj\";\nimport { filter, map, Observable } from \"rxjs\";\n\n@Injectable({providedIn: 'root'})\nexport class QueryConfigService {\n readonly config = signal<{\n auth?: {\n accessToken?: string;\n }\n }>(null);\n readonly config$ = toObservable(this.config);\n readonly auth = inject(AuthService);\n\n constructor() {\n this.auth.accessToken$.subscribe((accessToken) => {\n this.config.update((config) => ({ ...config, auth: { accessToken } }));\n });\n }\n\n /** @deprecated use `resolve` */\n protected replace<T extends Record<string, any> | string>(params: T, _config = this.config()): T {\n if (typeof params === 'string') {\n return params.replaceAll(\"$MACHINA_AUTH_ACCESS_TOKEN\", _config?.auth?.accessToken ?? '') as T;\n }\n const resonstruceted = reconstruct(params, (_, value) => {\n if (typeof value === 'string') {\n const newValue = value.replaceAll(\"$MACHINA_AUTH_ACCESS_TOKEN\", _config?.auth?.accessToken ?? '');\n return [true, newValue];\n }\n return [false];\n });\n return resonstruceted as T;\n }\n\n resolve<T extends object>(params: T): Observable<T> {\n return this.config$.pipe(\n filter((config) => !!config?.auth?.accessToken),\n map(config => this.replace(params, config)),\n );\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;MAOa,kBAAkB,CAAA;AAS7B,IAAA,WAAA,GAAA;AARS,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAIrB,IAAI,CAAC;AACC,QAAA,IAAA,CAAA,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC;AACnC,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC;QAGjC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,WAAW,KAAI;YAC/C,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,MAAM,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;AACxE,SAAC,CAAC;;;IAIM,OAAO,CAAyC,MAAS,EAAE,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,EAAA;AAC1F,QAAA,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;AAC9B,YAAA,OAAO,MAAM,CAAC,UAAU,CAAC,4BAA4B,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,IAAI,EAAE,CAAM;;QAE/F,MAAM,cAAc,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,KAAK,KAAI;AACtD,YAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC7B,gBAAA,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,4BAA4B,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,IAAI,EAAE,CAAC;AACjG,gBAAA,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC;;YAEzB,OAAO,CAAC,KAAK,CAAC;AAChB,SAAC,CAAC;AACF,QAAA,OAAO,cAAmB;;AAG5B,IAAA,OAAO,CAAmB,MAAS,EAAA;AACjC,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CACtB,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,WAAW,CAAC,EAC/C,GAAG,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAC5C;;8GAlCQ,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,cADN,MAAM,EAAA,CAAA,CAAA;;2FAClB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAD9B,UAAU;mBAAC,EAAC,UAAU,EAAE,MAAM,EAAC;;;ACNhC;;AAEG;;;;"}
@@ -37,29 +37,19 @@ class QueryService {
37
37
  }
38
38
  subscribeQuery(_query) {
39
39
  return this.config.resolve(_query).pipe(switchMap((query) => {
40
- const client = this.apolloMulti.getClient(query.graphql.endpoint, () => {
41
- return this.config.resolve(_query.graphql.headers);
42
- // .pipe(take(1), shareReplay(1));
43
- });
40
+ const client = this.apolloMulti.getClient(query.graphql.endpoint, () => this.config.resolve(_query.graphql.headers));
44
41
  return client.subscribe({
45
42
  query: gql `${query.graphql.query}`,
46
43
  variables: query.graphql.variables,
47
- fetchPolicy: 'network-only',
48
44
  }).pipe(tap((result) => console.debug('[QueryService] result:', result)), map((result) => QueryHelper.parseResult(result)));
49
45
  }));
50
46
  }
51
47
  subscribe(query, { endpoint, headers = { 'content-type': 'application/json' }, variables = {}, } = {}, transformer = (result) => QueryHelper.parseResult(result)) {
52
- if (typeof headers['Authorization'] === 'undefined') {
53
- throw new Error(`Authorization is not ' ${query}`);
54
- }
55
48
  if (!endpoint) {
56
49
  throw new Error(`endpoint is required ${query}`);
57
50
  }
58
51
  return this.config.resolve({ query, endpoint, variables }).pipe(switchMap(({ query, endpoint, variables }) => {
59
- const client = this.apolloMulti.getClient(endpoint, () => {
60
- return this.config.resolve(headers);
61
- // .pipe(take(1), shareReplay(1));
62
- });
52
+ const client = this.apolloMulti.getClient(endpoint, () => this.config.resolve(headers));
63
53
  return client.subscribe({
64
54
  query: gql `${query}`,
65
55
  variables: variables,