mirror of
https://github.com/MODSetter/SurfSense.git
synced 2026-04-25 16:56:22 +02:00
- Added initialization script for Electric SQL user in Docker setup. - Updated Electric SQL client to support new PGlite architecture and sync functionality. - Improved notification fetching and syncing logic in useNotifications hook. - Refactored ElectricProvider to handle initialization state and errors more gracefully. - Removed deprecated electric.config.ts file and adjusted package dependencies accordingly.
30 lines
1 KiB
SQL
30 lines
1 KiB
SQL
-- Create Electric SQL replication user
|
|
-- This script is run during PostgreSQL initialization
|
|
|
|
DO $$
|
|
BEGIN
|
|
IF NOT EXISTS (SELECT FROM pg_user WHERE usename = 'electric') THEN
|
|
CREATE USER electric WITH REPLICATION PASSWORD 'electric_password';
|
|
END IF;
|
|
END
|
|
$$;
|
|
|
|
-- Grant necessary permissions
|
|
GRANT CONNECT ON DATABASE surfsense TO electric;
|
|
GRANT USAGE ON SCHEMA public TO electric;
|
|
GRANT SELECT ON ALL TABLES IN SCHEMA public TO electric;
|
|
GRANT SELECT ON ALL SEQUENCES IN SCHEMA public TO electric;
|
|
|
|
-- Grant permissions on future tables
|
|
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO electric;
|
|
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON SEQUENCES TO electric;
|
|
|
|
-- Create the publication that Electric SQL expects
|
|
-- Electric will add tables to this publication when shapes are subscribed
|
|
DO $$
|
|
BEGIN
|
|
IF NOT EXISTS (SELECT FROM pg_publication WHERE pubname = 'electric_publication_default') THEN
|
|
CREATE PUBLICATION electric_publication_default;
|
|
END IF;
|
|
END
|
|
$$;
|