@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.
- package/features/query/query.feature.d.ts +2 -2
- package/fesm2022/xxmachina-components-features-command.mjs +3 -2
- package/fesm2022/xxmachina-components-features-command.mjs.map +1 -1
- package/fesm2022/xxmachina-components-features-query.mjs +3 -2
- package/fesm2022/xxmachina-components-features-query.mjs.map +1 -1
- package/fesm2022/xxmachina-components-molecules-daily-cell.mjs +1 -1
- package/fesm2022/xxmachina-components-molecules-daily-cell.mjs.map +1 -1
- package/fesm2022/xxmachina-components-molecules-weekly-header.mjs +2 -2
- package/fesm2022/xxmachina-components-organisms-calendar-section.mjs +2 -2
- package/fesm2022/xxmachina-components-organisms-calendar-section.mjs.map +1 -1
- package/fesm2022/xxmachina-components-pages-command.mjs +6 -22
- package/fesm2022/xxmachina-components-pages-command.mjs.map +1 -1
- package/fesm2022/xxmachina-components-pages-query.mjs +3 -7
- package/fesm2022/xxmachina-components-pages-query.mjs.map +1 -1
- package/fesm2022/{xxmachina-components-routes-commands-command.routes-CSwIdXZg.mjs → xxmachina-components-routes-commands-command.routes-CeRVzy3Z.mjs} +11 -4
- package/fesm2022/xxmachina-components-routes-commands-command.routes-CeRVzy3Z.mjs.map +1 -0
- package/fesm2022/{xxmachina-components-routes-commands-pages.routes-j2xVop4W.mjs → xxmachina-components-routes-commands-pages.routes-Cm6Yd40h.mjs} +4 -4
- package/fesm2022/xxmachina-components-routes-commands-pages.routes-Cm6Yd40h.mjs.map +1 -0
- package/fesm2022/xxmachina-components-routes-commands.mjs +3 -5
- package/fesm2022/xxmachina-components-routes-commands.mjs.map +1 -1
- package/fesm2022/xxmachina-components-routes-pages.mjs +1 -3
- package/fesm2022/xxmachina-components-routes-pages.mjs.map +1 -1
- package/fesm2022/xxmachina-components-routes-queries-pages.routes-BfWsTCij.mjs +9 -0
- package/fesm2022/xxmachina-components-routes-queries-pages.routes-BfWsTCij.mjs.map +1 -0
- package/fesm2022/xxmachina-components-routes-queries.mjs +4 -6
- package/fesm2022/xxmachina-components-routes-queries.mjs.map +1 -1
- package/fesm2022/{xxmachina-components-routes-query-pages.routes-CxTbOJDQ.mjs → xxmachina-components-routes-query-pages.routes-H2vrF7kQ.mjs} +9 -9
- package/fesm2022/xxmachina-components-routes-query-pages.routes-H2vrF7kQ.mjs.map +1 -0
- package/fesm2022/xxmachina-components-routes-query.mjs +2 -4
- package/fesm2022/xxmachina-components-routes-query.mjs.map +1 -1
- package/fesm2022/{xxmachina-components-routes-resources-pages.routes-CzjQOxwT.mjs → xxmachina-components-routes-resources-pages.routes-BSjrrV1g.mjs} +4 -4
- package/fesm2022/xxmachina-components-routes-resources-pages.routes-BSjrrV1g.mjs.map +1 -0
- package/fesm2022/{xxmachina-components-routes-resources-resource.routes-C5KpB3KM.mjs → xxmachina-components-routes-resources-resource.routes-DzGgwitX.mjs} +3 -3
- package/fesm2022/xxmachina-components-routes-resources-resource.routes-DzGgwitX.mjs.map +1 -0
- package/fesm2022/xxmachina-components-routes-resources.mjs +5 -7
- package/fesm2022/xxmachina-components-routes-resources.mjs.map +1 -1
- package/fesm2022/xxmachina-components-routes.mjs +4 -4
- package/fesm2022/xxmachina-components-routes.mjs.map +1 -1
- package/fesm2022/xxmachina-components-services-assistant.mjs.map +1 -1
- package/fesm2022/xxmachina-components-services-calendar.mjs.map +1 -1
- package/fesm2022/xxmachina-components-services-command.mjs +6 -4
- package/fesm2022/xxmachina-components-services-command.mjs.map +1 -1
- package/fesm2022/xxmachina-components-services-contract.mjs +1 -1
- package/fesm2022/xxmachina-components-services-contract.mjs.map +1 -1
- package/fesm2022/xxmachina-components-services-forms-schedule.mjs +1 -1
- package/fesm2022/xxmachina-components-services-forms-schedule.mjs.map +1 -1
- package/fesm2022/xxmachina-components-services-invoice.mjs +1 -1
- package/fesm2022/xxmachina-components-services-invoice.mjs.map +1 -1
- package/fesm2022/xxmachina-components-services-link.mjs.map +1 -1
- package/fesm2022/xxmachina-components-services-openapi.mjs +1 -1
- package/fesm2022/xxmachina-components-services-openapi.mjs.map +1 -1
- package/fesm2022/xxmachina-components-services-order.mjs +1 -1
- package/fesm2022/xxmachina-components-services-order.mjs.map +1 -1
- package/fesm2022/xxmachina-components-services-partner.mjs +1 -1
- package/fesm2022/xxmachina-components-services-partner.mjs.map +1 -1
- package/fesm2022/xxmachina-components-services-query-config.mjs +18 -17
- package/fesm2022/xxmachina-components-services-query-config.mjs.map +1 -1
- package/fesm2022/xxmachina-components-services-query.mjs +2 -12
- package/fesm2022/xxmachina-components-services-query.mjs.map +1 -1
- package/fesm2022/xxmachina-components-services-schedule.mjs +1 -1
- package/fesm2022/xxmachina-components-services-schedule.mjs.map +1 -1
- package/fesm2022/xxmachina-components-services-thread.mjs +1 -1
- package/fesm2022/xxmachina-components-services-thread.mjs.map +1 -1
- package/fesm2022/xxmachina-components-validators-query.mjs +3 -6
- package/fesm2022/xxmachina-components-validators-query.mjs.map +1 -1
- package/fesm2022/xxmachina-components.mjs +1 -1
- package/fesm2022/xxmachina-components.mjs.map +1 -1
- package/molecules/daily-cell/daily-cell.molecule.d.ts +1 -1
- package/organisms/calendar-section/calendar-section.organism.d.ts +1 -1
- package/package.json +1 -1
- package/pages/command/command.page.d.ts +1 -3
- package/routes/commands/commands.routes.d.ts +2 -1
- package/routes/commands/index.d.ts +1 -1
- package/routes/commands/pages/command/command.routes.d.ts +2 -2
- package/routes/commands/pages/pages.routes.d.ts +2 -1
- package/routes/pages/index.d.ts +1 -1
- package/routes/pages/pages.routes.d.ts +2 -1
- package/routes/queries/index.d.ts +1 -1
- package/routes/queries/pages/pages.routes.d.ts +2 -1
- package/routes/queries/queries.routes.d.ts +2 -1
- package/routes/query/index.d.ts +1 -1
- package/routes/query/pages/pages.routes.d.ts +2 -1
- package/routes/query/query.routes.d.ts +2 -1
- package/routes/resources/index.d.ts +1 -1
- package/routes/resources/pages/pages.routes.d.ts +2 -1
- package/routes/resources/pages/resource/resource.routes.d.ts +2 -1
- package/routes/resources/resources.routes.d.ts +2 -1
- package/services/assistant/assistant.service.d.ts +1 -1
- package/services/calendar/calendar.service.d.ts +1 -1
- package/services/command/command.service.d.ts +2 -2
- package/services/forms/schedule/schedule.service.d.ts +1 -1
- package/services/invoice/invoice.service.d.ts +1 -1
- package/services/link/link.service.d.ts +1 -1
- package/services/openapi/openapi.service.d.ts +1 -1
- package/services/order/order.service.d.ts +1 -1
- package/services/query-config/query-config.service.d.ts +19 -7
- package/services/schedule/schedule.service.d.ts +1 -1
- package/fesm2022/xxmachina-components-routes-commands-command.routes-CSwIdXZg.mjs.map +0 -1
- package/fesm2022/xxmachina-components-routes-commands-pages.routes-j2xVop4W.mjs.map +0 -1
- package/fesm2022/xxmachina-components-routes-queries-pages.routes-CfrglCIL.mjs +0 -9
- package/fesm2022/xxmachina-components-routes-queries-pages.routes-CfrglCIL.mjs.map +0 -1
- package/fesm2022/xxmachina-components-routes-query-pages.routes-CxTbOJDQ.mjs.map +0 -1
- package/fesm2022/xxmachina-components-routes-resources-pages.routes-CzjQOxwT.mjs.map +0 -1
- 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/
|
|
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
|
-
|
|
19
|
+
var resources_routes = [
|
|
20
20
|
{
|
|
21
21
|
path: '',
|
|
22
22
|
component: IndexPage,
|
|
23
|
-
loadChildren: () => import('./xxmachina-components-routes-resources-pages.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/
|
|
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')
|
|
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')
|
|
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')
|
|
16
|
+
loadChildren: () => import('@xxmachina/components/routes/pages')
|
|
17
17
|
},
|
|
18
18
|
{
|
|
19
19
|
path: 'resources',
|
|
20
|
-
loadChildren: () => import('@xxmachina/components/routes/resources')
|
|
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')
|
|
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
|
|
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 {
|
|
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]
|
|
88
|
-
if (data
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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 {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
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
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
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
|
-
|
|
17
|
+
/** @deprecated use `resolve` */
|
|
18
|
+
replace(params, _config = this.config()) {
|
|
18
19
|
if (typeof params === 'string') {
|
|
19
|
-
return
|
|
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 =
|
|
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 {
|
|
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 {
|
|
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,
|