monorise 0.0.1
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/dist/base/index.d.ts +254 -0
- package/dist/base/index.js +44 -0
- package/dist/base/index.js.map +1 -0
- package/dist/cli/cli.d.ts +1 -0
- package/dist/cli/cli.js +461 -0
- package/dist/cli/cli.js.map +1 -0
- package/dist/core/index.d.ts +4767 -0
- package/dist/core/index.js +7941 -0
- package/dist/core/index.js.map +1 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.js +11 -0
- package/dist/react/actions/app.action.d.ts +46 -0
- package/dist/react/actions/app.action.d.ts.map +1 -0
- package/dist/react/actions/auth.action.d.ts +24 -0
- package/dist/react/actions/auth.action.d.ts.map +1 -0
- package/dist/react/actions/config.action.d.ts +10 -0
- package/dist/react/actions/config.action.d.ts.map +1 -0
- package/dist/react/actions/core.action.d.ts +219 -0
- package/dist/react/actions/core.action.d.ts.map +1 -0
- package/dist/react/index.d.ts +1093 -0
- package/dist/react/index.d.ts.map +1 -0
- package/dist/react/index.js +2344 -0
- package/dist/react/index.js.map +1 -0
- package/dist/react/lib/api.d.ts +38 -0
- package/dist/react/lib/api.d.ts.map +1 -0
- package/dist/react/lib/constant.d.ts +2 -0
- package/dist/react/lib/constant.d.ts.map +1 -0
- package/dist/react/lib/entity.d.ts +10 -0
- package/dist/react/lib/entity.d.ts.map +1 -0
- package/dist/react/lib/utils.d.ts +10 -0
- package/dist/react/lib/utils.d.ts.map +1 -0
- package/dist/react/services/auth.service.d.ts +21 -0
- package/dist/react/services/auth.service.d.ts.map +1 -0
- package/dist/react/services/core.service.d.ts +76 -0
- package/dist/react/services/core.service.d.ts.map +1 -0
- package/dist/react/services/filestore.service.d.ts +22 -0
- package/dist/react/services/filestore.service.d.ts.map +1 -0
- package/dist/react/store/monorise.store.d.ts +169 -0
- package/dist/react/store/monorise.store.d.ts.map +1 -0
- package/dist/react/tsup.config.d.ts +3 -0
- package/dist/react/tsup.config.d.ts.map +1 -0
- package/dist/react/types/api.type.d.ts +30 -0
- package/dist/react/types/api.type.d.ts.map +1 -0
- package/dist/react/types/axios.type.d.ts +13 -0
- package/dist/react/types/axios.type.d.ts.map +1 -0
- package/dist/react/types/monorise.type.d.ts +8 -0
- package/dist/react/types/monorise.type.d.ts.map +1 -0
- package/dist/react/types/mutual.type.d.ts +21 -0
- package/dist/react/types/mutual.type.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/analog.d.ts +423 -0
- package/dist/sst/.sst/platform/src/components/aws/analog.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/apigateway-websocket-route.d.ts +74 -0
- package/dist/sst/.sst/platform/src/components/aws/apigateway-websocket-route.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/apigateway-websocket.d.ts +542 -0
- package/dist/sst/.sst/platform/src/components/aws/apigateway-websocket.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/apigatewayv1-api-key.d.ts +48 -0
- package/dist/sst/.sst/platform/src/components/aws/apigatewayv1-api-key.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/apigatewayv1-authorizer.d.ts +55 -0
- package/dist/sst/.sst/platform/src/components/aws/apigatewayv1-authorizer.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/apigatewayv1-base-route.d.ts +36 -0
- package/dist/sst/.sst/platform/src/components/aws/apigatewayv1-base-route.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/apigatewayv1-integration-route.d.ts +39 -0
- package/dist/sst/.sst/platform/src/components/aws/apigatewayv1-integration-route.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/apigatewayv1-lambda-route.d.ts +53 -0
- package/dist/sst/.sst/platform/src/components/aws/apigatewayv1-lambda-route.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/apigatewayv1-usage-plan.d.ts +53 -0
- package/dist/sst/.sst/platform/src/components/aws/apigatewayv1-usage-plan.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/apigatewayv1.d.ts +1002 -0
- package/dist/sst/.sst/platform/src/components/aws/apigatewayv1.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/apigatewayv2-authorizer.d.ts +54 -0
- package/dist/sst/.sst/platform/src/components/aws/apigatewayv2-authorizer.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/apigatewayv2-base-route.d.ts +28 -0
- package/dist/sst/.sst/platform/src/components/aws/apigatewayv2-base-route.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/apigatewayv2-lambda-route.d.ts +59 -0
- package/dist/sst/.sst/platform/src/components/aws/apigatewayv2-lambda-route.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/apigatewayv2-private-route.d.ts +54 -0
- package/dist/sst/.sst/platform/src/components/aws/apigatewayv2-private-route.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/apigatewayv2-url-route.d.ts +44 -0
- package/dist/sst/.sst/platform/src/components/aws/apigatewayv2-url-route.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/apigatewayv2.d.ts +931 -0
- package/dist/sst/.sst/platform/src/components/aws/apigatewayv2.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/app-sync-data-source.d.ts +52 -0
- package/dist/sst/.sst/platform/src/components/aws/app-sync-data-source.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/app-sync-function.d.ts +33 -0
- package/dist/sst/.sst/platform/src/components/aws/app-sync-function.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/app-sync-resolver.d.ts +41 -0
- package/dist/sst/.sst/platform/src/components/aws/app-sync-resolver.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/app-sync.d.ts +638 -0
- package/dist/sst/.sst/platform/src/components/aws/app-sync.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/astro.d.ts +421 -0
- package/dist/sst/.sst/platform/src/components/aws/astro.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/aurora.d.ts +702 -0
- package/dist/sst/.sst/platform/src/components/aws/aurora.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/auth-v1.d.ts +26 -0
- package/dist/sst/.sst/platform/src/components/aws/auth-v1.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/auth.d.ts +295 -0
- package/dist/sst/.sst/platform/src/components/aws/auth.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/bucket-lambda-subscriber.d.ts +61 -0
- package/dist/sst/.sst/platform/src/components/aws/bucket-lambda-subscriber.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/bucket-notification.d.ts +47 -0
- package/dist/sst/.sst/platform/src/components/aws/bucket-notification.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/bucket-queue-subscriber.d.ts +55 -0
- package/dist/sst/.sst/platform/src/components/aws/bucket-queue-subscriber.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/bucket-topic-subscriber.d.ts +55 -0
- package/dist/sst/.sst/platform/src/components/aws/bucket-topic-subscriber.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/bucket.d.ts +1216 -0
- package/dist/sst/.sst/platform/src/components/aws/bucket.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/bus-base-subscriber.d.ts +20 -0
- package/dist/sst/.sst/platform/src/components/aws/bus-base-subscriber.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/bus-lambda-subscriber.d.ts +49 -0
- package/dist/sst/.sst/platform/src/components/aws/bus-lambda-subscriber.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/bus-queue-subscriber.d.ts +44 -0
- package/dist/sst/.sst/platform/src/components/aws/bus-queue-subscriber.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/bus.d.ts +403 -0
- package/dist/sst/.sst/platform/src/components/aws/bus.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/cdn.d.ts +299 -0
- package/dist/sst/.sst/platform/src/components/aws/cdn.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/cluster-v1.d.ts +882 -0
- package/dist/sst/.sst/platform/src/components/aws/cluster-v1.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/cluster.d.ts +306 -0
- package/dist/sst/.sst/platform/src/components/aws/cluster.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/cognito-identity-pool.d.ts +194 -0
- package/dist/sst/.sst/platform/src/components/aws/cognito-identity-pool.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/cognito-identity-provider.d.ts +38 -0
- package/dist/sst/.sst/platform/src/components/aws/cognito-identity-provider.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/cognito-user-pool-client.d.ts +50 -0
- package/dist/sst/.sst/platform/src/components/aws/cognito-user-pool-client.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/cognito-user-pool.d.ts +603 -0
- package/dist/sst/.sst/platform/src/components/aws/cognito-user-pool.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/cron.d.ts +250 -0
- package/dist/sst/.sst/platform/src/components/aws/cron.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/dns-validated-certificate.d.ts +27 -0
- package/dist/sst/.sst/platform/src/components/aws/dns-validated-certificate.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/dns.d.ts +94 -0
- package/dist/sst/.sst/platform/src/components/aws/dns.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/dynamo-lambda-subscriber.d.ts +55 -0
- package/dist/sst/.sst/platform/src/components/aws/dynamo-lambda-subscriber.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/dynamo.d.ts +568 -0
- package/dist/sst/.sst/platform/src/components/aws/dynamo.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/efs.d.ts +217 -0
- package/dist/sst/.sst/platform/src/components/aws/efs.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/email.d.ts +291 -0
- package/dist/sst/.sst/platform/src/components/aws/email.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/fargate.d.ts +803 -0
- package/dist/sst/.sst/platform/src/components/aws/fargate.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/function.d.ts +1629 -0
- package/dist/sst/.sst/platform/src/components/aws/function.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/helpers/apigateway-account.d.ts +3 -0
- package/dist/sst/.sst/platform/src/components/aws/helpers/apigateway-account.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/helpers/apigatewayv2-domain.d.ts +144 -0
- package/dist/sst/.sst/platform/src/components/aws/helpers/apigatewayv2-domain.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/helpers/arn.d.ts +40 -0
- package/dist/sst/.sst/platform/src/components/aws/helpers/arn.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/helpers/bootstrap.d.ts +13 -0
- package/dist/sst/.sst/platform/src/components/aws/helpers/bootstrap.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/helpers/container-builder.d.ts +4 -0
- package/dist/sst/.sst/platform/src/components/aws/helpers/container-builder.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/helpers/function-builder.d.ts +10 -0
- package/dist/sst/.sst/platform/src/components/aws/helpers/function-builder.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/helpers/provider.d.ts +3 -0
- package/dist/sst/.sst/platform/src/components/aws/helpers/provider.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/helpers/quota.d.ts +7 -0
- package/dist/sst/.sst/platform/src/components/aws/helpers/quota.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/helpers/site-builder.d.ts +4 -0
- package/dist/sst/.sst/platform/src/components/aws/helpers/site-builder.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/helpers/subscriber.d.ts +6 -0
- package/dist/sst/.sst/platform/src/components/aws/helpers/subscriber.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/https-redirect.d.ts +38 -0
- package/dist/sst/.sst/platform/src/components/aws/https-redirect.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/iam-edit.d.ts +39 -0
- package/dist/sst/.sst/platform/src/components/aws/iam-edit.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/index.d.ts +48 -0
- package/dist/sst/.sst/platform/src/components/aws/index.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/kinesis-stream-lambda-subscriber.d.ts +48 -0
- package/dist/sst/.sst/platform/src/components/aws/kinesis-stream-lambda-subscriber.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/kinesis-stream.d.ts +249 -0
- package/dist/sst/.sst/platform/src/components/aws/kinesis-stream.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/linkable.d.ts +17 -0
- package/dist/sst/.sst/platform/src/components/aws/linkable.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/logging.d.ts +26 -0
- package/dist/sst/.sst/platform/src/components/aws/logging.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/mysql.d.ts +496 -0
- package/dist/sst/.sst/platform/src/components/aws/mysql.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/nextjs.d.ts +517 -0
- package/dist/sst/.sst/platform/src/components/aws/nextjs.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/nuxt.d.ts +495 -0
- package/dist/sst/.sst/platform/src/components/aws/nuxt.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/open-search.d.ts +295 -0
- package/dist/sst/.sst/platform/src/components/aws/open-search.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/opencontrol.d.ts +165 -0
- package/dist/sst/.sst/platform/src/components/aws/opencontrol.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/permission.d.ts +40 -0
- package/dist/sst/.sst/platform/src/components/aws/permission.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/postgres-v1.d.ts +317 -0
- package/dist/sst/.sst/platform/src/components/aws/postgres-v1.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/postgres.d.ts +500 -0
- package/dist/sst/.sst/platform/src/components/aws/postgres.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/providers/bucket-files.d.ts +18 -0
- package/dist/sst/.sst/platform/src/components/aws/providers/bucket-files.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/providers/distribution-deployment-waiter.d.ts +13 -0
- package/dist/sst/.sst/platform/src/components/aws/providers/distribution-deployment-waiter.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/providers/distribution-invalidation.d.ts +11 -0
- package/dist/sst/.sst/platform/src/components/aws/providers/distribution-invalidation.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/providers/function-environment-update.d.ts +29 -0
- package/dist/sst/.sst/platform/src/components/aws/providers/function-environment-update.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/providers/hosted-zone-lookup.d.ts +11 -0
- package/dist/sst/.sst/platform/src/components/aws/providers/hosted-zone-lookup.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/providers/kv-keys.d.ts +11 -0
- package/dist/sst/.sst/platform/src/components/aws/providers/kv-keys.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/providers/kv-routes-update.d.ts +11 -0
- package/dist/sst/.sst/platform/src/components/aws/providers/kv-routes-update.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/providers/origin-access-control.d.ts +8 -0
- package/dist/sst/.sst/platform/src/components/aws/providers/origin-access-control.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/providers/rds-role-lookup.d.ts +8 -0
- package/dist/sst/.sst/platform/src/components/aws/providers/rds-role-lookup.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/providers/vector-table.d.ts +12 -0
- package/dist/sst/.sst/platform/src/components/aws/providers/vector-table.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/queue-lambda-subscriber.d.ts +48 -0
- package/dist/sst/.sst/platform/src/components/aws/queue-lambda-subscriber.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/queue.d.ts +485 -0
- package/dist/sst/.sst/platform/src/components/aws/queue.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/react.d.ts +416 -0
- package/dist/sst/.sst/platform/src/components/aws/react.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/realtime-lambda-subscriber.d.ts +53 -0
- package/dist/sst/.sst/platform/src/components/aws/realtime-lambda-subscriber.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/realtime.d.ts +232 -0
- package/dist/sst/.sst/platform/src/components/aws/realtime.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/redis-v1.d.ts +338 -0
- package/dist/sst/.sst/platform/src/components/aws/redis-v1.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/redis.d.ts +364 -0
- package/dist/sst/.sst/platform/src/components/aws/redis.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/remix.d.ts +423 -0
- package/dist/sst/.sst/platform/src/components/aws/remix.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/router-base-route.d.ts +28 -0
- package/dist/sst/.sst/platform/src/components/aws/router-base-route.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/router-bucket-route.d.ts +29 -0
- package/dist/sst/.sst/platform/src/components/aws/router-bucket-route.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/router-url-route.d.ts +28 -0
- package/dist/sst/.sst/platform/src/components/aws/router-url-route.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/router.d.ts +1272 -0
- package/dist/sst/.sst/platform/src/components/aws/router.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/service-v1.d.ts +78 -0
- package/dist/sst/.sst/platform/src/components/aws/service-v1.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/service.d.ts +1625 -0
- package/dist/sst/.sst/platform/src/components/aws/service.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/sns-topic-lambda-subscriber.d.ts +53 -0
- package/dist/sst/.sst/platform/src/components/aws/sns-topic-lambda-subscriber.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/sns-topic-queue-subscriber.d.ts +55 -0
- package/dist/sst/.sst/platform/src/components/aws/sns-topic-queue-subscriber.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/sns-topic.d.ts +389 -0
- package/dist/sst/.sst/platform/src/components/aws/sns-topic.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/solid-start.d.ts +414 -0
- package/dist/sst/.sst/platform/src/components/aws/solid-start.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/ssr-site.d.ts +685 -0
- package/dist/sst/.sst/platform/src/components/aws/ssr-site.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/static-site.d.ts +736 -0
- package/dist/sst/.sst/platform/src/components/aws/static-site.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/step-functions/choice.d.ts +73 -0
- package/dist/sst/.sst/platform/src/components/aws/step-functions/choice.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/step-functions/fail.d.ts +63 -0
- package/dist/sst/.sst/platform/src/components/aws/step-functions/fail.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/step-functions/map.d.ts +236 -0
- package/dist/sst/.sst/platform/src/components/aws/step-functions/map.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/step-functions/parallel.d.ts +127 -0
- package/dist/sst/.sst/platform/src/components/aws/step-functions/parallel.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/step-functions/pass.d.ts +39 -0
- package/dist/sst/.sst/platform/src/components/aws/step-functions/pass.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/step-functions/state.d.ts +231 -0
- package/dist/sst/.sst/platform/src/components/aws/step-functions/state.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/step-functions/succeed.d.ts +26 -0
- package/dist/sst/.sst/platform/src/components/aws/step-functions/succeed.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/step-functions/task.d.ts +477 -0
- package/dist/sst/.sst/platform/src/components/aws/step-functions/task.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/step-functions/wait.d.ts +91 -0
- package/dist/sst/.sst/platform/src/components/aws/step-functions/wait.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/step-functions.d.ts +473 -0
- package/dist/sst/.sst/platform/src/components/aws/step-functions.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/svelte-kit.d.ts +417 -0
- package/dist/sst/.sst/platform/src/components/aws/svelte-kit.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/tan-stack-start.d.ts +354 -0
- package/dist/sst/.sst/platform/src/components/aws/tan-stack-start.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/task.d.ts +322 -0
- package/dist/sst/.sst/platform/src/components/aws/task.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/vector.d.ts +150 -0
- package/dist/sst/.sst/platform/src/components/aws/vector.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/vpc-v1.d.ts +208 -0
- package/dist/sst/.sst/platform/src/components/aws/vpc-v1.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/vpc.d.ts +444 -0
- package/dist/sst/.sst/platform/src/components/aws/vpc.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/base/base-site.d.ts +53 -0
- package/dist/sst/.sst/platform/src/components/base/base-site.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/base/base-ssr-site.d.ts +13 -0
- package/dist/sst/.sst/platform/src/components/base/base-ssr-site.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/base/base-static-site.d.ts +199 -0
- package/dist/sst/.sst/platform/src/components/base/base-static-site.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/cloudflare/account-id.d.ts +2 -0
- package/dist/sst/.sst/platform/src/components/cloudflare/account-id.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/cloudflare/auth.d.ts +22 -0
- package/dist/sst/.sst/platform/src/components/cloudflare/auth.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/cloudflare/binding.d.ts +69 -0
- package/dist/sst/.sst/platform/src/components/cloudflare/binding.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/cloudflare/bucket.d.ts +103 -0
- package/dist/sst/.sst/platform/src/components/cloudflare/bucket.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/cloudflare/cron.d.ts +121 -0
- package/dist/sst/.sst/platform/src/components/cloudflare/cron.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/cloudflare/d1.d.ts +107 -0
- package/dist/sst/.sst/platform/src/components/cloudflare/d1.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/cloudflare/dns.d.ts +94 -0
- package/dist/sst/.sst/platform/src/components/cloudflare/dns.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/cloudflare/experimental/astro.d.ts +186 -0
- package/dist/sst/.sst/platform/src/components/cloudflare/experimental/astro.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/cloudflare/experimental/index.d.ts +4 -0
- package/dist/sst/.sst/platform/src/components/cloudflare/experimental/index.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/cloudflare/experimental/solid-start.d.ts +171 -0
- package/dist/sst/.sst/platform/src/components/cloudflare/experimental/solid-start.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/cloudflare/experimental/static-site.d.ts +222 -0
- package/dist/sst/.sst/platform/src/components/cloudflare/experimental/static-site.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/cloudflare/helpers/fetch.d.ts +19 -0
- package/dist/sst/.sst/platform/src/components/cloudflare/helpers/fetch.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/cloudflare/helpers/worker-builder.d.ts +10 -0
- package/dist/sst/.sst/platform/src/components/cloudflare/helpers/worker-builder.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/cloudflare/index.d.ts +16 -0
- package/dist/sst/.sst/platform/src/components/cloudflare/index.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/cloudflare/kv.d.ts +107 -0
- package/dist/sst/.sst/platform/src/components/cloudflare/kv.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/cloudflare/providers/dns-record.d.ts +20 -0
- package/dist/sst/.sst/platform/src/components/cloudflare/providers/dns-record.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/cloudflare/providers/kv-data.d.ts +23 -0
- package/dist/sst/.sst/platform/src/components/cloudflare/providers/kv-data.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/cloudflare/providers/worker-assets.d.ts +18 -0
- package/dist/sst/.sst/platform/src/components/cloudflare/providers/worker-assets.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/cloudflare/providers/worker-url.d.ts +22 -0
- package/dist/sst/.sst/platform/src/components/cloudflare/providers/worker-url.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/cloudflare/providers/zone-lookup.d.ts +22 -0
- package/dist/sst/.sst/platform/src/components/cloudflare/providers/zone-lookup.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/cloudflare/queue.d.ts +60 -0
- package/dist/sst/.sst/platform/src/components/cloudflare/queue.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/cloudflare/ssr-site.d.ts +51 -0
- package/dist/sst/.sst/platform/src/components/cloudflare/ssr-site.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/cloudflare/static-site.d.ts +262 -0
- package/dist/sst/.sst/platform/src/components/cloudflare/static-site.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/cloudflare/worker.d.ts +295 -0
- package/dist/sst/.sst/platform/src/components/cloudflare/worker.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/component.d.ts +37 -0
- package/dist/sst/.sst/platform/src/components/component.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/cpu.d.ts +3 -0
- package/dist/sst/.sst/platform/src/components/cpu.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/dns.d.ts +59 -0
- package/dist/sst/.sst/platform/src/components/dns.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/duration.d.ts +7 -0
- package/dist/sst/.sst/platform/src/components/duration.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/error.d.ts +4 -0
- package/dist/sst/.sst/platform/src/components/error.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/experimental/dev-command.d.ts +99 -0
- package/dist/sst/.sst/platform/src/components/experimental/dev-command.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/experimental/index.d.ts +2 -0
- package/dist/sst/.sst/platform/src/components/experimental/index.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/index.d.ts +16 -0
- package/dist/sst/.sst/platform/src/components/index.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/input.d.ts +3 -0
- package/dist/sst/.sst/platform/src/components/input.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/link.d.ts +41 -0
- package/dist/sst/.sst/platform/src/components/link.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/linkable.d.ts +271 -0
- package/dist/sst/.sst/platform/src/components/linkable.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/naming.d.ts +7 -0
- package/dist/sst/.sst/platform/src/components/naming.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/path.d.ts +2 -0
- package/dist/sst/.sst/platform/src/components/path.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/rpc/rpc.d.ts +19 -0
- package/dist/sst/.sst/platform/src/components/rpc/rpc.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/secret.d.ts +125 -0
- package/dist/sst/.sst/platform/src/components/secret.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/size.d.ts +5 -0
- package/dist/sst/.sst/platform/src/components/size.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/vercel/account-id.d.ts +2 -0
- package/dist/sst/.sst/platform/src/components/vercel/account-id.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/vercel/dns.d.ts +73 -0
- package/dist/sst/.sst/platform/src/components/vercel/dns.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/vercel/index.d.ts +3 -0
- package/dist/sst/.sst/platform/src/components/vercel/index.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/vercel/providers/dns-record.d.ts +14 -0
- package/dist/sst/.sst/platform/src/components/vercel/providers/dns-record.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/config.d.ts +1258 -0
- package/dist/sst/.sst/platform/src/config.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/util/compare-semver.d.ts +4 -0
- package/dist/sst/.sst/platform/src/util/compare-semver.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/util/fs.d.ts +5 -0
- package/dist/sst/.sst/platform/src/util/fs.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/util/lazy.d.ts +2 -0
- package/dist/sst/.sst/platform/src/util/lazy.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/util/semaphore.d.ts +9 -0
- package/dist/sst/.sst/platform/src/util/semaphore.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/util/warn.d.ts +2 -0
- package/dist/sst/.sst/platform/src/util/warn.d.ts.map +1 -0
- package/dist/sst/components/dashboard.d.ts +2 -0
- package/dist/sst/components/dashboard.d.ts.map +1 -0
- package/dist/sst/components/monorise-core.d.ts +18 -0
- package/dist/sst/components/monorise-core.d.ts.map +1 -0
- package/dist/sst/components/q-function.d.ts +17 -0
- package/dist/sst/components/q-function.d.ts.map +1 -0
- package/dist/sst/components/single-table.d.ts +14 -0
- package/dist/sst/components/single-table.d.ts.map +1 -0
- package/dist/sst/constants/event.d.ts +73 -0
- package/dist/sst/constants/event.d.ts.map +1 -0
- package/dist/sst/constants/table.d.ts +3 -0
- package/dist/sst/constants/table.d.ts.map +1 -0
- package/dist/sst/index.d.ts +11 -0
- package/dist/sst/index.d.ts.map +1 -0
- package/dist/sst/index.js +609 -0
- package/dist/sst/index.js.map +1 -0
- package/dist/sst/sst.config.d.ts +3 -0
- package/dist/sst/sst.config.d.ts.map +1 -0
- package/dist/sst/tsup.config.d.ts +3 -0
- package/dist/sst/tsup.config.d.ts.map +1 -0
- package/package.json +83 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../actions/app.action.ts","../actions/auth.action.ts","../actions/config.action.ts","../actions/core.action.ts","../lib/entity.ts","../lib/utils.ts","../lib/api.ts","../services/auth.service.ts","../services/core.service.ts","../services/filestore.service.ts","../store/monorise.store.ts","../index.ts"],"sourcesContent":["import { produce } from 'immer';\nimport { useEffect, useState } from 'react';\nimport type { ApplicationRequestError, ModalProps } from '../types/api.type';\nimport type { MonoriseStore } from '../store/monorise.store';\n\ntype StartLoadingPayload<T> = {\n requestKey: string;\n isInterruptive?: boolean;\n message?: string | boolean;\n request: Promise<T>;\n};\n\ntype EndLoadingPayload = {\n requestKey: string;\n isInterruptive?: boolean;\n};\n\ntype SetErrorPayload = {\n requestKey: string;\n error: ApplicationRequestError;\n};\n\ntype Options = {\n modals?: Record<string, React.ComponentType<unknown>>;\n};\n\nconst initAppActions = (store: MonoriseStore) => {\n let options: Options = {};\n\n const { modals = {} } = options;\n type AppModalProps = ModalProps<typeof modals>;\n\n const startLoading = <T>({\n requestKey,\n isInterruptive,\n message,\n request,\n }: StartLoadingPayload<T>) => {\n store.setState(\n produce((state) => {\n const stackType = isInterruptive ? 'intLoadStack' : 'loadStack';\n const requestKeyCount = state.app[stackType].get(requestKey);\n\n state.app.loadingMessage =\n typeof message === 'string' ? message : 'Loading';\n state.app.ongoingRequests.set(requestKey, request);\n state.app[stackType].set(\n requestKey,\n requestKeyCount ? requestKeyCount + 1 : 1,\n );\n }),\n undefined,\n `mr/start-loading/${requestKey}`,\n );\n };\n\n const endLoading = ({ requestKey, isInterruptive }: EndLoadingPayload) => {\n setTimeout(() => {\n store.setState(\n produce((state) => {\n const stackType = isInterruptive ? 'intLoadStack' : 'loadStack';\n const requestKeyCount = state.app[stackType].get(requestKey);\n\n if (state.app.ongoingRequests.has(requestKey)) {\n state.app.ongoingRequests.delete(requestKey);\n }\n\n if (typeof requestKeyCount === 'number' && requestKeyCount > 1) {\n state.app[stackType].set(requestKey, requestKeyCount - 1);\n } else {\n state.app[stackType].delete(requestKey);\n }\n }),\n undefined,\n `mr/end-loading/${requestKey}`,\n );\n }, 500);\n };\n\n const checkIsLoading = (requestKey?: string) => {\n const { intLoadStack, loadStack } = store.getState().app;\n if (!requestKey) {\n return intLoadStack.size > 0 || loadStack.size > 0;\n }\n\n const activeIntLoadingCount = intLoadStack.get(requestKey);\n const isIntLoading =\n typeof activeIntLoadingCount === 'number' && activeIntLoadingCount > 0;\n\n const activeLoadingCount = loadStack.get(requestKey);\n const isLoading =\n typeof activeLoadingCount === 'number' && activeLoadingCount > 0;\n\n return isIntLoading || isLoading;\n };\n\n const setError = ({ requestKey, error }: SetErrorPayload) =>\n store.setState(\n produce((state) => {\n state.app.errorStack.set(requestKey, error);\n }),\n undefined,\n `mr/set-error/${requestKey}`,\n );\n\n const getError = (requestKey: string) => {\n const { errorStack } = store.getState().app;\n return errorStack.get(requestKey);\n };\n\n const clearError = (requestKey: string) => {\n const { errorStack } = store.getState().app;\n\n if (errorStack.has(requestKey)) {\n store.setState(\n produce((state) => {\n state.app.errorStack.delete(requestKey);\n }),\n undefined,\n `mr/clear-error/${requestKey}`,\n );\n }\n };\n\n const openModal = (modal: {\n name: keyof AppModalProps;\n context?: AppModalProps[keyof AppModalProps];\n }) =>\n store.setState(\n produce((state) => {\n state.app.modal = modal;\n }),\n undefined,\n `mr/open-modal/${modal.name}`,\n );\n\n const closeModal = () =>\n store.setState(\n produce((state) => {\n state.app.modal = { name: null };\n }),\n undefined,\n 'mr/close-modal',\n );\n\n const useLoadStore = (requestKey?: string) => {\n const { loadStack, intLoadStack } = store((state) => ({\n loadStack: state.app.loadStack,\n intLoadStack: state.app.intLoadStack,\n }));\n const [isLoading, setIsLoading] = useState(false);\n\n useEffect(() => {\n if (loadStack && intLoadStack && requestKey) {\n setIsLoading(checkIsLoading(requestKey));\n }\n }, [loadStack, intLoadStack, requestKey]);\n\n return isLoading;\n };\n\n const useInterruptiveLoadStore = () => {\n const { intLoadStack, loadingMessage } = store((state) => ({\n intLoadStack: state.app.intLoadStack,\n loadingMessage: state.app.loadingMessage,\n }));\n\n return {\n isLoading: intLoadStack.size > 0,\n message: loadingMessage,\n };\n };\n\n const useErrorStore = (requestKey: string) => {\n const error = store((state) => state.app.errorStack.get(requestKey));\n\n useEffect(() => {\n if (error) {\n return () => {\n clearError(requestKey);\n };\n }\n }, [error, requestKey]);\n\n return error;\n };\n\n const useModalStore = () => {\n return store((state) => state.app.modal);\n };\n\n const setOptions = (opts: Options) => {\n options = {\n ...options,\n ...opts,\n };\n };\n\n return {\n startLoading,\n endLoading,\n setError,\n getError,\n clearError,\n openModal,\n closeModal,\n checkIsLoading,\n useLoadStore,\n useInterruptiveLoadStore,\n useErrorStore,\n useModalStore,\n setOptions,\n };\n};\n\nexport { initAppActions };\n\nexport type AppActions = ReturnType<typeof initAppActions>;\n","import type { Entity } from '@monorise/base';\nimport { produce } from 'immer';\nimport type { AuthService } from '../services/auth.service';\nimport type { MonoriseStore } from '../store/monorise.store';\n\nconst initAuthActions = (store: MonoriseStore, authService: AuthService) => {\n const requestLogin = async (\n entityType: Entity,\n payload: { email: string },\n ) => {\n const { data } = await authService.requestLoginMagicLink(\n entityType,\n payload,\n );\n\n return data;\n };\n\n const useProfile = <T extends Record<string, unknown>>(): T & {\n displayName: string;\n email: string;\n accountId: string;\n impersonatorId?: string;\n } => {\n const profile = store((state) => state.auth.profile);\n\n return profile as T & typeof profile;\n };\n\n const getProfile = async () => {\n try {\n const {\n data: { displayName, email, accountId, ...rest },\n } = await authService.getSessionProfile();\n\n store.setState(\n produce((state) => {\n state.auth.profile = { displayName, email, accountId, ...rest };\n state.auth.isUnauthorized = false;\n state.auth.isLoading = false;\n }),\n undefined,\n 'mr/auth/get-profile',\n );\n } catch {\n store.setState(\n produce((state) => {\n state.auth.profile = {};\n state.auth.isUnauthorized = true;\n state.auth.isLoading = false;\n }),\n undefined,\n 'mr/auth/get-profile',\n );\n }\n };\n\n const useIsUnauthorized = () => {\n const { isUnauthorized, profile, isLoading } = store((state) => state.auth);\n\n return { isUnauthorized: isUnauthorized && !profile.accountId, isLoading };\n };\n\n const setIsUnauthorized = (isUnauthorized: boolean) =>\n store.setState(\n produce((state) => {\n state.auth.isUnauthorized = isUnauthorized;\n }),\n );\n\n const logout = () => {\n authService.logout();\n store.setState(\n produce((state) => {\n state.auth.isUnauthorized = true;\n state.auth.profile = {};\n }),\n );\n };\n\n return {\n requestLogin,\n useProfile,\n getProfile,\n useIsUnauthorized,\n setIsUnauthorized,\n logout,\n };\n};\n\nexport { initAuthActions };\n\nexport type AuthActions = ReturnType<typeof initAuthActions>;\n","import type {\n CreatedEntity,\n Entity,\n MonoriseEntityConfig,\n} from '@monorise/base';\nimport { produce } from 'immer';\nimport type { MonoriseStore } from '../store/monorise.store';\nimport type { CommonStore } from '../types/monorise.type';\n\nconst initConfigActions = (store: MonoriseStore) => {\n const setConfig = (config: Record<Entity, MonoriseEntityConfig>) => {\n const entityMaps = Object.keys(config).reduce(\n (acc, entity) => {\n acc[entity as any] = {\n dataMap: new Map<string, CreatedEntity<Entity>>(),\n isFirstFetched: false,\n lastKey: '',\n } as CommonStore<CreatedEntity<Entity>>;\n return acc;\n },\n {} as Record<Entity, CommonStore<CreatedEntity<Entity>>>,\n );\n\n store.setState(\n produce((state) => {\n state.config = config;\n state.entity = entityMaps;\n }),\n );\n };\n\n const getConfig = () => {\n return store.getState().config;\n };\n\n const useConfig = () => {\n const config = store((state) => state.config);\n\n return config;\n };\n\n return {\n setConfig,\n getConfig,\n useConfig,\n };\n};\n\nexport { initConfigActions };\n\nexport type ConfigActions = ReturnType<typeof initConfigActions>;\n","import type {\n CreatedEntity,\n DraftEntity,\n Entity,\n EntitySchemaMap,\n} from '@monorise/base';\nimport { produce } from 'immer';\nimport { useEffect, useState } from 'react';\nimport {\n byEntityId,\n constructLocal,\n constructMutual,\n flipMutual,\n} from '../lib/entity';\nimport {\n convertToMap,\n getEntityRequestKey,\n getMutualRequestKey,\n getMutualStateKey,\n getTagRequestKey,\n getTagStateKey,\n getUniqueFieldRequestKey,\n getUniqueFieldStateKey,\n} from '../lib/utils';\nimport type {\n CommonOptions,\n CoreService,\n ListEntitiesByTagParams,\n} from '../services/core.service';\nimport type { MonoriseStore } from '../store/monorise.store';\nimport type { ApplicationRequestError } from '../types/api.type';\nimport type { CommonStore } from '../types/monorise.type';\nimport type { Mutual, MutualData } from '../types/mutual.type';\nimport type { AppActions } from './app.action';\n\n// ===== Important tips ======\n// Should we use store.getState() or store()?\n// USE store.getState() WHEN using within an action such as getEntity, getProfile\n// USE store() WHEN using within a react hook so that it gets the benefit of reactivity, such as useProfile, useEntity\n\nconst defaultOnError = (error: ApplicationRequestError | Error) => {\n if (!(error instanceof Error) && error.status >= 500) {\n // we only want server error to be captured by error tracking service\n throw error;\n }\n};\n\nconst initCoreActions = (\n monoriseStore: MonoriseStore,\n appActions: AppActions,\n coreService: CoreService,\n) => {\n const { makeEntityService, makeMutualService } = coreService;\n const { checkIsLoading, getError, useLoadStore, useErrorStore } = appActions;\n\n const listEntities = async <T extends Entity>(\n entityType: T,\n params: {\n skRange?: { start: string; end: string };\n all?: boolean;\n } = {},\n opts: CommonOptions = {},\n ) => {\n const store = monoriseStore.getState();\n const entityState = store.entity[entityType] ?? {};\n const { isFirstFetched } = entityState;\n const entityService = makeEntityService(entityType);\n const { skRange } = params;\n const requestKey = getEntityRequestKey('list', entityType);\n const isLoading = checkIsLoading(requestKey);\n const error = getError(requestKey);\n const onError = opts.onError ?? defaultOnError;\n\n if (error) {\n onError(error);\n return;\n }\n\n if (\n !opts.forceFetch &&\n ((isFirstFetched && !params.skRange) || isLoading)\n ) {\n return;\n }\n\n try {\n const { data: result } = await entityService.listEntities(\n {\n ...(params?.all ? {} : { limit: 20 }),\n start: skRange?.start,\n end: skRange?.end,\n },\n opts,\n );\n const newEntityMap = convertToMap<CreatedEntity<T>>(\n result.data,\n 'entityId',\n );\n\n const mergedMap = new Map([\n ...newEntityMap,\n ...store.entity[entityType].dataMap,\n ]);\n\n monoriseStore.setState(\n produce((state) => {\n state.entity[entityType] = {\n dataMap: params.skRange ? newEntityMap : mergedMap,\n isFirstFetched: true,\n lastKey: result.lastKey,\n };\n }),\n undefined,\n `mr/entity/list/${entityType}`,\n );\n } catch (err) {\n const error: Error & { originalError?: unknown } =\n err instanceof Error ? err : new Error('Unknown error occurred');\n\n return { error };\n }\n };\n\n const listMoreEntities = async <T extends Entity>(\n entityType: T,\n opts: CommonOptions = {},\n ) => {\n const requestKey = getEntityRequestKey('list', entityType);\n const store = monoriseStore.getState();\n const entityState = store.entity[entityType];\n const { dataMap, lastKey } = entityState;\n const entityService = makeEntityService(entityType);\n const error = getError(requestKey);\n const onError = opts.onError ?? defaultOnError;\n\n if (!lastKey) {\n return;\n }\n\n if (error) {\n onError(error);\n return;\n }\n\n try {\n const { data: result } = await entityService.listEntities(\n {\n limit: 20,\n lastKey,\n },\n opts,\n );\n\n monoriseStore.setState(\n produce((state) => {\n state.entity[entityType].isFirstFetched = true;\n state.entity[entityType].lastKey = result.lastKey;\n for (const i in result.data) {\n state.entity[entityType].dataMap.set(\n result.data[i].entityId,\n result.data[i],\n );\n }\n }),\n undefined,\n `mr/entity/list-more/${entityType}`,\n );\n } catch (err) {\n const error: Error & { originalError?: unknown } =\n err instanceof Error ? err : new Error('Unknown error occurred');\n\n return { error };\n }\n };\n\n const searchEntities = async <T extends Entity>(\n entityType: T,\n query: string,\n opts: CommonOptions = {},\n ) => {\n const requestKey = getEntityRequestKey('search', entityType);\n const entityService = makeEntityService(entityType);\n const error = getError(requestKey);\n const onError = opts.onError ?? defaultOnError;\n\n if (error) {\n onError(error);\n return;\n }\n\n try {\n const { data: result } = await entityService.searchEntities(query, opts);\n\n monoriseStore.setState(\n produce((state) => {\n state.entity[entityType].searchResults = result.data;\n for (const i in result.data) {\n state.entity[entityType].dataMap.set(\n result.data[i].entityId,\n result.data[i],\n );\n }\n }),\n );\n } catch (err) {\n const error: Error & { originalError?: unknown } =\n err instanceof Error ? err : new Error('Unknown error occurred');\n\n return { error };\n }\n };\n\n const listEntitiesByTag = async <T extends Entity>(\n entityType: T,\n tagName: string,\n opts: CommonOptions & { params?: ListEntitiesByTagParams } = {},\n ) => {\n const tagKey = getTagStateKey(entityType, tagName, opts.params);\n\n const state = monoriseStore.getState();\n const tagState = state.tag[tagKey] || {};\n const { isFirstFetched, dataMap } = tagState;\n const entityService = makeEntityService(entityType);\n const { forceFetch } = opts;\n const requestKey = getTagRequestKey(\n 'list',\n entityType,\n tagName,\n opts.params,\n );\n const isLoading = checkIsLoading(requestKey);\n const error = getError(requestKey);\n const onError = opts.onError ?? defaultOnError;\n\n if (!forceFetch) {\n if (error) {\n onError(error);\n return { error };\n }\n\n if (isFirstFetched || isLoading) {\n return {\n data: {\n entities: Array.from(dataMap?.values() || []),\n lastKey: null,\n },\n };\n }\n }\n\n try {\n const { data } = await entityService.listEntitiesByTag(tagName, {\n ...opts,\n requestKey,\n });\n const { entities, lastKey } = data;\n\n monoriseStore.setState(\n produce((state) => {\n for (const entity of entities) {\n state.entity[entityType].dataMap.set(entity.entityId, entity);\n }\n }),\n );\n\n monoriseStore.setState(\n produce((state) => {\n // Initialize tag state if it doesn't exist\n if (!state.tag[tagKey]) {\n state.tag[tagKey] = {\n dataMap: new Map(),\n isFirstFetched: false,\n };\n }\n\n // Merge new entities into existing dataMap instead of replacing\n for (const entity of entities) {\n state.tag[tagKey].dataMap.set(entity.entityId, entity);\n }\n\n state.tag[tagKey].isFirstFetched = true;\n state.tag[tagKey].lastKey = lastKey;\n }),\n );\n\n return { data };\n } catch (err) {\n const error: Error & { originalError?: unknown } =\n err instanceof Error ? err : new Error('Unknown error occurred');\n\n return { error };\n }\n };\n\n const getEntity = async <T extends Entity>(\n entityType: T,\n id: string,\n opts: CommonOptions = {},\n ): Promise<{\n data?: CreatedEntity<T>;\n error?: ApplicationRequestError | (Error & { originalError?: unknown });\n }> => {\n const store = monoriseStore.getState();\n const entityState = store.entity[entityType];\n const { dataMap } = entityState;\n const entityService = makeEntityService(entityType);\n let entity = dataMap.get(id);\n const requestKey = getEntityRequestKey('get', entityType, id);\n const isLoading = checkIsLoading(requestKey);\n const error = getError(requestKey);\n const { forceFetch } = opts;\n const onError = opts.onError ?? defaultOnError;\n\n if (!forceFetch) {\n if (error) {\n // If there's an existing error, handle it and return the error.\n onError?.(error);\n return { error };\n }\n\n if (entity) {\n // If entity already exists and no force fetch, return it.\n return { data: entity };\n }\n\n if (isLoading) {\n // If already loading, return undefined data and error to indicate ongoing operation.\n return {};\n }\n }\n\n try {\n ({ data: entity } = await entityService.getEntity(id, opts));\n\n monoriseStore.setState(\n produce((state) => {\n state.entity[entityType].dataMap.set(entity?.entityId, entity);\n }),\n undefined,\n `mr/entity/get/${entityType}/${id}`,\n );\n\n return { data: entity };\n } catch (err) {\n const error: Error & { originalError?: unknown } =\n err instanceof Error ? err : new Error('Unknown error occurred');\n\n return { error };\n }\n };\n\n const getEntityByUniqueField = async <T extends Entity>(\n entityType: T,\n fieldName: string,\n value: string,\n opts: CommonOptions = {},\n ) => {\n const store = monoriseStore.getState();\n const entityState = store.entity[entityType];\n const { dataMap } = entityState;\n const entityService = makeEntityService(entityType);\n const stateKey = getUniqueFieldStateKey(fieldName, value);\n let entity = dataMap.get(stateKey);\n const requestKey = getUniqueFieldRequestKey(entityType, fieldName, value);\n const isLoading = checkIsLoading(requestKey);\n const error = getError(requestKey);\n const { forceFetch } = opts;\n const onError = opts.onError ?? defaultOnError;\n\n if (!forceFetch) {\n if (error) {\n onError?.(error);\n return { error };\n }\n\n if (entity) {\n return { data: entity };\n }\n\n if (isLoading) {\n return {};\n }\n }\n\n try {\n ({ data: entity } = await entityService.getEntityByUniqueField(\n fieldName,\n value,\n opts,\n ));\n\n monoriseStore.setState(\n produce((state) => {\n state.entity[entityType].dataMap.set(entity?.entityId, entity);\n state.entity[entityType].dataMap.set(`${stateKey}`, entity);\n }),\n undefined,\n `mr/entity/unique/${entityType}/${stateKey}`,\n );\n\n return { data: entity };\n } catch (err) {\n const error: Error & { originalError?: unknown } =\n err instanceof Error ? err : new Error('Unknown error occurred');\n\n return { error };\n }\n };\n\n const createEntity = async <T extends Entity>(\n entityType: T,\n entity: DraftEntity<T>,\n opts: CommonOptions = {},\n ) => {\n const entityService = makeEntityService(entityType);\n const onError = opts.onError ?? defaultOnError;\n\n try {\n const { data } = await entityService.createEntity(entity, opts);\n\n monoriseStore.setState(\n produce((state) => {\n state.entity[entityType].dataMap.set(data.entityId, data);\n }),\n undefined,\n `mr/entity/create/${entityType}`,\n );\n\n return { data };\n } catch (err) {\n const error: Error & { originalError?: unknown } =\n err instanceof Error ? err : new Error('Unknown error occurred');\n\n onError?.(error);\n\n return { error };\n }\n };\n\n const upsertEntity = async <T extends Entity>(\n entityType: T,\n id: string,\n entity: DraftEntity<T>,\n opts: CommonOptions = {},\n ) => {\n const entityService = makeEntityService(entityType);\n const onError = opts.onError ?? defaultOnError;\n\n try {\n const { data } = await entityService.upsertEntity(id, entity, opts);\n\n monoriseStore.setState(\n produce((state) => {\n state.entity[entityType].dataMap.set(data.entityId, data);\n }),\n undefined,\n `mr/entity/upsert/${entityType}/${id}`,\n );\n return { data };\n } catch (err) {\n const error: Error & { originalError?: unknown } =\n err instanceof Error ? err : new Error('Unknown error occurred');\n onError(error);\n return { error };\n }\n };\n\n const editEntity = async <T extends Entity>(\n entityType: T,\n id: string,\n entity: Partial<DraftEntity<T>>,\n opts: CommonOptions = {},\n ) => {\n const entityService = makeEntityService(entityType);\n const onError = opts.onError ?? defaultOnError;\n\n try {\n const { data } = await entityService.editEntity(id, entity, opts);\n\n monoriseStore.setState(\n produce((state) => {\n state.entity[entityType].dataMap.set(data.entityId, data);\n\n // update mutual's entity data\n for (const key of Object.keys(state.mutual)) {\n const [_byEntity, _byId, _entityType] = key.split('/');\n if ((_entityType as unknown as Entity) === entityType) {\n const mutual = state.mutual[key].dataMap.get(id);\n if (mutual) {\n state.mutual[key].dataMap = new Map(\n state.mutual[key].dataMap,\n ).set(id, { ...mutual, data: data.data });\n }\n }\n }\n }),\n undefined,\n `mr/entity/edit/${entityType}/${id}`,\n );\n return { data };\n } catch (err) {\n const error: Error & { originalError?: unknown } =\n err instanceof Error ? err : new Error('Unknown error occurred');\n onError(error);\n return { error };\n }\n };\n\n const deleteEntity = async <T extends Entity>(\n entityType: T,\n id: string,\n opts: CommonOptions = {},\n ) => {\n const entityService = makeEntityService(entityType);\n const onError = opts.onError ?? defaultOnError;\n\n try {\n await entityService.deleteEntity(id, opts);\n deleteLocalMutualsByEntity(entityType, id);\n\n monoriseStore.setState(\n produce((state) => {\n state.entity[entityType].dataMap.delete(id);\n\n // delete mutual's entity data\n for (const key of Object.keys(state.mutual)) {\n const [_byEntity, _byId, _entityType] = key.split('/');\n if ((_entityType as unknown as Entity) === entityType) {\n state.mutual[key].dataMap.delete(id);\n }\n }\n }),\n undefined,\n `mr/entity/delete/${entityType}/${id}`,\n );\n return { data: { entityId: id } }; // Indicate success with the deleted ID\n } catch (err) {\n const error: Error & { originalError?: unknown } =\n err instanceof Error ? err : new Error('Unknown error occurred');\n onError(error);\n return { error };\n }\n };\n\n const listEntitiesByEntity = async <B extends Entity, T extends Entity>(\n byEntityType: B,\n entityType: T,\n id: string,\n opts: CommonOptions = {},\n chainEntityQuery?: string,\n ) => {\n const onError = opts.onError ?? defaultOnError;\n const selfKey =\n opts.stateKey ??\n getMutualStateKey(\n byEntityType,\n id,\n entityType,\n undefined,\n chainEntityQuery,\n );\n const mutualService = makeMutualService(byEntityType, entityType);\n const store = monoriseStore.getState();\n const mutualState = store.mutual[selfKey] || {};\n const { isFirstFetched } = mutualState;\n const requestKey = getMutualRequestKey(\n 'list',\n byEntityType,\n entityType,\n id,\n undefined,\n chainEntityQuery,\n );\n const isLoading = checkIsLoading(requestKey);\n const error = getError(requestKey);\n const { forceFetch } = opts;\n\n if (!forceFetch) {\n if (error) {\n onError(error);\n return { error };\n }\n\n if (isFirstFetched || isLoading) {\n return {\n data: {\n entities: Array.from(mutualState.dataMap?.values() || []),\n lastKey: mutualState.lastKey,\n },\n };\n }\n }\n\n try {\n const { data } = await mutualService.listEntitiesByEntity(\n id,\n opts,\n chainEntityQuery,\n );\n const { entities, lastKey } = data;\n const newEntityDataMap = new Map();\n\n for (const i in entities) {\n newEntityDataMap.set(entities[i].entityId, entities[i]);\n }\n\n monoriseStore.setState(\n produce((state) => {\n for (const [key, value] of newEntityDataMap) {\n state.entity[entityType]?.dataMap.set(key, value);\n }\n\n // prepare or extend the mutual entry\n const existing = state.mutual[selfKey];\n if (existing) {\n // extend the existing map\n const incoming = convertToMap(entities, 'entityId');\n for (const [k, v] of incoming) {\n existing.dataMap.set(k, v);\n }\n existing.isFirstFetched = true;\n existing.lastKey = lastKey;\n } else {\n // first time: create it\n state.mutual[selfKey] = {\n dataMap: convertToMap(entities, 'entityId'),\n isFirstFetched: true,\n lastKey,\n };\n }\n }),\n undefined,\n `mr/mutual/list/${selfKey}`,\n );\n\n return { data };\n } catch (err) {\n const error: Error & { originalError?: unknown } =\n err instanceof Error ? err : new Error('Unknown error occurred');\n\n return { error };\n }\n };\n\n // todo: list more mutuals by entity\n // const listMoremutualsByEntity = async (\n // entityType: Entity,\n // otherEntityType: Entity,\n // id: string,\n // ) =>\n\n const getMutual = async <B extends Entity, T extends Entity>(\n byEntityType: B,\n entityType: T,\n byEntityId: string | null,\n entityId: string,\n opts: CommonOptions & {\n // if failed to retrieve, would still set a default mutual data\n defaultMutualData?: Record<string, any>;\n } = {},\n ) => {\n const selfKey = getMutualStateKey(byEntityType, byEntityId, entityType);\n const mutualService = makeMutualService(byEntityType, entityType);\n const store = monoriseStore.getState();\n const mutualState = store.mutual[selfKey] || {};\n const requestKey = getMutualRequestKey(\n 'get',\n byEntityType,\n entityType,\n byEntityId,\n entityId,\n );\n const isLoading = checkIsLoading(requestKey);\n const error = getError(requestKey);\n const onError = opts.onError ?? defaultOnError;\n\n if (error) {\n onError?.(error);\n return { error };\n }\n\n if (!byEntityId || isLoading) {\n return {\n data: mutualState.dataMap?.get(entityId) as Mutual<B, T>,\n };\n }\n\n if (mutualState.dataMap?.get(entityId)) {\n return {\n data: mutualState.dataMap.get(entityId) as Mutual<B, T>,\n };\n }\n\n let mutual: Omit<Mutual<B, T>, 'data'>;\n let hasRequestFailed = false;\n\n try {\n ({ data: mutual } = await mutualService.getMutual(\n byEntityId,\n entityId,\n opts,\n ));\n } catch (err) {\n if (!opts.defaultMutualData) {\n const error: Error & { originalError?: unknown } =\n err instanceof Error ? err : new Error('Unknown error occurred');\n return { error };\n }\n\n hasRequestFailed = true;\n mutual = {\n createdAt: new Date().toISOString(),\n updatedAt: new Date().toISOString(),\n mutualId: `${byEntityId}-${entityId}`,\n mutualUpdatedAt: new Date().toISOString(),\n byEntityType,\n byEntityId,\n entityType,\n entityId,\n mutualData: opts.defaultMutualData,\n };\n }\n\n const newMutualDataMap = new Map(store.mutual[selfKey]?.dataMap);\n newMutualDataMap.set(mutual.entityId, mutual as Mutual<B, T>);\n\n if (!hasRequestFailed) {\n const entityState = store.entity[entityType];\n const { dataMap: entityDataMap } = entityState;\n\n const newEntityDataMap = new Map(entityDataMap);\n newEntityDataMap.set(mutual.entityId, mutual as any);\n\n monoriseStore.setState(\n produce((state) => {\n state.mutual[selfKey] = {\n ...(state.mutual[selfKey] || {}),\n dataMap: newMutualDataMap,\n };\n state.entity[entityType].dataMap = newEntityDataMap;\n }),\n undefined,\n `mr/mutual/get/${getMutualStateKey(\n byEntityType,\n byEntityId,\n entityType,\n entityId,\n )}`,\n );\n }\n return { data: mutual as Mutual<B, T> };\n };\n\n const createMutual = async <B extends Entity, T extends Entity>(\n byEntityType: B,\n entityType: T,\n byEntityId: string,\n entityId: string,\n payload: MutualData<B, T> | Record<string, any> = {},\n opts: CommonOptions = {},\n ) => {\n const mutualService = makeMutualService(byEntityType, entityType);\n const onError = opts.onError ?? defaultOnError;\n\n try {\n const { data: mutual } = await mutualService.createMutual(\n byEntityId,\n entityId,\n payload,\n opts,\n );\n\n monoriseStore.setState(\n produce((state) => {\n const bySide = getMutualStateKey(\n byEntityType,\n byEntityId,\n entityType,\n );\n const side = getMutualStateKey(entityType, entityId, byEntityType);\n\n if (!state.mutual[bySide]) {\n state.mutual[bySide] = {\n dataMap: new Map(),\n };\n }\n\n state.mutual[bySide].dataMap = new Map(\n state.mutual[bySide]?.dataMap,\n ).set(mutual.entityId, mutual);\n\n if (!state.mutual[side]) {\n state.mutual[side] = {\n dataMap: new Map(),\n };\n }\n\n state.mutual[side].dataMap = new Map(state.mutual[side]?.dataMap).set(\n mutual.byEntityId,\n flipMutual(mutual),\n );\n }),\n undefined,\n `mr/mutual/create/${getMutualStateKey(byEntityType, byEntityId, entityType, entityId)}`,\n );\n return { data: mutual };\n } catch (err) {\n const error: Error & { originalError?: unknown } =\n err instanceof Error ? err : new Error('Unknown error occurred');\n onError(error);\n return { error };\n }\n };\n\n const createLocalMutual = async <B extends Entity, T extends Entity>(\n byEntityType: B,\n entityType: T,\n byEntityId: string,\n entityId: string,\n mutualData: MutualData<B, T>,\n data: EntitySchemaMap[T] | Record<string, any>,\n ) => {\n const mutual = constructMutual(\n byEntityType,\n byEntityId,\n entityType,\n entityId,\n mutualData,\n data as EntitySchemaMap[T],\n );\n\n monoriseStore.setState(\n produce((state) => {\n const bySide = getMutualStateKey(byEntityType, byEntityId, entityType);\n const side = getMutualStateKey(entityType, entityId, byEntityType);\n\n if (!state.mutual[bySide]) {\n state.mutual[bySide] = {\n dataMap: new Map(),\n };\n }\n\n state.mutual[bySide].dataMap = new Map(\n state.mutual[bySide]?.dataMap,\n ).set(mutual.entityId, mutual);\n\n if (!state.mutual[side]) {\n state.mutual[side] = {\n dataMap: new Map(),\n };\n }\n\n state.mutual[side].dataMap = new Map(state.mutual[side]?.dataMap).set(\n mutual.byEntityId,\n flipMutual(mutual),\n );\n }),\n undefined,\n `mr/mutual/create/${getMutualStateKey(byEntityType, byEntityId, entityType, entityId)}`,\n );\n };\n\n const updateLocalEntity = async <T extends Entity>(\n entityType: Entity,\n entityId: string,\n data: Partial<DraftEntity<T>> = {},\n ) => {\n const createdEntity = constructLocal(entityType, entityId, data);\n\n monoriseStore.setState(\n produce((state) => {\n state.entity[entityType].dataMap.set(entityId, createdEntity);\n }),\n undefined,\n `mr/entity/local-update/${entityType}/${entityId}`,\n );\n };\n\n const upsertLocalMutual = async <B extends Entity, T extends Entity>(\n byEntityType: B,\n entityType: T,\n byEntityId: string,\n entityId: string,\n mutualData: MutualData<B, T>,\n data: EntitySchemaMap[T] | Record<string, any> = {},\n ) => {\n const mutual = constructMutual(\n byEntityType,\n byEntityId,\n entityType,\n entityId,\n mutualData,\n data as EntitySchemaMap[T],\n );\n\n monoriseStore.setState(\n produce((state) => {\n const bySide = getMutualStateKey(byEntityType, byEntityId, entityType);\n const side = getMutualStateKey(entityType, entityId, byEntityType);\n\n if (!state.mutual[bySide]) {\n state.mutual[bySide] = {\n dataMap: new Map(),\n };\n }\n\n state.mutual[bySide].dataMap = new Map(\n state.mutual[bySide]?.dataMap,\n ).set(entityId, mutual);\n\n if (!state.mutual[side]) {\n state.mutual[side] = {\n dataMap: new Map(),\n };\n }\n\n state.mutual[side].dataMap = new Map(state.mutual[side]?.dataMap).set(\n byEntityId,\n flipMutual(mutual),\n );\n }),\n undefined,\n `mr/mutual/local-update/${getMutualStateKey(byEntityType, byEntityId, entityType, entityId)}`,\n );\n };\n\n const editMutual = async <B extends Entity, T extends Entity>(\n byEntityType: B,\n entityType: T,\n byEntityId: string,\n entityId: string,\n payload: MutualData<B, T> | Record<string, any> = {},\n opts: CommonOptions = {},\n ) => {\n const mutualService = makeMutualService(byEntityType, entityType);\n const onError = opts.onError ?? defaultOnError;\n\n try {\n const { data: mutual } = await mutualService.editMutual(\n byEntityId,\n entityId,\n payload,\n opts,\n );\n\n monoriseStore.setState(\n produce((state) => {\n const bySide = getMutualStateKey(\n byEntityType,\n byEntityId,\n entityType,\n );\n const side = getMutualStateKey(entityType, entityId, byEntityType);\n\n if (!state.mutual[bySide]) {\n state.mutual[bySide] = {\n dataMap: new Map(),\n };\n }\n\n state.mutual[bySide].dataMap = new Map(\n state.mutual[bySide]?.dataMap,\n ).set(mutual.entityId, mutual);\n\n if (!state.mutual[side]) {\n state.mutual[side] = {\n dataMap: new Map(),\n };\n }\n\n state.mutual[side].dataMap = new Map(state.mutual[side]?.dataMap).set(\n mutual.byEntityId,\n flipMutual(mutual),\n );\n }),\n undefined,\n `mr/mutual/edit/${getMutualStateKey(byEntityType, byEntityId, entityType, entityId)}`,\n );\n return { data: mutual };\n } catch (err) {\n const error: Error & { originalError?: unknown } =\n err instanceof Error ? err : new Error('Unknown error occurred');\n onError(error);\n return { error };\n }\n };\n\n const deleteMutual = async <B extends Entity, T extends Entity>(\n byEntityType: B,\n entityType: T,\n byEntityId: string,\n entityId = '',\n opts: CommonOptions = {},\n ) => {\n const mutualService = makeMutualService(byEntityType, entityType);\n const onError = opts.onError ?? defaultOnError;\n\n try {\n const { data } = await mutualService.deleteMutual(\n byEntityId,\n entityId,\n opts,\n );\n\n monoriseStore.setState(\n produce((state) => {\n const bySide = getMutualStateKey(\n byEntityType,\n byEntityId,\n entityType,\n );\n const side = getMutualStateKey(entityType, entityId, byEntityType);\n\n state.mutual[bySide].dataMap.delete(data.entityId);\n\n if (state.mutual[side]) {\n state.mutual[side].dataMap.delete(data.byEntityId);\n }\n }),\n undefined,\n `mr/mutual/delete/${getMutualStateKey(byEntityType, byEntityId, entityType, entityId)}`,\n );\n return { data };\n } catch (err) {\n const error: Error & { originalError?: unknown } =\n err instanceof Error ? err : new Error('Unknown error occurred');\n onError(error);\n return { error };\n }\n };\n\n const deleteLocalMutual = <B extends Entity, T extends Entity>(\n byEntityType: B,\n entityType: T,\n byEntityId: string,\n entityId: string,\n ) => {\n monoriseStore.setState(\n produce((state) => {\n const bySide = getMutualStateKey(byEntityType, byEntityId, entityType);\n const side = getMutualStateKey(entityType, entityId, byEntityType);\n const bySideDataMap = new Map(state.mutual[bySide]?.dataMap);\n const sideDataMap = new Map(state.mutual[side]?.dataMap);\n bySideDataMap.delete(entityId);\n sideDataMap.delete(byEntityId);\n\n if (state.mutual[bySide]) {\n state.mutual[bySide].dataMap.delete(entityId);\n }\n if (state.mutual[side]) {\n state.mutual[side].dataMap.delete(byEntityId);\n }\n }),\n undefined,\n `mr/mutual/local-delete/${getMutualStateKey(byEntityType, byEntityId, entityType, entityId)}`,\n );\n };\n\n const deleteLocalMutualsByEntity = <T extends Entity>(\n entityType: T,\n id: string,\n ) => {\n const store = monoriseStore.getState();\n const entityConfig = store.config; // Assuming store.config holds mutual related configurations\n let mutuals: Mutual[] = [];\n for (const i of Object.keys(entityConfig)) {\n const mutualState = store.mutual[`${entityType}/${id}/${i}`];\n mutuals = [\n ...mutuals,\n ...Array.from(mutualState?.dataMap.values() || []),\n ];\n }\n\n const updatedState = mutuals.reduce(\n (acc, mutual) => {\n const side = getMutualStateKey(\n mutual.entityType,\n mutual.entityId,\n mutual.byEntityType,\n );\n const dataMap = new Map(store.mutual[side]?.dataMap); // Use optional chaining\n dataMap.delete(id);\n acc[side] = {\n ...store.mutual[side],\n dataMap,\n };\n return acc;\n },\n {} as Record<string, CommonStore<Mutual>>,\n );\n\n monoriseStore.setState(\n produce((state) => {\n // This is a full replacement, might not be desired for partial updates.\n // If state.mutual can contain other keys, this might clear them.\n // Consider a more granular update if needed.\n for (const key in updatedState) {\n state.mutual[key] = updatedState[key];\n }\n }),\n undefined,\n `mr/mutual/local-delete-by-entity/${entityType}/${id}`,\n );\n };\n\n const useEntity = <T extends Entity>(\n entityType: T,\n id?: string,\n opts: CommonOptions = {},\n ): {\n entity: CreatedEntity<T> | undefined;\n isLoading: boolean;\n error?: ApplicationRequestError;\n requestKey: string;\n isFirstFetched?: boolean;\n refetch: () => Promise<CreatedEntity<T> | undefined>;\n } => {\n const dataMap = monoriseStore(\n (state) => state.entity[entityType]?.dataMap || new Map(),\n );\n const isFirstFetched = monoriseStore(\n (state) => state.entity[entityType]?.isFirstFetched,\n );\n const requestKey = getEntityRequestKey('get', entityType, id);\n const isLoading = useLoadStore(requestKey);\n const error = useErrorStore(requestKey);\n\n useEffect(() => {\n if (id) {\n getEntity(entityType, id, opts);\n }\n }, [id, entityType, opts]);\n\n return {\n entity: id ? dataMap.get(id) : undefined,\n isLoading,\n error,\n requestKey,\n isFirstFetched,\n refetch: async () => {\n if (id) {\n const { data, error: fetchError } = await getEntity(entityType, id, {\n ...opts,\n forceFetch: true,\n });\n if (fetchError) {\n // Handle refetch error if necessary, e.g., throw or set local state\n }\n return data;\n }\n },\n };\n };\n\n const useEntityByUniqueField = <T extends Entity>(\n entityType: T,\n fieldName: string,\n value?: string,\n opts: CommonOptions = {},\n ): {\n entity: CreatedEntity<T> | undefined;\n isLoading: boolean;\n error?: ApplicationRequestError;\n requestKey: string;\n isFirstFetched?: boolean;\n refetch: () => Promise<CreatedEntity<T> | undefined>;\n } => {\n const dataMap = monoriseStore(\n (state) => state.entity[entityType]?.dataMap || new Map(),\n );\n const isFirstFetched = monoriseStore(\n (state) => state.entity[entityType]?.isFirstFetched,\n );\n const stateKey = getUniqueFieldStateKey(fieldName, value || '');\n const requestKey = getUniqueFieldRequestKey(\n entityType,\n fieldName,\n value || '',\n );\n const isLoading = useLoadStore(requestKey);\n const error = useErrorStore(requestKey);\n\n useEffect(() => {\n if (value) {\n getEntityByUniqueField(entityType, fieldName, value, opts);\n }\n }, [fieldName, value, entityType, opts]);\n\n return {\n entity: value ? dataMap.get(`${stateKey}`) : undefined,\n isLoading,\n error,\n requestKey,\n isFirstFetched,\n refetch: async () => {\n if (value) {\n const { data, error: fetchError } = await getEntityByUniqueField(\n entityType,\n fieldName,\n value,\n {\n ...opts,\n forceFetch: true,\n },\n );\n if (fetchError) {\n // Handle refetch error if necessary\n }\n return data;\n }\n },\n };\n };\n\n const useEntities = <T extends Entity>(\n entityType: T,\n params: {\n skRange?: {\n start: string;\n end: string;\n };\n all?: boolean;\n } = {},\n opts: CommonOptions & { searchInterval?: number } = {},\n ): {\n isLoading: boolean;\n entities?: CreatedEntity<T>[];\n entitiesMap: Map<string, CreatedEntity<T>>;\n error?: ApplicationRequestError;\n requestKey: string;\n searchField: {\n value: string;\n onChange: (event: React.ChangeEvent<HTMLInputElement>) => void;\n };\n lastKey?: string;\n isFirstFetched?: boolean;\n listMore: () => void;\n refetch: () => void;\n } => {\n const requestKey = getEntityRequestKey('list', entityType);\n const isListing = useLoadStore(requestKey);\n const error = useErrorStore(requestKey);\n const state = monoriseStore((state) => state.entity[entityType]);\n const { dataMap, searchResults, isFirstFetched, lastKey } = state ?? {\n dataMap: new Map(),\n };\n const [entities, setEntities] = useState<CreatedEntity<T>[]>();\n const [query, setQuery] = useState<string>('');\n const [skRange, setBetween] = useState(params.skRange);\n const [all, setAll] = useState(params.all);\n const [isSearching, setIsSearching] = useState(false);\n const isLoading = isListing || isSearching;\n\n useEffect(() => {\n if (\n params?.skRange &&\n skRange?.start !== params.skRange.start &&\n skRange?.end !== params.skRange.end\n ) {\n setBetween(params.skRange);\n }\n }, [skRange?.end, skRange?.start, params.skRange]);\n\n useEffect(() => {\n if (params?.all !== all) {\n setAll(params.all);\n }\n }, [all, params.all]);\n\n useEffect(() => {\n if (!isFirstFetched) {\n listEntities(entityType, { skRange, all }, opts);\n }\n }, [all, entityType, skRange, opts, isFirstFetched]);\n\n useEffect(() => {\n let queryTimeout: NodeJS.Timeout;\n\n if (query?.length) {\n setIsSearching(true);\n queryTimeout = setTimeout(async () => {\n await searchEntities(entityType, query);\n setIsSearching(false);\n }, opts.searchInterval ?? 700);\n }\n\n return () => queryTimeout && clearTimeout(queryTimeout);\n }, [entityType, query]);\n\n useEffect(() => {\n if (!query && dataMap.size !== entities?.length) {\n setIsSearching(false);\n setEntities(\n Array.from(dataMap.values()).sort(byEntityId) as CreatedEntity<T>[],\n );\n }\n\n if (query) {\n setEntities(searchResults as CreatedEntity<T>[]);\n }\n }, [\n dataMap,\n dataMap.size,\n entities?.length,\n query,\n searchResults,\n searchResults?.length,\n ]);\n\n const handleQueryChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n setQuery(event.target.value);\n };\n\n const searchField = {\n value: query,\n onChange: handleQueryChange,\n };\n\n return {\n entities,\n entitiesMap: dataMap,\n searchField,\n isLoading,\n error,\n requestKey,\n isFirstFetched,\n lastKey,\n refetch: async () => {\n if (entityType && query) {\n await searchEntities(entityType, query);\n return;\n }\n await listEntities(\n entityType,\n { skRange, all },\n {\n ...opts,\n forceFetch: true,\n },\n );\n },\n listMore: async () => {\n if (!lastKey) return;\n\n await listMoreEntities(entityType, {\n ...opts,\n forceFetch: true,\n });\n },\n };\n };\n\n const useMutual = <B extends Entity, T extends Entity>(\n byEntityType: B,\n entityType: T,\n byId: string | null,\n id: string,\n opts: CommonOptions & {\n // if failed to retrieve, would still set a default mutual data\n defaultMutualData?: Record<string, any>;\n } = {},\n ): {\n mutual?: Mutual<B, T>;\n isLoading: boolean;\n error?: ApplicationRequestError;\n requestKey: string;\n } => {\n const stateKey = getMutualStateKey(byEntityType, byId, entityType);\n const state = monoriseStore((state) => state.mutual[stateKey]);\n const requestKey = getMutualRequestKey(\n 'get',\n byEntityType,\n entityType,\n byId,\n id,\n );\n const isLoading = useLoadStore(requestKey);\n const error = useErrorStore(requestKey);\n\n const { dataMap } = state || {\n dataMap: new Map(),\n };\n\n useEffect(() => {\n if (!dataMap.get(id)) {\n getMutual(byEntityType, entityType, byId, id, opts);\n }\n }, [byEntityType, byId, entityType, id, opts, dataMap]);\n\n return {\n mutual: dataMap.get(id) as Mutual<B, T>,\n isLoading,\n error,\n requestKey,\n };\n };\n\n const useMutuals = <B extends Entity, T extends Entity>(\n byEntityType: B,\n entityType: T,\n byId?: string,\n opts: CommonOptions = {},\n chainEntityQuery?: string, // chain entity query, refer to list-entities-by-entity.controller.ts\n ): {\n mutuals: Mutual<B, T>[];\n mutualsMap: Map<string, Mutual<B, T>>;\n isLoading: boolean;\n requestKey: string;\n error?: ApplicationRequestError;\n isFirstFetched?: boolean;\n lastKey?: string;\n listMore?: () => void;\n } => {\n const stateKey = getMutualStateKey(\n byEntityType,\n byId || '',\n entityType,\n undefined,\n chainEntityQuery,\n );\n const state = monoriseStore((state) => state.mutual[stateKey]);\n const { dataMap, isFirstFetched, lastKey } = state || {\n dataMap: new Map(),\n };\n const [mutuals, setMutuals] = useState<Mutual<B, T>[]>([]);\n const requestKey = getMutualRequestKey(\n 'list',\n byEntityType,\n entityType,\n byId || '',\n undefined,\n chainEntityQuery,\n );\n const isLoading = useLoadStore(requestKey);\n const error = useErrorStore(requestKey);\n\n useEffect(() => {\n if (!isFirstFetched && byEntityType && entityType && byId) {\n listEntitiesByEntity(\n byEntityType,\n entityType,\n byId,\n { ...opts, stateKey },\n chainEntityQuery,\n );\n }\n }, [\n isFirstFetched,\n byEntityType,\n byId,\n entityType,\n opts,\n chainEntityQuery,\n stateKey,\n opts?.forceFetch,\n opts?.noData,\n ]);\n\n useEffect(() => {\n const dataMapArray = Array.from(dataMap.values());\n if (\n dataMap.size !== mutuals?.length ||\n dataMapArray.some(\n (item, index) =>\n JSON.stringify(item) !== JSON.stringify(mutuals[index]),\n )\n ) {\n setMutuals(dataMapArray as Mutual<B, T>[]);\n }\n }, [dataMap, dataMap.size, mutuals?.length]);\n\n return {\n mutuals,\n mutualsMap: dataMap as Map<string, Mutual<B, T>>,\n isLoading,\n requestKey,\n error,\n isFirstFetched,\n lastKey,\n ...(lastKey && {\n listMore: () => {\n if (byEntityType && entityType && byId) {\n listEntitiesByEntity(\n byEntityType,\n entityType,\n byId,\n {\n ...opts,\n forceFetch: true,\n params: { ...opts.params, lastKey },\n stateKey,\n },\n chainEntityQuery,\n );\n }\n },\n }),\n };\n };\n\n const useTaggedEntities = <T extends Entity>(\n entityType: T,\n tagName: string,\n opts: CommonOptions & { params?: ListEntitiesByTagParams } = {},\n ) => {\n const { params } = opts || {};\n const stateKey = getTagStateKey(entityType, tagName, params);\n const state = monoriseStore((state) => state.tag[stateKey]);\n const { dataMap, isFirstFetched, lastKey } = state || {\n dataMap: new Map(),\n };\n const [entities, setEntities] = useState<CreatedEntity<T>[]>([]);\n const requestKey = getTagRequestKey('list', entityType, tagName, params);\n const isLoading = useLoadStore(requestKey);\n const error = useErrorStore(requestKey);\n\n useEffect(() => {\n if (entityType && tagName && Object.keys(params).length > 0) {\n listEntitiesByTag(entityType, tagName, opts);\n }\n }, [entityType, opts, tagName, params, opts?.forceFetch]);\n\n useEffect(() => {\n const dataMapArray = Array.from(dataMap.values());\n if (\n dataMap.size !== entities?.length ||\n dataMapArray.some(\n (item, index) =>\n JSON.stringify(item) !== JSON.stringify(entities[index]),\n )\n ) {\n setEntities(dataMapArray as CreatedEntity<T>[]);\n }\n }, [dataMap, dataMap.size, entities?.length]);\n\n return {\n entities,\n entitiesMap: dataMap as Map<string, CreatedEntity<T>>,\n isLoading,\n requestKey,\n error,\n isFirstFetched,\n lastKey,\n refetch: async () => {\n if (entityType && tagName && params?.group) {\n return await listEntitiesByTag(entityType, tagName, {\n ...opts,\n forceFetch: true,\n });\n }\n },\n listMore: async () => {\n if (entityType && tagName && params?.group) {\n return await listEntitiesByTag(entityType, tagName, {\n ...opts,\n forceFetch: true,\n params: { ...params, lastKey },\n });\n }\n },\n };\n };\n\n const useEntityState = <T extends Entity>(entityType: T) => {\n return monoriseStore((state) => state.entity[entityType]);\n };\n\n const updateLocalTaggedEntity = <T extends Entity>(\n entityType: T,\n entityId: string,\n tagName: string,\n data: Partial<DraftEntity<T>> = {},\n params?: ListEntitiesByTagParams,\n ) => {\n const tagKey = getTagStateKey(\n entityType,\n tagName,\n params as Record<string, string>,\n );\n\n monoriseStore.setState(\n produce((state) => {\n const entity = state.tag[tagKey]?.dataMap?.get(entityId);\n if (entity) {\n state.tag[tagKey].dataMap.set(entityId, {\n ...entity,\n data: { ...entity.data, ...data },\n });\n }\n }),\n undefined,\n `mr/tag/local-update/${entityType}/${entityId}`,\n );\n };\n\n const deleteLocalTaggedEntity = <T extends Entity>(\n entityType: T,\n entityId: string,\n tagName: string,\n params?: ListEntitiesByTagParams,\n ) => {\n const tagKey = getTagStateKey(\n entityType,\n tagName,\n params as Record<string, string>,\n );\n\n monoriseStore.setState(\n produce((state) => {\n if (state.tag[tagKey]?.dataMap?.has(entityId)) {\n state.tag[tagKey].dataMap.delete(entityId);\n }\n }),\n undefined,\n `mr/tag/local-delete/${entityType}/${entityId}`,\n );\n };\n\n return {\n listMoreEntities,\n createEntity,\n upsertEntity,\n getEntity,\n editEntity,\n deleteEntity,\n getMutual,\n updateLocalEntity,\n createMutual,\n createLocalMutual,\n upsertLocalMutual,\n editMutual,\n deleteMutual,\n deleteLocalMutual,\n useEntity,\n useEntityByUniqueField,\n useEntities,\n useMutual,\n useMutuals,\n useTaggedEntities,\n useEntityState,\n updateLocalTaggedEntity,\n deleteLocalTaggedEntity,\n };\n};\n\nexport { initCoreActions };\n\nexport type CoreActions = ReturnType<typeof initCoreActions>;\n","import type { CreatedEntity, Entity, EntitySchemaMap } from '@monorise/base';\nimport type { Mutual, MutualData } from '../types/mutual.type';\n\nexport const constructLocal = (\n entityType: Entity,\n entityId: string,\n data: any,\n): CreatedEntity<Entity> => {\n return {\n entityType: entityType as unknown as string,\n entityId,\n data,\n createdAt: new Date().toISOString(),\n updatedAt: new Date().toISOString(),\n };\n};\n\nexport const constructMutual = <B extends Entity, T extends Entity>(\n byEntityType: B,\n byEntityId: string,\n entityType: T,\n entityId: string,\n mutualData: Partial<MutualData<B, T>>,\n data: EntitySchemaMap[T],\n): Mutual => {\n return {\n mutualId: `${byEntityId}-${entityId}`,\n byEntityType,\n byEntityId,\n entityType,\n entityId,\n mutualData,\n data,\n createdAt: new Date().toISOString(),\n updatedAt: new Date().toISOString(),\n mutualUpdatedAt: new Date().toISOString(),\n };\n};\n\nexport const flipMutual = (mutual: Mutual): Mutual => {\n return {\n ...mutual,\n entityId: mutual.byEntityId,\n entityType: mutual.byEntityType,\n byEntityId: mutual.entityId,\n byEntityType: mutual.entityType,\n };\n};\n\nexport const byMutualIndex = (a: Mutual<any, any>, b: Mutual<any, any>) => {\n return a.mutualData.index - b.mutualData.index;\n};\n\nexport const byEntityId = (a: CreatedEntity<any>, b: CreatedEntity<any>) => {\n if (b.entityId < a.entityId) return -1;\n return 1;\n};\n\nexport const constructOrderByIndex = (mutuals: Mutual<any, any>[]) => {\n return mutuals.sort(byMutualIndex).map((mutual) => mutual.entityId);\n};\n\nexport const injectFields = <T extends Entity>(\n entity: CreatedEntity<T> | undefined,\n fields: Record<string, any>,\n): CreatedEntity<T> | undefined => {\n return entity\n ? {\n ...entity,\n data: {\n ...entity.data,\n ...fields,\n },\n }\n : undefined;\n};\n","import type { Entity } from '@monorise/base';\n\nexport const convertToMap = <T extends Record<string, any>>(\n data: T[],\n mapKey: string,\n) => {\n const map = new Map();\n\n for (const i in data) {\n map.set(data[i][mapKey], data[i]);\n }\n\n return map;\n};\n\nexport const getMutualStateKey = (\n byEntity: Entity,\n byEntityId: string | null,\n entity: Entity,\n entityId?: string,\n chainEntityQuery?: string,\n) => {\n return `${byEntity}/${byEntityId}/${entity}${entityId ? `/${entityId}` : ''}${chainEntityQuery ? `?${chainEntityQuery}` : ''}`;\n};\n\nexport const getTagStateKey = (\n entityType: Entity,\n tagName: string,\n params: Record<string, string> = {},\n) => {\n const { lastKey, ...stateParams } = params;\n\n const paramsKey = Object.keys(stateParams)\n .map((key) => `${key}:${stateParams[key]}`)\n .join('/');\n\n return `${entityType}/${tagName}/${paramsKey}`;\n};\n\nexport const getUniqueFieldStateKey = (\n fieldName: string,\n fieldValue: string,\n) => {\n return `${fieldName}/${fieldValue}`;\n};\n\nexport const getEntityRequestKey = (\n mode: 'create' | 'upsert' | 'edit' | 'delete' | 'get' | 'list' | 'search',\n entityType: Entity,\n entityId?: string,\n) => {\n return `entity/${entityType}/${mode}${entityId ? `/${entityId}` : ''}`;\n};\n\nexport const getMutualRequestKey = (\n mode: 'create' | 'update' | 'delete' | 'get' | 'list',\n byEntityType: Entity,\n entityType: Entity,\n byEntityId: string | null,\n entityId?: string,\n chainEntityQuery?: string,\n) => {\n return `mutual/${getMutualStateKey(byEntityType, byEntityId, entityType, entityId, chainEntityQuery)}/${mode}`;\n};\n\nexport const getTagRequestKey = (\n mode: 'list',\n entityType: Entity,\n tagName: string,\n params: Record<string, string> = {},\n) => {\n return `tag/${getTagStateKey(entityType, tagName, params)}/${mode}`;\n};\n\nexport const getUniqueFieldRequestKey = (\n entityType: Entity,\n fieldName: string,\n value: string,\n) => {\n return `entity/${entityType}/unique/${getUniqueFieldStateKey(fieldName, value)}`;\n};\n","import request, {\n type AxiosError,\n type AxiosRequestConfig,\n type AxiosResponse,\n} from 'axios';\nimport type { AppActions } from '../actions/app.action';\nimport type { AuthActions } from '../actions/auth.action';\nimport type { MonoriseStore } from '../store/monorise.store';\nimport type { ApplicationRequestError } from '../types/api.type';\n\ntype IntercepterAxiosRequestConfig<D> = AxiosRequestConfig<D> & {\n requestKey: string;\n isInterruptive?: boolean;\n feedback?: {\n loading?: string | boolean;\n success?: ((data: any) => string) | string | boolean;\n failure?: string | boolean;\n };\n};\n\nconst initAxiosInterceptor = (store: MonoriseStore, appActions: AppActions) => {\n const { startLoading } = appActions;\n\n const axiosInstance = request.create();\n\n function makeRequest<T = any, R = AxiosResponse<T, any>, D = any>(\n url: string,\n config: AxiosRequestConfig<D>,\n data?: D,\n ): Promise<R> {\n const { requestKey, isInterruptive = false, feedback } = config;\n const { ongoingRequests } = store.getState().app;\n\n if (ongoingRequests.has(requestKey)) {\n return ongoingRequests.get(requestKey) as Promise<R>;\n }\n\n const promise = axiosInstance.request<T, R, D>({\n ...config,\n url,\n data,\n headers: {\n ...(config.headers || {}),\n 'Mr-Interruptive': String(isInterruptive),\n },\n });\n startLoading({\n requestKey,\n isInterruptive,\n message: feedback?.loading,\n request: promise,\n });\n\n return promise;\n }\n\n const axios = {\n ...axiosInstance,\n post: <T = any, R = AxiosResponse<T, any>, D = any>(\n url: string,\n data: D,\n config: IntercepterAxiosRequestConfig<D>,\n ): Promise<R> => makeRequest(url, { ...config, method: 'POST' }, data),\n put: <T = any, R = AxiosResponse<T, any>, D = any>(\n url: string,\n data: D,\n config: IntercepterAxiosRequestConfig<D>,\n ): Promise<R> => makeRequest(url, { ...config, method: 'PUT' }, data),\n patch: <T = any, R = AxiosResponse<T, any>, D = any>(\n url: string,\n data: D,\n config: IntercepterAxiosRequestConfig<D>,\n ): Promise<R> => makeRequest(url, { ...config, method: 'PATCH' }, data),\n delete: <T = any, R = AxiosResponse<T, any>, D = any>(\n url: string,\n config: IntercepterAxiosRequestConfig<D>,\n ): Promise<R> => makeRequest(url, { ...config, method: 'DELETE' }),\n get: <T = any, R = AxiosResponse<T, any>, D = any>(\n url: string,\n config: IntercepterAxiosRequestConfig<D>,\n ): Promise<R> => makeRequest(url, { ...config, method: 'GET' }),\n };\n\n return axios;\n};\n\ntype ConfigOptions = {\n onApiSuccess?: <T>(\n response: AxiosResponse<T>,\n feedbackSuccess:\n | ((data: AxiosResponse<T>['data']) => React.ReactNode)\n | string\n | boolean,\n ) => void;\n};\n\nconst injectAxiosInterceptor = (\n appActions: AppActions,\n authActions: AuthActions,\n axios: ReturnType<typeof initAxiosInterceptor>,\n opts?: ConfigOptions,\n) => {\n let options: ConfigOptions = opts || {};\n const { endLoading, setError, clearError } = appActions;\n const { setIsUnauthorized } = authActions;\n\n const unknownError: ApplicationRequestError = {\n status: 500,\n code: 'UNKNOWN_EXCEPTION',\n message: \"Ops, something doesn't seems right\",\n };\n\n axios.interceptors.response.use(\n (response) => {\n const { requestKey, isInterruptive, feedback } = response.config;\n endLoading({ requestKey, isInterruptive });\n clearError(requestKey);\n\n if (feedback?.success) {\n options.onApiSuccess?.(response, feedback.success);\n }\n // switch (typeof feedback.success) {\n // case 'function':\n // toast(feedback.success(response.data));\n // break;\n // case 'string':\n // toast(\n // <Fragment>\n // <IconCircleCheckFilled color='rgb(34 197 94)' />\n // {feedback.success}\n // </Fragment>,\n // );\n // break;\n // case 'boolean':\n // toast('Request success');\n // break;\n // }\n\n return Promise.resolve(response);\n },\n (error: AxiosError<string>) => {\n const { requestKey, isInterruptive } = error.config as AxiosRequestConfig;\n endLoading({ requestKey, isInterruptive });\n\n const appError = error.response?.data\n ? {\n code: error.response?.statusText,\n status: error.response?.status,\n message: error.response?.data,\n }\n : unknownError;\n setError({ requestKey, error: appError });\n if (error.response?.status === 401) {\n setIsUnauthorized(true);\n }\n return Promise.reject(error);\n },\n );\n\n const setOptions = (opts: ConfigOptions) => {\n options = {\n ...options,\n ...opts,\n };\n };\n\n return { setOptions };\n};\n\nexport { initAxiosInterceptor, injectAxiosInterceptor };\n","import type { Entity } from '@monorise/base';\nimport type { AxiosInterceptor } from '../types/api.type';\n\ntype LoginPayload = {\n email: string;\n};\n\ntype Options = {\n apiBaseUrl?: string;\n};\n\nconst initAuthService = (axios: AxiosInterceptor) => {\n let options: Options = {};\n const { apiBaseUrl = '/api/auth' } = options;\n\n const requestLoginMagicLink = (entityType: Entity, payload: LoginPayload) => {\n return axios.post(\n `${apiBaseUrl}/${entityType}`,\n {\n body: { ...payload },\n },\n {\n requestKey: `auth/${entityType}/request-login`,\n isInterruptive: true,\n feedback: {\n loading: 'Requesting login link',\n },\n },\n );\n };\n\n const getSessionProfile = <T extends Record<string, unknown>>() =>\n axios.get<\n T & {\n displayName: string;\n email: string;\n accountId: string;\n }\n >('/session', {\n requestKey: 'auth/session',\n });\n\n const logout = () =>\n axios.get('/logout', {\n requestKey: 'auth/logout',\n });\n\n const setOptions = (opts: Options) => {\n options = {\n ...options,\n ...opts,\n };\n };\n\n return {\n requestLoginMagicLink,\n getSessionProfile,\n logout,\n setOptions,\n };\n};\n\nexport default initAuthService;\n\nexport type AuthService = ReturnType<typeof initAuthService>;\n","import type { CreatedEntity, DraftEntity, Entity } from '@monorise/base';\nimport type { AxiosRequestConfig } from 'axios';\nimport {\n getEntityRequestKey,\n getMutualRequestKey,\n getMutualStateKey,\n getTagRequestKey,\n getUniqueFieldRequestKey,\n getUniqueFieldStateKey,\n} from '../lib/utils';\nimport type { MonoriseStore } from '../store/monorise.store';\nimport type {\n ApplicationRequestError,\n AxiosInterceptor,\n} from '../types/api.type';\nimport type { Mutual, MutualData } from '../types/mutual.type';\n\nconst ENTITY_API_BASE_URL = '/api/core/entity';\nconst MUTUAL_API_BASE_URL = '/api/core/mutual';\nconst TAG_API_BASE_URL = '/api/core/tag';\n\ntype ListEntitiesPayload = {\n limit?: number;\n lastKey?: string;\n start?: string;\n end?: string;\n};\n\nexport type ListEntitiesByTagParams = {\n group?: string;\n query?: string;\n start?: string;\n end?: string;\n limit?: number;\n lastKey?: string;\n};\n\ntype ConfigOptions = {\n entityApiBaseUrl?: string;\n mutualApiBaseUrl?: string;\n tagApiBaseUrl?: string;\n};\n\nexport type CommonOptions = Partial<AxiosRequestConfig> & {\n customUrl?: string;\n isInterruptive?: boolean;\n feedback?: {\n success?: string;\n failure?: string;\n loading?: string;\n };\n stateKey?: string;\n forceFetch?: boolean;\n noData?: boolean;\n requestKey?: string;\n onError?: (error: ApplicationRequestError | Error) => void;\n limit?: number;\n};\n\nconst initCoreService = (\n monoriseStore: MonoriseStore,\n axios: AxiosInterceptor,\n opts?: ConfigOptions,\n) => {\n let options: ConfigOptions = opts || {};\n\n const listEntities = <T extends Entity>(\n entityType: T,\n payload?: ListEntitiesPayload,\n opts: CommonOptions = {},\n ) => {\n const { entityApiBaseUrl = ENTITY_API_BASE_URL } = options;\n return axios.get<{\n data: CreatedEntity<T>[];\n lastKey?: string;\n totalCount: number;\n }>(opts.customUrl || `${entityApiBaseUrl}/${entityType}`, {\n requestKey: getEntityRequestKey('list', entityType),\n params: payload ?? undefined,\n isInterruptive: opts.isInterruptive,\n feedback: opts.feedback,\n });\n };\n\n const searchEntities = <T extends Entity>(\n entityType: T,\n query: string,\n opts: CommonOptions = {},\n ) => {\n const { entityApiBaseUrl = ENTITY_API_BASE_URL } = options;\n return axios.get<{ data: CreatedEntity<T>[] }>(\n opts.customUrl || `${entityApiBaseUrl}/${entityType}`,\n {\n requestKey: getEntityRequestKey('search', entityType),\n params: { query },\n isInterruptive: opts.isInterruptive,\n feedback: opts.feedback,\n },\n );\n };\n\n const listEntitiesByTag = <T extends Entity>(\n entityType: T,\n tagName: string,\n opts: CommonOptions & { params?: ListEntitiesByTagParams } = {},\n ) => {\n const { tagApiBaseUrl = TAG_API_BASE_URL } = options;\n return axios.get<{ entities: CreatedEntity<T>[]; lastKey: string }>(\n opts.customUrl || `${tagApiBaseUrl}/${entityType}/${tagName}`,\n {\n requestKey:\n opts.requestKey ||\n getTagRequestKey('list', entityType, tagName, opts.params),\n params: opts.params,\n isInterruptive: opts.isInterruptive,\n feedback: opts.feedback,\n },\n );\n };\n\n const getEntity = <T extends Entity>(\n entityType: T,\n id: string,\n opts: CommonOptions = {},\n ) => {\n const { entityApiBaseUrl = ENTITY_API_BASE_URL } = options;\n return axios.get<CreatedEntity<T>>(\n opts.customUrl || `${entityApiBaseUrl}/${entityType}/${id}`,\n {\n requestKey: getEntityRequestKey('get', entityType, id),\n isInterruptive: opts.isInterruptive,\n feedback: {\n loading: `Retrieving ${entityType}`,\n ...(opts.feedback || {}),\n },\n },\n );\n };\n\n const getEntityByUniqueField = <T extends Entity>(\n entityType: T,\n fieldName: string,\n value: string,\n opts: CommonOptions = {},\n ) => {\n const { entityApiBaseUrl = ENTITY_API_BASE_URL } = options;\n return axios.get<CreatedEntity<T>>(\n opts.customUrl ||\n `${entityApiBaseUrl}/${entityType}/unique/${getUniqueFieldStateKey(fieldName, value)}`,\n {\n requestKey: getUniqueFieldRequestKey(entityType, fieldName, value),\n isInterruptive: opts.isInterruptive,\n feedback: {\n loading: `Retrieving ${entityType}`,\n ...(opts.feedback || {}),\n },\n },\n );\n };\n\n const createEntity = <T extends Entity>(\n entityType: T,\n values: DraftEntity<T>,\n opts: CommonOptions = {},\n ) => {\n const { entityApiBaseUrl = ENTITY_API_BASE_URL } = options;\n const entityConfig = monoriseStore.getState().config;\n return axios.post<CreatedEntity<T>>(\n opts.customUrl || `${entityApiBaseUrl}/${entityType}`,\n values,\n {\n requestKey:\n opts.requestKey || getEntityRequestKey('create', entityType),\n isInterruptive: opts.isInterruptive ?? true,\n feedback: {\n loading: `Creating ${entityConfig[entityType].displayName}`,\n success: `${entityConfig[entityType].displayName} created`,\n ...(opts.feedback || {}),\n },\n },\n );\n };\n\n const upsertEntity = <T extends Entity>(\n entityType: T,\n id: string,\n values: DraftEntity<T>,\n opts: CommonOptions = {},\n ) => {\n const { entityApiBaseUrl = ENTITY_API_BASE_URL } = options;\n const entityConfig = monoriseStore.getState().config;\n return axios.put<CreatedEntity<T>>(\n opts.customUrl || `${entityApiBaseUrl}/${entityType}/${id}`,\n values,\n {\n requestKey: getEntityRequestKey('upsert', entityType, id),\n isInterruptive: opts.isInterruptive ?? true,\n feedback: {\n loading: `Updating ${entityConfig[entityType].displayName}`,\n success: `${entityConfig[entityType].displayName} updated`,\n ...(opts.feedback || {}),\n },\n },\n );\n };\n\n const editEntity = <T extends Entity>(\n entityType: T,\n id: string,\n values: Partial<DraftEntity<T>>,\n opts: CommonOptions = {},\n ) => {\n const { entityApiBaseUrl = ENTITY_API_BASE_URL } = options;\n const entityConfig = monoriseStore.getState().config;\n return axios.patch<CreatedEntity<T>>(\n opts.customUrl || `${entityApiBaseUrl}/${entityType}/${id}`,\n values,\n {\n requestKey: getEntityRequestKey('edit', entityType, id),\n isInterruptive: opts.isInterruptive ?? true,\n feedback: {\n loading: `Updating ${entityConfig[entityType].displayName}`,\n success: `${entityConfig[entityType].displayName} updated`,\n ...(opts.feedback || {}),\n },\n },\n );\n };\n\n const deleteEntity = <T extends Entity>(\n entityType: T,\n id: string,\n opts: CommonOptions = {},\n ) => {\n const { entityApiBaseUrl = ENTITY_API_BASE_URL } = options;\n const entityConfig = monoriseStore.getState().config;\n return axios.delete(\n opts.customUrl || `${entityApiBaseUrl}/${entityType}/${id}`,\n {\n requestKey: getEntityRequestKey('delete', entityType, id),\n isInterruptive: opts.isInterruptive ?? true,\n feedback: {\n loading: `Deleting ${entityConfig[entityType].displayName}`,\n success: `${entityConfig[entityType].displayName} deleted`,\n ...(opts.feedback || {}),\n },\n },\n );\n };\n\n const listEntitiesByEntity = <B extends Entity, T extends Entity>(\n byEntityType: B,\n entityType: T,\n byEntityId: string,\n opts: CommonOptions = {},\n chainEntityQuery?: string,\n ) => {\n const { mutualApiBaseUrl = MUTUAL_API_BASE_URL } = options;\n return axios.get<{ entities: Mutual<B, T>[]; lastKey: string }>(\n opts.customUrl ||\n `${mutualApiBaseUrl}/${byEntityType}/${byEntityId}/${entityType}`,\n {\n requestKey: getMutualRequestKey(\n 'list',\n byEntityType,\n entityType,\n byEntityId,\n undefined,\n chainEntityQuery,\n ),\n isInterruptive: opts.isInterruptive,\n feedback: opts.feedback,\n params: {\n chainEntityQuery,\n limit: opts.limit,\n ...opts.params,\n ...(opts.noData && { projection: 'no-data' }),\n },\n },\n );\n };\n\n const getMutual = <B extends Entity, T extends Entity>(\n byEntityType: B,\n entityType: T,\n byEntityId: string,\n entityId: string,\n opts: CommonOptions = {},\n ) => {\n const { mutualApiBaseUrl = MUTUAL_API_BASE_URL } = options;\n return axios.get<Mutual<B, T>>(\n opts.customUrl ||\n `${mutualApiBaseUrl}/${getMutualStateKey(byEntityType, byEntityId, entityType, entityId)}`,\n {\n requestKey: getMutualRequestKey(\n 'get',\n byEntityType,\n entityType,\n byEntityId,\n entityId,\n ),\n isInterruptive: opts.isInterruptive ?? false,\n feedback: opts.feedback,\n },\n );\n };\n\n const createMutual = <B extends Entity, T extends Entity>(\n byEntityType: B,\n entityType: T,\n byEntityId: string,\n entityId: string,\n payload: MutualData<B, T> | Record<string, unknown>,\n opts: CommonOptions = {},\n ) => {\n const { mutualApiBaseUrl = MUTUAL_API_BASE_URL } = options;\n return axios.post<Mutual<B, T>>(\n opts.customUrl ||\n `${mutualApiBaseUrl}/${getMutualStateKey(byEntityType, byEntityId, entityType, entityId)}`,\n payload,\n {\n requestKey: getMutualRequestKey(\n 'create',\n byEntityType,\n entityType,\n byEntityId,\n ),\n isInterruptive: opts.isInterruptive ?? true,\n feedback: {\n loading: 'Creating linkage',\n success: 'Linkage created',\n ...(opts.feedback || {}),\n },\n },\n );\n };\n\n const editMutual = <B extends Entity, T extends Entity>(\n byEntityType: B,\n entityType: T,\n byEntityId: string,\n entityId: string,\n payload: MutualData<B, T> | Record<string, unknown>,\n opts: CommonOptions = {},\n ) => {\n const { mutualApiBaseUrl = MUTUAL_API_BASE_URL } = options;\n return axios.patch<Mutual<B, T>>(\n opts.customUrl ||\n `${mutualApiBaseUrl}/${getMutualStateKey(byEntityType, byEntityId, entityType, entityId)}`,\n payload,\n {\n requestKey: getMutualRequestKey(\n 'update',\n byEntityType,\n entityType,\n byEntityId,\n entityId,\n ),\n isInterruptive: opts.isInterruptive ?? true,\n feedback: {\n loading: 'Updating linkage',\n success: 'Linkage updated',\n ...(opts.feedback || {}),\n },\n },\n );\n };\n\n const deleteMutual = <B extends Entity, T extends Entity>(\n byEntityType: B,\n entityType: T,\n byEntityId: string,\n entityId: string,\n opts: CommonOptions = {},\n ) => {\n const { mutualApiBaseUrl = MUTUAL_API_BASE_URL } = options;\n return axios.delete(\n opts.customUrl ||\n `${mutualApiBaseUrl}/${getMutualStateKey(byEntityType, byEntityId, entityType, entityId)}`,\n {\n requestKey: getMutualRequestKey(\n 'delete',\n byEntityType,\n entityType,\n byEntityId,\n entityId,\n ),\n isInterruptive: opts.isInterruptive ?? true,\n feedback: {\n loading: 'Removing linkage',\n success: 'Linkage removed',\n ...(opts.feedback || {}),\n },\n },\n );\n };\n\n const makeEntityService = <T extends Entity>(entityType: T) => ({\n listEntities: (payload: ListEntitiesPayload, opts: CommonOptions = {}) =>\n listEntities(entityType, payload, opts),\n searchEntities: (query: string, opts: CommonOptions = {}) =>\n searchEntities(entityType, query, opts),\n listEntitiesByTag: (tagName: string, opts: CommonOptions = {}) =>\n listEntitiesByTag(entityType, tagName, opts),\n getEntity: (id: string, opts: CommonOptions = {}) =>\n getEntity(entityType, id, opts),\n getEntityByUniqueField: (\n fieldName: string,\n value: string,\n opts: CommonOptions = {},\n ) => getEntityByUniqueField(entityType, fieldName, value, opts),\n createEntity: (values: DraftEntity<T>, opts: CommonOptions = {}) =>\n createEntity(entityType, values, opts),\n upsertEntity: (\n id: string,\n values: DraftEntity<T>,\n opts: CommonOptions = {},\n ) => upsertEntity(entityType, id, values, opts),\n editEntity: (\n id: string,\n values: Partial<DraftEntity<T>>,\n opts: CommonOptions = {},\n ) => editEntity(entityType, id, values, opts),\n updateEntity: (\n id: string,\n values: DraftEntity<T>,\n opts: CommonOptions = {},\n ) => editEntity(entityType, id, values, opts),\n deleteEntity: (id: string, opts: CommonOptions = {}) =>\n deleteEntity(entityType, id, opts),\n });\n\n const makeMutualService = <B extends Entity, T extends Entity>(\n byEntityType: B,\n entityType: T,\n ) => ({\n listEntitiesByEntity: (\n byEntityId: string,\n opts: CommonOptions = {},\n chainEntityQuery?: string,\n ) =>\n listEntitiesByEntity(\n byEntityType,\n entityType,\n byEntityId,\n opts,\n chainEntityQuery,\n ),\n getMutual: (\n byEntityId: string,\n entityId: string,\n opts: CommonOptions = {},\n ) => getMutual(byEntityType, entityType, byEntityId, entityId, opts),\n createMutual: (\n byEntityId: string,\n entityId: string,\n payload: MutualData<B, T> | Record<string, unknown>,\n opts = {},\n ) =>\n createMutual(\n byEntityType,\n entityType,\n byEntityId,\n entityId,\n payload,\n opts,\n ),\n editMutual: (\n byEntityId: string,\n entityId: string,\n payload: MutualData<B, T> | Record<string, unknown>,\n opts = {},\n ) =>\n editMutual(byEntityType, entityType, byEntityId, entityId, payload, opts),\n deleteMutual: (\n byEntityId: string,\n entityId: string,\n opts: CommonOptions = {},\n ) => deleteMutual(byEntityType, entityType, byEntityId, entityId, opts),\n });\n\n const setOptions = (opts: ConfigOptions) => {\n options = {\n ...options,\n ...opts,\n };\n };\n\n return {\n makeEntityService,\n makeMutualService,\n setOptions,\n };\n};\n\nexport default initCoreService;\n\nexport type CoreService = ReturnType<typeof initCoreService>;\n","import type { AxiosInterceptor } from '../types/api.type';\n\ntype UploadFileProps = {\n file: File;\n scope: string;\n directory: string;\n name: string;\n disableLoading?: boolean;\n onProgress?: (progress: number) => void;\n};\n\ntype Options = {\n apiBaseUrl?: string;\n};\n\nconst initFilestoreService = (axios: AxiosInterceptor) => {\n let options: Options = {};\n const { apiBaseUrl = '/api/file' } = options;\n\n const uploadFile = async ({\n file,\n scope,\n directory,\n name,\n disableLoading,\n onProgress,\n }: UploadFileProps) => {\n const { data } = await axios.get(`${apiBaseUrl}/upload`, {\n requestKey: `filestore/presign/file/${name}`,\n isInterruptive: !disableLoading,\n feedback: {\n loading: 'Preparing upload',\n },\n params: {\n scope,\n directory,\n filename: name,\n },\n });\n\n return axios.put(data.url, file, {\n requestKey: `filestore/upload/${name}`,\n isInterruptive: !disableLoading,\n feedback: {\n loading: 'Uploading file',\n },\n headers: {\n 'Content-Type': file.type,\n 'Content-Disposition': 'inline',\n },\n onUploadProgress: (progressEvent) => {\n if (onProgress && progressEvent.total) {\n const progress = Math.round(\n (progressEvent.loaded / progressEvent.total) * 100,\n );\n onProgress(progress);\n }\n },\n });\n };\n\n const deleteFiles = async (keys: string[]) => {\n console.log('Deleting files', keys);\n const { data } = await axios.post(\n `${apiBaseUrl}/delete`,\n {\n keys,\n },\n {\n requestKey: 'filestore/delete',\n },\n );\n\n return data;\n };\n\n const uploadVideo = async ({\n file,\n scope,\n directory,\n name,\n }: UploadFileProps) => {\n const { data: presign } = await axios.get(`${apiBaseUrl}/upload`, {\n requestKey: `filestore/presign/video/${name}`,\n isInterruptive: true,\n feedback: {\n loading: 'Preparing upload',\n },\n params: {\n scope,\n directory,\n filename: name,\n },\n });\n\n await axios.put(presign.url, file, {\n requestKey: `filestore/upload/video/${name}`,\n isInterruptive: true,\n feedback: {\n loading: 'Uploading video',\n },\n headers: {\n 'Content-Type': file.type,\n },\n });\n\n const { data } = await axios.post(\n `${apiBaseUrl}/video/convert`,\n {\n scope,\n directory,\n filename: name,\n },\n {\n requestKey: 'filestore/convert/video',\n isInterruptive: true,\n feedback: {\n loading: 'Triggering video conversion',\n },\n },\n );\n\n return data;\n };\n\n const uploadAudio = async ({\n file,\n scope,\n directory,\n name,\n }: UploadFileProps) => {\n const { data: presign } = await axios.get(`${apiBaseUrl}/upload`, {\n requestKey: `filestore/presign/audio/${name}`,\n isInterruptive: true,\n feedback: {\n loading: 'Preparing upload',\n },\n params: {\n scope,\n directory,\n filename: name,\n },\n });\n\n await axios.put(presign.url, file, {\n requestKey: `filestore/upload/audio/${name}`,\n isInterruptive: true,\n feedback: {\n loading: 'Uploading audio',\n },\n headers: {\n 'Content-Type': file.type,\n },\n });\n\n const { data } = await axios.post(\n `${apiBaseUrl}/audio/convert`,\n {\n scope,\n directory,\n filename: name,\n },\n {\n requestKey: 'filestore/convert/audio',\n isInterruptive: true,\n feedback: {\n loading: 'Triggering audio conversion',\n },\n },\n );\n\n return data;\n };\n\n const getJobStatus = async (id: string) => {\n const { data } = await axios.get(`${apiBaseUrl}/job/${id}`, {\n requestKey: `filestore/get-job/${id}`,\n });\n\n return data;\n };\n\n const setOptions = (opts: Options) => {\n options = {\n ...options,\n ...opts,\n };\n };\n\n return {\n uploadFile,\n deleteFiles,\n uploadVideo,\n uploadAudio,\n getJobStatus,\n setOptions,\n };\n};\n\nexport default initFilestoreService;\n","import type {\n CreatedEntity,\n Entity,\n MonoriseEntityConfig,\n} from '@monorise/base';\nimport { enableMapSet } from 'immer';\nimport type React from 'react';\nimport { create } from 'zustand';\nimport { devtools } from 'zustand/middleware';\nimport type { ApplicationRequestError, ModalProps } from '../types/api.type';\nimport type { CommonStore } from '../types/monorise.type';\nimport type { Mutual } from '../types/mutual.type';\n\nenableMapSet();\n\nconst configureDevtools = (storeName: string) => ({\n name: `${storeName} Store`,\n anonymousActionType: `${storeName.toLowerCase()}/action`,\n enabled: !['prod', 'dev'].includes(process.env.NEXT_PUBLIC_ENVIRONMENT ?? ''),\n serialize: {\n options: {\n map: true,\n },\n },\n});\n\ntype Options = {\n modals?: Record<string, React.ComponentType<unknown>>;\n};\n\nconst initMonoriseStore = () => {\n let options: Options = {};\n const { modals = {} } = options;\n\n type AppModalProps = ModalProps<typeof modals>;\n\n const monoriseStore = create(\n devtools(\n (): {\n app: {\n ongoingRequests: Map<string, Promise<unknown>>;\n loadStack: Map<string, number>;\n intLoadStack: Map<string, number>;\n loadingMessage: string;\n errorStack: Map<string, ApplicationRequestError>;\n modal: {\n name: keyof AppModalProps | null;\n context?: AppModalProps[keyof AppModalProps];\n };\n };\n config: Record<Entity, MonoriseEntityConfig>;\n entity: Record<Entity, CommonStore<CreatedEntity<Entity>>>;\n mutual: Record<string, CommonStore<Mutual>>;\n tag: Record<string, CommonStore<CreatedEntity<Entity>>>;\n auth: {\n isUnauthorized: boolean;\n profile: {\n displayName: string;\n email: string;\n accountId: string;\n };\n isLoading: boolean;\n };\n } => ({\n app: {\n ongoingRequests: new Map(),\n loadStack: new Map(),\n intLoadStack: new Map(),\n loadingMessage: '',\n errorStack: new Map(),\n modal: {\n name: null,\n },\n },\n config: {},\n entity: {},\n mutual: {},\n tag: {},\n auth: {\n isUnauthorized: false,\n profile: {\n displayName: '',\n email: '',\n accountId: '',\n },\n isLoading: true,\n },\n }),\n configureDevtools('monorise'),\n ),\n );\n\n const setOptions = (opts: Options) => {\n options = {\n ...options,\n ...opts,\n };\n };\n\n return { setOptions, monoriseStore };\n};\n\nexport { initMonoriseStore };\n\nexport type MonoriseStore = Awaited<\n ReturnType<typeof initMonoriseStore>\n>['monoriseStore'];\n","import type { Entity, MonoriseEntityConfig } from '@monorise/base';\nimport type { AxiosResponse } from 'axios';\nimport { initAppActions } from './actions/app.action';\nimport { initAuthActions } from './actions/auth.action';\nimport { initConfigActions } from './actions/config.action';\nimport { initCoreActions } from './actions/core.action';\nimport { initAxiosInterceptor, injectAxiosInterceptor } from './lib/api';\nimport {\n getEntityRequestKey,\n getMutualRequestKey,\n getTagRequestKey,\n getUniqueFieldRequestKey,\n} from './lib/utils';\nimport initAuthService from './services/auth.service';\nimport initCoreService from './services/core.service';\nimport initFilestoreService from './services/filestore.service';\nimport { initMonoriseStore } from './store/monorise.store';\nimport {\n Mutual,\n MutualData,\n MutualDataMapping,\n MutualDataWithIndex,\n} from './types/mutual.type';\n\ntype Options<T extends Record<string, React.ComponentType<any>>> = {\n authBaseUrl?: string;\n filestoreBaseUrl?: string;\n entityBaseUrl?: string;\n mutualBaseUrl?: string;\n tagBaseUrl?: string;\n modals?: T;\n entityConfig: Record<Entity, MonoriseEntityConfig>;\n onApiSuccess?: <T>(\n response: AxiosResponse<T>,\n feedbackSuccess:\n | ((data: AxiosResponse<T>['data']) => React.ReactNode)\n | string\n | boolean,\n ) => void;\n};\n\nconst initMonorise = () => {\n const { monoriseStore: store, setOptions: setMonoriseOptions } =\n initMonoriseStore();\n const appActions = initAppActions(store);\n const configActions = initConfigActions(store);\n const axios = initAxiosInterceptor(store, appActions);\n\n const authService = initAuthService(axios);\n const filestoreService = initFilestoreService(axios);\n const coreService = initCoreService(store, axios);\n\n const authActions = initAuthActions(store, authService);\n const coreActions = initCoreActions(store, appActions, coreService);\n\n const axiosInterceptor = injectAxiosInterceptor(\n appActions,\n authActions,\n axios,\n );\n\n const config = <T extends Record<string, React.ComponentType<any>>>(\n opts: Options<T>,\n ) => {\n setMonoriseOptions({\n modals: opts.modals,\n });\n configActions.setConfig(opts.entityConfig);\n authService.setOptions({\n apiBaseUrl: opts.authBaseUrl,\n });\n filestoreService.setOptions({\n apiBaseUrl: opts.filestoreBaseUrl,\n });\n coreService.setOptions({\n entityApiBaseUrl: opts.entityBaseUrl,\n mutualApiBaseUrl: opts.mutualBaseUrl,\n tagApiBaseUrl: opts.tagBaseUrl,\n });\n axiosInterceptor.setOptions({\n onApiSuccess: opts.onApiSuccess,\n });\n };\n\n return {\n config,\n store,\n axios,\n authService,\n filestoreService,\n coreService,\n ...configActions,\n ...appActions,\n ...authActions,\n ...coreActions,\n };\n};\n\nconst Monorise = initMonorise();\n\nconst {\n store,\n axios,\n authService,\n filestoreService,\n coreService,\n setConfig,\n getConfig,\n useConfig,\n startLoading,\n endLoading,\n setError,\n getError,\n clearError,\n openModal,\n closeModal,\n useLoadStore,\n useInterruptiveLoadStore,\n useErrorStore,\n useModalStore,\n requestLogin,\n useProfile,\n getProfile,\n useIsUnauthorized,\n setIsUnauthorized,\n logout,\n listMoreEntities,\n createEntity,\n upsertEntity,\n editEntity,\n updateLocalEntity,\n deleteEntity,\n getMutual,\n createMutual,\n createLocalMutual,\n upsertLocalMutual,\n editMutual,\n deleteMutual,\n deleteLocalMutual,\n useEntity,\n useEntityByUniqueField,\n useEntities,\n useMutual,\n useMutuals,\n useTaggedEntities,\n useEntityState,\n getEntity,\n updateLocalTaggedEntity,\n deleteLocalTaggedEntity,\n} = Monorise;\n\nexport {\n store,\n axios,\n authService,\n filestoreService,\n coreService,\n setConfig,\n getConfig,\n useConfig,\n startLoading,\n endLoading,\n setError,\n getError,\n clearError,\n openModal,\n closeModal,\n useLoadStore,\n useInterruptiveLoadStore,\n useErrorStore,\n useModalStore,\n requestLogin,\n useProfile,\n getProfile,\n useIsUnauthorized,\n setIsUnauthorized,\n logout,\n listMoreEntities,\n createEntity,\n upsertEntity,\n editEntity,\n updateLocalEntity,\n deleteEntity,\n getMutual,\n createMutual,\n createLocalMutual,\n upsertLocalMutual,\n editMutual,\n deleteMutual,\n deleteLocalMutual,\n useEntity,\n useEntityByUniqueField,\n useEntities,\n useMutual,\n useMutuals,\n useTaggedEntities,\n useEntityState,\n getEntityRequestKey,\n getMutualRequestKey,\n getTagRequestKey,\n getUniqueFieldRequestKey,\n getEntity,\n updateLocalTaggedEntity,\n deleteLocalTaggedEntity,\n};\n\nexport default Monorise;\n\nexport { MutualDataWithIndex, MutualDataMapping, MutualData, Mutual };\n\nexport type {\n CreatedEntity,\n DraftEntity,\n Entity,\n EntitySchemaMap,\n} from '@monorise/base';\n"],"mappings":"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","names":["store","startLoading","request","endLoading","setError","getError","clearError","openModal","closeModal","useLoadStore","useInterruptiveLoadStore","useErrorStore","useModalStore","produce","store","authService","requestLogin","useProfile","getProfile","produce","useIsUnauthorized","setIsUnauthorized","logout","produce","store","setConfig","getConfig","useConfig","produce","useEffect","useState","byEntityId","byEntityId","coreService","getError","useLoadStore","useErrorStore","store","produce","error","listMoreEntities","state","getEntity","createEntity","upsertEntity","editEntity","deleteEntity","_a","getMutual","byEntityId","createMutual","createLocalMutual","updateLocalEntity","upsertLocalMutual","editMutual","deleteMutual","deleteLocalMutual","useEntity","useEffect","useEntityByUniqueField","useEntities","useState","useMutual","useMutuals","useTaggedEntities","useEntityState","updateLocalTaggedEntity","deleteLocalTaggedEntity","store","startLoading","axios","endLoading","setError","clearError","setIsUnauthorized","opts","axios","logout","axios","opts","getEntity","createEntity","upsertEntity","editEntity","deleteEntity","byEntityId","getMutual","createMutual","editMutual","deleteMutual","axios","store","axios","authService","filestoreService","coreService"]}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { type AxiosRequestConfig, type AxiosResponse } from 'axios';
|
|
2
|
+
import type { AppActions } from '../actions/app.action';
|
|
3
|
+
import type { AuthActions } from '../actions/auth.action';
|
|
4
|
+
import type { MonoriseStore } from '../store/monorise.store';
|
|
5
|
+
type IntercepterAxiosRequestConfig<D> = AxiosRequestConfig<D> & {
|
|
6
|
+
requestKey: string;
|
|
7
|
+
isInterruptive?: boolean;
|
|
8
|
+
feedback?: {
|
|
9
|
+
loading?: string | boolean;
|
|
10
|
+
success?: ((data: any) => string) | string | boolean;
|
|
11
|
+
failure?: string | boolean;
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
declare const initAxiosInterceptor: (store: MonoriseStore, appActions: AppActions) => {
|
|
15
|
+
post: <T = any, R = AxiosResponse<T, any>, D = any>(url: string, data: D, config: IntercepterAxiosRequestConfig<D>) => Promise<R>;
|
|
16
|
+
put: <T = any, R = AxiosResponse<T, any>, D = any>(url: string, data: D, config: IntercepterAxiosRequestConfig<D>) => Promise<R>;
|
|
17
|
+
patch: <T = any, R = AxiosResponse<T, any>, D = any>(url: string, data: D, config: IntercepterAxiosRequestConfig<D>) => Promise<R>;
|
|
18
|
+
delete: <T = any, R = AxiosResponse<T, any>, D = any>(url: string, config: IntercepterAxiosRequestConfig<D>) => Promise<R>;
|
|
19
|
+
get: <T = any, R = AxiosResponse<T, any>, D = any>(url: string, config: IntercepterAxiosRequestConfig<D>) => Promise<R>;
|
|
20
|
+
create(config?: import("axios").CreateAxiosDefaults): import("axios").AxiosInstance;
|
|
21
|
+
defaults: Omit<import("axios").AxiosDefaults, "headers"> & {
|
|
22
|
+
headers: import("axios").HeadersDefaults & {
|
|
23
|
+
[key: string]: import("axios").AxiosHeaderValue;
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
interceptors: {
|
|
27
|
+
request: import("axios").AxiosInterceptorManager<import("axios").InternalAxiosRequestConfig>;
|
|
28
|
+
response: import("axios").AxiosInterceptorManager<AxiosResponse>;
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
type ConfigOptions = {
|
|
32
|
+
onApiSuccess?: <T>(response: AxiosResponse<T>, feedbackSuccess: ((data: AxiosResponse<T>['data']) => React.ReactNode) | string | boolean) => void;
|
|
33
|
+
};
|
|
34
|
+
declare const injectAxiosInterceptor: (appActions: AppActions, authActions: AuthActions, axios: ReturnType<typeof initAxiosInterceptor>, opts?: ConfigOptions) => {
|
|
35
|
+
setOptions: (opts: ConfigOptions) => void;
|
|
36
|
+
};
|
|
37
|
+
export { initAxiosInterceptor, injectAxiosInterceptor };
|
|
38
|
+
//# sourceMappingURL=api.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../lib/api.ts"],"names":[],"mappings":"AAAA,OAAgB,EAEd,KAAK,kBAAkB,EACvB,KAAK,aAAa,EACnB,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAG7D,KAAK,6BAA6B,CAAC,CAAC,IAAI,kBAAkB,CAAC,CAAC,CAAC,GAAG;IAC9D,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE;QACT,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QAC3B,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,KAAK,MAAM,CAAC,GAAG,MAAM,GAAG,OAAO,CAAC;QACrD,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;KAC5B,CAAC;CACH,CAAC;AAEF,QAAA,MAAM,oBAAoB,GAAI,OAAO,aAAa,EAAE,YAAY,UAAU;WAsC/D,CAAC,QAAQ,CAAC,0BAA0B,CAAC,aACrC,MAAM,QACL,CAAC,UACC,6BAA6B,CAAC,CAAC,CAAC,KACvC,OAAO,CAAC,CAAC,CAAC;UACP,CAAC,QAAQ,CAAC,0BAA0B,CAAC,aACpC,MAAM,QACL,CAAC,UACC,6BAA6B,CAAC,CAAC,CAAC,KACvC,OAAO,CAAC,CAAC,CAAC;YACL,CAAC,QAAQ,CAAC,0BAA0B,CAAC,aACtC,MAAM,QACL,CAAC,UACC,6BAA6B,CAAC,CAAC,CAAC,KACvC,OAAO,CAAC,CAAC,CAAC;aACJ,CAAC,QAAQ,CAAC,0BAA0B,CAAC,aACvC,MAAM,UACH,6BAA6B,CAAC,CAAC,CAAC,KACvC,OAAO,CAAC,CAAC,CAAC;UACP,CAAC,QAAQ,CAAC,0BAA0B,CAAC,aACpC,MAAM,UACH,6BAA6B,CAAC,CAAC,CAAC,KACvC,OAAO,CAAC,CAAC,CAAC;;;;;;;;;;;CAIhB,CAAC;AAEF,KAAK,aAAa,GAAG;IACnB,YAAY,CAAC,EAAE,CAAC,CAAC,EACf,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,EAC1B,eAAe,EACX,CAAC,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,KAAK,CAAC,SAAS,CAAC,GACrD,MAAM,GACN,OAAO,KACR,IAAI,CAAC;CACX,CAAC;AAEF,QAAA,MAAM,sBAAsB,GAC1B,YAAY,UAAU,EACtB,aAAa,WAAW,EACxB,OAAO,UAAU,CAAC,OAAO,oBAAoB,CAAC,EAC9C,OAAO,aAAa;uBA2DM,aAAa;CAQxC,CAAC;AAEF,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constant.d.ts","sourceRoot":"","sources":["../../lib/constant.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,QAAsC,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { CreatedEntity, Entity, EntitySchemaMap } from '@monorise/base';
|
|
2
|
+
import type { Mutual, MutualData } from '../types/mutual.type';
|
|
3
|
+
export declare const constructLocal: (entityType: Entity, entityId: string, data: any) => CreatedEntity<Entity>;
|
|
4
|
+
export declare const constructMutual: <B extends Entity, T extends Entity>(byEntityType: B, byEntityId: string, entityType: T, entityId: string, mutualData: Partial<MutualData<B, T>>, data: EntitySchemaMap[T]) => Mutual;
|
|
5
|
+
export declare const flipMutual: (mutual: Mutual) => Mutual;
|
|
6
|
+
export declare const byMutualIndex: (a: Mutual<any, any>, b: Mutual<any, any>) => number;
|
|
7
|
+
export declare const byEntityId: (a: CreatedEntity<any>, b: CreatedEntity<any>) => 1 | -1;
|
|
8
|
+
export declare const constructOrderByIndex: (mutuals: Mutual<any, any>[]) => string[];
|
|
9
|
+
export declare const injectFields: <T extends Entity>(entity: CreatedEntity<T> | undefined, fields: Record<string, any>) => CreatedEntity<T> | undefined;
|
|
10
|
+
//# sourceMappingURL=entity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../lib/entity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAC7E,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAE/D,eAAO,MAAM,cAAc,GACzB,YAAY,MAAM,EAClB,UAAU,MAAM,EAChB,MAAM,GAAG,KACR,aAAa,CAAC,MAAM,CAQtB,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,EAChE,cAAc,CAAC,EACf,YAAY,MAAM,EAClB,YAAY,CAAC,EACb,UAAU,MAAM,EAChB,YAAY,OAAO,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EACrC,MAAM,eAAe,CAAC,CAAC,CAAC,KACvB,MAaF,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,QAAQ,MAAM,KAAG,MAQ3C,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,WAErE,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,GAAG,aAAa,CAAC,GAAG,CAAC,EAAE,GAAG,aAAa,CAAC,GAAG,CAAC,WAGtE,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAI,SAAS,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,aAEhE,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,CAAC,SAAS,MAAM,EAC3C,QAAQ,aAAa,CAAC,CAAC,CAAC,GAAG,SAAS,EACpC,QAAQ,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAC1B,aAAa,CAAC,CAAC,CAAC,GAAG,SAUrB,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Entity } from '@monorise/base';
|
|
2
|
+
export declare const convertToMap: <T extends Record<string, any>>(data: T[], mapKey: string) => Map<any, any>;
|
|
3
|
+
export declare const getMutualStateKey: (byEntity: Entity, byEntityId: string | null, entity: Entity, entityId?: string, chainEntityQuery?: string) => string;
|
|
4
|
+
export declare const getTagStateKey: (entityType: Entity, tagName: string, params?: Record<string, string>) => string;
|
|
5
|
+
export declare const getUniqueFieldStateKey: (fieldName: string, fieldValue: string) => string;
|
|
6
|
+
export declare const getEntityRequestKey: (mode: "create" | "upsert" | "edit" | "delete" | "get" | "list" | "search", entityType: Entity, entityId?: string) => string;
|
|
7
|
+
export declare const getMutualRequestKey: (mode: "create" | "update" | "delete" | "get" | "list", byEntityType: Entity, entityType: Entity, byEntityId: string | null, entityId?: string, chainEntityQuery?: string) => string;
|
|
8
|
+
export declare const getTagRequestKey: (mode: "list", entityType: Entity, tagName: string, params?: Record<string, string>) => string;
|
|
9
|
+
export declare const getUniqueFieldRequestKey: (entityType: Entity, fieldName: string, value: string) => string;
|
|
10
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAE7C,eAAO,MAAM,YAAY,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACxD,MAAM,CAAC,EAAE,EACT,QAAQ,MAAM,kBASf,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAC5B,UAAU,MAAM,EAChB,YAAY,MAAM,GAAG,IAAI,EACzB,QAAQ,MAAM,EACd,WAAW,MAAM,EACjB,mBAAmB,MAAM,WAG1B,CAAC;AAEF,eAAO,MAAM,cAAc,GACzB,YAAY,MAAM,EAClB,SAAS,MAAM,EACf,SAAQ,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,WASpC,CAAC;AAEF,eAAO,MAAM,sBAAsB,GACjC,WAAW,MAAM,EACjB,YAAY,MAAM,WAGnB,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC9B,MAAM,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,GAAG,QAAQ,EACzE,YAAY,MAAM,EAClB,WAAW,MAAM,WAGlB,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC9B,MAAM,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,EACrD,cAAc,MAAM,EACpB,YAAY,MAAM,EAClB,YAAY,MAAM,GAAG,IAAI,EACzB,WAAW,MAAM,EACjB,mBAAmB,MAAM,WAG1B,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAC3B,MAAM,MAAM,EACZ,YAAY,MAAM,EAClB,SAAS,MAAM,EACf,SAAQ,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,WAGpC,CAAC;AAEF,eAAO,MAAM,wBAAwB,GACnC,YAAY,MAAM,EAClB,WAAW,MAAM,EACjB,OAAO,MAAM,WAGd,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { Entity } from '@monorise/base';
|
|
2
|
+
import type { AxiosInterceptor } from '../types/api.type';
|
|
3
|
+
type LoginPayload = {
|
|
4
|
+
email: string;
|
|
5
|
+
};
|
|
6
|
+
type Options = {
|
|
7
|
+
apiBaseUrl?: string;
|
|
8
|
+
};
|
|
9
|
+
declare const initAuthService: (axios: AxiosInterceptor) => {
|
|
10
|
+
requestLoginMagicLink: (entityType: Entity, payload: LoginPayload) => Promise<import("axios").AxiosResponse<any, any>>;
|
|
11
|
+
getSessionProfile: <T extends Record<string, unknown>>() => Promise<import("axios").AxiosResponse<T & {
|
|
12
|
+
displayName: string;
|
|
13
|
+
email: string;
|
|
14
|
+
accountId: string;
|
|
15
|
+
}, any>>;
|
|
16
|
+
logout: () => Promise<import("axios").AxiosResponse<any, any>>;
|
|
17
|
+
setOptions: (opts: Options) => void;
|
|
18
|
+
};
|
|
19
|
+
export default initAuthService;
|
|
20
|
+
export type AuthService = ReturnType<typeof initAuthService>;
|
|
21
|
+
//# sourceMappingURL=auth.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.service.d.ts","sourceRoot":"","sources":["../../services/auth.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,KAAK,YAAY,GAAG;IAClB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,KAAK,OAAO,GAAG;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,QAAA,MAAM,eAAe,GAAI,OAAO,gBAAgB;wCAIH,MAAM,WAAW,YAAY;wBAgB7C,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;qBAGzC,MAAM;eACZ,MAAM;mBACF,MAAM;;;uBAWG,OAAO;CAalC,CAAC;AAEF,eAAe,eAAe,CAAC;AAE/B,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import type { CreatedEntity, DraftEntity, Entity } from '@monorise/base';
|
|
2
|
+
import type { AxiosRequestConfig } from 'axios';
|
|
3
|
+
import type { MonoriseStore } from '../store/monorise.store';
|
|
4
|
+
import type { ApplicationRequestError, AxiosInterceptor } from '../types/api.type';
|
|
5
|
+
import type { Mutual, MutualData } from '../types/mutual.type';
|
|
6
|
+
type ListEntitiesPayload = {
|
|
7
|
+
limit?: number;
|
|
8
|
+
lastKey?: string;
|
|
9
|
+
start?: string;
|
|
10
|
+
end?: string;
|
|
11
|
+
};
|
|
12
|
+
export type ListEntitiesByTagParams = {
|
|
13
|
+
group?: string;
|
|
14
|
+
query?: string;
|
|
15
|
+
start?: string;
|
|
16
|
+
end?: string;
|
|
17
|
+
limit?: number;
|
|
18
|
+
lastKey?: string;
|
|
19
|
+
};
|
|
20
|
+
type ConfigOptions = {
|
|
21
|
+
entityApiBaseUrl?: string;
|
|
22
|
+
mutualApiBaseUrl?: string;
|
|
23
|
+
tagApiBaseUrl?: string;
|
|
24
|
+
};
|
|
25
|
+
export type CommonOptions = Partial<AxiosRequestConfig> & {
|
|
26
|
+
customUrl?: string;
|
|
27
|
+
isInterruptive?: boolean;
|
|
28
|
+
feedback?: {
|
|
29
|
+
success?: string;
|
|
30
|
+
failure?: string;
|
|
31
|
+
loading?: string;
|
|
32
|
+
};
|
|
33
|
+
stateKey?: string;
|
|
34
|
+
forceFetch?: boolean;
|
|
35
|
+
noData?: boolean;
|
|
36
|
+
requestKey?: string;
|
|
37
|
+
onError?: (error: ApplicationRequestError | Error) => void;
|
|
38
|
+
limit?: number;
|
|
39
|
+
};
|
|
40
|
+
declare const initCoreService: (monoriseStore: MonoriseStore, axios: AxiosInterceptor, opts?: ConfigOptions) => {
|
|
41
|
+
makeEntityService: <T extends Entity>(entityType: T) => {
|
|
42
|
+
listEntities: (payload: ListEntitiesPayload, opts?: CommonOptions) => Promise<import("axios").AxiosResponse<{
|
|
43
|
+
data: CreatedEntity<T>[];
|
|
44
|
+
lastKey?: string;
|
|
45
|
+
totalCount: number;
|
|
46
|
+
}, any>>;
|
|
47
|
+
searchEntities: (query: string, opts?: CommonOptions) => Promise<import("axios").AxiosResponse<{
|
|
48
|
+
data: CreatedEntity<T>[];
|
|
49
|
+
}, any>>;
|
|
50
|
+
listEntitiesByTag: (tagName: string, opts?: CommonOptions) => Promise<import("axios").AxiosResponse<{
|
|
51
|
+
entities: CreatedEntity<T>[];
|
|
52
|
+
lastKey: string;
|
|
53
|
+
}, any>>;
|
|
54
|
+
getEntity: (id: string, opts?: CommonOptions) => Promise<import("axios").AxiosResponse<CreatedEntity<T>, any>>;
|
|
55
|
+
getEntityByUniqueField: (fieldName: string, value: string, opts?: CommonOptions) => Promise<import("axios").AxiosResponse<CreatedEntity<T>, any>>;
|
|
56
|
+
createEntity: (values: DraftEntity<T>, opts?: CommonOptions) => Promise<import("axios").AxiosResponse<CreatedEntity<T>, any>>;
|
|
57
|
+
upsertEntity: (id: string, values: DraftEntity<T>, opts?: CommonOptions) => Promise<import("axios").AxiosResponse<CreatedEntity<T>, any>>;
|
|
58
|
+
editEntity: (id: string, values: Partial<DraftEntity<T>>, opts?: CommonOptions) => Promise<import("axios").AxiosResponse<CreatedEntity<T>, any>>;
|
|
59
|
+
updateEntity: (id: string, values: DraftEntity<T>, opts?: CommonOptions) => Promise<import("axios").AxiosResponse<CreatedEntity<T>, any>>;
|
|
60
|
+
deleteEntity: (id: string, opts?: CommonOptions) => Promise<import("axios").AxiosResponse<any, any>>;
|
|
61
|
+
};
|
|
62
|
+
makeMutualService: <B extends Entity, T extends Entity>(byEntityType: B, entityType: T) => {
|
|
63
|
+
listEntitiesByEntity: (byEntityId: string, opts?: CommonOptions, chainEntityQuery?: string) => Promise<import("axios").AxiosResponse<{
|
|
64
|
+
entities: Mutual<B, T>[];
|
|
65
|
+
lastKey: string;
|
|
66
|
+
}, any>>;
|
|
67
|
+
getMutual: (byEntityId: string, entityId: string, opts?: CommonOptions) => Promise<import("axios").AxiosResponse<Mutual<B, T>, any>>;
|
|
68
|
+
createMutual: (byEntityId: string, entityId: string, payload: MutualData<B, T> | Record<string, unknown>, opts?: {}) => Promise<import("axios").AxiosResponse<Mutual<B, T>, any>>;
|
|
69
|
+
editMutual: (byEntityId: string, entityId: string, payload: MutualData<B, T> | Record<string, unknown>, opts?: {}) => Promise<import("axios").AxiosResponse<Mutual<B, T>, any>>;
|
|
70
|
+
deleteMutual: (byEntityId: string, entityId: string, opts?: CommonOptions) => Promise<import("axios").AxiosResponse<any, any>>;
|
|
71
|
+
};
|
|
72
|
+
setOptions: (opts: ConfigOptions) => void;
|
|
73
|
+
};
|
|
74
|
+
export default initCoreService;
|
|
75
|
+
export type CoreService = ReturnType<typeof initCoreService>;
|
|
76
|
+
//# sourceMappingURL=core.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core.service.d.ts","sourceRoot":"","sources":["../../services/core.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { AxiosInterceptor } from '../types/api.type';
|
|
2
|
+
type UploadFileProps = {
|
|
3
|
+
file: File;
|
|
4
|
+
scope: string;
|
|
5
|
+
directory: string;
|
|
6
|
+
name: string;
|
|
7
|
+
disableLoading?: boolean;
|
|
8
|
+
onProgress?: (progress: number) => void;
|
|
9
|
+
};
|
|
10
|
+
type Options = {
|
|
11
|
+
apiBaseUrl?: string;
|
|
12
|
+
};
|
|
13
|
+
declare const initFilestoreService: (axios: AxiosInterceptor) => {
|
|
14
|
+
uploadFile: ({ file, scope, directory, name, disableLoading, onProgress, }: UploadFileProps) => Promise<import("axios").AxiosResponse<any, any>>;
|
|
15
|
+
deleteFiles: (keys: string[]) => Promise<any>;
|
|
16
|
+
uploadVideo: ({ file, scope, directory, name, }: UploadFileProps) => Promise<any>;
|
|
17
|
+
uploadAudio: ({ file, scope, directory, name, }: UploadFileProps) => Promise<any>;
|
|
18
|
+
getJobStatus: (id: string) => Promise<any>;
|
|
19
|
+
setOptions: (opts: Options) => void;
|
|
20
|
+
};
|
|
21
|
+
export default initFilestoreService;
|
|
22
|
+
//# sourceMappingURL=filestore.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filestore.service.d.ts","sourceRoot":"","sources":["../../services/filestore.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,KAAK,eAAe,GAAG;IACrB,IAAI,EAAE,IAAI,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;CACzC,CAAC;AAEF,KAAK,OAAO,GAAG;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,QAAA,MAAM,oBAAoB,GAAI,OAAO,gBAAgB;gFAWhD,eAAe;wBAmCe,MAAM,EAAE;qDAoBtC,eAAe;qDAiDf,eAAe;uBA4Cc,MAAM;uBAQZ,OAAO;CAelC,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
|