* ci(smoke): add core CI and prepare full conformance harness (#8) * fix(smoke): query SFTP qbit and isolate Compose ports (#8) * fix(smoke): require order-correlated Artemis trace and full CI job (#8) * fix(smoke): exercise private full Compose services over HTTP (#8) * fix(smoke): require explicit standalone full search endpoint (#8) * fix(smoke): use Maven final jar in core CI (#8) * test(smoke): verify Rabbit completion through ESB API Grant full-profile admin ESB access and keep the exact process-run assertion. Part of #8. * feat(esb): expose service observability in core profile * feat(#21): complete runtime demos and backend modules (#22) * feat(GH-21): complete runtime backend and JavaScript demos * fix(GH-21): follow listener address for the API catalog * ci(#8): pin settings-safe QQQ orb 0.6.8
19 lines
975 B
SQL
19 lines
975 B
SQL
-- Read-only API catalog, transient notes, and the fixed JavaScript calculation.
|
|
INSERT INTO permission (name, object_type, object_label)
|
|
VALUES
|
|
('apiCatalog.read', 'table', 'API Catalog'),
|
|
('demoNote.read', 'table', 'Demo Note (Transient)'),
|
|
('demoNote.insert', 'table', 'Demo Note (Transient)'),
|
|
('demoNote.edit', 'table', 'Demo Note (Transient)'),
|
|
('demoNote.delete', 'table', 'Demo Note (Transient)'),
|
|
('calculateOrderTotal.hasAccess', 'process', 'Calculate Order Total (JavaScript)')
|
|
ON CONFLICT (name) DO NOTHING;
|
|
|
|
INSERT INTO role_permission_int (role_id, permission_id)
|
|
SELECT role.id, permission.id
|
|
FROM role CROSS JOIN permission
|
|
WHERE permission.name IN ('apiCatalog.read', 'demoNote.read', 'demoNote.insert',
|
|
'demoNote.edit', 'demoNote.delete', 'calculateOrderTotal.hasAccess')
|
|
AND (role.name = 'admin' OR (role.name = 'viewer' AND permission.name IN ('apiCatalog.read', 'demoNote.read')))
|
|
ON CONFLICT (role_id, permission_id) DO NOTHING;
|