move live source ownership to accounts
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
-- Move live-listener ownership fully to the account boundary.
|
||||
--
|
||||
-- `live_sources.owner_user_id` and `cookiecloud_credentials.user_id` already
|
||||
-- enforce one listener configuration and one credential source per account.
|
||||
-- The component-level `source_id` foreign key was therefore redundant and,
|
||||
-- more importantly, made new component kinds look as though they selected
|
||||
-- their own upstream listener. Components now subscribe to their owner's
|
||||
-- canonical event stream and retain only their account ownership.
|
||||
|
||||
DROP INDEX IF EXISTS component_instances_source_idx;
|
||||
|
||||
ALTER TABLE component_instances
|
||||
DROP CONSTRAINT IF EXISTS component_instances_owner_user_id_source_id_fkey;
|
||||
|
||||
ALTER TABLE component_instances
|
||||
DROP COLUMN IF EXISTS source_id;
|
||||
|
||||
CREATE INDEX IF NOT EXISTS component_instances_owner_enabled_idx
|
||||
ON component_instances(owner_user_id, enabled, created_at);
|
||||
|
||||
COMMENT ON TABLE live_sources IS
|
||||
'One immutable Bilibili live-listener configuration per account.';
|
||||
COMMENT ON TABLE cookiecloud_credentials IS
|
||||
'One encrypted CookieCloud credential source per account.';
|
||||
COMMENT ON TABLE component_instances IS
|
||||
'Account-owned consumers of the owning account live-event stream.';
|
||||
Reference in New Issue
Block a user