tawa 0.13.0 → 0.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commands/dev/mocks/queue.d.ts.map +1 -1
- package/dist/commands/dev/mocks/queue.js +9 -3
- package/dist/commands/dev/mocks/queue.js.map +1 -1
- package/dist/commands/dev/mocks/server.d.ts.map +1 -1
- package/dist/commands/dev/mocks/server.js +7 -2
- package/dist/commands/dev/mocks/server.js.map +1 -1
- package/dist/commands/dev/mocks/storage.d.ts +1 -0
- package/dist/commands/dev/mocks/storage.d.ts.map +1 -1
- package/dist/commands/dev/mocks/storage.js +126 -1
- package/dist/commands/dev/mocks/storage.js.map +1 -1
- package/dist/commands/sample.d.ts +1 -6
- package/dist/commands/sample.d.ts.map +1 -1
- package/dist/commands/sample.js +22 -109
- package/dist/commands/sample.js.map +1 -1
- package/dist/index.js +2 -7
- package/dist/index.js.map +1 -1
- package/dist/templates/{nextjs → eco-app}/.env.example +9 -9
- package/dist/templates/eco-app/CLAUDE.md +185 -0
- package/dist/templates/{nextjs → eco-app}/README.md +12 -13
- package/dist/templates/{nextjs → eco-app}/__tests__/api/auth.test.ts +9 -9
- package/dist/templates/{nextjs → eco-app}/__tests__/api/users.test.ts +15 -15
- package/dist/templates/{nextjs → eco-app}/__tests__/examples/platform-services.test.ts +3 -3
- package/dist/templates/{nextjs → eco-app}/app/(admin)/dashboard/settings/page.tsx +1 -1
- package/dist/templates/{nextjs → eco-app}/app/(admin)/email/page.tsx +1 -1
- package/dist/templates/{nextjs → eco-app}/app/api/admin/files/route.ts +1 -1
- package/dist/templates/{nextjs → eco-app}/app/api/admin/trigger-cron/route.ts +1 -1
- package/dist/templates/{nextjs → eco-app}/catalog-info.yaml +1 -1
- package/dist/templates/{nextjs → eco-app}/lib/__tests__/setup.ts +1 -1
- package/dist/templates/eco-app/lib/config.ts +9 -0
- package/dist/templates/{nextjs → eco-app}/package.json +2 -2
- package/dist/templates/eco-app/pnpm-lock.yaml +3146 -0
- package/dist/templates/{nextjs → eco-app}/scripts/clean.ts +1 -1
- package/dist/templates/{nextjs → eco-app}/scripts/seed.ts +1 -1
- package/dist/templates/{nextjs → eco-app}/server.ts +1 -1
- package/dist/templates/static/.env.example +1 -0
- package/dist/templates/static/README.md +86 -0
- package/dist/templates/static/catalog-info.yaml +6 -1
- package/dist/templates/static/gitignore +4 -0
- package/dist/templates/static/package.json +14 -0
- package/dist/templates/static/pnpm-lock.yaml +576 -0
- package/dist/templates/static/public/index.html +237 -0
- package/dist/templates/static/public/styles.css +2 -0
- package/dist/templates/static/src/styles/components.css +230 -0
- package/dist/templates/static/src/styles/main.css +16 -0
- package/dist/templates/static/src/styles/tokens.css +62 -0
- package/dist/templates/static/src/styles/typography.css +94 -0
- package/package.json +2 -2
- package/dist/templates/api/.env.example +0 -15
- package/dist/templates/api/README.md +0 -80
- package/dist/templates/api/catalog-info.yaml +0 -24
- package/dist/templates/api/gitignore +0 -32
- package/dist/templates/api/package.json +0 -34
- package/dist/templates/api/src/__tests__/audit.test.ts +0 -42
- package/dist/templates/api/src/__tests__/health.test.ts +0 -11
- package/dist/templates/api/src/index.ts +0 -61
- package/dist/templates/api/src/routes/example.ts +0 -165
- package/dist/templates/api/tsconfig.json +0 -18
- package/dist/templates/api-oauth/.env.example +0 -17
- package/dist/templates/api-oauth/catalog-info.yaml +0 -31
- package/dist/templates/api-oauth/gitignore +0 -35
- package/dist/templates/api-oauth/package.json +0 -36
- package/dist/templates/api-oauth/src/config.ts +0 -35
- package/dist/templates/api-oauth/src/index.ts +0 -64
- package/dist/templates/api-oauth/src/lib/auth.ts +0 -173
- package/dist/templates/api-oauth/src/lib/middleware.ts +0 -55
- package/dist/templates/api-oauth/src/routes/api.ts +0 -149
- package/dist/templates/api-oauth/src/routes/auth.ts +0 -143
- package/dist/templates/api-oauth/src/routes/pages.ts +0 -21
- package/dist/templates/api-oauth/src/views/dashboard.ts +0 -43
- package/dist/templates/api-oauth/src/views/escape.ts +0 -8
- package/dist/templates/api-oauth/src/views/home.ts +0 -35
- package/dist/templates/api-oauth/src/views/layout.ts +0 -97
- package/dist/templates/api-oauth/tsconfig.json +0 -18
- package/dist/templates/crosspod/README.md +0 -87
- package/dist/templates/crosspod/service-a/Dockerfile +0 -27
- package/dist/templates/crosspod/service-a/catalog-info.yaml +0 -54
- package/dist/templates/crosspod/service-a/gitignore +0 -6
- package/dist/templates/crosspod/service-a/helm/{{name}}-service-a/Chart.yaml +0 -6
- package/dist/templates/crosspod/service-a/helm/{{name}}-service-a/templates/deployment.yaml +0 -72
- package/dist/templates/crosspod/service-a/helm/{{name}}-service-a/templates/ingress.yaml +0 -43
- package/dist/templates/crosspod/service-a/helm/{{name}}-service-a/templates/service.yaml +0 -17
- package/dist/templates/crosspod/service-a/helm/{{name}}-service-a/values.yaml +0 -44
- package/dist/templates/crosspod/service-a/package.json +0 -29
- package/dist/templates/crosspod/service-a/src/index.ts +0 -89
- package/dist/templates/crosspod/service-a/tsconfig.json +0 -14
- package/dist/templates/crosspod/service-b/Dockerfile +0 -27
- package/dist/templates/crosspod/service-b/catalog-info.yaml +0 -27
- package/dist/templates/crosspod/service-b/gitignore +0 -6
- package/dist/templates/crosspod/service-b/helm/{{name}}-service-b/Chart.yaml +0 -6
- package/dist/templates/crosspod/service-b/helm/{{name}}-service-b/templates/deployment.yaml +0 -72
- package/dist/templates/crosspod/service-b/helm/{{name}}-service-b/templates/ingress.yaml +0 -43
- package/dist/templates/crosspod/service-b/helm/{{name}}-service-b/templates/service.yaml +0 -17
- package/dist/templates/crosspod/service-b/helm/{{name}}-service-b/values.yaml +0 -47
- package/dist/templates/crosspod/service-b/package.json +0 -26
- package/dist/templates/crosspod/service-b/src/index.ts +0 -143
- package/dist/templates/crosspod/service-b/tsconfig.json +0 -14
- package/dist/templates/mga/{{name}}-api/.env.example +0 -5
- package/dist/templates/mga/{{name}}-api/Dockerfile +0 -45
- package/dist/templates/mga/{{name}}-api/catalog-info.yaml +0 -44
- package/dist/templates/mga/{{name}}-api/gitignore +0 -32
- package/dist/templates/mga/{{name}}-api/helm/{{name}}-api/Chart.yaml +0 -9
- package/dist/templates/mga/{{name}}-api/helm/{{name}}-api/templates/deployment.yaml +0 -72
- package/dist/templates/mga/{{name}}-api/helm/{{name}}-api/templates/ingress.yaml +0 -43
- package/dist/templates/mga/{{name}}-api/helm/{{name}}-api/templates/service.yaml +0 -17
- package/dist/templates/mga/{{name}}-api/helm/{{name}}-api/values.yaml +0 -65
- package/dist/templates/mga/{{name}}-api/package.json +0 -37
- package/dist/templates/mga/{{name}}-api/src/index.ts +0 -82
- package/dist/templates/mga/{{name}}-api/src/lib/mongo.ts +0 -19
- package/dist/templates/mga/{{name}}-api/src/middleware/auth.ts +0 -135
- package/dist/templates/mga/{{name}}-api/src/models/agent.ts +0 -45
- package/dist/templates/mga/{{name}}-api/src/models/application.ts +0 -58
- package/dist/templates/mga/{{name}}-api/src/models/invite.ts +0 -39
- package/dist/templates/mga/{{name}}-api/src/models/policy.ts +0 -59
- package/dist/templates/mga/{{name}}-api/src/models/product.ts +0 -51
- package/dist/templates/mga/{{name}}-api/src/models/quote.ts +0 -68
- package/dist/templates/mga/{{name}}-api/src/routes/agents.ts +0 -98
- package/dist/templates/mga/{{name}}-api/src/routes/applications.ts +0 -170
- package/dist/templates/mga/{{name}}-api/src/routes/invites.ts +0 -146
- package/dist/templates/mga/{{name}}-api/src/routes/policies.ts +0 -70
- package/dist/templates/mga/{{name}}-api/src/routes/products.ts +0 -154
- package/dist/templates/mga/{{name}}-api/src/routes/quotes.ts +0 -263
- package/dist/templates/mga/{{name}}-api/src/routes/reports.ts +0 -199
- package/dist/templates/mga/{{name}}-api/tsconfig.json +0 -18
- package/dist/templates/mga/{{name}}-web/.env.example +0 -6
- package/dist/templates/mga/{{name}}-web/Dockerfile +0 -51
- package/dist/templates/mga/{{name}}-web/catalog-info.yaml +0 -24
- package/dist/templates/mga/{{name}}-web/dockerignore +0 -6
- package/dist/templates/mga/{{name}}-web/gitignore +0 -36
- package/dist/templates/mga/{{name}}-web/helm/{{name}}-web/Chart.yaml +0 -9
- package/dist/templates/mga/{{name}}-web/helm/{{name}}-web/templates/_helpers.tpl +0 -49
- package/dist/templates/mga/{{name}}-web/helm/{{name}}-web/templates/configmap.yaml +0 -10
- package/dist/templates/mga/{{name}}-web/helm/{{name}}-web/templates/deployment.yaml +0 -56
- package/dist/templates/mga/{{name}}-web/helm/{{name}}-web/templates/ingress.yaml +0 -41
- package/dist/templates/mga/{{name}}-web/helm/{{name}}-web/templates/service.yaml +0 -15
- package/dist/templates/mga/{{name}}-web/helm/{{name}}-web/values.yaml +0 -70
- package/dist/templates/mga/{{name}}-web/next.config.js +0 -8
- package/dist/templates/mga/{{name}}-web/package.json +0 -30
- package/dist/templates/mga/{{name}}-web/public/gitkeep +0 -0
- package/dist/templates/mga/{{name}}-web/src/app/api/auth/callback/route.ts +0 -77
- package/dist/templates/mga/{{name}}-web/src/app/api/auth/login/route.ts +0 -16
- package/dist/templates/mga/{{name}}-web/src/app/api/auth/logout/route.ts +0 -7
- package/dist/templates/mga/{{name}}-web/src/app/api/auth/session/route.ts +0 -42
- package/dist/templates/mga/{{name}}-web/src/app/api/health/route.ts +0 -10
- package/dist/templates/mga/{{name}}-web/src/app/api/proxy/applications/route.ts +0 -47
- package/dist/templates/mga/{{name}}-web/src/app/applications/layout.tsx +0 -17
- package/dist/templates/mga/{{name}}-web/src/app/applications/new/page.tsx +0 -374
- package/dist/templates/mga/{{name}}-web/src/app/applications/page.tsx +0 -109
- package/dist/templates/mga/{{name}}-web/src/app/dashboard/admin/page.tsx +0 -179
- package/dist/templates/mga/{{name}}-web/src/app/dashboard/agent/page.tsx +0 -125
- package/dist/templates/mga/{{name}}-web/src/app/dashboard/insured/page.tsx +0 -145
- package/dist/templates/mga/{{name}}-web/src/app/dashboard/layout.tsx +0 -17
- package/dist/templates/mga/{{name}}-web/src/app/dashboard/page.tsx +0 -27
- package/dist/templates/mga/{{name}}-web/src/app/dashboard/shell.tsx +0 -89
- package/dist/templates/mga/{{name}}-web/src/app/globals.css +0 -477
- package/dist/templates/mga/{{name}}-web/src/app/layout.tsx +0 -19
- package/dist/templates/mga/{{name}}-web/src/app/page.tsx +0 -74
- package/dist/templates/mga/{{name}}-web/src/app/reports/layout.tsx +0 -21
- package/dist/templates/mga/{{name}}-web/src/app/reports/page.tsx +0 -231
- package/dist/templates/mga/{{name}}-web/src/lib/api.ts +0 -79
- package/dist/templates/mga/{{name}}-web/src/lib/auth.ts +0 -285
- package/dist/templates/mga/{{name}}-web/src/middleware.ts +0 -71
- package/dist/templates/mga/{{name}}-web/tsconfig.json +0 -26
- package/dist/templates/nextjs/lib/config.ts +0 -9
- package/dist/templates/nextjs-oauth/.env.example +0 -12
- package/dist/templates/static/index.html +0 -16
- package/dist/templates/static/styles.css +0 -39
- package/dist/templates/worker/.env.example +0 -13
- package/dist/templates/worker/Dockerfile +0 -26
- package/dist/templates/worker/README.md +0 -106
- package/dist/templates/worker/catalog-info.yaml +0 -19
- package/dist/templates/worker/gitignore +0 -6
- package/dist/templates/worker/helm/{{name}}/Chart.yaml +0 -9
- package/dist/templates/worker/helm/{{name}}/templates/deployment.yaml +0 -68
- package/dist/templates/worker/helm/{{name}}/templates/ingress.yaml +0 -43
- package/dist/templates/worker/helm/{{name}}/values.yaml +0 -64
- package/dist/templates/worker/package.json +0 -26
- package/dist/templates/worker/src/index.ts +0 -185
- package/dist/templates/worker/tsconfig.json +0 -14
- /package/dist/templates/{nextjs → eco-app}/__tests__/api/cron.test.ts +0 -0
- /package/dist/templates/{nextjs → eco-app}/__tests__/services/userProfile.test.ts +0 -0
- /package/dist/templates/{nextjs → eco-app}/app/(admin)/dashboard/access-control/page.tsx +0 -0
- /package/dist/templates/{nextjs → eco-app}/app/(admin)/dashboard/audit/page.tsx +0 -0
- /package/dist/templates/{nextjs → eco-app}/app/(admin)/dashboard/auth-examples/page.tsx +0 -0
- /package/dist/templates/{nextjs → eco-app}/app/(admin)/dashboard/cron-logs/page.tsx +0 -0
- /package/dist/templates/{nextjs → eco-app}/app/(admin)/dashboard/gas/page.tsx +0 -0
- /package/dist/templates/{nextjs → eco-app}/app/(admin)/dashboard/page.tsx +0 -0
- /package/dist/templates/{nextjs → eco-app}/app/(admin)/dashboard/settings/branding-guide.tsx +0 -0
- /package/dist/templates/{nextjs → eco-app}/app/(admin)/dashboard/testing/page.tsx +0 -0
- /package/dist/templates/{nextjs → eco-app}/app/(admin)/dashboard/users/page.tsx +0 -0
- /package/dist/templates/{nextjs → eco-app}/app/(admin)/email/history/page.tsx +0 -0
- /package/dist/templates/{nextjs → eco-app}/app/(admin)/files/page.tsx +0 -0
- /package/dist/templates/{nextjs → eco-app}/app/(admin)/layout.tsx +0 -0
- /package/dist/templates/{nextjs → eco-app}/app/api/admin/cron-logs/route.ts +0 -0
- /package/dist/templates/{nextjs → eco-app}/app/api/admin/email-history/[id]/route.ts +0 -0
- /package/dist/templates/{nextjs → eco-app}/app/api/admin/email-history/route.ts +0 -0
- /package/dist/templates/{nextjs → eco-app}/app/api/admin/enqueue/route.ts +0 -0
- /package/dist/templates/{nextjs → eco-app}/app/api/admin/gas/route.ts +0 -0
- /package/dist/templates/{nextjs → eco-app}/app/api/admin/send-email/route.ts +0 -0
- /package/dist/templates/{nextjs → eco-app}/app/api/admin/septor-trail/route.ts +0 -0
- /package/dist/templates/{nextjs → eco-app}/app/api/admin/settings/route.ts +0 -0
- /package/dist/templates/{nextjs → eco-app}/app/api/admin/users/create/route.ts +0 -0
- /package/dist/templates/{nextjs → eco-app}/app/api/admin/users/invite/route.ts +0 -0
- /package/dist/templates/{nextjs → eco-app}/app/api/admin/users/route.ts +0 -0
- /package/dist/templates/{nextjs → eco-app}/app/api/auth/callback/route.ts +0 -0
- /package/dist/templates/{nextjs → eco-app}/app/api/auth/invite/[token]/route.ts +0 -0
- /package/dist/templates/{nextjs → eco-app}/app/api/auth/login/route.ts +0 -0
- /package/dist/templates/{nextjs → eco-app}/app/api/auth/logout/route.ts +0 -0
- /package/dist/templates/{nextjs → eco-app}/app/api/auth/me/route.ts +0 -0
- /package/dist/templates/{nextjs → eco-app}/app/api/auth/onboarding/complete/route.ts +0 -0
- /package/dist/templates/{nextjs → eco-app}/app/api/auth/roles/route.ts +0 -0
- /package/dist/templates/{nextjs → eco-app}/app/api/auth/token/route.ts +0 -0
- /package/dist/templates/{nextjs → eco-app}/app/api/public/branding/route.ts +0 -0
- /package/dist/templates/{nextjs → eco-app}/app/globals.css +0 -0
- /package/dist/templates/{nextjs → eco-app}/app/health/route.ts +0 -0
- /package/dist/templates/{nextjs → eco-app}/app/internal/cron/daily-digest/route.ts +0 -0
- /package/dist/templates/{nextjs → eco-app}/app/internal/cron/example-sync/route.ts +0 -0
- /package/dist/templates/{nextjs → eco-app}/app/internal/jobs/example-job/route.ts +0 -0
- /package/dist/templates/{nextjs → eco-app}/app/invite/[token]/page.tsx +0 -0
- /package/dist/templates/{nextjs → eco-app}/app/invite/layout.tsx +0 -0
- /package/dist/templates/{nextjs → eco-app}/app/layout.tsx +0 -0
- /package/dist/templates/{nextjs → eco-app}/app/login/page.tsx +0 -0
- /package/dist/templates/{nextjs → eco-app}/app/onboarding/_components/CompleteStep.tsx +0 -0
- /package/dist/templates/{nextjs → eco-app}/app/onboarding/_components/ModulesStep.tsx +0 -0
- /package/dist/templates/{nextjs → eco-app}/app/onboarding/_components/StepIndicator.tsx +0 -0
- /package/dist/templates/{nextjs → eco-app}/app/onboarding/_components/WelcomeStep.tsx +0 -0
- /package/dist/templates/{nextjs → eco-app}/app/onboarding/layout.tsx +0 -0
- /package/dist/templates/{nextjs → eco-app}/app/onboarding/page.tsx +0 -0
- /package/dist/templates/{nextjs → eco-app}/app/page.tsx +0 -0
- /package/dist/templates/{nextjs → eco-app}/components/DataTable.tsx +0 -0
- /package/dist/templates/{nextjs → eco-app}/components/EmptyState.tsx +0 -0
- /package/dist/templates/{nextjs → eco-app}/components/LoadingSpinner.tsx +0 -0
- /package/dist/templates/{nextjs → eco-app}/components/Modal.tsx +0 -0
- /package/dist/templates/{nextjs → eco-app}/components/StatsCard.tsx +0 -0
- /package/dist/templates/{nextjs → eco-app}/components/StatusBadge.tsx +0 -0
- /package/dist/templates/{nextjs → eco-app}/components/ThemeProvider.tsx +0 -0
- /package/dist/templates/{nextjs → eco-app}/components/auth-examples/BrandedSSOCard.tsx +0 -0
- /package/dist/templates/{nextjs → eco-app}/components/auth-examples/CodeBlock.tsx +0 -0
- /package/dist/templates/{nextjs → eco-app}/components/auth-examples/HeadlessTokenCard.tsx +0 -0
- /package/dist/templates/{nextjs → eco-app}/components/auth-examples/StandardSSOCard.tsx +0 -0
- /package/dist/templates/{nextjs → eco-app}/components/layout/Header.tsx +0 -0
- /package/dist/templates/{nextjs → eco-app}/components/layout/Sidebar.tsx +0 -0
- /package/dist/templates/{nextjs → eco-app}/components/providers.tsx +0 -0
- /package/dist/templates/{nextjs → eco-app}/components/users/EditRolesModal.tsx +0 -0
- /package/dist/templates/{nextjs → eco-app}/components/users/InviteUserModal.tsx +0 -0
- /package/dist/templates/{nextjs → eco-app}/gitignore +0 -0
- /package/dist/templates/{nextjs → eco-app}/lib/__tests__/db.test.ts +0 -0
- /package/dist/templates/{nextjs → eco-app}/lib/__tests__/utils.test.ts +0 -0
- /package/dist/templates/{nextjs → eco-app}/lib/api.ts +0 -0
- /package/dist/templates/{nextjs → eco-app}/lib/auth.ts +0 -0
- /package/dist/templates/{nextjs → eco-app}/lib/db.ts +0 -0
- /package/dist/templates/{nextjs → eco-app}/lib/models/CronLog.ts +0 -0
- /package/dist/templates/{nextjs → eco-app}/lib/models/EmailLog.ts +0 -0
- /package/dist/templates/{nextjs → eco-app}/lib/models/JobLog.ts +0 -0
- /package/dist/templates/{nextjs → eco-app}/lib/models/Settings.ts +0 -0
- /package/dist/templates/{nextjs → eco-app}/lib/models/UserProfile.ts +0 -0
- /package/dist/templates/{nextjs → eco-app}/lib/requireRole.ts +0 -0
- /package/dist/templates/{nextjs → eco-app}/lib/services/emailTemplates.ts +0 -0
- /package/dist/templates/{nextjs → eco-app}/lib/services/queue.ts +0 -0
- /package/dist/templates/{nextjs → eco-app}/lib/services/relay.ts +0 -0
- /package/dist/templates/{nextjs → eco-app}/lib/services/septor.ts +0 -0
- /package/dist/templates/{nextjs → eco-app}/lib/services/settings.ts +0 -0
- /package/dist/templates/{nextjs → eco-app}/lib/services/storage.ts +0 -0
- /package/dist/templates/{nextjs → eco-app}/lib/services/templateRenderer.ts +0 -0
- /package/dist/templates/{nextjs → eco-app}/lib/services/userProfile.ts +0 -0
- /package/dist/templates/{nextjs → eco-app}/lib/services/users.ts +0 -0
- /package/dist/templates/{nextjs → eco-app}/lib/utils.ts +0 -0
- /package/dist/templates/{nextjs → eco-app}/next.config.ts +0 -0
- /package/dist/templates/{nextjs → eco-app}/postcss.config.js +0 -0
- /package/dist/templates/{nextjs → eco-app}/tsconfig.json +0 -0
- /package/dist/templates/{nextjs → eco-app}/vitest.config.ts +0 -0
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,12 +9,12 @@
|
|
|
9
9
|
# =============================================================================
|
|
10
10
|
|
|
11
11
|
# Database
|
|
12
|
-
# tawa dev generates: MONGODB_URI=mongodb://localhost:27017/tawa-dev-
|
|
13
|
-
MONGODB_URI=mongodb://localhost:27017/
|
|
12
|
+
# tawa dev generates: MONGODB_URI=mongodb://localhost:27017/tawa-dev-eco-app-<devId>
|
|
13
|
+
MONGODB_URI=mongodb://localhost:27017/eco-app-dev
|
|
14
14
|
|
|
15
15
|
# Bio-ID OAuth (auto-injected in production via catalog-info auth: mode: sso)
|
|
16
16
|
# tawa dev --offline generates:
|
|
17
|
-
# BIO_CLIENT_ID=
|
|
17
|
+
# BIO_CLIENT_ID=eco-app-dev
|
|
18
18
|
# BIO_CLIENT_SECRET=dev-mock-secret
|
|
19
19
|
# BIO_ID_URL=http://localhost:4500
|
|
20
20
|
BIO_CLIENT_ID=
|
|
@@ -39,17 +39,17 @@ S3_HOST=localhost
|
|
|
39
39
|
S3_PORT=9000
|
|
40
40
|
S3_ACCESS_KEY_ID=minioadmin
|
|
41
41
|
S3_SECRET_ACCESS_KEY=minioadmin
|
|
42
|
-
S3_BUCKET=
|
|
42
|
+
S3_BUCKET=eco-app-dev-default
|
|
43
43
|
TAWA_STORAGE_URL=
|
|
44
44
|
|
|
45
45
|
# Service identity (auto-injected in production)
|
|
46
|
-
# tawa dev generates: SERVICE_NAME=
|
|
47
|
-
SERVICE_NAME=
|
|
48
|
-
SERVICE_NAMESPACE=
|
|
46
|
+
# tawa dev generates: SERVICE_NAME=eco-app, SERVICE_NAMESPACE=eco-app
|
|
47
|
+
SERVICE_NAME=eco-app
|
|
48
|
+
SERVICE_NAMESPACE=eco-app
|
|
49
49
|
|
|
50
50
|
# App
|
|
51
|
-
APP_URL=http://localhost:
|
|
52
|
-
PORT=
|
|
51
|
+
APP_URL=http://localhost:4140
|
|
52
|
+
PORT=4140
|
|
53
53
|
NODE_ENV=development
|
|
54
54
|
|
|
55
55
|
# Chaac demo mode — bypasses Bio-ID OAuth with a hardcoded dev user.
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
# Tawa Ecosystem App Scaffold
|
|
2
|
+
|
|
3
|
+
This is the official scaffold for building apps on the Tawa platform. It serves two purposes:
|
|
4
|
+
1. **Developer template** — fork this to build any Tawa app with full platform integration
|
|
5
|
+
2. **Demo scaffold** — used by Chaac (the AI chatbot) to generate live demos during proposal building
|
|
6
|
+
|
|
7
|
+
## Stack
|
|
8
|
+
|
|
9
|
+
- **Framework**: Next.js 15 (App Router) with custom HTTP server (`server.ts`)
|
|
10
|
+
- **Auth**: Bio-ID OAuth 2.0 + PKCE via `@insureco/bio`
|
|
11
|
+
- **Database**: MongoDB via Mongoose 9 (singleton in `lib/db.ts`)
|
|
12
|
+
- **Audit**: Septor immutable audit trail via `@insureco/septor`
|
|
13
|
+
- **Email/SMS**: Relay via `@insureco/relay`
|
|
14
|
+
- **Storage**: S3-compatible object storage via `@insureco/storage`
|
|
15
|
+
- **Styling**: Tailwind CSS 4 + Lucide icons
|
|
16
|
+
- **Testing**: Vitest with 80% coverage enforcement
|
|
17
|
+
|
|
18
|
+
## Key Patterns
|
|
19
|
+
|
|
20
|
+
### Fire-and-Forget for Side Effects
|
|
21
|
+
Septor audit events and Relay emails are NEVER awaited on the request path. Always:
|
|
22
|
+
```typescript
|
|
23
|
+
septor.emit(...).catch((err) => logger.error({ err }, 'Septor failed'))
|
|
24
|
+
relay.sendEmail(...).catch((err) => logger.warn({ err }, 'Email failed'))
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
### Singleton Service Clients
|
|
28
|
+
Platform service clients use lazy singletons in `lib/services/`:
|
|
29
|
+
- `getSeptor()` — returns cached Septor instance
|
|
30
|
+
- `getRelay()` — returns cached RelayClient instance
|
|
31
|
+
- `getStorage()` — returns cached StorageClient instance
|
|
32
|
+
|
|
33
|
+
### Auth Flow
|
|
34
|
+
- Login: `/api/auth/login` → redirects to Bio-ID with PKCE
|
|
35
|
+
- Callback: `/api/auth/callback` → exchanges code, sets httpOnly cookies
|
|
36
|
+
- Logout: `/api/auth/logout` → revokes token, clears cookies
|
|
37
|
+
- Current user: `getCurrentUser()` in `lib/auth.ts` — auto-refreshes expired tokens
|
|
38
|
+
- Protection: `requireAuth()` and `requireAdmin()` throw Response objects
|
|
39
|
+
|
|
40
|
+
### Internal Endpoints
|
|
41
|
+
- `/internal/cron/*` — called by iec-cron, NEVER listed in `routes:` in catalog-info.yaml
|
|
42
|
+
- `/internal/jobs/*` — called by iec-queue (if added), same rule
|
|
43
|
+
- These must return 200 immediately for slow work, then process async
|
|
44
|
+
|
|
45
|
+
### Immutable Code Style
|
|
46
|
+
NEVER mutate objects. Always spread to create new objects:
|
|
47
|
+
```typescript
|
|
48
|
+
// WRONG: user.name = name
|
|
49
|
+
// RIGHT: return { ...user, name }
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## catalog-info.yaml
|
|
53
|
+
|
|
54
|
+
This is the single source of truth for deployment. The builder reads it to:
|
|
55
|
+
- Generate Dockerfile (from `insureco.io/framework: nextjs`)
|
|
56
|
+
- Provision MongoDB (from `spec.databases`)
|
|
57
|
+
- Provision Bio-ID OAuth client (from `spec.auth.mode: sso`)
|
|
58
|
+
- Provision S3 storage bucket (from `spec.storage`)
|
|
59
|
+
- Register cron schedules (from `spec.schedules`)
|
|
60
|
+
- Resolve internal dependencies to Janus proxy URLs
|
|
61
|
+
- Run smoke tests after deploy (from `spec.tests`)
|
|
62
|
+
|
|
63
|
+
### Adding Platform Services
|
|
64
|
+
- **Database**: Add `- type: mongodb|redis|neo4j` under `spec.databases`
|
|
65
|
+
- **Storage**: Add `- name: default` with `tier: s3-sm|s3-md|s3-lg` under `spec.storage`
|
|
66
|
+
- **Cron**: Add schedule under `spec.schedules`, implement at `/internal/cron/{name}`
|
|
67
|
+
- **Queue**: Add queue under `spec.queues`, implement worker at `/internal/jobs/{name}`, add `iec-queue` to `internalDependencies`
|
|
68
|
+
- **Email/SMS**: No catalog change needed — Relay is auto-accessible through Janus
|
|
69
|
+
- **Audit**: Add `septor` to `internalDependencies` for `SEPTOR_URL`
|
|
70
|
+
|
|
71
|
+
### Environment Variables
|
|
72
|
+
These are auto-injected by the builder — NEVER hardcode them:
|
|
73
|
+
- `BIO_CLIENT_ID`, `BIO_CLIENT_SECRET` — from `auth.mode: sso`
|
|
74
|
+
- `BIO_ID_URL` — always injected (core platform var)
|
|
75
|
+
- `MONGODB_URI` — from `databases: [{type: mongodb}]`
|
|
76
|
+
- `SEPTOR_URL` — from `internalDependencies: [{service: septor}]`
|
|
77
|
+
- `S3_HOST`, `S3_PORT`, `S3_ACCESS_KEY_ID`, `S3_SECRET_ACCESS_KEY`, `S3_BUCKET` — from `spec.storage`
|
|
78
|
+
|
|
79
|
+
## File Organization
|
|
80
|
+
|
|
81
|
+
```
|
|
82
|
+
app/ # Next.js App Router
|
|
83
|
+
layout.tsx # Root layout with AuthProvider
|
|
84
|
+
page.tsx # Redirects to /dashboard
|
|
85
|
+
login/page.tsx # Bio-ID login page
|
|
86
|
+
health/route.ts # GET /health (required)
|
|
87
|
+
(admin)/ # Protected routes (sidebar + header shell)
|
|
88
|
+
layout.tsx
|
|
89
|
+
dashboard/page.tsx
|
|
90
|
+
api/auth/ # OAuth routes (login, callback, logout, me)
|
|
91
|
+
api/admin/ # Admin API routes
|
|
92
|
+
internal/cron/ # iec-cron callback endpoints
|
|
93
|
+
|
|
94
|
+
components/ # Reusable React components
|
|
95
|
+
providers.tsx # AuthProvider + useAuth hook
|
|
96
|
+
layout/ # Sidebar, Header
|
|
97
|
+
|
|
98
|
+
lib/ # Core utilities
|
|
99
|
+
auth.ts # getCurrentUser, requireAuth, requireAdmin
|
|
100
|
+
api.ts # Client-side fetch wrapper
|
|
101
|
+
config.ts # Typed env config
|
|
102
|
+
db.ts # Mongoose singleton
|
|
103
|
+
utils.ts # cn(), formatCurrency(), formatDate()
|
|
104
|
+
services/ # Platform service singletons
|
|
105
|
+
models/ # Mongoose models
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
## Deployment
|
|
109
|
+
|
|
110
|
+
```bash
|
|
111
|
+
tawa deploy --prod # ALWAYS deploy to production (see global CLAUDE.md)
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
Never use `kubectl`, `helm`, or `docker` directly. The builder handles everything.
|
|
115
|
+
|
|
116
|
+
## Local Dev
|
|
117
|
+
|
|
118
|
+
### Quick start with `tawa dev --offline` (recommended)
|
|
119
|
+
|
|
120
|
+
```bash
|
|
121
|
+
pnpm install
|
|
122
|
+
tawa dev --offline # generates .env.local + starts mock services on port 4500
|
|
123
|
+
pnpm dev # starts on port 4140 (in a separate terminal)
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
`tawa dev --offline` does two things:
|
|
127
|
+
1. Generates `.env.local` with all platform env vars pre-filled (merges, never overwrites existing values)
|
|
128
|
+
2. Starts a mock server on port 4500 that fakes Bio-ID, Septor, Relay, and Storage
|
|
129
|
+
|
|
130
|
+
The scaffold connects to mock services via the same env vars used in production:
|
|
131
|
+
- `BIO_ID_URL=http://localhost:4500` — mock Bio-ID OIDC (auto-login, no real credentials needed)
|
|
132
|
+
- `SEPTOR_URL=http://localhost:4500/i/septor` — mock Septor (events written to `.tawa-dev/septor-events.jsonl`)
|
|
133
|
+
- `JANUS_URL=http://localhost:4500` — mock Janus gateway
|
|
134
|
+
- `TAWA_STORAGE_URL=http://localhost:4500/i/tawa-storage` — mock S3 storage (files written to `.tawa-dev/storage/`)
|
|
135
|
+
|
|
136
|
+
Mock user credentials (returned by the mock Bio-ID on every login):
|
|
137
|
+
- **bioId**: `BIO-DEV-USER-001`
|
|
138
|
+
- **email**: `dev@localhost`
|
|
139
|
+
- **name**: `Dev User`
|
|
140
|
+
- **orgSlug**: `dev-org`
|
|
141
|
+
- **orgId**: `ORG-DEV-001`
|
|
142
|
+
- **roles**: `['admin']`
|
|
143
|
+
|
|
144
|
+
The mock Bio-ID skips the login screen entirely — clicking "Sign in" redirects through the OAuth flow and immediately issues a JWT with the dev user identity.
|
|
145
|
+
|
|
146
|
+
Mock data is stored in `.tawa-dev/` (gitignored):
|
|
147
|
+
- `septor-events.jsonl` — all Septor audit events
|
|
148
|
+
- `relay-messages.jsonl` — all emails and SMS
|
|
149
|
+
- `storage/` — uploaded files by bucket
|
|
150
|
+
|
|
151
|
+
### Manual setup (without tawa dev)
|
|
152
|
+
|
|
153
|
+
```bash
|
|
154
|
+
pnpm install
|
|
155
|
+
cp .env.example .env.local # fill in credentials manually
|
|
156
|
+
pnpm dev # starts on port 4140
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
Port 4140 — NEVER use ports 3000-3010 for local dev.
|
|
160
|
+
|
|
161
|
+
## Testing
|
|
162
|
+
|
|
163
|
+
```bash
|
|
164
|
+
pnpm test # run tests
|
|
165
|
+
pnpm test:coverage # run with 80% coverage check
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
Coverage thresholds: 80% statements, branches, functions, lines.
|
|
169
|
+
|
|
170
|
+
## Secrets Management
|
|
171
|
+
|
|
172
|
+
```bash
|
|
173
|
+
tawa config set API_KEY=xxx --secret # encrypted at rest, injected on deploy
|
|
174
|
+
tawa config list # see what's configured
|
|
175
|
+
tawa config pull # download to .env.local for local dev
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
## Database Access
|
|
179
|
+
|
|
180
|
+
```bash
|
|
181
|
+
npm install -g kokopelli # installs the `koko` command
|
|
182
|
+
koko databases # list available databases
|
|
183
|
+
koko query my-db users --limit 10 # query through Koko gateway
|
|
184
|
+
tawa db connect my-svc --prod # get direct MongoDB connection string
|
|
185
|
+
```
|
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Tawa Ecosystem App Scaffold
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
Built on the [Tawa platform](https://tawa.insureco.io) — a production-ready Next.js app with authentication, database, audit trail, email, file storage, and scheduled jobs.
|
|
3
|
+
The official starting point for building apps on the [Tawa platform](https://tawa.insureco.io). Fork this repo and you get a production-ready Next.js app with authentication, database, audit trail, email, file storage, and scheduled jobs — all wired up and deployable in minutes.
|
|
6
4
|
|
|
7
5
|
**What's inside:**
|
|
8
6
|
|
|
@@ -47,7 +45,8 @@ Your account comes with **50,000 free gas tokens** — enough for ~13 months of
|
|
|
47
45
|
### 1. Clone and install
|
|
48
46
|
|
|
49
47
|
```bash
|
|
50
|
-
|
|
48
|
+
git clone https://git.insureco.io/insureco/{{name}}.git my-app
|
|
49
|
+
cd my-app
|
|
51
50
|
pnpm install
|
|
52
51
|
```
|
|
53
52
|
|
|
@@ -57,7 +56,7 @@ The fastest way to get running locally — no real credentials, no Docker contai
|
|
|
57
56
|
|
|
58
57
|
```bash
|
|
59
58
|
tawa dev --offline # generates .env.local + starts mock services on port 4500
|
|
60
|
-
pnpm dev # in a separate terminal — starts on http://localhost:
|
|
59
|
+
pnpm dev # in a separate terminal — starts on http://localhost:4140
|
|
61
60
|
```
|
|
62
61
|
|
|
63
62
|
`tawa dev --offline` reads your `catalog-info.yaml` and:
|
|
@@ -118,8 +117,8 @@ S3_SECRET_ACCESS_KEY=minioadmin
|
|
|
118
117
|
S3_BUCKET=my-app-dev-default
|
|
119
118
|
|
|
120
119
|
# App
|
|
121
|
-
APP_URL=http://localhost:
|
|
122
|
-
PORT=
|
|
120
|
+
APP_URL=http://localhost:4140
|
|
121
|
+
PORT=4140
|
|
123
122
|
NODE_ENV=development
|
|
124
123
|
```
|
|
125
124
|
|
|
@@ -139,10 +138,10 @@ docker run -d -p 9000:9000 -p 9001:9001 --name minio \
|
|
|
139
138
|
### 4. Run the dev server
|
|
140
139
|
|
|
141
140
|
```bash
|
|
142
|
-
pnpm dev # starts on http://localhost:
|
|
141
|
+
pnpm dev # starts on http://localhost:4140
|
|
143
142
|
```
|
|
144
143
|
|
|
145
|
-
The app runs on **port
|
|
144
|
+
The app runs on **port 4140**. Never use ports 3000-3010 — they're always taken.
|
|
146
145
|
|
|
147
146
|
---
|
|
148
147
|
|
|
@@ -365,11 +364,11 @@ relay.sendEmail({
|
|
|
365
364
|
relay.sendEmail({
|
|
366
365
|
content: {
|
|
367
366
|
subject: 'Your quote is ready',
|
|
368
|
-
html: '<h1>Hello {{
|
|
369
|
-
text: 'Hello {{
|
|
367
|
+
html: '<h1>Hello {{name}}</h1><p>Your quote is attached.</p>',
|
|
368
|
+
text: 'Hello {{name}}, your quote is ready.',
|
|
370
369
|
},
|
|
371
370
|
to: { email: user.email, name: user.name },
|
|
372
|
-
data: {
|
|
371
|
+
data: { name: user.name },
|
|
373
372
|
options: { fromName: 'MyApp' },
|
|
374
373
|
}).catch((err) => logger.warn({ err }, 'Quote email failed'))
|
|
375
374
|
```
|
|
@@ -89,7 +89,7 @@ function buildRequest(
|
|
|
89
89
|
init.headers = { 'Content-Type': 'application/json' }
|
|
90
90
|
}
|
|
91
91
|
|
|
92
|
-
return new NextRequest(new URL(url, 'http://localhost:
|
|
92
|
+
return new NextRequest(new URL(url, 'http://localhost:4140'), init)
|
|
93
93
|
}
|
|
94
94
|
|
|
95
95
|
// ---------------------------------------------------------------------------
|
|
@@ -146,7 +146,7 @@ describe('POST /api/auth/token', () => {
|
|
|
146
146
|
it('returns a mock token in dev mode with email/password', async () => {
|
|
147
147
|
const { POST } = await import('@/app/api/auth/token/route')
|
|
148
148
|
|
|
149
|
-
const request = buildRequest('http://localhost:
|
|
149
|
+
const request = buildRequest('http://localhost:4140/api/auth/token', {
|
|
150
150
|
method: 'POST',
|
|
151
151
|
body: { email: 'dev@localhost', password: 'test-password' },
|
|
152
152
|
})
|
|
@@ -165,7 +165,7 @@ describe('POST /api/auth/token', () => {
|
|
|
165
165
|
it('returns a mock token with clientId/clientSecret', async () => {
|
|
166
166
|
const { POST } = await import('@/app/api/auth/token/route')
|
|
167
167
|
|
|
168
|
-
const request = buildRequest('http://localhost:
|
|
168
|
+
const request = buildRequest('http://localhost:4140/api/auth/token', {
|
|
169
169
|
method: 'POST',
|
|
170
170
|
body: { clientId: 'test-client', clientSecret: 'test-secret' },
|
|
171
171
|
})
|
|
@@ -182,7 +182,7 @@ describe('POST /api/auth/token', () => {
|
|
|
182
182
|
it('rejects invalid credentials format', async () => {
|
|
183
183
|
const { POST } = await import('@/app/api/auth/token/route')
|
|
184
184
|
|
|
185
|
-
const request = buildRequest('http://localhost:
|
|
185
|
+
const request = buildRequest('http://localhost:4140/api/auth/token', {
|
|
186
186
|
method: 'POST',
|
|
187
187
|
body: { username: 'wrong-format' },
|
|
188
188
|
})
|
|
@@ -199,7 +199,7 @@ describe('POST /api/auth/token', () => {
|
|
|
199
199
|
const { POST } = await import('@/app/api/auth/token/route')
|
|
200
200
|
|
|
201
201
|
const request = new NextRequest(
|
|
202
|
-
new URL('http://localhost:
|
|
202
|
+
new URL('http://localhost:4140/api/auth/token'),
|
|
203
203
|
{
|
|
204
204
|
method: 'POST',
|
|
205
205
|
body: 'not-json',
|
|
@@ -232,7 +232,7 @@ describe('POST /api/auth/onboarding/complete', () => {
|
|
|
232
232
|
)
|
|
233
233
|
|
|
234
234
|
const request = buildRequest(
|
|
235
|
-
'http://localhost:
|
|
235
|
+
'http://localhost:4140/api/auth/onboarding/complete',
|
|
236
236
|
{
|
|
237
237
|
method: 'POST',
|
|
238
238
|
body: {
|
|
@@ -256,7 +256,7 @@ describe('POST /api/auth/onboarding/complete', () => {
|
|
|
256
256
|
)
|
|
257
257
|
|
|
258
258
|
const request = buildRequest(
|
|
259
|
-
'http://localhost:
|
|
259
|
+
'http://localhost:4140/api/auth/onboarding/complete',
|
|
260
260
|
{
|
|
261
261
|
method: 'POST',
|
|
262
262
|
body: {
|
|
@@ -280,7 +280,7 @@ describe('POST /api/auth/onboarding/complete', () => {
|
|
|
280
280
|
)
|
|
281
281
|
|
|
282
282
|
const request = buildRequest(
|
|
283
|
-
'http://localhost:
|
|
283
|
+
'http://localhost:4140/api/auth/onboarding/complete',
|
|
284
284
|
{
|
|
285
285
|
method: 'POST',
|
|
286
286
|
body: {
|
|
@@ -304,7 +304,7 @@ describe('POST /api/auth/onboarding/complete', () => {
|
|
|
304
304
|
)
|
|
305
305
|
|
|
306
306
|
const request = buildRequest(
|
|
307
|
-
'http://localhost:
|
|
307
|
+
'http://localhost:4140/api/auth/onboarding/complete',
|
|
308
308
|
{
|
|
309
309
|
method: 'POST',
|
|
310
310
|
body: { agreedToTerms: true },
|
|
@@ -112,7 +112,7 @@ function buildRequest(
|
|
|
112
112
|
init.headers = { 'Content-Type': 'application/json' }
|
|
113
113
|
}
|
|
114
114
|
|
|
115
|
-
return new NextRequest(new URL(url, 'http://localhost:
|
|
115
|
+
return new NextRequest(new URL(url, 'http://localhost:4140'), init)
|
|
116
116
|
}
|
|
117
117
|
|
|
118
118
|
async function flushFireAndForget(): Promise<void> {
|
|
@@ -136,7 +136,7 @@ describe('POST /api/admin/users/invite', () => {
|
|
|
136
136
|
)
|
|
137
137
|
|
|
138
138
|
const request = buildRequest(
|
|
139
|
-
'http://localhost:
|
|
139
|
+
'http://localhost:4140/api/admin/users/invite',
|
|
140
140
|
{
|
|
141
141
|
method: 'POST',
|
|
142
142
|
body: {
|
|
@@ -165,7 +165,7 @@ describe('POST /api/admin/users/invite', () => {
|
|
|
165
165
|
)
|
|
166
166
|
|
|
167
167
|
const request = buildRequest(
|
|
168
|
-
'http://localhost:
|
|
168
|
+
'http://localhost:4140/api/admin/users/invite',
|
|
169
169
|
{
|
|
170
170
|
method: 'POST',
|
|
171
171
|
body: {
|
|
@@ -193,7 +193,7 @@ describe('POST /api/admin/users/invite', () => {
|
|
|
193
193
|
)
|
|
194
194
|
|
|
195
195
|
const request = buildRequest(
|
|
196
|
-
'http://localhost:
|
|
196
|
+
'http://localhost:4140/api/admin/users/invite',
|
|
197
197
|
{
|
|
198
198
|
method: 'POST',
|
|
199
199
|
body: {
|
|
@@ -218,7 +218,7 @@ describe('POST /api/admin/users/invite', () => {
|
|
|
218
218
|
)
|
|
219
219
|
|
|
220
220
|
const request = buildRequest(
|
|
221
|
-
'http://localhost:
|
|
221
|
+
'http://localhost:4140/api/admin/users/invite',
|
|
222
222
|
{
|
|
223
223
|
method: 'POST',
|
|
224
224
|
body: {
|
|
@@ -240,7 +240,7 @@ describe('POST /api/admin/users/invite', () => {
|
|
|
240
240
|
)
|
|
241
241
|
|
|
242
242
|
const request = buildRequest(
|
|
243
|
-
'http://localhost:
|
|
243
|
+
'http://localhost:4140/api/admin/users/invite',
|
|
244
244
|
{
|
|
245
245
|
method: 'POST',
|
|
246
246
|
body: {
|
|
@@ -274,7 +274,7 @@ describe('POST /api/admin/users/create', () => {
|
|
|
274
274
|
)
|
|
275
275
|
|
|
276
276
|
const request = buildRequest(
|
|
277
|
-
'http://localhost:
|
|
277
|
+
'http://localhost:4140/api/admin/users/create',
|
|
278
278
|
{
|
|
279
279
|
method: 'POST',
|
|
280
280
|
body: {
|
|
@@ -303,7 +303,7 @@ describe('POST /api/admin/users/create', () => {
|
|
|
303
303
|
)
|
|
304
304
|
|
|
305
305
|
const request = buildRequest(
|
|
306
|
-
'http://localhost:
|
|
306
|
+
'http://localhost:4140/api/admin/users/create',
|
|
307
307
|
{
|
|
308
308
|
method: 'POST',
|
|
309
309
|
body: {
|
|
@@ -331,7 +331,7 @@ describe('POST /api/admin/users/create', () => {
|
|
|
331
331
|
)
|
|
332
332
|
|
|
333
333
|
const request = buildRequest(
|
|
334
|
-
'http://localhost:
|
|
334
|
+
'http://localhost:4140/api/admin/users/create',
|
|
335
335
|
{
|
|
336
336
|
method: 'POST',
|
|
337
337
|
body: {
|
|
@@ -360,7 +360,7 @@ describe('POST /api/admin/users/create', () => {
|
|
|
360
360
|
)
|
|
361
361
|
|
|
362
362
|
const request = buildRequest(
|
|
363
|
-
'http://localhost:
|
|
363
|
+
'http://localhost:4140/api/admin/users/create',
|
|
364
364
|
{
|
|
365
365
|
method: 'POST',
|
|
366
366
|
body: {
|
|
@@ -385,7 +385,7 @@ describe('POST /api/admin/users/create', () => {
|
|
|
385
385
|
)
|
|
386
386
|
|
|
387
387
|
const request = buildRequest(
|
|
388
|
-
'http://localhost:
|
|
388
|
+
'http://localhost:4140/api/admin/users/create',
|
|
389
389
|
{
|
|
390
390
|
method: 'POST',
|
|
391
391
|
body: {
|
|
@@ -415,7 +415,7 @@ describe('GET /api/admin/users', () => {
|
|
|
415
415
|
it('returns user list with total count', async () => {
|
|
416
416
|
const { GET } = await import('@/app/api/admin/users/route')
|
|
417
417
|
|
|
418
|
-
const request = buildRequest('http://localhost:
|
|
418
|
+
const request = buildRequest('http://localhost:4140/api/admin/users')
|
|
419
419
|
|
|
420
420
|
const response = await GET(request)
|
|
421
421
|
|
|
@@ -431,7 +431,7 @@ describe('GET /api/admin/users', () => {
|
|
|
431
431
|
it('returns users with expected fields', async () => {
|
|
432
432
|
const { GET } = await import('@/app/api/admin/users/route')
|
|
433
433
|
|
|
434
|
-
const request = buildRequest('http://localhost:
|
|
434
|
+
const request = buildRequest('http://localhost:4140/api/admin/users')
|
|
435
435
|
|
|
436
436
|
const response = await GET(request)
|
|
437
437
|
const body = await response.json()
|
|
@@ -448,7 +448,7 @@ describe('GET /api/admin/users', () => {
|
|
|
448
448
|
const { GET } = await import('@/app/api/admin/users/route')
|
|
449
449
|
|
|
450
450
|
const request = buildRequest(
|
|
451
|
-
'http://localhost:
|
|
451
|
+
'http://localhost:4140/api/admin/users?search=Dev'
|
|
452
452
|
)
|
|
453
453
|
|
|
454
454
|
const response = await GET(request)
|
|
@@ -466,7 +466,7 @@ describe('GET /api/admin/users', () => {
|
|
|
466
466
|
const { GET } = await import('@/app/api/admin/users/route')
|
|
467
467
|
|
|
468
468
|
const request = buildRequest(
|
|
469
|
-
'http://localhost:
|
|
469
|
+
'http://localhost:4140/api/admin/users?role=admin'
|
|
470
470
|
)
|
|
471
471
|
|
|
472
472
|
const response = await GET(request)
|