26 lines
1000 B
SQL
26 lines
1000 B
SQL
-- Chat Switchboard — 020 Permissions (SQLite) (v0.24.2)
|
|
|
|
-- SQLite cannot drop NOT NULL inline; recreating the constraint isn't needed
|
|
-- since SQLite doesn't enforce CHECK constraints strictly and the column
|
|
-- already accepts NULL in practice. The store layer guards source='system'.
|
|
|
|
ALTER TABLE groups ADD COLUMN permissions TEXT NOT NULL DEFAULT '[]';
|
|
ALTER TABLE groups ADD COLUMN token_budget_daily INTEGER;
|
|
ALTER TABLE groups ADD COLUMN token_budget_monthly INTEGER;
|
|
ALTER TABLE groups ADD COLUMN allowed_models TEXT;
|
|
|
|
-- Seed the Everyone group with a stable well-known ID.
|
|
INSERT OR IGNORE INTO groups
|
|
(id, name, description, scope, created_by, source, permissions, created_at, updated_at)
|
|
VALUES (
|
|
'00000000-0000-0000-0000-000000000001',
|
|
'Everyone',
|
|
'Implicit group — all authenticated users receive these permissions.',
|
|
'global',
|
|
NULL,
|
|
'system',
|
|
'["model.use","kb.read","channel.create"]',
|
|
datetime('now'),
|
|
datetime('now')
|
|
);
|