feat: add tenant and user management with migrations, handlers, and tests

- Implemented tenant and user management features including:
  - Tenant creation and management with associated migrations.
  - User creation and management with associated migrations.
  - Tenant membership management with associated migrations.
  - Platform user roles management with associated migrations.
  - Quota management with associated migrations.
  - Article and template management with associated migrations.
- Added HTTP handlers for templates and workspaces.
- Created tests for protected and public routes.
- Introduced a script to check tenant scope in SQL queries.
- Documented task plan for backend completion and frontend foundation.
This commit is contained in:
2026-04-01 00:58:42 +08:00
commit de30497f59
210 changed files with 23733 additions and 0 deletions
+34
View File
@@ -0,0 +1,34 @@
# Copy this file to config.local.yaml and adjust values for your local environment.
# config.local.yaml is gitignored.
server:
port: 8080
mode: debug
database:
host: localhost
port: 5432
user: geo
password: geo_dev
dbname: geo
redis:
addr: localhost:6379
jwt:
secret: "your-local-secret"
llm:
provider: ark
base_url: https://ark.cn-beijing.volces.com/api/v3
model: doubao-seed-2-0-lite-260215
timeout: 2m
max_output_tokens: 4000
temperature: 0.7
# Prefer environment override for secrets:
# export LLM_API_KEY=your-api-key
generation:
queue_size: 128
worker_concurrency: 1
stream_enabled: false
+41
View File
@@ -0,0 +1,41 @@
server:
port: 8080
mode: debug
database:
host: localhost
port: 5432
user: geo
password: geo_dev
dbname: geo
sslmode: disable
max_open_conns: 25
max_idle_conns: 5
redis:
addr: localhost:6379
db: 0
jwt:
secret: "dev-secret-change-in-production"
access_ttl: 15m
refresh_ttl: 168h
log:
level: debug
format: json
llm:
provider: ark
base_url: https://ark.cn-beijing.volces.com/api/v3
api_key: "7fb6c66b-129c-4935-9617-709236c4205a"
model: doubao-seed-2-0-lite-260215
timeout: 2m
max_output_tokens: 4000
temperature: 0.7
generation:
queue_size: 128
worker_concurrency: 1
stream_enabled: false