@xxmachina/common 19.0.0-preview.9 → 19.1.0
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/_shared/auth/index.d.ts +8 -1
- package/_shared/auth/passports/anonymous/index.d.ts +8 -1
- package/_shared/auth/passports/firebase/index.d.ts +19 -2
- package/_shared/auth/passports/internal/index.d.ts +17 -1
- package/_shared/auth/passports/msal/index.d.ts +26 -2
- package/_shared/meta/index.d.ts +8 -0
- package/_shared/meta/redis/index.d.ts +39 -2
- package/auth/index.d.ts +16 -1
- package/azure-auth/index.d.ts +41 -2
- package/domain/builder/index.d.ts +81 -0
- package/domain/builder/screen-item/index.d.ts +7 -1
- package/domain/index.d.ts +2 -1
- package/domain/models/index.d.ts +377 -13
- package/fesm2022/xxmachina-common-_shared-auth-passports-anonymous.mjs +20 -0
- package/fesm2022/xxmachina-common-_shared-auth-passports-anonymous.mjs.map +1 -0
- package/fesm2022/xxmachina-common-_shared-auth-passports-firebase.mjs +41 -0
- package/fesm2022/xxmachina-common-_shared-auth-passports-firebase.mjs.map +1 -0
- package/fesm2022/xxmachina-common-_shared-auth-passports-internal.mjs +34 -0
- package/fesm2022/xxmachina-common-_shared-auth-passports-internal.mjs.map +1 -0
- package/fesm2022/xxmachina-common-_shared-auth-passports-msal.mjs +49 -0
- package/fesm2022/xxmachina-common-_shared-auth-passports-msal.mjs.map +1 -0
- package/fesm2022/xxmachina-common-_shared-auth.mjs +25 -0
- package/fesm2022/xxmachina-common-_shared-auth.mjs.map +1 -0
- package/fesm2022/xxmachina-common-_shared-meta-redis.mjs +99 -0
- package/fesm2022/xxmachina-common-_shared-meta-redis.mjs.map +1 -0
- package/fesm2022/xxmachina-common-_shared-meta.mjs +26 -0
- package/fesm2022/xxmachina-common-_shared-meta.mjs.map +1 -0
- package/fesm2022/xxmachina-common-auth.mjs +17 -0
- package/fesm2022/xxmachina-common-auth.mjs.map +1 -0
- package/fesm2022/xxmachina-common-azure-auth.mjs +160 -0
- package/fesm2022/xxmachina-common-azure-auth.mjs.map +1 -0
- package/{domain/builder/screen-item/screen-item.builder.js → fesm2022/xxmachina-common-domain-builder-screen-item.mjs} +10 -11
- package/fesm2022/xxmachina-common-domain-builder-screen-item.mjs.map +1 -0
- package/fesm2022/xxmachina-common-domain-builder.mjs +494 -0
- package/fesm2022/xxmachina-common-domain-builder.mjs.map +1 -0
- package/fesm2022/xxmachina-common-domain-models.mjs +842 -0
- package/fesm2022/xxmachina-common-domain-models.mjs.map +1 -0
- package/fesm2022/xxmachina-common-domain.mjs +7 -0
- package/fesm2022/xxmachina-common-domain.mjs.map +1 -0
- package/fesm2022/xxmachina-common-firebase-auth.mjs +36 -0
- package/fesm2022/xxmachina-common-firebase-auth.mjs.map +1 -0
- package/fesm2022/xxmachina-common-infra-converters-google.mjs +39 -0
- package/fesm2022/xxmachina-common-infra-converters-google.mjs.map +1 -0
- package/fesm2022/xxmachina-common-infra-external-data-connect.mjs +13 -0
- package/fesm2022/xxmachina-common-infra-external-data-connect.mjs.map +1 -0
- package/fesm2022/xxmachina-common-infra-external-quick-js.mjs +61 -0
- package/fesm2022/xxmachina-common-infra-external-quick-js.mjs.map +1 -0
- package/fesm2022/xxmachina-common-infra-external-resend.mjs +10 -0
- package/fesm2022/xxmachina-common-infra-external-resend.mjs.map +1 -0
- package/fesm2022/xxmachina-common-infra-external.mjs +36 -0
- package/fesm2022/xxmachina-common-infra-external.mjs.map +1 -0
- package/fesm2022/xxmachina-common-infra-query-firestore.mjs +34 -0
- package/fesm2022/xxmachina-common-infra-query-firestore.mjs.map +1 -0
- package/fesm2022/xxmachina-common-infra-query-hasura.mjs +20 -0
- package/fesm2022/xxmachina-common-infra-query-hasura.mjs.map +1 -0
- package/fesm2022/xxmachina-common-infra-repository-dataconnect.mjs +18 -0
- package/fesm2022/xxmachina-common-infra-repository-dataconnect.mjs.map +1 -0
- package/fesm2022/xxmachina-common-infra-repository-firestore.mjs +74 -0
- package/fesm2022/xxmachina-common-infra-repository-firestore.mjs.map +1 -0
- package/fesm2022/xxmachina-common-infra-repository-hasura.mjs +41 -0
- package/fesm2022/xxmachina-common-infra-repository-hasura.mjs.map +1 -0
- package/fesm2022/xxmachina-common-infra-repository-notion.mjs +113 -0
- package/fesm2022/xxmachina-common-infra-repository-notion.mjs.map +1 -0
- package/fesm2022/xxmachina-common-infra.mjs +378 -0
- package/fesm2022/xxmachina-common-infra.mjs.map +1 -0
- package/fesm2022/xxmachina-common-invoice-domain-builders.mjs +79 -0
- package/fesm2022/xxmachina-common-invoice-domain-builders.mjs.map +1 -0
- package/fesm2022/xxmachina-common-invoice-domain-models.mjs +428 -0
- package/fesm2022/xxmachina-common-invoice-domain-models.mjs.map +1 -0
- package/fesm2022/xxmachina-common-invoice-domain-resolvers.mjs +41 -0
- package/fesm2022/xxmachina-common-invoice-domain-resolvers.mjs.map +1 -0
- package/fesm2022/xxmachina-common-invoice-domain.mjs +8 -0
- package/fesm2022/xxmachina-common-invoice-domain.mjs.map +1 -0
- package/fesm2022/xxmachina-common-invoice-usecase-contract.mjs +27 -0
- package/fesm2022/xxmachina-common-invoice-usecase-contract.mjs.map +1 -0
- package/fesm2022/xxmachina-common-invoice-usecase-invoice.mjs +191 -0
- package/fesm2022/xxmachina-common-invoice-usecase-invoice.mjs.map +1 -0
- package/fesm2022/xxmachina-common-invoice-usecase-order.mjs +36 -0
- package/fesm2022/xxmachina-common-invoice-usecase-order.mjs.map +1 -0
- package/fesm2022/xxmachina-common-invoice-usecase-partner.mjs +36 -0
- package/fesm2022/xxmachina-common-invoice-usecase-partner.mjs.map +1 -0
- package/fesm2022/xxmachina-common-services-graphql.mjs +60 -0
- package/fesm2022/xxmachina-common-services-graphql.mjs.map +1 -0
- package/fesm2022/xxmachina-common-services-query-config.mjs +44 -0
- package/fesm2022/xxmachina-common-services-query-config.mjs.map +1 -0
- package/fesm2022/xxmachina-common-services-query.mjs +65 -0
- package/fesm2022/xxmachina-common-services-query.mjs.map +1 -0
- package/fesm2022/xxmachina-common-services-speech.mjs +178 -0
- package/fesm2022/xxmachina-common-services-speech.mjs.map +1 -0
- package/fesm2022/xxmachina-common-services-transformer.mjs +27 -0
- package/fesm2022/xxmachina-common-services-transformer.mjs.map +1 -0
- package/fesm2022/xxmachina-common-stores-firestore.mjs +33 -0
- package/fesm2022/xxmachina-common-stores-firestore.mjs.map +1 -0
- package/fesm2022/xxmachina-common-stores-hasura.mjs +32 -0
- package/fesm2022/xxmachina-common-stores-hasura.mjs.map +1 -0
- package/fesm2022/xxmachina-common-stores-inmemory.mjs +102 -0
- package/fesm2022/xxmachina-common-stores-inmemory.mjs.map +1 -0
- package/fesm2022/xxmachina-common-stores.mjs +16 -0
- package/fesm2022/xxmachina-common-stores.mjs.map +1 -0
- package/fesm2022/xxmachina-common-usecase-assistant.mjs +67 -0
- package/fesm2022/xxmachina-common-usecase-assistant.mjs.map +1 -0
- package/fesm2022/xxmachina-common-usecase-database.mjs +95 -0
- package/fesm2022/xxmachina-common-usecase-database.mjs.map +1 -0
- package/fesm2022/xxmachina-common-usecase-graphql.mjs +51 -0
- package/fesm2022/xxmachina-common-usecase-graphql.mjs.map +1 -0
- package/fesm2022/xxmachina-common-usecase-link.mjs +26 -0
- package/fesm2022/xxmachina-common-usecase-link.mjs.map +1 -0
- package/fesm2022/xxmachina-common-usecase-project.mjs +35 -0
- package/fesm2022/xxmachina-common-usecase-project.mjs.map +1 -0
- package/fesm2022/xxmachina-common-usecase-spec.mjs +45 -0
- package/fesm2022/xxmachina-common-usecase-spec.mjs.map +1 -0
- package/fesm2022/xxmachina-common-usecase.mjs +198 -0
- package/fesm2022/xxmachina-common-usecase.mjs.map +1 -0
- package/{utils/crypto.js → fesm2022/xxmachina-common-utils-crypto.mjs} +10 -12
- package/fesm2022/xxmachina-common-utils-crypto.mjs.map +1 -0
- package/{utils/extract-display-fields.js → fesm2022/xxmachina-common-utils.mjs} +7 -4
- package/fesm2022/xxmachina-common-utils.mjs.map +1 -0
- package/fesm2022/xxmachina-common.mjs +6 -0
- package/fesm2022/xxmachina-common.mjs.map +1 -0
- package/firebase-auth/index.d.ts +6 -0
- package/index.d.ts +1 -0
- package/infra/converters/google/index.d.ts +17 -0
- package/infra/external/data-connect/index.d.ts +7 -0
- package/infra/external/index.d.ts +24 -0
- package/infra/external/quick-js/index.d.ts +24 -0
- package/infra/external/resend/index.d.ts +16 -0
- package/infra/index.d.ts +218 -0
- package/infra/query/firestore/index.d.ts +20 -0
- package/infra/query/hasura/index.d.ts +9 -0
- package/infra/repository/dataconnect/index.d.ts +28 -0
- package/infra/repository/firestore/index.d.ts +42 -0
- package/infra/repository/hasura/index.d.ts +24 -0
- package/infra/repository/notion/index.d.ts +101 -0
- package/invoice/domain/builders/index.d.ts +31 -0
- package/invoice/domain/index.d.ts +3 -0
- package/invoice/domain/models/index.d.ts +78 -0
- package/{domain/resolvers/invoice.resolver.d.ts → invoice/domain/resolvers/index.d.ts} +6 -2
- package/invoice/usecase/contract/index.d.ts +14 -0
- package/invoice/usecase/invoice/index.d.ts +34 -0
- package/invoice/usecase/order/index.d.ts +16 -0
- package/invoice/usecase/partner/index.d.ts +16 -0
- package/package.json +238 -14
- package/services/graphql/index.d.ts +32 -0
- package/services/query/config/index.d.ts +18 -0
- package/services/query/index.d.ts +29 -0
- package/services/speech/index.d.ts +37 -0
- package/services/transformer/index.d.ts +14 -0
- package/stores/firestore/index.d.ts +17 -0
- package/stores/hasura/index.d.ts +17 -0
- package/stores/index.d.ts +22 -40
- package/stores/inmemory/index.d.ts +33 -0
- package/usecase/assistant/index.d.ts +18 -1
- package/usecase/database/index.d.ts +39 -1
- package/usecase/graphql/index.d.ts +17 -1
- package/usecase/index.d.ts +73 -1
- package/usecase/link/index.d.ts +13 -1
- package/usecase/project/index.d.ts +16 -1
- package/usecase/spec/index.d.ts +17 -1
- package/utils/crypto/index.d.ts +9 -0
- package/utils/index.d.ts +5 -1
- package/README.md +0 -11
- package/_shared/auth/auth.module.d.ts +0 -6
- package/_shared/auth/auth.module.js +0 -22
- package/_shared/auth/auth.module.js.map +0 -1
- package/_shared/auth/index.js +0 -5
- package/_shared/auth/index.js.map +0 -1
- package/_shared/auth/passports/anonymous/anonymous.strategy.d.ts +0 -6
- package/_shared/auth/passports/anonymous/anonymous.strategy.js +0 -19
- package/_shared/auth/passports/anonymous/anonymous.strategy.js.map +0 -1
- package/_shared/auth/passports/anonymous/index.js +0 -5
- package/_shared/auth/passports/anonymous/index.js.map +0 -1
- package/_shared/auth/passports/firebase/firebase.guard.d.ts +0 -6
- package/_shared/auth/passports/firebase/firebase.guard.js +0 -23
- package/_shared/auth/passports/firebase/firebase.guard.js.map +0 -1
- package/_shared/auth/passports/firebase/firebase.strategy.d.ts +0 -10
- package/_shared/auth/passports/firebase/firebase.strategy.js +0 -22
- package/_shared/auth/passports/firebase/firebase.strategy.js.map +0 -1
- package/_shared/auth/passports/firebase/index.js +0 -6
- package/_shared/auth/passports/firebase/index.js.map +0 -1
- package/_shared/auth/passports/internal/index.js +0 -5
- package/_shared/auth/passports/internal/index.js.map +0 -1
- package/_shared/auth/passports/internal/internal.strategy.d.ts +0 -14
- package/_shared/auth/passports/internal/internal.strategy.js +0 -33
- package/_shared/auth/passports/internal/internal.strategy.js.map +0 -1
- package/_shared/auth/passports/msal/index.js +0 -6
- package/_shared/auth/passports/msal/index.js.map +0 -1
- package/_shared/auth/passports/msal/msal.guard.d.ts +0 -4
- package/_shared/auth/passports/msal/msal.guard.js +0 -13
- package/_shared/auth/passports/msal/msal.guard.js.map +0 -1
- package/_shared/auth/passports/msal/msal.strategy.d.ts +0 -17
- package/_shared/auth/passports/msal/msal.strategy.js +0 -43
- package/_shared/auth/passports/msal/msal.strategy.js.map +0 -1
- package/_shared/meta/decorators.d.ts +0 -4
- package/_shared/meta/decorators.js +0 -25
- package/_shared/meta/decorators.js.map +0 -1
- package/_shared/meta/redis/index.js +0 -6
- package/_shared/meta/redis/index.js.map +0 -1
- package/_shared/meta/redis/redis.config.d.ts +0 -9
- package/_shared/meta/redis/redis.config.js +0 -10
- package/_shared/meta/redis/redis.config.js.map +0 -1
- package/_shared/meta/redis/redis.repository.d.ts +0 -23
- package/_shared/meta/redis/redis.repository.js +0 -108
- package/_shared/meta/redis/redis.repository.js.map +0 -1
- package/auth/auth.service.d.ts +0 -10
- package/auth/auth.service.js +0 -12
- package/auth/auth.service.js.map +0 -1
- package/auth/index.js +0 -5
- package/auth/index.js.map +0 -1
- package/azure-auth/auth.di.d.ts +0 -4
- package/azure-auth/auth.di.js +0 -56
- package/azure-auth/auth.di.js.map +0 -1
- package/azure-auth/auth.service.d.ts +0 -32
- package/azure-auth/auth.service.js +0 -115
- package/azure-auth/auth.service.js.map +0 -1
- package/azure-auth/index.js +0 -6
- package/azure-auth/index.js.map +0 -1
- package/domain/builder/command/command.builder.d.ts +0 -5
- package/domain/builder/command/command.builder.js +0 -30
- package/domain/builder/command/command.builder.js.map +0 -1
- package/domain/builder/command/index.d.ts +0 -1
- package/domain/builder/command/index.js +0 -5
- package/domain/builder/command/index.js.map +0 -1
- package/domain/builder/command-action/command-action.builder.d.ts +0 -40
- package/domain/builder/command-action/command-action.builder.js +0 -139
- package/domain/builder/command-action/command-action.builder.js.map +0 -1
- package/domain/builder/command-action/index.d.ts +0 -1
- package/domain/builder/command-action/index.js +0 -5
- package/domain/builder/command-action/index.js.map +0 -1
- package/domain/builder/er/er.builder.d.ts +0 -19
- package/domain/builder/er/er.builder.js +0 -112
- package/domain/builder/er/er.builder.js.map +0 -1
- package/domain/builder/er/index.d.ts +0 -1
- package/domain/builder/er/index.js +0 -5
- package/domain/builder/er/index.js.map +0 -1
- package/domain/builder/screen-item/index.js +0 -5
- package/domain/builder/screen-item/index.js.map +0 -1
- package/domain/builder/screen-item/screen-item.builder.d.ts +0 -5
- package/domain/builder/screen-item/screen-item.builder.js.map +0 -1
- package/domain/index.js +0 -5
- package/domain/index.js.map +0 -1
- package/domain/invoice/builders/email/email.builder.d.ts +0 -18
- package/domain/invoice/builders/email/email.builder.js +0 -29
- package/domain/invoice/builders/email/email.builder.js.map +0 -1
- package/domain/invoice/builders/email/index.d.ts +0 -1
- package/domain/invoice/builders/email/index.js +0 -5
- package/domain/invoice/builders/email/index.js.map +0 -1
- package/domain/invoice/builders/message/index.d.ts +0 -1
- package/domain/invoice/builders/message/index.js +0 -5
- package/domain/invoice/builders/message/index.js.map +0 -1
- package/domain/invoice/builders/message/message.builder.d.ts +0 -6
- package/domain/invoice/builders/message/message.builder.js +0 -43
- package/domain/invoice/builders/message/message.builder.js.map +0 -1
- package/domain/invoice/builders/title/index.d.ts +0 -1
- package/domain/invoice/builders/title/index.js +0 -5
- package/domain/invoice/builders/title/index.js.map +0 -1
- package/domain/invoice/builders/title/title.builder.d.ts +0 -4
- package/domain/invoice/builders/title/title.builder.js +0 -11
- package/domain/invoice/builders/title/title.builder.js.map +0 -1
- package/domain/invoice/models/backoffice/contract.d.ts +0 -10
- package/domain/invoice/models/backoffice/contract.js +0 -50
- package/domain/invoice/models/backoffice/contract.js.map +0 -1
- package/domain/invoice/models/backoffice/index.d.ts +0 -5
- package/domain/invoice/models/backoffice/index.js +0 -9
- package/domain/invoice/models/backoffice/index.js.map +0 -1
- package/domain/invoice/models/backoffice/invoice-mail.d.ts +0 -8
- package/domain/invoice/models/backoffice/invoice-mail.js +0 -7
- package/domain/invoice/models/backoffice/invoice-mail.js.map +0 -1
- package/domain/invoice/models/backoffice/invoice.d.ts +0 -19
- package/domain/invoice/models/backoffice/invoice.js +0 -91
- package/domain/invoice/models/backoffice/invoice.js.map +0 -1
- package/domain/invoice/models/backoffice/order.d.ts +0 -26
- package/domain/invoice/models/backoffice/order.js +0 -157
- package/domain/invoice/models/backoffice/order.js.map +0 -1
- package/domain/invoice/models/backoffice/partner.d.ts +0 -17
- package/domain/invoice/models/backoffice/partner.js +0 -96
- package/domain/invoice/models/backoffice/partner.js.map +0 -1
- package/domain/invoice/models/index.d.ts +0 -1
- package/domain/invoice/models/index.js +0 -5
- package/domain/invoice/models/index.js.map +0 -1
- package/domain/models/agent/assistant.d.ts +0 -9
- package/domain/models/agent/assistant.js +0 -31
- package/domain/models/agent/assistant.js.map +0 -1
- package/domain/models/agent/index.d.ts +0 -1
- package/domain/models/agent/index.js +0 -5
- package/domain/models/agent/index.js.map +0 -1
- package/domain/models/bookmarklet/bookmarklet.d.ts +0 -9
- package/domain/models/bookmarklet/bookmarklet.js +0 -34
- package/domain/models/bookmarklet/bookmarklet.js.map +0 -1
- package/domain/models/bookmarklet/index.d.ts +0 -1
- package/domain/models/bookmarklet/index.js +0 -5
- package/domain/models/bookmarklet/index.js.map +0 -1
- package/domain/models/calendar-utils.d.ts +0 -5
- package/domain/models/calendar-utils.js +0 -43
- package/domain/models/calendar-utils.js.map +0 -1
- package/domain/models/command/command.d.ts +0 -18
- package/domain/models/command/command.helper.d.ts +0 -4
- package/domain/models/command/command.helper.js +0 -14
- package/domain/models/command/command.helper.js.map +0 -1
- package/domain/models/command/command.js +0 -40
- package/domain/models/command/command.js.map +0 -1
- package/domain/models/command/index.d.ts +0 -2
- package/domain/models/command/index.js +0 -6
- package/domain/models/command/index.js.map +0 -1
- package/domain/models/database/database.d.ts +0 -4
- package/domain/models/database/database.js +0 -7
- package/domain/models/database/database.js.map +0 -1
- package/domain/models/database/index.d.ts +0 -1
- package/domain/models/database/index.js +0 -5
- package/domain/models/database/index.js.map +0 -1
- package/domain/models/endpoint/endpoint.helper.d.ts +0 -4
- package/domain/models/endpoint/endpoint.helper.js +0 -21
- package/domain/models/endpoint/endpoint.helper.js.map +0 -1
- package/domain/models/endpoint/index.d.ts +0 -1
- package/domain/models/endpoint/index.js +0 -5
- package/domain/models/endpoint/index.js.map +0 -1
- package/domain/models/index.js +0 -12
- package/domain/models/index.js.map +0 -1
- package/domain/models/links/google/google.d.ts +0 -12
- package/domain/models/links/google/google.js +0 -47
- package/domain/models/links/google/google.js.map +0 -1
- package/domain/models/links/google/index.d.ts +0 -1
- package/domain/models/links/google/index.js +0 -5
- package/domain/models/links/google/index.js.map +0 -1
- package/domain/models/openapi/index.d.ts +0 -2
- package/domain/models/openapi/index.js +0 -6
- package/domain/models/openapi/index.js.map +0 -1
- package/domain/models/openapi/openapi.d.ts +0 -32
- package/domain/models/openapi/openapi.js +0 -87
- package/domain/models/openapi/openapi.js.map +0 -1
- package/domain/models/openapi/openapi.schema.d.ts +0 -76
- package/domain/models/openapi/openapi.schema.js +0 -3
- package/domain/models/openapi/openapi.schema.js.map +0 -1
- package/domain/models/operators/assistancts/base.d.ts +0 -5
- package/domain/models/operators/assistancts/base.js +0 -13
- package/domain/models/operators/assistancts/base.js.map +0 -1
- package/domain/models/operators/assistancts/index.d.ts +0 -1
- package/domain/models/operators/assistancts/index.js +0 -5
- package/domain/models/operators/assistancts/index.js.map +0 -1
- package/domain/models/operators/base.d.ts +0 -13
- package/domain/models/operators/base.js +0 -10
- package/domain/models/operators/base.js.map +0 -1
- package/domain/models/operators/index.d.ts +0 -4
- package/domain/models/operators/index.js +0 -8
- package/domain/models/operators/index.js.map +0 -1
- package/domain/models/operators/systems/base.d.ts +0 -5
- package/domain/models/operators/systems/base.js +0 -3
- package/domain/models/operators/systems/base.js.map +0 -1
- package/domain/models/operators/systems/graphql.d.ts +0 -5
- package/domain/models/operators/systems/graphql.js +0 -3
- package/domain/models/operators/systems/graphql.js.map +0 -1
- package/domain/models/operators/systems/index.d.ts +0 -3
- package/domain/models/operators/systems/index.js +0 -7
- package/domain/models/operators/systems/index.js.map +0 -1
- package/domain/models/operators/systems/rest.d.ts +0 -6
- package/domain/models/operators/systems/rest.js +0 -3
- package/domain/models/operators/systems/rest.js.map +0 -1
- package/domain/models/operators/workflows/index.d.ts +0 -1
- package/domain/models/operators/workflows/index.js +0 -5
- package/domain/models/operators/workflows/index.js.map +0 -1
- package/domain/models/operators/workflows/workflow.d.ts +0 -9
- package/domain/models/operators/workflows/workflow.js +0 -3
- package/domain/models/operators/workflows/workflow.js.map +0 -1
- package/domain/models/project.d.ts +0 -22
- package/domain/models/project.js +0 -9
- package/domain/models/project.js.map +0 -1
- package/domain/models/query/index.d.ts +0 -2
- package/domain/models/query/index.js +0 -6
- package/domain/models/query/index.js.map +0 -1
- package/domain/models/query/query.d.ts +0 -27
- package/domain/models/query/query.helper.d.ts +0 -23
- package/domain/models/query/query.helper.js +0 -172
- package/domain/models/query/query.helper.js.map +0 -1
- package/domain/models/query/query.js +0 -122
- package/domain/models/query/query.js.map +0 -1
- package/domain/models/resource/index.d.ts +0 -2
- package/domain/models/resource/index.js +0 -6
- package/domain/models/resource/index.js.map +0 -1
- package/domain/models/resource/resource.d.ts +0 -15
- package/domain/models/resource/resource.helper.d.ts +0 -4
- package/domain/models/resource/resource.helper.js +0 -16
- package/domain/models/resource/resource.helper.js.map +0 -1
- package/domain/models/resource/resource.js +0 -73
- package/domain/models/resource/resource.js.map +0 -1
- package/domain/models/scheduler/index.d.ts +0 -1
- package/domain/models/scheduler/index.js +0 -5
- package/domain/models/scheduler/index.js.map +0 -1
- package/domain/models/scheduler/schedule.d.ts +0 -23
- package/domain/models/scheduler/schedule.js +0 -89
- package/domain/models/scheduler/schedule.js.map +0 -1
- package/domain/models/screen-item/index.d.ts +0 -1
- package/domain/models/screen-item/index.js +0 -5
- package/domain/models/screen-item/index.js.map +0 -1
- package/domain/models/screen-item/screen-item.d.ts +0 -9
- package/domain/models/screen-item/screen-item.js +0 -3
- package/domain/models/screen-item/screen-item.js.map +0 -1
- package/domain/models/spec.d.ts +0 -7
- package/domain/models/spec.js +0 -3
- package/domain/models/spec.js.map +0 -1
- package/domain/resolvers/index.d.ts +0 -1
- package/domain/resolvers/index.js +0 -5
- package/domain/resolvers/index.js.map +0 -1
- package/domain/resolvers/invoice.resolver.js +0 -31
- package/domain/resolvers/invoice.resolver.js.map +0 -1
- package/infrastructure/converters/bookmarklet/bookmarklet.converter.d.ts +0 -0
- package/infrastructure/converters/bookmarklet/bookmarklet.converter.js +0 -1
- package/infrastructure/converters/bookmarklet/bookmarklet.converter.js.map +0 -1
- package/infrastructure/converters/google/google.converter.d.ts +0 -9
- package/infrastructure/converters/google/google.converter.js +0 -27
- package/infrastructure/converters/google/google.converter.js.map +0 -1
- package/infrastructure/converters/google/index.d.ts +0 -1
- package/infrastructure/converters/google/index.js +0 -5
- package/infrastructure/converters/google/index.js.map +0 -1
- package/infrastructure/external/data-connect/data-connect.service.d.ts +0 -4
- package/infrastructure/external/data-connect/data-connect.service.impl.d.ts +0 -7
- package/infrastructure/external/data-connect/data-connect.service.impl.js +0 -20
- package/infrastructure/external/data-connect/data-connect.service.impl.js.map +0 -1
- package/infrastructure/external/data-connect/data-connect.service.js +0 -11
- package/infrastructure/external/data-connect/data-connect.service.js.map +0 -1
- package/infrastructure/external/data-connect/index.d.ts +0 -1
- package/infrastructure/external/data-connect/index.js +0 -5
- package/infrastructure/external/data-connect/index.js.map +0 -1
- package/infrastructure/external/external.config.d.ts +0 -7
- package/infrastructure/external/external.config.js +0 -13
- package/infrastructure/external/external.config.js.map +0 -1
- package/infrastructure/external/external.service.d.ts +0 -8
- package/infrastructure/external/external.service.js +0 -23
- package/infrastructure/external/external.service.js.map +0 -1
- package/infrastructure/external/index.d.ts +0 -2
- package/infrastructure/external/index.js +0 -6
- package/infrastructure/external/index.js.map +0 -1
- package/infrastructure/external/quick-js/index.d.ts +0 -1
- package/infrastructure/external/quick-js/index.js +0 -5
- package/infrastructure/external/quick-js/index.js.map +0 -1
- package/infrastructure/external/quick-js/quick-js.service.d.ts +0 -7
- package/infrastructure/external/quick-js/quick-js.service.js +0 -44
- package/infrastructure/external/quick-js/quick-js.service.js.map +0 -1
- package/infrastructure/external/resend/index.d.ts +0 -1
- package/infrastructure/external/resend/index.js +0 -5
- package/infrastructure/external/resend/index.js.map +0 -1
- package/infrastructure/external/resend/resend.service.d.ts +0 -9
- package/infrastructure/external/resend/resend.service.impl.d.ts +0 -17
- package/infrastructure/external/resend/resend.service.impl.js +0 -27
- package/infrastructure/external/resend/resend.service.impl.js.map +0 -1
- package/infrastructure/external/resend/resend.service.js +0 -6
- package/infrastructure/external/resend/resend.service.js.map +0 -1
- package/infrastructure/index.d.ts +0 -2
- package/infrastructure/index.js +0 -6
- package/infrastructure/index.js.map +0 -1
- package/infrastructure/infrastructure.config.d.ts +0 -16
- package/infrastructure/infrastructure.config.js +0 -12
- package/infrastructure/infrastructure.config.js.map +0 -1
- package/infrastructure/infrastructure.service.d.ts +0 -7
- package/infrastructure/infrastructure.service.js +0 -20
- package/infrastructure/infrastructure.service.js.map +0 -1
- package/infrastructure/query/firestore/query/index.d.ts +0 -1
- package/infrastructure/query/firestore/query/index.js +0 -5
- package/infrastructure/query/firestore/query/index.js.map +0 -1
- package/infrastructure/query/firestore/query/query.query.d.ts +0 -6
- package/infrastructure/query/firestore/query/query.query.js +0 -20
- package/infrastructure/query/firestore/query/query.query.js.map +0 -1
- package/infrastructure/query/firestore/resource/index.d.ts +0 -1
- package/infrastructure/query/firestore/resource/index.js +0 -5
- package/infrastructure/query/firestore/resource/index.js.map +0 -1
- package/infrastructure/query/firestore/resource/resource.query.d.ts +0 -6
- package/infrastructure/query/firestore/resource/resource.query.js +0 -20
- package/infrastructure/query/firestore/resource/resource.query.js.map +0 -1
- package/infrastructure/query/hasura/resource/index.d.ts +0 -1
- package/infrastructure/query/hasura/resource/index.js +0 -5
- package/infrastructure/query/hasura/resource/index.js.map +0 -1
- package/infrastructure/query/hasura/resource/resource.query.d.ts +0 -3
- package/infrastructure/query/hasura/resource/resource.query.js +0 -14
- package/infrastructure/query/hasura/resource/resource.query.js.map +0 -1
- package/infrastructure/repository/dataconnect/invoice/index.d.ts +0 -1
- package/infrastructure/repository/dataconnect/invoice/index.js +0 -5
- package/infrastructure/repository/dataconnect/invoice/index.js.map +0 -1
- package/infrastructure/repository/dataconnect/invoice/invoice.repository.d.ts +0 -4
- package/infrastructure/repository/dataconnect/invoice/invoice.repository.impl.d.ts +0 -10
- package/infrastructure/repository/dataconnect/invoice/invoice.repository.impl.js +0 -54
- package/infrastructure/repository/dataconnect/invoice/invoice.repository.impl.js.map +0 -1
- package/infrastructure/repository/dataconnect/invoice/invoice.repository.js +0 -11
- package/infrastructure/repository/dataconnect/invoice/invoice.repository.js.map +0 -1
- package/infrastructure/repository/dataconnect/order/index.d.ts +0 -1
- package/infrastructure/repository/dataconnect/order/index.js +0 -5
- package/infrastructure/repository/dataconnect/order/index.js.map +0 -1
- package/infrastructure/repository/dataconnect/order/order.repository.d.ts +0 -4
- package/infrastructure/repository/dataconnect/order/order.repository.impl.d.ts +0 -14
- package/infrastructure/repository/dataconnect/order/order.repository.impl.js +0 -74
- package/infrastructure/repository/dataconnect/order/order.repository.impl.js.map +0 -1
- package/infrastructure/repository/dataconnect/order/order.repository.js +0 -11
- package/infrastructure/repository/dataconnect/order/order.repository.js.map +0 -1
- package/infrastructure/repository/firestore/bookmarklet/bookmarklet.repository.d.ts +0 -6
- package/infrastructure/repository/firestore/bookmarklet/bookmarklet.repository.js +0 -20
- package/infrastructure/repository/firestore/bookmarklet/bookmarklet.repository.js.map +0 -1
- package/infrastructure/repository/firestore/bookmarklet/index.d.ts +0 -1
- package/infrastructure/repository/firestore/bookmarklet/index.js +0 -5
- package/infrastructure/repository/firestore/bookmarklet/index.js.map +0 -1
- package/infrastructure/repository/firestore/firestore.repository.d.ts +0 -7
- package/infrastructure/repository/firestore/firestore.repository.js +0 -20
- package/infrastructure/repository/firestore/firestore.repository.js.map +0 -1
- package/infrastructure/repository/firestore/index.d.ts +0 -1
- package/infrastructure/repository/firestore/index.js +0 -5
- package/infrastructure/repository/firestore/index.js.map +0 -1
- package/infrastructure/repository/firestore/link/google/google.repository.d.ts +0 -7
- package/infrastructure/repository/firestore/link/google/google.repository.js +0 -19
- package/infrastructure/repository/firestore/link/google/google.repository.js.map +0 -1
- package/infrastructure/repository/firestore/link/google/index.d.ts +0 -1
- package/infrastructure/repository/firestore/link/google/index.js +0 -5
- package/infrastructure/repository/firestore/link/google/index.js.map +0 -1
- package/infrastructure/repository/firestore/link/index.d.ts +0 -1
- package/infrastructure/repository/firestore/link/index.js +0 -5
- package/infrastructure/repository/firestore/link/index.js.map +0 -1
- package/infrastructure/repository/firestore/link/link.repository.d.ts +0 -5
- package/infrastructure/repository/firestore/link/link.repository.js +0 -17
- package/infrastructure/repository/firestore/link/link.repository.js.map +0 -1
- package/infrastructure/repository/firestore/query/index.d.ts +0 -1
- package/infrastructure/repository/firestore/query/index.js +0 -5
- package/infrastructure/repository/firestore/query/index.js.map +0 -1
- package/infrastructure/repository/firestore/query/query.repository.d.ts +0 -6
- package/infrastructure/repository/firestore/query/query.repository.js +0 -20
- package/infrastructure/repository/firestore/query/query.repository.js.map +0 -1
- package/infrastructure/repository/firestore/resource/index.d.ts +0 -1
- package/infrastructure/repository/firestore/resource/index.js +0 -5
- package/infrastructure/repository/firestore/resource/index.js.map +0 -1
- package/infrastructure/repository/firestore/resource/resource.repository.d.ts +0 -6
- package/infrastructure/repository/firestore/resource/resource.repository.js +0 -20
- package/infrastructure/repository/firestore/resource/resource.repository.js.map +0 -1
- package/infrastructure/repository/hasura/query/index.d.ts +0 -1
- package/infrastructure/repository/hasura/query/index.js +0 -5
- package/infrastructure/repository/hasura/query/index.js.map +0 -1
- package/infrastructure/repository/hasura/query/query.repository.d.ts +0 -8
- package/infrastructure/repository/hasura/query/query.repository.js +0 -23
- package/infrastructure/repository/hasura/query/query.repository.js.map +0 -1
- package/infrastructure/repository/hasura/resource/index.d.ts +0 -1
- package/infrastructure/repository/hasura/resource/index.js +0 -5
- package/infrastructure/repository/hasura/resource/index.js.map +0 -1
- package/infrastructure/repository/hasura/resource/resource.repository.d.ts +0 -8
- package/infrastructure/repository/hasura/resource/resource.repository.js +0 -23
- package/infrastructure/repository/hasura/resource/resource.repository.js.map +0 -1
- package/infrastructure/repository/index.d.ts +0 -2
- package/infrastructure/repository/index.js +0 -6
- package/infrastructure/repository/index.js.map +0 -1
- package/infrastructure/repository/notion/contract/contract.config.d.ts +0 -9
- package/infrastructure/repository/notion/contract/contract.config.js +0 -10
- package/infrastructure/repository/notion/contract/contract.config.js.map +0 -1
- package/infrastructure/repository/notion/contract/contract.repository.d.ts +0 -8
- package/infrastructure/repository/notion/contract/contract.repository.js +0 -22
- package/infrastructure/repository/notion/contract/contract.repository.js.map +0 -1
- package/infrastructure/repository/notion/contract/index.d.ts +0 -2
- package/infrastructure/repository/notion/contract/index.js +0 -6
- package/infrastructure/repository/notion/contract/index.js.map +0 -1
- package/infrastructure/repository/notion/index.d.ts +0 -2
- package/infrastructure/repository/notion/index.js +0 -6
- package/infrastructure/repository/notion/index.js.map +0 -1
- package/infrastructure/repository/notion/invoice/index.d.ts +0 -2
- package/infrastructure/repository/notion/invoice/index.js +0 -6
- package/infrastructure/repository/notion/invoice/index.js.map +0 -1
- package/infrastructure/repository/notion/invoice/invoice.config.d.ts +0 -9
- package/infrastructure/repository/notion/invoice/invoice.config.js +0 -10
- package/infrastructure/repository/notion/invoice/invoice.config.js.map +0 -1
- package/infrastructure/repository/notion/invoice/invoice.repository.d.ts +0 -8
- package/infrastructure/repository/notion/invoice/invoice.repository.js +0 -22
- package/infrastructure/repository/notion/invoice/invoice.repository.js.map +0 -1
- package/infrastructure/repository/notion/notion.config.d.ts +0 -17
- package/infrastructure/repository/notion/notion.config.js +0 -18
- package/infrastructure/repository/notion/notion.config.js.map +0 -1
- package/infrastructure/repository/notion/notion.repository.d.ts +0 -11
- package/infrastructure/repository/notion/notion.repository.js +0 -26
- package/infrastructure/repository/notion/notion.repository.js.map +0 -1
- package/infrastructure/repository/notion/order/index.d.ts +0 -1
- package/infrastructure/repository/notion/order/index.js +0 -5
- package/infrastructure/repository/notion/order/index.js.map +0 -1
- package/infrastructure/repository/notion/order/order.config.d.ts +0 -9
- package/infrastructure/repository/notion/order/order.config.js +0 -10
- package/infrastructure/repository/notion/order/order.config.js.map +0 -1
- package/infrastructure/repository/notion/order/order.repository.d.ts +0 -8
- package/infrastructure/repository/notion/order/order.repository.js +0 -22
- package/infrastructure/repository/notion/order/order.repository.js.map +0 -1
- package/infrastructure/repository/notion/partner/index.d.ts +0 -2
- package/infrastructure/repository/notion/partner/index.js +0 -6
- package/infrastructure/repository/notion/partner/index.js.map +0 -1
- package/infrastructure/repository/notion/partner/partner.config.d.ts +0 -9
- package/infrastructure/repository/notion/partner/partner.config.js +0 -10
- package/infrastructure/repository/notion/partner/partner.config.js.map +0 -1
- package/infrastructure/repository/notion/partner/partner.repository.d.ts +0 -8
- package/infrastructure/repository/notion/partner/partner.repository.js +0 -22
- package/infrastructure/repository/notion/partner/partner.repository.js.map +0 -1
- package/infrastructure/repository/redis/index.d.ts +0 -2
- package/infrastructure/repository/redis/index.js +0 -6
- package/infrastructure/repository/redis/index.js.map +0 -1
- package/infrastructure/repository/redis/operator/index.d.ts +0 -1
- package/infrastructure/repository/redis/operator/index.js +0 -5
- package/infrastructure/repository/redis/operator/index.js.map +0 -1
- package/infrastructure/repository/redis/operator/operator.repository.d.ts +0 -5
- package/infrastructure/repository/redis/operator/operator.repository.js +0 -17
- package/infrastructure/repository/redis/operator/operator.repository.js.map +0 -1
- package/infrastructure/repository/redis/project/index.d.ts +0 -1
- package/infrastructure/repository/redis/project/index.js +0 -5
- package/infrastructure/repository/redis/project/index.js.map +0 -1
- package/infrastructure/repository/redis/project/project.repository.d.ts +0 -19
- package/infrastructure/repository/redis/project/project.repository.js +0 -33
- package/infrastructure/repository/redis/project/project.repository.js.map +0 -1
- package/infrastructure/repository/redis/redis.config.d.ts +0 -8
- package/infrastructure/repository/redis/redis.config.js +0 -10
- package/infrastructure/repository/redis/redis.config.js.map +0 -1
- package/infrastructure/repository/redis/redis.service.d.ts +0 -10
- package/infrastructure/repository/redis/redis.service.js +0 -22
- package/infrastructure/repository/redis/redis.service.js.map +0 -1
- package/infrastructure/repository/redis/spec/index.d.ts +0 -1
- package/infrastructure/repository/redis/spec/index.js +0 -5
- package/infrastructure/repository/redis/spec/index.js.map +0 -1
- package/infrastructure/repository/redis/spec/spec.repository.d.ts +0 -17
- package/infrastructure/repository/redis/spec/spec.repository.js +0 -94
- package/infrastructure/repository/redis/spec/spec.repository.js.map +0 -1
- package/infrastructure/repository/redis/system/index.d.ts +0 -1
- package/infrastructure/repository/redis/system/index.js +0 -5
- package/infrastructure/repository/redis/system/index.js.map +0 -1
- package/infrastructure/repository/redis/system/system.repository.d.ts +0 -3
- package/infrastructure/repository/redis/system/system.repository.js +0 -15
- package/infrastructure/repository/redis/system/system.repository.js.map +0 -1
- package/infrastructure/repository/repository.config.d.ts +0 -16
- package/infrastructure/repository/repository.config.js +0 -12
- package/infrastructure/repository/repository.config.js.map +0 -1
- package/infrastructure/repository/repository.service.d.ts +0 -8
- package/infrastructure/repository/repository.service.js +0 -20
- package/infrastructure/repository/repository.service.js.map +0 -1
- package/stores/index.js +0 -66
- package/stores/index.js.map +0 -1
- package/usecase/assistant/assistant.service.d.ts +0 -12
- package/usecase/assistant/assistant.service.js +0 -72
- package/usecase/assistant/assistant.service.js.map +0 -1
- package/usecase/assistant/index.js +0 -5
- package/usecase/assistant/index.js.map +0 -1
- package/usecase/database/database.service.d.ts +0 -31
- package/usecase/database/database.service.js +0 -103
- package/usecase/database/database.service.js.map +0 -1
- package/usecase/database/index.js +0 -5
- package/usecase/database/index.js.map +0 -1
- package/usecase/graphql/graphql.service.d.ts +0 -9
- package/usecase/graphql/graphql.service.js +0 -49
- package/usecase/graphql/graphql.service.js.map +0 -1
- package/usecase/graphql/index.js +0 -5
- package/usecase/graphql/index.js.map +0 -1
- package/usecase/index.js +0 -5
- package/usecase/index.js.map +0 -1
- package/usecase/invoice/index.d.ts +0 -1
- package/usecase/invoice/index.js +0 -5
- package/usecase/invoice/index.js.map +0 -1
- package/usecase/invoice/invoice.service.d.ts +0 -27
- package/usecase/invoice/invoice.service.js +0 -69
- package/usecase/invoice/invoice.service.js.map +0 -1
- package/usecase/link/index.js +0 -5
- package/usecase/link/index.js.map +0 -1
- package/usecase/link/link.service.d.ts +0 -7
- package/usecase/link/link.service.js +0 -20
- package/usecase/link/link.service.js.map +0 -1
- package/usecase/order/index.d.ts +0 -1
- package/usecase/order/index.js +0 -5
- package/usecase/order/index.js.map +0 -1
- package/usecase/order/order.service.d.ts +0 -6
- package/usecase/order/order.service.js +0 -27
- package/usecase/order/order.service.js.map +0 -1
- package/usecase/project/index.js +0 -5
- package/usecase/project/index.js.map +0 -1
- package/usecase/project/project.service.d.ts +0 -10
- package/usecase/project/project.service.js +0 -37
- package/usecase/project/project.service.js.map +0 -1
- package/usecase/spec/index.js +0 -5
- package/usecase/spec/index.js.map +0 -1
- package/usecase/spec/spec.service.d.ts +0 -11
- package/usecase/spec/spec.service.js +0 -49
- package/usecase/spec/spec.service.js.map +0 -1
- package/usecase/usecase.service.d.ts +0 -12
- package/usecase/usecase.service.js +0 -24
- package/usecase/usecase.service.js.map +0 -1
- package/utils/crypto.d.ts +0 -7
- package/utils/crypto.js.map +0 -1
- package/utils/extract-display-fields.d.ts +0 -2
- package/utils/extract-display-fields.js.map +0 -1
- package/utils/index.js +0 -5
- package/utils/index.js.map +0 -1
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { plainToInstance } from 'class-transformer';
|
|
2
|
+
import { Invoice } from '@xxmachina/common/invoice/domain/models';
|
|
3
|
+
import { BaseResolver } from '@nx-ddd/common/domain';
|
|
4
|
+
import dayjs from 'dayjs';
|
|
5
|
+
|
|
6
|
+
function aggregate(items) {
|
|
7
|
+
return items.reduce((map, item) => {
|
|
8
|
+
const items = map.get(item.id) || [];
|
|
9
|
+
items.push(item);
|
|
10
|
+
map.set(item.id, items);
|
|
11
|
+
return map;
|
|
12
|
+
}, new Map());
|
|
13
|
+
}
|
|
14
|
+
class InvoiceResolver extends BaseResolver {
|
|
15
|
+
orderMap = new Map();
|
|
16
|
+
partnerMap = new Map();
|
|
17
|
+
constructor({ orders = [], partners = [], } = {}) {
|
|
18
|
+
super();
|
|
19
|
+
this.orderMap = new Map(orders.map((order) => [order.id, order]));
|
|
20
|
+
this.partnerMap = new Map(partners.map((partner) => [partner.id, partner]));
|
|
21
|
+
}
|
|
22
|
+
resolve(invoice) {
|
|
23
|
+
return plainToInstance(Invoice, {
|
|
24
|
+
...invoice,
|
|
25
|
+
dueDate: dayjs.isDayjs(invoice.dueDate) ? invoice.dueDate.toISOString() : invoice.dueDate,
|
|
26
|
+
orders: invoice.orderIds.map((orderId) => this.orderMap.get(orderId)),
|
|
27
|
+
customer: this.partnerMap.get(invoice.customerId),
|
|
28
|
+
vendor: this.partnerMap.get(invoice.vendorId),
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
resolveMany(invoices) {
|
|
32
|
+
return invoices.map((invoice) => this.resolve(invoice));
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Generated bundle index. Do not edit.
|
|
38
|
+
*/
|
|
39
|
+
|
|
40
|
+
export { InvoiceResolver };
|
|
41
|
+
//# sourceMappingURL=xxmachina-common-invoice-domain-resolvers.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xxmachina-common-invoice-domain-resolvers.mjs","sources":["../tmp-esm2022/invoice/domain/resolvers/invoice.resolver.js","../tmp-esm2022/invoice/domain/resolvers/xxmachina-common-invoice-domain-resolvers.js"],"sourcesContent":["import { plainToInstance } from \"class-transformer\";\nimport { Invoice } from \"@xxmachina/common/invoice/domain/models\";\nimport { BaseResolver } from '@nx-ddd/common/domain';\nimport dayjs from 'dayjs';\nfunction aggregate(items) {\n return items.reduce((map, item) => {\n const items = map.get(item.id) || [];\n items.push(item);\n map.set(item.id, items);\n return map;\n }, new Map());\n}\nexport class InvoiceResolver extends BaseResolver {\n orderMap = new Map();\n partnerMap = new Map();\n constructor({ orders = [], partners = [], } = {}) {\n super();\n this.orderMap = new Map(orders.map((order) => [order.id, order]));\n this.partnerMap = new Map(partners.map((partner) => [partner.id, partner]));\n }\n resolve(invoice) {\n return plainToInstance(Invoice, {\n ...invoice,\n dueDate: dayjs.isDayjs(invoice.dueDate) ? invoice.dueDate.toISOString() : invoice.dueDate,\n orders: invoice.orderIds.map((orderId) => this.orderMap.get(orderId)),\n customer: this.partnerMap.get(invoice.customerId),\n vendor: this.partnerMap.get(invoice.vendorId),\n });\n }\n resolveMany(invoices) {\n return invoices.map((invoice) => this.resolve(invoice));\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52b2ljZS5yZXNvbHZlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0B4eG1hY2hpbmEvY29tbW9uL3NyYy9saWIvaW52b2ljZS9kb21haW4vcmVzb2x2ZXJzL2ludm9pY2UucmVzb2x2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxPQUFPLEVBQWtCLE1BQU0seUNBQXlDLENBQUM7QUFDbEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUcxQixTQUFTLFNBQVMsQ0FBeUIsS0FBVTtJQUNuRCxPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUU7UUFDaEMsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakIsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3hCLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQyxFQUFFLElBQUksR0FBRyxFQUFFLENBQUMsQ0FBQztBQUNoQixDQUFDO0FBRUQsTUFBTSxPQUFPLGVBQWdCLFNBQVEsWUFBcUI7SUFDeEQsUUFBUSxHQUFHLElBQUksR0FBRyxFQUFpQixDQUFDO0lBQ3BDLFVBQVUsR0FBRyxJQUFJLEdBQUcsRUFBbUIsQ0FBQztJQUV4QyxZQUFZLEVBQ1YsTUFBTSxHQUFHLEVBQUUsRUFDWCxRQUFRLEdBQUcsRUFBRSxNQUlYLEVBQUU7UUFDSixLQUFLLEVBQUUsQ0FBQztRQUNSLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNsRSxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksR0FBRyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDOUUsQ0FBQztJQUVELE9BQU8sQ0FBQyxPQUFnQjtRQUN0QixPQUFPLGVBQWUsQ0FBQyxPQUFPLEVBQUU7WUFDOUIsR0FBRyxPQUFPO1lBQ1YsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTztZQUN6RixNQUFNLEVBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3JFLFFBQVEsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDO1lBQ2pELE1BQU0sRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDO1NBQzlDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXLENBQUMsUUFBbUI7UUFDN0IsT0FBTyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDMUQsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcGxhaW5Ub0luc3RhbmNlIH0gZnJvbSBcImNsYXNzLXRyYW5zZm9ybWVyXCI7XG5pbXBvcnQgeyBJbnZvaWNlLCBPcmRlciwgUGFydG5lciB9IGZyb20gXCJAeHhtYWNoaW5hL2NvbW1vbi9pbnZvaWNlL2RvbWFpbi9tb2RlbHNcIjtcbmltcG9ydCB7IEJhc2VSZXNvbHZlciB9IGZyb20gJ0BueC1kZGQvY29tbW9uL2RvbWFpbic7XG5pbXBvcnQgZGF5anMgZnJvbSAnZGF5anMnO1xuXG5cbmZ1bmN0aW9uIGFnZ3JlZ2F0ZTxUIGV4dGVuZHMge2lkOiBzdHJpbmd9PihpdGVtczogVFtdKTogTWFwPHN0cmluZywgVFtdPiB7XG4gIHJldHVybiBpdGVtcy5yZWR1Y2UoKG1hcCwgaXRlbSkgPT4ge1xuICAgIGNvbnN0IGl0ZW1zID0gbWFwLmdldChpdGVtLmlkKSB8fCBbXTtcbiAgICBpdGVtcy5wdXNoKGl0ZW0pO1xuICAgIG1hcC5zZXQoaXRlbS5pZCwgaXRlbXMpO1xuICAgIHJldHVybiBtYXA7XG4gIH0sIG5ldyBNYXAoKSk7XG59XG5cbmV4cG9ydCBjbGFzcyBJbnZvaWNlUmVzb2x2ZXIgZXh0ZW5kcyBCYXNlUmVzb2x2ZXI8SW52b2ljZT4ge1xuICBvcmRlck1hcCA9IG5ldyBNYXA8c3RyaW5nLCBPcmRlcj4oKTtcbiAgcGFydG5lck1hcCA9IG5ldyBNYXA8c3RyaW5nLCBQYXJ0bmVyPigpO1xuXG4gIGNvbnN0cnVjdG9yKHtcbiAgICBvcmRlcnMgPSBbXSxcbiAgICBwYXJ0bmVycyA9IFtdLFxuICB9OiB7XG4gICAgb3JkZXJzPzogT3JkZXJbXTtcbiAgICBwYXJ0bmVycz86IFBhcnRuZXJbXTtcbiAgfSA9IHt9KSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLm9yZGVyTWFwID0gbmV3IE1hcChvcmRlcnMubWFwKChvcmRlcikgPT4gW29yZGVyLmlkLCBvcmRlcl0pKTtcbiAgICB0aGlzLnBhcnRuZXJNYXAgPSBuZXcgTWFwKHBhcnRuZXJzLm1hcCgocGFydG5lcikgPT4gW3BhcnRuZXIuaWQsIHBhcnRuZXJdKSk7XG4gIH1cblxuICByZXNvbHZlKGludm9pY2U6IEludm9pY2UpOiBJbnZvaWNlIHtcbiAgICByZXR1cm4gcGxhaW5Ub0luc3RhbmNlKEludm9pY2UsIHtcbiAgICAgIC4uLmludm9pY2UsXG4gICAgICBkdWVEYXRlOiBkYXlqcy5pc0RheWpzKGludm9pY2UuZHVlRGF0ZSkgPyBpbnZvaWNlLmR1ZURhdGUudG9JU09TdHJpbmcoKSA6IGludm9pY2UuZHVlRGF0ZSxcbiAgICAgIG9yZGVyczogaW52b2ljZS5vcmRlcklkcy5tYXAoKG9yZGVySWQpID0+IHRoaXMub3JkZXJNYXAuZ2V0KG9yZGVySWQpKSxcbiAgICAgIGN1c3RvbWVyOiB0aGlzLnBhcnRuZXJNYXAuZ2V0KGludm9pY2UuY3VzdG9tZXJJZCksXG4gICAgICB2ZW5kb3I6IHRoaXMucGFydG5lck1hcC5nZXQoaW52b2ljZS52ZW5kb3JJZCksXG4gICAgfSk7XG4gIH1cblxuICByZXNvbHZlTWFueShpbnZvaWNlczogSW52b2ljZVtdKTogSW52b2ljZVtdIHtcbiAgICByZXR1cm4gaW52b2ljZXMubWFwKChpbnZvaWNlKSA9PiB0aGlzLnJlc29sdmUoaW52b2ljZSkpO1xuICB9XG59Il19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieHhtYWNoaW5hLWNvbW1vbi1pbnZvaWNlLWRvbWFpbi1yZXNvbHZlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AeHhtYWNoaW5hL2NvbW1vbi9zcmMvbGliL2ludm9pY2UvZG9tYWluL3Jlc29sdmVycy94eG1hY2hpbmEtY29tbW9uLWludm9pY2UtZG9tYWluLXJlc29sdmVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":";;;;;AAIA,SAAS,SAAS,CAAC,KAAK,EAAE;AAC1B,IAAI,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,KAAK;AACvC,QAAQ,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE;AAC5C,QAAQ,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;AACxB,QAAQ,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC;AAC/B,QAAQ,OAAO,GAAG;AAClB,IAAI,CAAC,EAAE,IAAI,GAAG,EAAE,CAAC;AACjB;AACO,MAAM,eAAe,SAAS,YAAY,CAAC;AAClD,IAAI,QAAQ,GAAG,IAAI,GAAG,EAAE;AACxB,IAAI,UAAU,GAAG,IAAI,GAAG,EAAE;AAC1B,IAAI,WAAW,CAAC,EAAE,MAAM,GAAG,EAAE,EAAE,QAAQ,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE;AACtD,QAAQ,KAAK,EAAE;AACf,QAAQ,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;AACzE,QAAQ,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;AACnF,IAAI;AACJ,IAAI,OAAO,CAAC,OAAO,EAAE;AACrB,QAAQ,OAAO,eAAe,CAAC,OAAO,EAAE;AACxC,YAAY,GAAG,OAAO;AACtB,YAAY,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,OAAO,CAAC,OAAO;AACrG,YAAY,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACjF,YAAY,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC;AAC7D,YAAY,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC;AACzD,SAAS,CAAC;AACV,IAAI;AACJ,IAAI,WAAW,CAAC,QAAQ,EAAE;AAC1B,QAAQ,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AAC/D,IAAI;AACJ;;AChCA;AACA;AACA;;;;"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export * from '@xxmachina/common/invoice/domain/builders';
|
|
2
|
+
export * from '@xxmachina/common/invoice/domain/models';
|
|
3
|
+
export * from '@xxmachina/common/invoice/domain/resolvers';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Generated bundle index. Do not edit.
|
|
7
|
+
*/
|
|
8
|
+
//# sourceMappingURL=xxmachina-common-invoice-domain.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xxmachina-common-invoice-domain.mjs","sources":["../tmp-esm2022/invoice/domain/xxmachina-common-invoice-domain.js"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieHhtYWNoaW5hLWNvbW1vbi1pbnZvaWNlLWRvbWFpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0B4eG1hY2hpbmEvY29tbW9uL3NyYy9saWIvaW52b2ljZS9kb21haW4veHhtYWNoaW5hLWNvbW1vbi1pbnZvaWNlLWRvbWFpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":";;;;AAAA;AACA;AACA"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { inject, Injectable } from '@angular/core';
|
|
3
|
+
import { ContractNotionRepository } from '@xxmachina/common/infra/repository/notion';
|
|
4
|
+
import { getHasuraRepository, HasuraService } from '@nx-ddd/hasura';
|
|
5
|
+
import { Contract } from '@xxmachina/common/invoice/domain/models';
|
|
6
|
+
|
|
7
|
+
class ContractUsecase {
|
|
8
|
+
notionRepo = inject(ContractNotionRepository);
|
|
9
|
+
hasuraRepo = getHasuraRepository(Contract, { hasura: inject(HasuraService) });
|
|
10
|
+
async sync() {
|
|
11
|
+
const items = await this.notionRepo.list();
|
|
12
|
+
await this.hasuraRepo.createMany(items);
|
|
13
|
+
}
|
|
14
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: ContractUsecase, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
15
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: ContractUsecase, providedIn: 'root' });
|
|
16
|
+
}
|
|
17
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: ContractUsecase, decorators: [{
|
|
18
|
+
type: Injectable,
|
|
19
|
+
args: [{ providedIn: 'root' }]
|
|
20
|
+
}] });
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Generated bundle index. Do not edit.
|
|
24
|
+
*/
|
|
25
|
+
|
|
26
|
+
export { ContractUsecase };
|
|
27
|
+
//# sourceMappingURL=xxmachina-common-invoice-usecase-contract.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xxmachina-common-invoice-usecase-contract.mjs","sources":["../tmp-esm2022/invoice/usecase/contract/contract.usecase.js","../tmp-esm2022/invoice/usecase/contract/xxmachina-common-invoice-usecase-contract.js"],"sourcesContent":["import { inject, Injectable } from '@angular/core';\nimport { ContractNotionRepository } from '@xxmachina/common/infra/repository/notion';\nimport { getHasuraRepository, HasuraService } from '@nx-ddd/hasura';\nimport { Contract } from '@xxmachina/common/invoice/domain/models';\nimport * as i0 from \"@angular/core\";\nexport class ContractUsecase {\n notionRepo = inject(ContractNotionRepository);\n hasuraRepo = getHasuraRepository(Contract, { hasura: inject(HasuraService) });\n async sync() {\n const items = await this.notionRepo.list();\n await this.hasuraRepo.createMany(items);\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: ContractUsecase, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: ContractUsecase, providedIn: 'root' });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: ContractUsecase, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3QudXNlY2FzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0B4eG1hY2hpbmEvY29tbW9uL3NyYy9saWIvaW52b2ljZS91c2VjYXNlL2NvbnRyYWN0L2NvbnRyYWN0LnVzZWNhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDckYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQzs7QUFHbkUsTUFBTSxPQUFPLGVBQWU7SUFDaEIsVUFBVSxHQUFHLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0lBQzlDLFVBQVUsR0FBRyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUV4RixLQUFLLENBQUMsSUFBSTtRQUNSLE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMzQyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFDLENBQUM7dUdBUFUsZUFBZTsyR0FBZixlQUFlLGNBREgsTUFBTTs7MkZBQ2xCLGVBQWU7a0JBRDNCLFVBQVU7bUJBQUMsRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cmFjdE5vdGlvblJlcG9zaXRvcnkgfSBmcm9tICdAeHhtYWNoaW5hL2NvbW1vbi9pbmZyYS9yZXBvc2l0b3J5L25vdGlvbic7XG5pbXBvcnQgeyBnZXRIYXN1cmFSZXBvc2l0b3J5LCBIYXN1cmFTZXJ2aWNlIH0gZnJvbSAnQG54LWRkZC9oYXN1cmEnO1xuaW1wb3J0IHsgQ29udHJhY3QgfSBmcm9tICdAeHhtYWNoaW5hL2NvbW1vbi9pbnZvaWNlL2RvbWFpbi9tb2RlbHMnO1xuXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogJ3Jvb3QnfSlcbmV4cG9ydCBjbGFzcyBDb250cmFjdFVzZWNhc2Uge1xuICBwcm90ZWN0ZWQgbm90aW9uUmVwbyA9IGluamVjdChDb250cmFjdE5vdGlvblJlcG9zaXRvcnkpO1xuICBwcm90ZWN0ZWQgaGFzdXJhUmVwbyA9IGdldEhhc3VyYVJlcG9zaXRvcnkoQ29udHJhY3QsIHsgaGFzdXJhOiBpbmplY3QoSGFzdXJhU2VydmljZSkgfSk7XG5cbiAgYXN5bmMgc3luYygpIHtcbiAgICBjb25zdCBpdGVtcyA9IGF3YWl0IHRoaXMubm90aW9uUmVwby5saXN0KCk7XG4gICAgYXdhaXQgdGhpcy5oYXN1cmFSZXBvLmNyZWF0ZU1hbnkoaXRlbXMpO1xuICB9XG59XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieHhtYWNoaW5hLWNvbW1vbi1pbnZvaWNlLXVzZWNhc2UtY29udHJhY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AeHhtYWNoaW5hL2NvbW1vbi9zcmMvbGliL2ludm9pY2UvdXNlY2FzZS9jb250cmFjdC94eG1hY2hpbmEtY29tbW9uLWludm9pY2UtdXNlY2FzZS1jb250cmFjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":";;;;;;AAKO,MAAM,eAAe,CAAC;AAC7B,IAAI,UAAU,GAAG,MAAM,CAAC,wBAAwB,CAAC;AACjD,IAAI,UAAU,GAAG,mBAAmB,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;AACjF,IAAI,MAAM,IAAI,GAAG;AACjB,QAAQ,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE;AAClD,QAAQ,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC;AAC/C,IAAI;AACJ,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC;AAC1K,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC,qBAAqB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;AACjJ;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,UAAU,EAAE,CAAC;AACzH,YAAY,IAAI,EAAE,UAAU;AAC5B,YAAY,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE;AACzC,SAAS,CAAC,EAAE,CAAC;;AClBb;AACA;AACA;;;;"}
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { inject, Injectable } from '@angular/core';
|
|
3
|
+
import { InvoiceNotionRepository } from '@xxmachina/common/infra/repository/notion';
|
|
4
|
+
import { CHROMIUM } from '@nx-ddd/common/infrastructure/externals/chromium';
|
|
5
|
+
import { makeDI } from '@nx-ddd/core';
|
|
6
|
+
import { RESEND_SERVICE } from '@xxmachina/common/infra/external/resend';
|
|
7
|
+
import { Invoice } from '@xxmachina/common/invoice/domain/models';
|
|
8
|
+
import { getHasuraRepository, HasuraService, deepSnakeToCamelCase } from '@nx-ddd/hasura';
|
|
9
|
+
import { gql } from '@apollo/client/core';
|
|
10
|
+
|
|
11
|
+
const INVOICE_CONFIG = makeDI('[@xxmachina/invoice] INVOICE_CONFIG', { optional: false });
|
|
12
|
+
class InvoiceUsecase {
|
|
13
|
+
notionRepo = inject(InvoiceNotionRepository);
|
|
14
|
+
chromium = CHROMIUM.inject();
|
|
15
|
+
config = INVOICE_CONFIG.inject();
|
|
16
|
+
resend = RESEND_SERVICE.inject();
|
|
17
|
+
hasura = getHasuraRepository(Invoice, { hasura: inject(HasuraService) });
|
|
18
|
+
hasuraService = inject(HasuraService);
|
|
19
|
+
async list() {
|
|
20
|
+
return this.notionRepo.list();
|
|
21
|
+
}
|
|
22
|
+
async syncOne(id) {
|
|
23
|
+
const invoice = await this.notionRepo.get({ id });
|
|
24
|
+
await this.hasura.create(invoice);
|
|
25
|
+
}
|
|
26
|
+
async sync() {
|
|
27
|
+
console.log('[InvoiceUsecase] Starting sync from Notion to Hasura...');
|
|
28
|
+
const invoices = await this.notionRepo.list();
|
|
29
|
+
console.log(`[InvoiceUsecase] Retrieved ${invoices.length} invoices from Notion`);
|
|
30
|
+
console.log('[InvoiceUsecase] Deleting existing records in Hasura...');
|
|
31
|
+
await this.hasura.deleteAll();
|
|
32
|
+
console.log('[InvoiceUsecase] Saving invoices to Hasura...');
|
|
33
|
+
await this.hasura.saveMany(invoices);
|
|
34
|
+
console.log('[InvoiceUsecase] Sync completed successfully');
|
|
35
|
+
return { synced: invoices.length };
|
|
36
|
+
}
|
|
37
|
+
async makePdf(data) {
|
|
38
|
+
return this.chromium.start(async (browser) => {
|
|
39
|
+
const context = await browser.newContext({
|
|
40
|
+
deviceScaleFactor: 2,
|
|
41
|
+
});
|
|
42
|
+
const page = await context.newPage();
|
|
43
|
+
page.on('console', msg => console.log('PAGE LOG:', msg.text()));
|
|
44
|
+
page.on('pageerror', err => console.log('PAGE ERROR:', err.message));
|
|
45
|
+
const url = `${this.config.templateBaseUrl}?json=${encodeURIComponent(JSON.stringify(data))}`;
|
|
46
|
+
await page.goto(url, { waitUntil: 'networkidle' });
|
|
47
|
+
await page.evaluate(() => document.fonts.ready);
|
|
48
|
+
await page.waitForSelector('h1');
|
|
49
|
+
const title = await page.title();
|
|
50
|
+
const pdf = await page.pdf({ format: 'A4' });
|
|
51
|
+
return { pdf, title, name: `${title}.pdf` };
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
async sendMail(mail) {
|
|
55
|
+
const pdf = await this.makePdf(mail.invoice);
|
|
56
|
+
await this.resend.emails.send({
|
|
57
|
+
from: mail.from,
|
|
58
|
+
to: mail.to,
|
|
59
|
+
subject: mail.subject,
|
|
60
|
+
html: mail.content,
|
|
61
|
+
attachments: [
|
|
62
|
+
{
|
|
63
|
+
filename: pdf.name,
|
|
64
|
+
content: pdf.pdf,
|
|
65
|
+
contentType: 'application/pdf',
|
|
66
|
+
}
|
|
67
|
+
]
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
async getLink(invoiceId) {
|
|
71
|
+
try {
|
|
72
|
+
// GraphQLクエリで全ての関連データを一度に取得
|
|
73
|
+
const query = `
|
|
74
|
+
query GetInvoiceWithRelations($id: String!) {
|
|
75
|
+
invoices_by_pk(id: $id) {
|
|
76
|
+
id
|
|
77
|
+
no
|
|
78
|
+
title
|
|
79
|
+
subject
|
|
80
|
+
customer_id
|
|
81
|
+
vendor_id
|
|
82
|
+
amount
|
|
83
|
+
due_date
|
|
84
|
+
orders {
|
|
85
|
+
id
|
|
86
|
+
title
|
|
87
|
+
ecl_id
|
|
88
|
+
customer_id
|
|
89
|
+
vendor_id
|
|
90
|
+
contract_id
|
|
91
|
+
invoice_id
|
|
92
|
+
start_date
|
|
93
|
+
end_date
|
|
94
|
+
unit_price
|
|
95
|
+
unit
|
|
96
|
+
quantity
|
|
97
|
+
amount_input
|
|
98
|
+
amount
|
|
99
|
+
status_in
|
|
100
|
+
status_out
|
|
101
|
+
}
|
|
102
|
+
customer {
|
|
103
|
+
id
|
|
104
|
+
name
|
|
105
|
+
type
|
|
106
|
+
address
|
|
107
|
+
postal_code
|
|
108
|
+
email
|
|
109
|
+
billing_email
|
|
110
|
+
billing_contact
|
|
111
|
+
phone_number
|
|
112
|
+
contact
|
|
113
|
+
suffix
|
|
114
|
+
bank_account
|
|
115
|
+
invoice_number
|
|
116
|
+
}
|
|
117
|
+
vendor {
|
|
118
|
+
id
|
|
119
|
+
name
|
|
120
|
+
type
|
|
121
|
+
address
|
|
122
|
+
postal_code
|
|
123
|
+
email
|
|
124
|
+
billing_email
|
|
125
|
+
billing_contact
|
|
126
|
+
phone_number
|
|
127
|
+
contact
|
|
128
|
+
suffix
|
|
129
|
+
bank_account
|
|
130
|
+
invoice_number
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
`;
|
|
135
|
+
const result = await this.hasuraService.query({
|
|
136
|
+
query: gql `${query}`,
|
|
137
|
+
variables: { id: invoiceId }
|
|
138
|
+
}).then(result => {
|
|
139
|
+
// camelCaseに変換
|
|
140
|
+
return deepSnakeToCamelCase(result);
|
|
141
|
+
});
|
|
142
|
+
const invoiceData = result.data?.invoicesByPk;
|
|
143
|
+
if (!invoiceData) {
|
|
144
|
+
throw new Error(`Invoice with ID ${invoiceId} not found`);
|
|
145
|
+
}
|
|
146
|
+
// スネークケースからキャメルケースに変換し、__typenameを削除
|
|
147
|
+
const transformedData = this.transformInvoiceData(invoiceData);
|
|
148
|
+
// テンプレートURLを生成(makePdfと同じロジック)
|
|
149
|
+
const url = `${this.config.templateBaseUrl}?json=${encodeURIComponent(JSON.stringify(transformedData))}`;
|
|
150
|
+
return url;
|
|
151
|
+
}
|
|
152
|
+
catch (error) {
|
|
153
|
+
console.error(`[InvoiceUsecase] Failed to get link for invoice ${invoiceId}:`, error);
|
|
154
|
+
throw error;
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
transformInvoiceData(data) {
|
|
158
|
+
const snakeToCamel = (str) => str.replace(/_([a-z])/g, (_, letter) => letter.toUpperCase());
|
|
159
|
+
const transform = (obj) => {
|
|
160
|
+
if (Array.isArray(obj)) {
|
|
161
|
+
return obj.map(transform);
|
|
162
|
+
}
|
|
163
|
+
else if (obj !== null && typeof obj === 'object') {
|
|
164
|
+
const transformed = {};
|
|
165
|
+
for (const [key, value] of Object.entries(obj)) {
|
|
166
|
+
// __typenameフィールドを除外
|
|
167
|
+
if (key === '__typename')
|
|
168
|
+
continue;
|
|
169
|
+
const camelKey = snakeToCamel(key);
|
|
170
|
+
transformed[camelKey] = transform(value);
|
|
171
|
+
}
|
|
172
|
+
return transformed;
|
|
173
|
+
}
|
|
174
|
+
return obj;
|
|
175
|
+
};
|
|
176
|
+
return transform(data);
|
|
177
|
+
}
|
|
178
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: InvoiceUsecase, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
179
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: InvoiceUsecase, providedIn: 'root' });
|
|
180
|
+
}
|
|
181
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: InvoiceUsecase, decorators: [{
|
|
182
|
+
type: Injectable,
|
|
183
|
+
args: [{ providedIn: 'root' }]
|
|
184
|
+
}] });
|
|
185
|
+
|
|
186
|
+
/**
|
|
187
|
+
* Generated bundle index. Do not edit.
|
|
188
|
+
*/
|
|
189
|
+
|
|
190
|
+
export { INVOICE_CONFIG, InvoiceUsecase };
|
|
191
|
+
//# sourceMappingURL=xxmachina-common-invoice-usecase-invoice.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xxmachina-common-invoice-usecase-invoice.mjs","sources":["../tmp-esm2022/invoice/usecase/invoice/invoice.service.js","../tmp-esm2022/invoice/usecase/invoice/xxmachina-common-invoice-usecase-invoice.js"],"sourcesContent":["import { inject, Injectable } from '@angular/core';\nimport { InvoiceNotionRepository } from '@xxmachina/common/infra/repository/notion';\nimport { CHROMIUM } from '@nx-ddd/common/infrastructure/externals/chromium';\nimport { makeDI } from '@nx-ddd/core';\nimport { RESEND_SERVICE } from '@xxmachina/common/infra/external/resend';\nimport { Invoice } from '@xxmachina/common/invoice/domain/models';\nimport { deepSnakeToCamelCase, getHasuraRepository, HasuraService } from '@nx-ddd/hasura';\nimport { gql } from '@apollo/client/core';\nimport * as i0 from \"@angular/core\";\nexport const INVOICE_CONFIG = makeDI('[@xxmachina/invoice] INVOICE_CONFIG', { optional: false });\nexport class InvoiceUsecase {\n notionRepo = inject(InvoiceNotionRepository);\n chromium = CHROMIUM.inject();\n config = INVOICE_CONFIG.inject();\n resend = RESEND_SERVICE.inject();\n hasura = getHasuraRepository(Invoice, { hasura: inject(HasuraService) });\n hasuraService = inject(HasuraService);\n async list() {\n return this.notionRepo.list();\n }\n async syncOne(id) {\n const invoice = await this.notionRepo.get({ id });\n await this.hasura.create(invoice);\n }\n async sync() {\n console.log('[InvoiceUsecase] Starting sync from Notion to Hasura...');\n const invoices = await this.notionRepo.list();\n console.log(`[InvoiceUsecase] Retrieved ${invoices.length} invoices from Notion`);\n console.log('[InvoiceUsecase] Deleting existing records in Hasura...');\n await this.hasura.deleteAll();\n console.log('[InvoiceUsecase] Saving invoices to Hasura...');\n await this.hasura.saveMany(invoices);\n console.log('[InvoiceUsecase] Sync completed successfully');\n return { synced: invoices.length };\n }\n async makePdf(data) {\n return this.chromium.start(async (browser) => {\n const context = await browser.newContext({\n deviceScaleFactor: 2,\n });\n const page = await context.newPage();\n page.on('console', msg => console.log('PAGE LOG:', msg.text()));\n page.on('pageerror', err => console.log('PAGE ERROR:', err.message));\n const url = `${this.config.templateBaseUrl}?json=${encodeURIComponent(JSON.stringify(data))}`;\n await page.goto(url, { waitUntil: 'networkidle' });\n await page.evaluate(() => document.fonts.ready);\n await page.waitForSelector('h1');\n const title = await page.title();\n const pdf = await page.pdf({ format: 'A4' });\n return { pdf, title, name: `${title}.pdf` };\n });\n }\n async sendMail(mail) {\n const pdf = await this.makePdf(mail.invoice);\n await this.resend.emails.send({\n from: mail.from,\n to: mail.to,\n subject: mail.subject,\n html: mail.content,\n attachments: [\n {\n filename: pdf.name,\n content: pdf.pdf,\n contentType: 'application/pdf',\n }\n ]\n });\n }\n async getLink(invoiceId) {\n try {\n // GraphQLクエリで全ての関連データを一度に取得\n const query = `\n query GetInvoiceWithRelations($id: String!) {\n invoices_by_pk(id: $id) {\n id\n no\n title\n subject\n customer_id\n vendor_id\n amount\n due_date\n orders {\n id\n title\n ecl_id\n customer_id\n vendor_id\n contract_id\n invoice_id\n start_date\n end_date\n unit_price\n unit\n quantity\n amount_input\n amount\n status_in\n status_out\n }\n customer {\n id\n name\n type\n address\n postal_code\n email\n billing_email\n billing_contact\n phone_number\n contact\n suffix\n bank_account\n invoice_number\n }\n vendor {\n id\n name\n type\n address\n postal_code\n email\n billing_email\n billing_contact\n phone_number\n contact\n suffix\n bank_account\n invoice_number\n }\n }\n }\n `;\n const result = await this.hasuraService.query({\n query: gql `${query}`,\n variables: { id: invoiceId }\n }).then(result => {\n // camelCaseに変換\n return deepSnakeToCamelCase(result);\n });\n const invoiceData = result.data?.invoicesByPk;\n if (!invoiceData) {\n throw new Error(`Invoice with ID ${invoiceId} not found`);\n }\n // スネークケースからキャメルケースに変換し、__typenameを削除\n const transformedData = this.transformInvoiceData(invoiceData);\n // テンプレートURLを生成(makePdfと同じロジック)\n const url = `${this.config.templateBaseUrl}?json=${encodeURIComponent(JSON.stringify(transformedData))}`;\n return url;\n }\n catch (error) {\n console.error(`[InvoiceUsecase] Failed to get link for invoice ${invoiceId}:`, error);\n throw error;\n }\n }\n transformInvoiceData(data) {\n const snakeToCamel = (str) => str.replace(/_([a-z])/g, (_, letter) => letter.toUpperCase());\n const transform = (obj) => {\n if (Array.isArray(obj)) {\n return obj.map(transform);\n }\n else if (obj !== null && typeof obj === 'object') {\n const transformed = {};\n for (const [key, value] of Object.entries(obj)) {\n // __typenameフィールドを除外\n if (key === '__typename')\n continue;\n const camelKey = snakeToCamel(key);\n transformed[camelKey] = transform(value);\n }\n return transformed;\n }\n return obj;\n };\n return transform(data);\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: InvoiceUsecase, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: InvoiceUsecase, providedIn: 'root' });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: InvoiceUsecase, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52b2ljZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQHh4bWFjaGluYS9jb21tb24vc3JjL2xpYi9pbnZvaWNlL3VzZWNhc2UvaW52b2ljZS9pbnZvaWNlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDcEYsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQzVFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDdEMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxPQUFPLEVBQWUsTUFBTSx5Q0FBeUMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsbUJBQW1CLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUYsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQU0xQyxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFnQixxQ0FBcUMsRUFBRSxFQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFDO0FBRzlHLE1BQU0sT0FBTyxjQUFjO0lBQ1IsVUFBVSxHQUFHLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBQzdDLFFBQVEsR0FBRyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDN0IsTUFBTSxHQUFHLGNBQWMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNqQyxNQUFNLEdBQUcsY0FBYyxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ2pDLE1BQU0sR0FBRyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUs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QUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7b0JBQy9DLHFCQUFxQjtvQkFDckIsSUFBSSxHQUFHLEtBQUssWUFBWTt3QkFBRSxTQUFTO29CQUVuQyxNQUFNLFFBQVEsR0FBRyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQ25DLFdBQVcsQ0FBQyxRQUFRLENBQUMsR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQzNDLENBQUM7Z0JBQ0QsT0FBTyxXQUFXLENBQUM7WUFDckIsQ0FBQztZQUNELE9BQU8sR0FBRyxDQUFDO1FBQ2IsQ0FBQyxDQUFDO1FBRUYsT0FBTyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDekIsQ0FBQzt1R0F0TFUsY0FBYzsyR0FBZCxjQUFjLGNBREQsTUFBTTs7MkZBQ25CLGNBQWM7a0JBRDFCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJbnZvaWNlTm90aW9uUmVwb3NpdG9yeSB9IGZyb20gJ0B4eG1hY2hpbmEvY29tbW9uL2luZnJhL3JlcG9zaXRvcnkvbm90aW9uJztcbmltcG9ydCB7IENIUk9NSVVNIH0gZnJvbSAnQG54LWRkZC9jb21tb24vaW5mcmFzdHJ1Y3R1cmUvZXh0ZXJuYWxzL2Nocm9taXVtJztcbmltcG9ydCB7IG1ha2VESSB9IGZyb20gJ0BueC1kZGQvY29yZSc7XG5pbXBvcnQgeyBSRVNFTkRfU0VSVklDRSB9IGZyb20gJ0B4eG1hY2hpbmEvY29tbW9uL2luZnJhL2V4dGVybmFsL3Jlc2VuZCc7XG5pbXBvcnQgeyBJbnZvaWNlLCBJbnZvaWNlTWFpbCB9IGZyb20gJ0B4eG1hY2hpbmEvY29tbW9uL2ludm9pY2UvZG9tYWluL21vZGVscyc7XG5pbXBvcnQgeyBkZWVwU25ha2VUb0NhbWVsQ2FzZSwgZ2V0SGFzdXJhUmVwb3NpdG9yeSwgSGFzdXJhU2VydmljZSB9IGZyb20gJ0BueC1kZGQvaGFzdXJhJztcbmltcG9ydCB7IGdxbCB9IGZyb20gJ0BhcG9sbG8vY2xpZW50L2NvcmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEludm9pY2VDb25maWcge1xuICB0ZW1wbGF0ZUJhc2VVcmw6IHN0cmluZztcbn1cblxuZXhwb3J0IGNvbnN0IElOVk9JQ0VfQ09ORklHID0gbWFrZURJPEludm9pY2VDb25maWc+KCdbQHh4bWFjaGluYS9pbnZvaWNlXSBJTlZPSUNFX0NPTkZJRycsIHtvcHRpb25hbDogZmFsc2V9KTtcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBJbnZvaWNlVXNlY2FzZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgbm90aW9uUmVwbyA9IGluamVjdChJbnZvaWNlTm90aW9uUmVwb3NpdG9yeSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgY2hyb21pdW0gPSBDSFJPTUlVTS5pbmplY3QoKTtcbiAgcHJpdmF0ZSByZWFkb25seSBjb25maWcgPSBJTlZPSUNFX0NPTkZJRy5pbmplY3QoKTtcbiAgcHJpdmF0ZSByZWFkb25seSByZXNlbmQgPSBSRVNFTkRfU0VSVklDRS5pbmplY3QoKTtcbiAgcHJpdmF0ZSByZWFkb25seSBoYXN1cmEgPSBnZXRIYXN1cmFSZXBvc2l0b3J5KEludm9pY2UsIHsgaGFzdXJhOiBpbmplY3QoSGFzdXJhU2VydmljZSkgfSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgaGFzdXJhU2VydmljZSA9IGluamVjdChIYXN1cmFTZXJ2aWNlKTtcblxuICBhc3luYyBsaXN0KCkge1xuICAgIHJldHVybiB0aGlzLm5vdGlvblJlcG8ubGlzdCgpO1xuICB9XG5cbiAgYXN5bmMgc3luY09uZShpZDogc3RyaW5nKSB7XG4gICAgY29uc3QgaW52b2ljZSA9IGF3YWl0IHRoaXMubm90aW9uUmVwby5nZXQoeyBpZCB9KTtcbiAgICBhd2FpdCB0aGlzLmhhc3VyYS5jcmVhdGUoaW52b2ljZSk7XG4gIH1cblxuICBhc3luYyBzeW5jKCkge1xuICAgIGNvbnNvbGUubG9nKCdbSW52b2ljZVVzZWNhc2VdIFN0YXJ0aW5nIHN5bmMgZnJvbSBOb3Rpb24gdG8gSGFzdXJhLi4uJyk7XG4gICAgXG4gICAgY29uc3QgaW52b2ljZXMgPSBhd2FpdCB0aGlzLm5vdGlvblJlcG8ubGlzdCgpO1xuICAgIGNvbnNvbGUubG9nKGBbSW52b2ljZVVzZWNhc2VdIFJldHJpZXZlZCAke2ludm9pY2VzLmxlbmd0aH0gaW52b2ljZXMgZnJvbSBOb3Rpb25gKTtcbiAgICBcbiAgICBjb25zb2xlLmxvZygnW0ludm9pY2VVc2VjYXNlXSBEZWxldGluZyBleGlzdGluZyByZWNvcmRzIGluIEhhc3VyYS4uLicpO1xuICAgIGF3YWl0IHRoaXMuaGFzdXJhLmRlbGV0ZUFsbCgpO1xuICAgIFxuICAgIGNvbnNvbGUubG9nKCdbSW52b2ljZVVzZWNhc2VdIFNhdmluZyBpbnZvaWNlcyB0byBIYXN1cmEuLi4nKTtcbiAgICBhd2FpdCB0aGlzLmhhc3VyYS5zYXZlTWFueShpbnZvaWNlcyk7XG4gICAgXG4gICAgY29uc29sZS5sb2coJ1tJbnZvaWNlVXNlY2FzZV0gU3luYyBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5Jyk7XG4gICAgcmV0dXJuIHsgc3luY2VkOiBpbnZvaWNlcy5sZW5ndGggfTtcbiAgfVxuXG4gIGFzeW5jIG1ha2VQZGYoZGF0YTogb2JqZWN0KTogUHJvbWlzZTx7IHBkZjogQnVmZmVyLCB0aXRsZTogc3RyaW5nLCBuYW1lOiBzdHJpbmcgfT4ge1xuICAgIHJldHVybiB0aGlzLmNocm9taXVtLnN0YXJ0KGFzeW5jIChicm93c2VyKSA9PiB7XG4gICAgICBjb25zdCBjb250ZXh0ID0gYXdhaXQgYnJvd3Nlci5uZXdDb250ZXh0KHtcbiAgICAgICAgZGV2aWNlU2NhbGVGYWN0b3I6IDIsXG4gICAgICB9KTtcbiAgICAgIGNvbnN0IHBhZ2UgPSBhd2FpdCBjb250ZXh0Lm5ld1BhZ2UoKTtcbiAgICAgIHBhZ2Uub24oJ2NvbnNvbGUnLCBtc2cgPT4gY29uc29sZS5sb2coJ1BBR0UgTE9HOicsIG1zZy50ZXh0KCkpKTtcbiAgICAgIHBhZ2Uub24oJ3BhZ2VlcnJvcicsIGVyciA9PiBjb25zb2xlLmxvZygnUEFHRSBFUlJPUjonLCBlcnIubWVzc2FnZSkpO1xuICAgICAgY29uc3QgdXJsID0gYCR7dGhpcy5jb25maWcudGVtcGxhdGVCYXNlVXJsfT9qc29uPSR7ZW5jb2RlVVJJQ29tcG9uZW50KEpTT04uc3RyaW5naWZ5KGRhdGEpKX1gO1xuICAgICAgYXdhaXQgcGFnZS5nb3RvKHVybCwgeyB3YWl0VW50aWw6ICduZXR3b3JraWRsZScgfSk7XG4gICAgICBhd2FpdCBwYWdlLmV2YWx1YXRlKCgpID0+IGRvY3VtZW50LmZvbnRzLnJlYWR5KTtcbiAgICAgIGF3YWl0IHBhZ2Uud2FpdEZvclNlbGVjdG9yKCdoMScpO1xuICAgICAgY29uc3QgdGl0bGUgPSBhd2FpdCBwYWdlLnRpdGxlKCk7XG4gICAgICBjb25zdCBwZGYgPSBhd2FpdCBwYWdlLnBkZih7IGZvcm1hdDogJ0E0JyB9KTtcbiAgICAgIHJldHVybiB7IHBkZiwgdGl0bGUsIG5hbWU6IGAke3RpdGxlfS5wZGZgIH07XG4gICAgfSk7XG4gIH1cblxuICBhc3luYyBzZW5kTWFpbChtYWlsOiBJbnZvaWNlTWFpbCkge1xuICAgIGNvbnN0IHBkZiA9IGF3YWl0IHRoaXMubWFrZVBkZihtYWlsLmludm9pY2UpO1xuICAgIGF3YWl0IHRoaXMucmVzZW5kLmVtYWlscy5zZW5kKHtcbiAgICAgIGZyb206IG1haWwuZnJvbSxcbiAgICAgIHRvOiBtYWlsLnRvLFxuICAgICAgc3ViamVjdDogbWFpbC5zdWJqZWN0LFxuICAgICAgaHRtbDogbWFpbC5jb250ZW50LFxuICAgICAgYXR0YWNobWVudHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGZpbGVuYW1lOiBwZGYubmFtZSxcbiAgICAgICAgICBjb250ZW50OiBwZGYucGRmLFxuICAgICAgICAgIGNvbnRlbnRUeXBlOiAnYXBwbGljYXRpb24vcGRmJyxcbiAgICAgICAgfVxuICAgICAgXVxuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgZ2V0TGluayhpbnZvaWNlSWQ6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgdHJ5IHtcbiAgICAgIC8vIEdyYXBoUUzjgq/jgqjjg6rjgaflhajjgabjga7plqLpgKPjg4fjg7zjgr/jgpLkuIDluqbjgavlj5blvpdcbiAgICAgIGNvbnN0IHF1ZXJ5ID0gYFxuICAgICAgICBxdWVyeSBHZXRJbnZvaWNlV2l0aFJlbGF0aW9ucygkaWQ6IFN0cmluZyEpIHtcbiAgICAgICAgICBpbnZvaWNlc19ieV9wayhpZDogJGlkKSB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAgbm9cbiAgICAgICAgICAgIHRpdGxlXG4gICAgICAgICAgICBzdWJqZWN0XG4gICAgICAgICAgICBjdXN0b21lcl9pZFxuICAgICAgICAgICAgdmVuZG9yX2lkXG4gICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgIGR1ZV9kYXRlXG4gICAgICAgICAgICBvcmRlcnMge1xuICAgICAgICAgICAgICBpZFxuICAgICAgICAgICAgICB0aXRsZVxuICAgICAgICAgICAgICBlY2xfaWRcbiAgICAgICAgICAgICAgY3VzdG9tZXJfaWRcbiAgICAgICAgICAgICAgdmVuZG9yX2lkXG4gICAgICAgICAgICAgIGNvbnRyYWN0X2lkXG4gICAgICAgICAgICAgIGludm9pY2VfaWRcbiAgICAgICAgICAgICAgc3RhcnRfZGF0ZVxuICAgICAgICAgICAgICBlbmRfZGF0ZVxuICAgICAgICAgICAgICB1bml0X3ByaWNlXG4gICAgICAgICAgICAgIHVuaXRcbiAgICAgICAgICAgICAgcXVhbnRpdHlcbiAgICAgICAgICAgICAgYW1vdW50X2lucHV0XG4gICAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgICBzdGF0dXNfaW5cbiAgICAgICAgICAgICAgc3RhdHVzX291dFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY3VzdG9tZXIge1xuICAgICAgICAgICAgICBpZFxuICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgYWRkcmVzc1xuICAgICAgICAgICAgICBwb3N0YWxfY29kZVxuICAgICAgICAgICAgICBlbWFpbFxuICAgICAgICAgICAgICBiaWxsaW5nX2VtYWlsXG4gICAgICAgICAgICAgIGJpbGxpbmdfY29udGFjdFxuICAgICAgICAgICAgICBwaG9uZV9udW1iZXJcbiAgICAgICAgICAgICAgY29udGFjdFxuICAgICAgICAgICAgICBzdWZmaXhcbiAgICAgICAgICAgICAgYmFua19hY2NvdW50XG4gICAgICAgICAgICAgIGludm9pY2VfbnVtYmVyXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB2ZW5kb3Ige1xuICAgICAgICAgICAgICBpZFxuICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgYWRkcmVzc1xuICAgICAgICAgICAgICBwb3N0YWxfY29kZVxuICAgICAgICAgICAgICBlbWFpbFxuICAgICAgICAgICAgICBiaWxsaW5nX2VtYWlsXG4gICAgICAgICAgICAgIGJpbGxpbmdfY29udGFjdFxuICAgICAgICAgICAgICBwaG9uZV9udW1iZXJcbiAgICAgICAgICAgICAgY29udGFjdFxuICAgICAgICAgICAgICBzdWZmaXhcbiAgICAgICAgICAgICAgYmFua19hY2NvdW50XG4gICAgICAgICAgICAgIGludm9pY2VfbnVtYmVyXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICBgO1xuICAgICAgXG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLmhhc3VyYVNlcnZpY2UucXVlcnkoe1xuICAgICAgICBxdWVyeTogZ3FsYCR7cXVlcnl9YCxcbiAgICAgICAgdmFyaWFibGVzOiB7IGlkOiBpbnZvaWNlSWQgfVxuICAgICAgfSkudGhlbihyZXN1bHQgPT4ge1xuICAgICAgICAvLyBjYW1lbENhc2XjgavlpInmj5tcbiAgICAgICAgcmV0dXJuIGRlZXBTbmFrZVRvQ2FtZWxDYXNlKHJlc3VsdCk7XG4gICAgICB9KTtcbiAgICAgIFxuICAgICAgY29uc3QgaW52b2ljZURhdGEgPSAocmVzdWx0IGFzIGFueSkuZGF0YT8uaW52b2ljZXNCeVBrO1xuICAgICAgaWYgKCFpbnZvaWNlRGF0YSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEludm9pY2Ugd2l0aCBJRCAke2ludm9pY2VJZH0gbm90IGZvdW5kYCk7XG4gICAgICB9XG5cbiAgICAgIC8vIOOCueODjeODvOOCr+OCseODvOOCueOBi+OCieOCreODo+ODoeODq+OCseODvOOCueOBq+WkieaPm+OBl+OAgV9fdHlwZW5hbWXjgpLliYrpmaRcbiAgICAgIGNvbnN0IHRyYW5zZm9ybWVkRGF0YSA9IHRoaXMudHJhbnNmb3JtSW52b2ljZURhdGEoaW52b2ljZURhdGEpO1xuXG4gICAgICAvLyDjg4bjg7Pjg5fjg6zjg7zjg4hVUkzjgpLnlJ/miJDvvIhtYWtlUGRm44Go5ZCM44GY44Ot44K444OD44Kv77yJXG4gICAgICBjb25zdCB1cmwgPSBgJHt0aGlzLmNvbmZpZy50ZW1wbGF0ZUJhc2VVcmx9P2pzb249JHtlbmNvZGVVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkodHJhbnNmb3JtZWREYXRhKSl9YDtcblxuICAgICAgcmV0dXJuIHVybDtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcihgW0ludm9pY2VVc2VjYXNlXSBGYWlsZWQgdG8gZ2V0IGxpbmsgZm9yIGludm9pY2UgJHtpbnZvaWNlSWR9OmAsIGVycm9yKTtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdHJhbnNmb3JtSW52b2ljZURhdGEoZGF0YTogYW55KTogYW55IHtcbiAgICBjb25zdCBzbmFrZVRvQ2FtZWwgPSAoc3RyOiBzdHJpbmcpID0+IFxuICAgICAgc3RyLnJlcGxhY2UoL18oW2Etel0pL2csIChfLCBsZXR0ZXIpID0+IGxldHRlci50b1VwcGVyQ2FzZSgpKTtcblxuICAgIGNvbnN0IHRyYW5zZm9ybSA9IChvYmo6IGFueSk6IGFueSA9PiB7XG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShvYmopKSB7XG4gICAgICAgIHJldHVybiBvYmoubWFwKHRyYW5zZm9ybSk7XG4gICAgICB9IGVsc2UgaWYgKG9iaiAhPT0gbnVsbCAmJiB0eXBlb2Ygb2JqID09PSAnb2JqZWN0Jykge1xuICAgICAgICBjb25zdCB0cmFuc2Zvcm1lZDogYW55ID0ge307XG4gICAgICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKG9iaikpIHtcbiAgICAgICAgICAvLyBfX3R5cGVuYW1l44OV44Kj44O844Or44OJ44KS6Zmk5aSWXG4gICAgICAgICAgaWYgKGtleSA9PT0gJ19fdHlwZW5hbWUnKSBjb250aW51ZTtcbiAgICAgICAgICBcbiAgICAgICAgICBjb25zdCBjYW1lbEtleSA9IHNuYWtlVG9DYW1lbChrZXkpO1xuICAgICAgICAgIHRyYW5zZm9ybWVkW2NhbWVsS2V5XSA9IHRyYW5zZm9ybSh2YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRyYW5zZm9ybWVkO1xuICAgICAgfVxuICAgICAgcmV0dXJuIG9iajtcbiAgICB9O1xuXG4gICAgcmV0dXJuIHRyYW5zZm9ybShkYXRhKTtcbiAgfVxufVxuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieHhtYWNoaW5hLWNvbW1vbi1pbnZvaWNlLXVzZWNhc2UtaW52b2ljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0B4eG1hY2hpbmEvY29tbW9uL3NyYy9saWIvaW52b2ljZS91c2VjYXNlL2ludm9pY2UveHhtYWNoaW5hLWNvbW1vbi1pbnZvaWNlLXVzZWNhc2UtaW52b2ljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { inject, Injectable } from '@angular/core';
|
|
3
|
+
import { OrderNotionRepository } from '@xxmachina/common/infra/repository/notion';
|
|
4
|
+
import { getHasuraRepository, HasuraService } from '@nx-ddd/hasura';
|
|
5
|
+
import { Order } from '@xxmachina/common/invoice/domain/models';
|
|
6
|
+
|
|
7
|
+
class OrderUsecase {
|
|
8
|
+
notion = inject(OrderNotionRepository);
|
|
9
|
+
hasuraRepo = getHasuraRepository(Order, { hasura: inject(HasuraService) });
|
|
10
|
+
async sync() {
|
|
11
|
+
console.log('[OrderUsecase] Starting sync from Notion to Hasura...');
|
|
12
|
+
const orders = await this.notion.list();
|
|
13
|
+
console.log(`[OrderUsecase] Retrieved ${orders.length} orders from Notion`);
|
|
14
|
+
// Delete existing records to avoid duplicates
|
|
15
|
+
console.log('[OrderUsecase] Deleting existing records in Hasura...');
|
|
16
|
+
await this.hasuraRepo.deleteAll();
|
|
17
|
+
// Save all orders
|
|
18
|
+
console.log('[OrderUsecase] Saving orders to Hasura...');
|
|
19
|
+
await this.hasuraRepo.saveMany(orders);
|
|
20
|
+
console.log('[OrderUsecase] Sync completed successfully');
|
|
21
|
+
return { synced: orders.length };
|
|
22
|
+
}
|
|
23
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: OrderUsecase, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
24
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: OrderUsecase, providedIn: 'root' });
|
|
25
|
+
}
|
|
26
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: OrderUsecase, decorators: [{
|
|
27
|
+
type: Injectable,
|
|
28
|
+
args: [{ providedIn: 'root' }]
|
|
29
|
+
}] });
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Generated bundle index. Do not edit.
|
|
33
|
+
*/
|
|
34
|
+
|
|
35
|
+
export { OrderUsecase };
|
|
36
|
+
//# sourceMappingURL=xxmachina-common-invoice-usecase-order.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xxmachina-common-invoice-usecase-order.mjs","sources":["../tmp-esm2022/invoice/usecase/order/order.service.js","../tmp-esm2022/invoice/usecase/order/xxmachina-common-invoice-usecase-order.js"],"sourcesContent":["import { inject, Injectable } from '@angular/core';\nimport { OrderNotionRepository } from '@xxmachina/common/infra/repository/notion';\nimport { getHasuraRepository, HasuraService } from '@nx-ddd/hasura';\nimport { Order } from '@xxmachina/common/invoice/domain/models';\nimport * as i0 from \"@angular/core\";\nexport class OrderUsecase {\n notion = inject(OrderNotionRepository);\n hasuraRepo = getHasuraRepository(Order, { hasura: inject(HasuraService) });\n async sync() {\n console.log('[OrderUsecase] Starting sync from Notion to Hasura...');\n const orders = await this.notion.list();\n console.log(`[OrderUsecase] Retrieved ${orders.length} orders from Notion`);\n // Delete existing records to avoid duplicates\n console.log('[OrderUsecase] Deleting existing records in Hasura...');\n await this.hasuraRepo.deleteAll();\n // Save all orders\n console.log('[OrderUsecase] Saving orders to Hasura...');\n await this.hasuraRepo.saveMany(orders);\n console.log('[OrderUsecase] Sync completed successfully');\n return { synced: orders.length };\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: OrderUsecase, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: OrderUsecase, providedIn: 'root' });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: OrderUsecase, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0B4eG1hY2hpbmEvY29tbW9uL3NyYy9saWIvaW52b2ljZS91c2VjYXNlL29yZGVyL29yZGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDbEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQzs7QUFHaEUsTUFBTSxPQUFPLFlBQVk7SUFDYixNQUFNLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDdkMsVUFBVSxHQUFHLG1CQUFtQixDQUFDLEtBQUssRUFBRSxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBRXJGLEtBQUssQ0FBQyxJQUFJO1FBQ1IsT0FBTyxDQUFDLEdBQUcsQ0FBQyx1REFBdUQsQ0FBQyxDQUFDO1FBRXJFLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN4QyxPQUFPLENBQUMsR0FBRyxDQUFDLDRCQUE0QixNQUFNLENBQUMsTUFBTSxxQkFBcUIsQ0FBQyxDQUFDO1FBRTVFLDhDQUE4QztRQUM5QyxPQUFPLENBQUMsR0FBRyxDQUFDLHVEQUF1RCxDQUFDLENBQUM7UUFDckUsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBRWxDLGtCQUFrQjtRQUNsQixPQUFPLENBQUMsR0FBRyxDQUFDLDJDQUEyQyxDQUFDLENBQUM7UUFDekQsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUV2QyxPQUFPLENBQUMsR0FBRyxDQUFDLDRDQUE0QyxDQUFDLENBQUM7UUFDMUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDbkMsQ0FBQzt1R0FwQlUsWUFBWTsyR0FBWixZQUFZLGNBREMsTUFBTTs7MkZBQ25CLFlBQVk7a0JBRHhCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPcmRlck5vdGlvblJlcG9zaXRvcnkgfSBmcm9tICdAeHhtYWNoaW5hL2NvbW1vbi9pbmZyYS9yZXBvc2l0b3J5L25vdGlvbic7XG5pbXBvcnQgeyBnZXRIYXN1cmFSZXBvc2l0b3J5LCBIYXN1cmFTZXJ2aWNlIH0gZnJvbSAnQG54LWRkZC9oYXN1cmEnO1xuaW1wb3J0IHsgT3JkZXIgfSBmcm9tICdAeHhtYWNoaW5hL2NvbW1vbi9pbnZvaWNlL2RvbWFpbi9tb2RlbHMnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIE9yZGVyVXNlY2FzZSB7XG4gIHByb3RlY3RlZCBub3Rpb24gPSBpbmplY3QoT3JkZXJOb3Rpb25SZXBvc2l0b3J5KTtcbiAgcHJvdGVjdGVkIGhhc3VyYVJlcG8gPSBnZXRIYXN1cmFSZXBvc2l0b3J5KE9yZGVyLCB7IGhhc3VyYTogaW5qZWN0KEhhc3VyYVNlcnZpY2UpIH0pO1xuXG4gIGFzeW5jIHN5bmMoKSB7XG4gICAgY29uc29sZS5sb2coJ1tPcmRlclVzZWNhc2VdIFN0YXJ0aW5nIHN5bmMgZnJvbSBOb3Rpb24gdG8gSGFzdXJhLi4uJyk7XG4gICAgXG4gICAgY29uc3Qgb3JkZXJzID0gYXdhaXQgdGhpcy5ub3Rpb24ubGlzdCgpO1xuICAgIGNvbnNvbGUubG9nKGBbT3JkZXJVc2VjYXNlXSBSZXRyaWV2ZWQgJHtvcmRlcnMubGVuZ3RofSBvcmRlcnMgZnJvbSBOb3Rpb25gKTtcbiAgICBcbiAgICAvLyBEZWxldGUgZXhpc3RpbmcgcmVjb3JkcyB0byBhdm9pZCBkdXBsaWNhdGVzXG4gICAgY29uc29sZS5sb2coJ1tPcmRlclVzZWNhc2VdIERlbGV0aW5nIGV4aXN0aW5nIHJlY29yZHMgaW4gSGFzdXJhLi4uJyk7XG4gICAgYXdhaXQgdGhpcy5oYXN1cmFSZXBvLmRlbGV0ZUFsbCgpO1xuICAgIFxuICAgIC8vIFNhdmUgYWxsIG9yZGVyc1xuICAgIGNvbnNvbGUubG9nKCdbT3JkZXJVc2VjYXNlXSBTYXZpbmcgb3JkZXJzIHRvIEhhc3VyYS4uLicpO1xuICAgIGF3YWl0IHRoaXMuaGFzdXJhUmVwby5zYXZlTWFueShvcmRlcnMpO1xuICAgIFxuICAgIGNvbnNvbGUubG9nKCdbT3JkZXJVc2VjYXNlXSBTeW5jIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHknKTtcbiAgICByZXR1cm4geyBzeW5jZWQ6IG9yZGVycy5sZW5ndGggfTtcbiAgfVxufVxuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieHhtYWNoaW5hLWNvbW1vbi1pbnZvaWNlLXVzZWNhc2Utb3JkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AeHhtYWNoaW5hL2NvbW1vbi9zcmMvbGliL2ludm9pY2UvdXNlY2FzZS9vcmRlci94eG1hY2hpbmEtY29tbW9uLWludm9pY2UtdXNlY2FzZS1vcmRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":";;;;;;AAKO,MAAM,YAAY,CAAC;AAC1B,IAAI,MAAM,GAAG,MAAM,CAAC,qBAAqB,CAAC;AAC1C,IAAI,UAAU,GAAG,mBAAmB,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;AAC9E,IAAI,MAAM,IAAI,GAAG;AACjB,QAAQ,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC;AAC5E,QAAQ,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;AAC/C,QAAQ,OAAO,CAAC,GAAG,CAAC,CAAC,yBAAyB,EAAE,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;AACnF;AACA,QAAQ,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC;AAC5E,QAAQ,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE;AACzC;AACA,QAAQ,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC;AAChE,QAAQ,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC;AAC9C,QAAQ,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC;AACjE,QAAQ,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;AACxC,IAAI;AACJ,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC;AACvK,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC,qBAAqB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;AAC9I;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC;AACtH,YAAY,IAAI,EAAE,UAAU;AAC5B,YAAY,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE;AACzC,SAAS,CAAC,EAAE,CAAC;;AC3Bb;AACA;AACA;;;;"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { inject, Injectable } from '@angular/core';
|
|
3
|
+
import { PartnerNotionRepository } from '@xxmachina/common/infra/repository/notion';
|
|
4
|
+
import { getHasuraRepository, HasuraService } from '@nx-ddd/hasura';
|
|
5
|
+
import { Partner } from '@xxmachina/common/invoice/domain/models';
|
|
6
|
+
|
|
7
|
+
class PartnerUsecase {
|
|
8
|
+
notionRepo = inject(PartnerNotionRepository);
|
|
9
|
+
hasuraRepo = getHasuraRepository(Partner, { hasura: inject(HasuraService) });
|
|
10
|
+
async sync() {
|
|
11
|
+
console.log('[PartnerUsecase] Starting sync from Notion to Hasura...');
|
|
12
|
+
const items = await this.notionRepo.list();
|
|
13
|
+
console.log(`[PartnerUsecase] Retrieved ${items.length} partners from Notion`);
|
|
14
|
+
// Delete existing records to avoid duplicates
|
|
15
|
+
console.log('[PartnerUsecase] Deleting existing records in Hasura...');
|
|
16
|
+
await this.hasuraRepo.deleteAll();
|
|
17
|
+
// Save all partners
|
|
18
|
+
console.log('[PartnerUsecase] Saving partners to Hasura...');
|
|
19
|
+
await this.hasuraRepo.saveMany(items);
|
|
20
|
+
console.log('[PartnerUsecase] Sync completed successfully');
|
|
21
|
+
return { synced: items.length };
|
|
22
|
+
}
|
|
23
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: PartnerUsecase, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
24
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: PartnerUsecase, providedIn: 'root' });
|
|
25
|
+
}
|
|
26
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: PartnerUsecase, decorators: [{
|
|
27
|
+
type: Injectable,
|
|
28
|
+
args: [{ providedIn: 'root' }]
|
|
29
|
+
}] });
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Generated bundle index. Do not edit.
|
|
33
|
+
*/
|
|
34
|
+
|
|
35
|
+
export { PartnerUsecase };
|
|
36
|
+
//# sourceMappingURL=xxmachina-common-invoice-usecase-partner.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xxmachina-common-invoice-usecase-partner.mjs","sources":["../tmp-esm2022/invoice/usecase/partner/partner.usecase.js","../tmp-esm2022/invoice/usecase/partner/xxmachina-common-invoice-usecase-partner.js"],"sourcesContent":["import { inject, Injectable } from '@angular/core';\nimport { PartnerNotionRepository } from '@xxmachina/common/infra/repository/notion';\nimport { getHasuraRepository, HasuraService } from '@nx-ddd/hasura';\nimport { Partner } from '@xxmachina/common/invoice/domain/models';\nimport * as i0 from \"@angular/core\";\nexport class PartnerUsecase {\n notionRepo = inject(PartnerNotionRepository);\n hasuraRepo = getHasuraRepository(Partner, { hasura: inject(HasuraService) });\n async sync() {\n console.log('[PartnerUsecase] Starting sync from Notion to Hasura...');\n const items = await this.notionRepo.list();\n console.log(`[PartnerUsecase] Retrieved ${items.length} partners from Notion`);\n // Delete existing records to avoid duplicates\n console.log('[PartnerUsecase] Deleting existing records in Hasura...');\n await this.hasuraRepo.deleteAll();\n // Save all partners\n console.log('[PartnerUsecase] Saving partners to Hasura...');\n await this.hasuraRepo.saveMany(items);\n console.log('[PartnerUsecase] Sync completed successfully');\n return { synced: items.length };\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: PartnerUsecase, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: PartnerUsecase, providedIn: 'root' });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: PartnerUsecase, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFydG5lci51c2VjYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQHh4bWFjaGluYS9jb21tb24vc3JjL2xpYi9pbnZvaWNlL3VzZWNhc2UvcGFydG5lci9wYXJ0bmVyLnVzZWNhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDcEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQzs7QUFHbEUsTUFBTSxPQUFPLGNBQWM7SUFDZixVQUFVLEdBQUcsTUFBTSxDQUFDLHVCQUF1QixDQUFDLENBQUM7SUFDN0MsVUFBVSxHQUFHLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBRXZGLEtBQUssQ0FBQyxJQUFJO1FBQ1IsT0FBTyxDQUFDLEdBQUcsQ0FBQyx5REFBeUQsQ0FBQyxDQUFDO1FBRXZFLE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMzQyxPQUFPLENBQUMsR0FBRyxDQUFDLDhCQUE4QixLQUFLLENBQUMsTUFBTSx1QkFBdUIsQ0FBQyxDQUFDO1FBRS9FLDhDQUE4QztRQUM5QyxPQUFPLENBQUMsR0FBRyxDQUFDLHlEQUF5RCxDQUFDLENBQUM7UUFDdkUsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBRWxDLG9CQUFvQjtRQUNwQixPQUFPLENBQUMsR0FBRyxDQUFDLCtDQUErQyxDQUFDLENBQUM7UUFDN0QsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUV0QyxPQUFPLENBQUMsR0FBRyxDQUFDLDhDQUE4QyxDQUFDLENBQUM7UUFDNUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDbEMsQ0FBQzt1R0FwQlUsY0FBYzsyR0FBZCxjQUFjLGNBREQsTUFBTTs7MkZBQ25CLGNBQWM7a0JBRDFCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQYXJ0bmVyTm90aW9uUmVwb3NpdG9yeSB9IGZyb20gJ0B4eG1hY2hpbmEvY29tbW9uL2luZnJhL3JlcG9zaXRvcnkvbm90aW9uJztcbmltcG9ydCB7IGdldEhhc3VyYVJlcG9zaXRvcnksIEhhc3VyYVNlcnZpY2UgfSBmcm9tICdAbngtZGRkL2hhc3VyYSc7XG5pbXBvcnQgeyBQYXJ0bmVyIH0gZnJvbSAnQHh4bWFjaGluYS9jb21tb24vaW52b2ljZS9kb21haW4vbW9kZWxzJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBQYXJ0bmVyVXNlY2FzZSB7XG4gIHByb3RlY3RlZCBub3Rpb25SZXBvID0gaW5qZWN0KFBhcnRuZXJOb3Rpb25SZXBvc2l0b3J5KTtcbiAgcHJvdGVjdGVkIGhhc3VyYVJlcG8gPSBnZXRIYXN1cmFSZXBvc2l0b3J5KFBhcnRuZXIsIHsgaGFzdXJhOiBpbmplY3QoSGFzdXJhU2VydmljZSkgfSk7XG5cbiAgYXN5bmMgc3luYygpIHtcbiAgICBjb25zb2xlLmxvZygnW1BhcnRuZXJVc2VjYXNlXSBTdGFydGluZyBzeW5jIGZyb20gTm90aW9uIHRvIEhhc3VyYS4uLicpO1xuICAgIFxuICAgIGNvbnN0IGl0ZW1zID0gYXdhaXQgdGhpcy5ub3Rpb25SZXBvLmxpc3QoKTtcbiAgICBjb25zb2xlLmxvZyhgW1BhcnRuZXJVc2VjYXNlXSBSZXRyaWV2ZWQgJHtpdGVtcy5sZW5ndGh9IHBhcnRuZXJzIGZyb20gTm90aW9uYCk7XG4gICAgXG4gICAgLy8gRGVsZXRlIGV4aXN0aW5nIHJlY29yZHMgdG8gYXZvaWQgZHVwbGljYXRlc1xuICAgIGNvbnNvbGUubG9nKCdbUGFydG5lclVzZWNhc2VdIERlbGV0aW5nIGV4aXN0aW5nIHJlY29yZHMgaW4gSGFzdXJhLi4uJyk7XG4gICAgYXdhaXQgdGhpcy5oYXN1cmFSZXBvLmRlbGV0ZUFsbCgpO1xuICAgIFxuICAgIC8vIFNhdmUgYWxsIHBhcnRuZXJzXG4gICAgY29uc29sZS5sb2coJ1tQYXJ0bmVyVXNlY2FzZV0gU2F2aW5nIHBhcnRuZXJzIHRvIEhhc3VyYS4uLicpO1xuICAgIGF3YWl0IHRoaXMuaGFzdXJhUmVwby5zYXZlTWFueShpdGVtcyk7XG4gICAgXG4gICAgY29uc29sZS5sb2coJ1tQYXJ0bmVyVXNlY2FzZV0gU3luYyBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5Jyk7XG4gICAgcmV0dXJuIHsgc3luY2VkOiBpdGVtcy5sZW5ndGggfTtcbiAgfVxufVxuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieHhtYWNoaW5hLWNvbW1vbi1pbnZvaWNlLXVzZWNhc2UtcGFydG5lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0B4eG1hY2hpbmEvY29tbW9uL3NyYy9saWIvaW52b2ljZS91c2VjYXNlL3BhcnRuZXIveHhtYWNoaW5hLWNvbW1vbi1pbnZvaWNlLXVzZWNhc2UtcGFydG5lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":";;;;;;AAKO,MAAM,cAAc,CAAC;AAC5B,IAAI,UAAU,GAAG,MAAM,CAAC,uBAAuB,CAAC;AAChD,IAAI,UAAU,GAAG,mBAAmB,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;AAChF,IAAI,MAAM,IAAI,GAAG;AACjB,QAAQ,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC;AAC9E,QAAQ,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE;AAClD,QAAQ,OAAO,CAAC,GAAG,CAAC,CAAC,2BAA2B,EAAE,KAAK,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;AACtF;AACA,QAAQ,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC;AAC9E,QAAQ,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE;AACzC;AACA,QAAQ,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC;AACpE,QAAQ,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC;AAC7C,QAAQ,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC;AACnE,QAAQ,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE;AACvC,IAAI;AACJ,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC;AACzK,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC,qBAAqB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;AAChJ;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,UAAU,EAAE,CAAC;AACxH,YAAY,IAAI,EAAE,UAAU;AAC5B,YAAY,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE;AACzC,SAAS,CAAC,EAAE,CAAC;;AC3Bb;AACA;AACA;;;;"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { inject, Injectable } from '@angular/core';
|
|
3
|
+
import { ApolloClientManagerService } from '@nx-ddd/hasura';
|
|
4
|
+
import { switchMap } from 'rxjs';
|
|
5
|
+
import { gql } from 'apollo-angular';
|
|
6
|
+
import { getIntrospectionQuery } from 'graphql';
|
|
7
|
+
|
|
8
|
+
class GraphqlService {
|
|
9
|
+
apolloClientManager = inject(ApolloClientManagerService);
|
|
10
|
+
/**
|
|
11
|
+
* @TODO
|
|
12
|
+
* this.apolloMulti.getClientはendpoint単位でApolloClientを管理しているため、
|
|
13
|
+
* _query.graphql.headersに認証情報などが含まれていないリクエストが初めに来ると、
|
|
14
|
+
* {message: 'no subscriptions exist}のようなエラーが出る。
|
|
15
|
+
* Headersが更新されるたびに、ApolloClientを再生成するような処理も必要。
|
|
16
|
+
*/
|
|
17
|
+
subscribe(graphql) {
|
|
18
|
+
const getHeaders = typeof graphql.headers === 'function'
|
|
19
|
+
? graphql.headers
|
|
20
|
+
: () => Promise.resolve(graphql.headers);
|
|
21
|
+
return this.apolloClientManager.getClient(graphql.endpoint, getHeaders).pipe(switchMap((client) => client.subscribe({
|
|
22
|
+
query: gql `${graphql.query}`,
|
|
23
|
+
variables: graphql.variables,
|
|
24
|
+
fetchPolicy: 'network-only',
|
|
25
|
+
})));
|
|
26
|
+
}
|
|
27
|
+
query(graphql) {
|
|
28
|
+
const getHeaders = typeof graphql.headers === 'function'
|
|
29
|
+
? graphql.headers
|
|
30
|
+
: () => Promise.resolve(graphql.headers);
|
|
31
|
+
return this.apolloClientManager.getClient(graphql.endpoint, getHeaders).pipe(switchMap((client) => client.query({
|
|
32
|
+
query: gql `${graphql.query}`,
|
|
33
|
+
variables: graphql.variables,
|
|
34
|
+
fetchPolicy: 'network-only',
|
|
35
|
+
})));
|
|
36
|
+
}
|
|
37
|
+
getSchema(graphql) {
|
|
38
|
+
const getHeaders = typeof graphql.headers === 'function'
|
|
39
|
+
? graphql.headers
|
|
40
|
+
: () => Promise.resolve(graphql.headers);
|
|
41
|
+
return this.apolloClientManager.getClient(graphql.endpoint, getHeaders).pipe(switchMap((client) => client.query({
|
|
42
|
+
query: gql `${getIntrospectionQuery()}`,
|
|
43
|
+
variables: {},
|
|
44
|
+
fetchPolicy: 'network-only',
|
|
45
|
+
})));
|
|
46
|
+
}
|
|
47
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: GraphqlService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
48
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: GraphqlService, providedIn: 'root' });
|
|
49
|
+
}
|
|
50
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: GraphqlService, decorators: [{
|
|
51
|
+
type: Injectable,
|
|
52
|
+
args: [{ providedIn: 'root' }]
|
|
53
|
+
}] });
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* Generated bundle index. Do not edit.
|
|
57
|
+
*/
|
|
58
|
+
|
|
59
|
+
export { GraphqlService };
|
|
60
|
+
//# sourceMappingURL=xxmachina-common-services-graphql.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xxmachina-common-services-graphql.mjs","sources":["../tmp-esm2022/services/graphql/graphql.service.js","../tmp-esm2022/services/graphql/xxmachina-common-services-graphql.js"],"sourcesContent":["import { inject, Injectable } from \"@angular/core\";\nimport { ApolloClientManagerService } from \"@nx-ddd/hasura\";\nimport { switchMap } from \"rxjs\";\nimport { gql } from \"apollo-angular\";\nimport { getIntrospectionQuery } from \"graphql\";\nimport * as i0 from \"@angular/core\";\nexport class GraphqlService {\n apolloClientManager = inject(ApolloClientManagerService);\n /**\n * @TODO\n * this.apolloMulti.getClientはendpoint単位でApolloClientを管理しているため、\n * _query.graphql.headersに認証情報などが含まれていないリクエストが初めに来ると、\n * {message: 'no subscriptions exist}のようなエラーが出る。\n * Headersが更新されるたびに、ApolloClientを再生成するような処理も必要。\n */\n subscribe(graphql) {\n const getHeaders = typeof graphql.headers === 'function'\n ? graphql.headers\n : () => Promise.resolve(graphql.headers);\n return this.apolloClientManager.getClient(graphql.endpoint, getHeaders).pipe(switchMap((client) => client.subscribe({\n query: gql `${graphql.query}`,\n variables: graphql.variables,\n fetchPolicy: 'network-only',\n })));\n }\n query(graphql) {\n const getHeaders = typeof graphql.headers === 'function'\n ? graphql.headers\n : () => Promise.resolve(graphql.headers);\n return this.apolloClientManager.getClient(graphql.endpoint, getHeaders).pipe(switchMap((client) => client.query({\n query: gql `${graphql.query}`,\n variables: graphql.variables,\n fetchPolicy: 'network-only',\n })));\n }\n getSchema(graphql) {\n const getHeaders = typeof graphql.headers === 'function'\n ? graphql.headers\n : () => Promise.resolve(graphql.headers);\n return this.apolloClientManager.getClient(graphql.endpoint, getHeaders).pipe(switchMap((client) => client.query({\n query: gql `${getIntrospectionQuery()}`,\n variables: {},\n fetchPolicy: 'network-only',\n })));\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: GraphqlService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: GraphqlService, providedIn: 'root' });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: GraphqlService, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhcGhxbC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQHh4bWFjaGluYS9jb21tb24vc3JjL2xpYi9zZXJ2aWNlcy9ncmFwaHFsL2dyYXBocWwuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1RCxPQUFPLEVBQWMsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQWdCLHFCQUFxQixFQUFFLE1BQU0sU0FBUyxDQUFDOztBQVk5RCxNQUFNLE9BQU8sY0FBYztJQUNoQixtQkFBbUIsR0FBRyxNQUFNLENBQUMsMEJBQTBCLENBQUMsQ0FBQztJQUVsRTs7Ozs7O09BTUc7SUFDSCxTQUFTLENBQUMsT0FBMEI7UUFDbEMsTUFBTSxVQUFVLEdBQWUsT0FBTyxPQUFPLENBQUMsT0FBTyxLQUFLLFVBQVU7WUFDbEUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPO1lBQ2pCLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxPQUFpQyxDQUFDLENBQUM7UUFDckUsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUMxRSxTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQXNCO1lBQzFELEtBQUssRUFBRSxHQUFHLENBQUEsR0FBRyxPQUFPLENBQUMsS0FBSyxFQUFFO1lBQzVCLFNBQVMsRUFBRSxPQUFPLENBQUMsU0FBUztZQUM1QixXQUFXLEVBQUUsY0FBYztTQUM1QixDQUFDLENBQUMsQ0FDSixDQUFDO0lBQ0osQ0FBQztJQUVELEtBQUssQ0FBQyxPQUEwQjtRQUM5QixNQUFNLFVBQVUsR0FBZSxPQUFPLE9BQU8sQ0FBQyxPQUFPLEtBQUssVUFBVTtZQUNsRSxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU87WUFDakIsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQWlDLENBQUMsQ0FBQztRQUNyRSxPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQzFFLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBc0I7WUFDdEQsS0FBSyxFQUFFLEdBQUcsQ0FBQSxHQUFHLE9BQU8sQ0FBQyxLQUFLLEVBQUU7WUFDNUIsU0FBUyxFQUFFLE9BQU8sQ0FBQyxTQUFTO1lBQzVCLFdBQVcsRUFBRSxjQUFjO1NBQzVCLENBQUMsQ0FBQyxDQUNKLENBQUM7SUFDSixDQUFDO0lBRUQsU0FBUyxDQUFDLE9BQW1DO1FBQzNDLE1BQU0sVUFBVSxHQUFlLE9BQU8sT0FBTyxDQUFDLE9BQU8sS0FBSyxVQUFVO1lBQ2xFLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTztZQUNqQixDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsT0FBaUMsQ0FBQyxDQUFDO1FBQ3JFLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FDMUUsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFzQjtZQUN0RCxLQUFLLEVBQUUsR0FBRyxDQUFBLEdBQUcscUJBQXFCLEVBQUUsRUFBRTtZQUN0QyxTQUFTLEVBQUUsRUFBRTtZQUNiLFdBQVcsRUFBRSxjQUFjO1NBQzVCLENBQUMsQ0FBQyxDQUNKLENBQUM7SUFDSixDQUFDO3VHQS9DVSxjQUFjOzJHQUFkLGNBQWMsY0FERixNQUFNOzsyRkFDbEIsY0FBYztrQkFEMUIsVUFBVTttQkFBQyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgR2V0SGVhZGVycyB9IGZyb20gXCJAbngtZGRkL2hhc3VyYVwiO1xuaW1wb3J0IHsgQXBvbGxvQ2xpZW50TWFuYWdlclNlcnZpY2UgfSBmcm9tIFwiQG54LWRkZC9oYXN1cmFcIjtcbmltcG9ydCB7IE9ic2VydmFibGUsIHN3aXRjaE1hcCB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBncWwgfSBmcm9tIFwiYXBvbGxvLWFuZ3VsYXJcIjtcbmltcG9ydCB7IERvY3VtZW50Tm9kZSwgZ2V0SW50cm9zcGVjdGlvblF1ZXJ5IH0gZnJvbSBcImdyYXBocWxcIjtcblxuZXhwb3J0IGludGVyZmFjZSBFeGVjdXRhYmxlR3JhcGhxbCB7XG4gIGVuZHBvaW50OiBzdHJpbmc7XG4gIHF1ZXJ5OiBzdHJpbmcgfCBEb2N1bWVudE5vZGU7XG4gIHZhcmlhYmxlczogb2JqZWN0O1xuICBoZWFkZXJzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHwgR2V0SGVhZGVycztcbn1cblxuZXhwb3J0IHR5cGUgRXhlY3V0YWJsZUdldFNjaGVtYUdyYXBocWwgPSBQaWNrPEV4ZWN1dGFibGVHcmFwaHFsLCAnZW5kcG9pbnQnIHwgJ2hlYWRlcnMnPjtcblxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXG5leHBvcnQgY2xhc3MgR3JhcGhxbFNlcnZpY2Uge1xuICByZWFkb25seSBhcG9sbG9DbGllbnRNYW5hZ2VyID0gaW5qZWN0KEFwb2xsb0NsaWVudE1hbmFnZXJTZXJ2aWNlKTtcblxuICAvKipcbiAgICogQFRPRE9cbiAgICogdGhpcy5hcG9sbG9NdWx0aS5nZXRDbGllbnTjga9lbmRwb2ludOWNmOS9jeOBp0Fwb2xsb0NsaWVudOOCkueuoeeQhuOBl+OBpuOBhOOCi+OBn+OCgeOAgVxuICAgKiBfcXVlcnkuZ3JhcGhxbC5oZWFkZXJz44Gr6KqN6Ki85oOF5aCx44Gq44Gp44GM5ZCr44G+44KM44Gm44GE44Gq44GE44Oq44Kv44Ko44K544OI44GM5Yid44KB44Gr5p2l44KL44Go44CBXG4gICAqIHttZXNzYWdlOiAnbm8gc3Vic2NyaXB0aW9ucyBleGlzdH3jga7jgojjgYbjgarjgqjjg6njg7zjgYzlh7rjgovjgIJcbiAgICogSGVhZGVyc+OBjOabtOaWsOOBleOCjOOCi+OBn+OBs+OBq+OAgUFwb2xsb0NsaWVudOOCkuWGjeeUn+aIkOOBmeOCi+OCiOOBhuOBquWHpueQhuOCguW/heimgeOAglxuICAgKi9cbiAgc3Vic2NyaWJlKGdyYXBocWw6IEV4ZWN1dGFibGVHcmFwaHFsKSB7XG4gICAgY29uc3QgZ2V0SGVhZGVyczogR2V0SGVhZGVycyA9IHR5cGVvZiBncmFwaHFsLmhlYWRlcnMgPT09ICdmdW5jdGlvbicgXG4gICAgICA/IGdyYXBocWwuaGVhZGVycyBcbiAgICAgIDogKCkgPT4gUHJvbWlzZS5yZXNvbHZlKGdyYXBocWwuaGVhZGVycyBhcyBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+KTtcbiAgICByZXR1cm4gdGhpcy5hcG9sbG9DbGllbnRNYW5hZ2VyLmdldENsaWVudChncmFwaHFsLmVuZHBvaW50LCBnZXRIZWFkZXJzKS5waXBlKFxuICAgICAgc3dpdGNoTWFwKChjbGllbnQpID0+IGNsaWVudC5zdWJzY3JpYmU8UmVjb3JkPHN0cmluZywgYW55Pj4oe1xuICAgICAgICBxdWVyeTogZ3FsYCR7Z3JhcGhxbC5xdWVyeX1gLFxuICAgICAgICB2YXJpYWJsZXM6IGdyYXBocWwudmFyaWFibGVzLFxuICAgICAgICBmZXRjaFBvbGljeTogJ25ldHdvcmstb25seScsXG4gICAgICB9KSksXG4gICAgKTtcbiAgfVxuXG4gIHF1ZXJ5KGdyYXBocWw6IEV4ZWN1dGFibGVHcmFwaHFsKSB7XG4gICAgY29uc3QgZ2V0SGVhZGVyczogR2V0SGVhZGVycyA9IHR5cGVvZiBncmFwaHFsLmhlYWRlcnMgPT09ICdmdW5jdGlvbicgXG4gICAgICA/IGdyYXBocWwuaGVhZGVycyBcbiAgICAgIDogKCkgPT4gUHJvbWlzZS5yZXNvbHZlKGdyYXBocWwuaGVhZGVycyBhcyBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+KTtcbiAgICByZXR1cm4gdGhpcy5hcG9sbG9DbGllbnRNYW5hZ2VyLmdldENsaWVudChncmFwaHFsLmVuZHBvaW50LCBnZXRIZWFkZXJzKS5waXBlKFxuICAgICAgc3dpdGNoTWFwKChjbGllbnQpID0+IGNsaWVudC5xdWVyeTxSZWNvcmQ8c3RyaW5nLCBhbnk+Pih7XG4gICAgICAgIHF1ZXJ5OiBncWxgJHtncmFwaHFsLnF1ZXJ5fWAsXG4gICAgICAgIHZhcmlhYmxlczogZ3JhcGhxbC52YXJpYWJsZXMsXG4gICAgICAgIGZldGNoUG9saWN5OiAnbmV0d29yay1vbmx5JyxcbiAgICAgIH0pKSxcbiAgICApO1xuICB9XG5cbiAgZ2V0U2NoZW1hKGdyYXBocWw6IEV4ZWN1dGFibGVHZXRTY2hlbWFHcmFwaHFsKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBnZXRIZWFkZXJzOiBHZXRIZWFkZXJzID0gdHlwZW9mIGdyYXBocWwuaGVhZGVycyA9PT0gJ2Z1bmN0aW9uJyBcbiAgICAgID8gZ3JhcGhxbC5oZWFkZXJzIFxuICAgICAgOiAoKSA9PiBQcm9taXNlLnJlc29sdmUoZ3JhcGhxbC5oZWFkZXJzIGFzIFJlY29yZDxzdHJpbmcsIHN0cmluZz4pO1xuICAgIHJldHVybiB0aGlzLmFwb2xsb0NsaWVudE1hbmFnZXIuZ2V0Q2xpZW50KGdyYXBocWwuZW5kcG9pbnQsIGdldEhlYWRlcnMpLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKGNsaWVudCkgPT4gY2xpZW50LnF1ZXJ5PFJlY29yZDxzdHJpbmcsIGFueT4+KHtcbiAgICAgICAgcXVlcnk6IGdxbGAke2dldEludHJvc3BlY3Rpb25RdWVyeSgpfWAsXG4gICAgICAgIHZhcmlhYmxlczoge30sXG4gICAgICAgIGZldGNoUG9saWN5OiAnbmV0d29yay1vbmx5JyxcbiAgICAgIH0pKSxcbiAgICApO1xuICB9XG59XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieHhtYWNoaW5hLWNvbW1vbi1zZXJ2aWNlcy1ncmFwaHFsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQHh4bWFjaGluYS9jb21tb24vc3JjL2xpYi9zZXJ2aWNlcy9ncmFwaHFsL3h4bWFjaGluYS1jb21tb24tc2VydmljZXMtZ3JhcGhxbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
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';
|
|
5
|
+
|
|
6
|
+
const QUERY_CONFIG = new InjectionToken('[@xxmachina/components] QUERY_CONFIG');
|
|
7
|
+
function provideQueryConfig(useFactory) {
|
|
8
|
+
return makeEnvironmentProviders([{ provide: QUERY_CONFIG, useFactory }]);
|
|
9
|
+
}
|
|
10
|
+
class QueryConfigService {
|
|
11
|
+
config$ = inject(QUERY_CONFIG);
|
|
12
|
+
replaceText(text, config) {
|
|
13
|
+
return Object.entries(config).reduce((text, [key, value]) => text.replaceAll(`$${key}`, value), text);
|
|
14
|
+
}
|
|
15
|
+
replace(params, config) {
|
|
16
|
+
if (typeof params === 'string') {
|
|
17
|
+
return this.replaceText(params, config);
|
|
18
|
+
}
|
|
19
|
+
const resonstruceted = reconstruct(params, (_, value) => {
|
|
20
|
+
if (typeof value === 'string') {
|
|
21
|
+
const newValue = this.replaceText(value, config);
|
|
22
|
+
return [true, newValue];
|
|
23
|
+
}
|
|
24
|
+
return [false];
|
|
25
|
+
});
|
|
26
|
+
return resonstruceted;
|
|
27
|
+
}
|
|
28
|
+
resolve(params) {
|
|
29
|
+
return this.config$.pipe(map(config => this.replace(params, config)));
|
|
30
|
+
}
|
|
31
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: QueryConfigService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
32
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: QueryConfigService, providedIn: 'root' });
|
|
33
|
+
}
|
|
34
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: QueryConfigService, decorators: [{
|
|
35
|
+
type: Injectable,
|
|
36
|
+
args: [{ providedIn: 'root' }]
|
|
37
|
+
}] });
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Generated bundle index. Do not edit.
|
|
41
|
+
*/
|
|
42
|
+
|
|
43
|
+
export { QUERY_CONFIG, QueryConfigService, provideQueryConfig };
|
|
44
|
+
//# sourceMappingURL=xxmachina-common-services-query-config.mjs.map
|