Implement unified API standard v1.0 across backend and frontend, enhancing error handling, response formatting, and monitoring capabilities. Refactor viewsets for consistent CRUD operations and introduce API Monitor for endpoint health checks. Update migrations to ensure database integrity and remove obsolete constraints and fields. Comprehensive test suite created to validate new standards and functionality.

This commit is contained in:
IGNY8 VPS (Salman)
2025-11-16 01:56:16 +00:00
parent c439073d33
commit 452d065c22
23 changed files with 2535 additions and 18 deletions

View File

@@ -10,18 +10,62 @@ class Migration(migrations.Migration):
]
operations = [
migrations.AlterUniqueTogether(
name='systemstatus',
unique_together=None,
# Remove unique_together constraint if it exists and table exists
migrations.RunSQL(
"""
DO $$
BEGIN
-- Drop unique constraint if table and constraint exist
IF EXISTS (
SELECT 1 FROM information_schema.tables
WHERE table_name = 'igny8_system_status'
) AND EXISTS (
SELECT 1 FROM pg_constraint
WHERE conname LIKE '%systemstatus%tenant_id%component%'
) THEN
ALTER TABLE igny8_system_status DROP CONSTRAINT IF EXISTS igny8_system_status_tenant_id_component_key;
END IF;
END $$;
""",
reverse_sql=migrations.RunSQL.noop
),
migrations.RemoveField(
model_name='systemstatus',
name='tenant',
# Only remove field if table exists
migrations.RunSQL(
"""
DO $$
BEGIN
IF EXISTS (
SELECT 1 FROM information_schema.tables
WHERE table_name = 'igny8_system_status'
) AND EXISTS (
SELECT 1 FROM information_schema.columns
WHERE table_name = 'igny8_system_status' AND column_name = 'tenant_id'
) THEN
ALTER TABLE igny8_system_status DROP COLUMN IF EXISTS tenant_id;
END IF;
END $$;
""",
reverse_sql=migrations.RunSQL.noop
),
migrations.DeleteModel(
name='SystemLog',
),
migrations.DeleteModel(
name='SystemStatus',
# Delete models only if tables exist
migrations.RunSQL(
"""
DO $$
BEGIN
IF EXISTS (
SELECT 1 FROM information_schema.tables
WHERE table_name = 'igny8_system_logs'
) THEN
DROP TABLE IF EXISTS igny8_system_logs CASCADE;
END IF;
IF EXISTS (
SELECT 1 FROM information_schema.tables
WHERE table_name = 'igny8_system_status'
) THEN
DROP TABLE IF EXISTS igny8_system_status CASCADE;
END IF;
END $$;
""",
reverse_sql=migrations.RunSQL.noop
),
]