[darmasaba-dashboard][2026-03-27] feat: modular seeders and database-backed dashboard
- Split seeders into modular files per feature category - Added seed:auth, seed:demographics, seed:divisions, seed:services, seed:dashboard commands - Connected dashboard components to live database (Budget, SDGs, Satisfaction) - Added API endpoints: /api/dashboard/budget, /api/dashboard/sdgs, /api/dashboard/satisfaction - Updated prisma schema with dashboard metrics models - Added loading states to dashboard components - Fixed header navigation to /admin Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
This commit is contained in:
168
generated/api.ts
168
generated/api.ts
@@ -358,6 +358,54 @@ export interface paths {
|
||||
patch?: never;
|
||||
trace?: never;
|
||||
};
|
||||
"/api/dashboard/budget": {
|
||||
parameters: {
|
||||
query?: never;
|
||||
header?: never;
|
||||
path?: never;
|
||||
cookie?: never;
|
||||
};
|
||||
get: operations["getApiDashboardBudget"];
|
||||
put?: never;
|
||||
post?: never;
|
||||
delete?: never;
|
||||
options?: never;
|
||||
head?: never;
|
||||
patch?: never;
|
||||
trace?: never;
|
||||
};
|
||||
"/api/dashboard/sdgs": {
|
||||
parameters: {
|
||||
query?: never;
|
||||
header?: never;
|
||||
path?: never;
|
||||
cookie?: never;
|
||||
};
|
||||
get: operations["getApiDashboardSdgs"];
|
||||
put?: never;
|
||||
post?: never;
|
||||
delete?: never;
|
||||
options?: never;
|
||||
head?: never;
|
||||
patch?: never;
|
||||
trace?: never;
|
||||
};
|
||||
"/api/dashboard/satisfaction": {
|
||||
parameters: {
|
||||
query?: never;
|
||||
header?: never;
|
||||
path?: never;
|
||||
cookie?: never;
|
||||
};
|
||||
get: operations["getApiDashboardSatisfaction"];
|
||||
put?: never;
|
||||
post?: never;
|
||||
delete?: never;
|
||||
options?: never;
|
||||
head?: never;
|
||||
patch?: never;
|
||||
trace?: never;
|
||||
};
|
||||
}
|
||||
export type webhooks = Record<string, never>;
|
||||
export interface components {
|
||||
@@ -1551,4 +1599,124 @@ export interface operations {
|
||||
};
|
||||
};
|
||||
};
|
||||
getApiDashboardBudget: {
|
||||
parameters: {
|
||||
query?: never;
|
||||
header?: never;
|
||||
path?: never;
|
||||
cookie?: never;
|
||||
};
|
||||
requestBody?: never;
|
||||
responses: {
|
||||
200: {
|
||||
headers: {
|
||||
[name: string]: unknown;
|
||||
};
|
||||
content: {
|
||||
"application/json": {
|
||||
data: {
|
||||
category: string;
|
||||
amount: number;
|
||||
percentage: number;
|
||||
color: string;
|
||||
}[];
|
||||
};
|
||||
"multipart/form-data": {
|
||||
data: {
|
||||
category: string;
|
||||
amount: number;
|
||||
percentage: number;
|
||||
color: string;
|
||||
}[];
|
||||
};
|
||||
"text/plain": {
|
||||
data: {
|
||||
category: string;
|
||||
amount: number;
|
||||
percentage: number;
|
||||
color: string;
|
||||
}[];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
getApiDashboardSdgs: {
|
||||
parameters: {
|
||||
query?: never;
|
||||
header?: never;
|
||||
path?: never;
|
||||
cookie?: never;
|
||||
};
|
||||
requestBody?: never;
|
||||
responses: {
|
||||
200: {
|
||||
headers: {
|
||||
[name: string]: unknown;
|
||||
};
|
||||
content: {
|
||||
"application/json": {
|
||||
data: {
|
||||
title: string;
|
||||
score: number;
|
||||
image: (string | null) | null;
|
||||
}[];
|
||||
};
|
||||
"multipart/form-data": {
|
||||
data: {
|
||||
title: string;
|
||||
score: number;
|
||||
image: (string | null) | null;
|
||||
}[];
|
||||
};
|
||||
"text/plain": {
|
||||
data: {
|
||||
title: string;
|
||||
score: number;
|
||||
image: (string | null) | null;
|
||||
}[];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
getApiDashboardSatisfaction: {
|
||||
parameters: {
|
||||
query?: never;
|
||||
header?: never;
|
||||
path?: never;
|
||||
cookie?: never;
|
||||
};
|
||||
requestBody?: never;
|
||||
responses: {
|
||||
200: {
|
||||
headers: {
|
||||
[name: string]: unknown;
|
||||
};
|
||||
content: {
|
||||
"application/json": {
|
||||
data: {
|
||||
category: string;
|
||||
value: number;
|
||||
color: string;
|
||||
}[];
|
||||
};
|
||||
"multipart/form-data": {
|
||||
data: {
|
||||
category: string;
|
||||
value: number;
|
||||
color: string;
|
||||
}[];
|
||||
};
|
||||
"text/plain": {
|
||||
data: {
|
||||
category: string;
|
||||
value: number;
|
||||
color: string;
|
||||
}[];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user