- Add disease detail page component with data fetching and error handling - Create shared types for diseases and classifications - Implement API routes for diseases, classifications, and dashboard summary - Develop reusable components for risk badge and disease card - Build catalog page with search and filter functionality - Update dashboard page with data-backed summary and manual classification form - Register new routes in the web application - Ensure type safety and consistency across shared modules
198 lines
4.9 KiB
JSON
198 lines
4.9 KiB
JSON
{
|
|
"id": "71e2eeba-4f8f-48bc-8bcf-63201334aa65",
|
|
"prevId": "00000000-0000-0000-0000-000000000000",
|
|
"version": "7",
|
|
"dialect": "postgresql",
|
|
"tables": {
|
|
"public.app_events": {
|
|
"name": "app_events",
|
|
"schema": "",
|
|
"columns": {
|
|
"id": {
|
|
"name": "id",
|
|
"type": "uuid",
|
|
"primaryKey": true,
|
|
"notNull": true,
|
|
"default": "gen_random_uuid()"
|
|
},
|
|
"name": {
|
|
"name": "name",
|
|
"type": "varchar(120)",
|
|
"primaryKey": false,
|
|
"notNull": true
|
|
},
|
|
"created_at": {
|
|
"name": "created_at",
|
|
"type": "timestamp with time zone",
|
|
"primaryKey": false,
|
|
"notNull": true,
|
|
"default": "now()"
|
|
}
|
|
},
|
|
"indexes": {},
|
|
"foreignKeys": {},
|
|
"compositePrimaryKeys": {},
|
|
"uniqueConstraints": {},
|
|
"policies": {},
|
|
"checkConstraints": {},
|
|
"isRLSEnabled": false
|
|
},
|
|
"public.disease_catalog": {
|
|
"name": "disease_catalog",
|
|
"schema": "",
|
|
"columns": {
|
|
"slug": {
|
|
"name": "slug",
|
|
"type": "varchar(80)",
|
|
"primaryKey": true,
|
|
"notNull": true
|
|
},
|
|
"label": {
|
|
"name": "label",
|
|
"type": "varchar(80)",
|
|
"primaryKey": false,
|
|
"notNull": true
|
|
},
|
|
"common_name": {
|
|
"name": "common_name",
|
|
"type": "varchar(120)",
|
|
"primaryKey": false,
|
|
"notNull": true
|
|
},
|
|
"summary": {
|
|
"name": "summary",
|
|
"type": "text",
|
|
"primaryKey": false,
|
|
"notNull": true
|
|
},
|
|
"description": {
|
|
"name": "description",
|
|
"type": "text",
|
|
"primaryKey": false,
|
|
"notNull": true
|
|
},
|
|
"symptoms": {
|
|
"name": "symptoms",
|
|
"type": "text[]",
|
|
"primaryKey": false,
|
|
"notNull": true
|
|
},
|
|
"recommendations": {
|
|
"name": "recommendations",
|
|
"type": "text[]",
|
|
"primaryKey": false,
|
|
"notNull": true
|
|
},
|
|
"risk_level": {
|
|
"name": "risk_level",
|
|
"type": "varchar(20)",
|
|
"primaryKey": false,
|
|
"notNull": true
|
|
},
|
|
"accent_color": {
|
|
"name": "accent_color",
|
|
"type": "varchar(40)",
|
|
"primaryKey": false,
|
|
"notNull": true
|
|
},
|
|
"display_order": {
|
|
"name": "display_order",
|
|
"type": "integer",
|
|
"primaryKey": false,
|
|
"notNull": true
|
|
},
|
|
"created_at": {
|
|
"name": "created_at",
|
|
"type": "timestamp with time zone",
|
|
"primaryKey": false,
|
|
"notNull": true,
|
|
"default": "now()"
|
|
},
|
|
"updated_at": {
|
|
"name": "updated_at",
|
|
"type": "timestamp with time zone",
|
|
"primaryKey": false,
|
|
"notNull": true,
|
|
"default": "now()"
|
|
}
|
|
},
|
|
"indexes": {},
|
|
"foreignKeys": {},
|
|
"compositePrimaryKeys": {},
|
|
"uniqueConstraints": {},
|
|
"policies": {},
|
|
"checkConstraints": {},
|
|
"isRLSEnabled": false
|
|
},
|
|
"public.manual_classifications": {
|
|
"name": "manual_classifications",
|
|
"schema": "",
|
|
"columns": {
|
|
"id": {
|
|
"name": "id",
|
|
"type": "uuid",
|
|
"primaryKey": true,
|
|
"notNull": true,
|
|
"default": "gen_random_uuid()"
|
|
},
|
|
"disease_slug": {
|
|
"name": "disease_slug",
|
|
"type": "varchar(80)",
|
|
"primaryKey": false,
|
|
"notNull": true
|
|
},
|
|
"observation": {
|
|
"name": "observation",
|
|
"type": "text",
|
|
"primaryKey": false,
|
|
"notNull": true
|
|
},
|
|
"location": {
|
|
"name": "location",
|
|
"type": "varchar(160)",
|
|
"primaryKey": false,
|
|
"notNull": true
|
|
},
|
|
"created_at": {
|
|
"name": "created_at",
|
|
"type": "timestamp with time zone",
|
|
"primaryKey": false,
|
|
"notNull": true,
|
|
"default": "now()"
|
|
}
|
|
},
|
|
"indexes": {},
|
|
"foreignKeys": {
|
|
"manual_classifications_disease_slug_disease_catalog_slug_fk": {
|
|
"name": "manual_classifications_disease_slug_disease_catalog_slug_fk",
|
|
"tableFrom": "manual_classifications",
|
|
"tableTo": "disease_catalog",
|
|
"columnsFrom": [
|
|
"disease_slug"
|
|
],
|
|
"columnsTo": [
|
|
"slug"
|
|
],
|
|
"onDelete": "no action",
|
|
"onUpdate": "no action"
|
|
}
|
|
},
|
|
"compositePrimaryKeys": {},
|
|
"uniqueConstraints": {},
|
|
"policies": {},
|
|
"checkConstraints": {},
|
|
"isRLSEnabled": false
|
|
}
|
|
},
|
|
"enums": {},
|
|
"schemas": {},
|
|
"sequences": {},
|
|
"roles": {},
|
|
"policies": {},
|
|
"views": {},
|
|
"_meta": {
|
|
"columns": {},
|
|
"schemas": {},
|
|
"tables": {}
|
|
}
|
|
} |