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
@@ -0,0 +1,38 @@
<script setup lang="ts">
import { computed } from "vue";
import { useRoute } from "vue-router";
import { useI18n } from "vue-i18n";
const route = useRoute();
const { t } = useI18n();
const title = computed(() => t(String(route.meta.titleKey ?? "common.details")));
const description = computed(() => t(String(route.meta.descriptionKey ?? "common.noData")));
</script>
<template>
<section class="stub-view">
<div class="stub-view__hero">
<p class="eyebrow">{{ t("featureStub.eyebrow") }}</p>
<h2>{{ title }}</h2>
<p>{{ description }}</p>
</div>
<div class="stub-view__grid">
<article class="stub-card">
<h3>{{ t("featureStub.currentStatus") }}</h3>
<p>{{ t("featureStub.currentStatusText") }}</p>
</article>
<article class="stub-card">
<h3>{{ t("featureStub.nextPriority") }}</h3>
<p>{{ description }}</p>
</article>
<article class="stub-card">
<h3>{{ t("featureStub.integrationStrategy") }}</h3>
<p>{{ t("featureStub.integrationStrategyText") }}</p>
</article>
</div>
</section>
</template>