Add OpenGraph head tags and more tests

This commit is contained in:
thiloho
2024-10-04 17:09:51 +02:00
parent f2d114dac4
commit e96b78b7ce
20 changed files with 468 additions and 273 deletions

View File

@@ -74,6 +74,7 @@ CREATE TABLE internal.header (
CREATE TABLE internal.home (
website_id UUID PRIMARY KEY REFERENCES internal.website (id) ON DELETE CASCADE,
main_content TEXT NOT NULL CHECK (TRIM(main_content) != ''),
meta_description VARCHAR(250) CHECK (TRIM(meta_description) != ''),
last_modified_at TIMESTAMPTZ NOT NULL DEFAULT CLOCK_TIMESTAMP(),
last_modified_by UUID REFERENCES internal.user (id) ON DELETE SET NULL
);

View File

@@ -129,7 +129,7 @@ GRANT SELECT, UPDATE (logo_type, logo_text, logo_image) ON internal.header TO au
GRANT SELECT, UPDATE ON api.header TO authenticated_user;
GRANT SELECT, UPDATE (main_content) ON internal.home TO authenticated_user;
GRANT SELECT, UPDATE (main_content, meta_description) ON internal.home TO authenticated_user;
GRANT SELECT, UPDATE ON api.home TO authenticated_user;

View File

@@ -75,7 +75,7 @@ CREATE POLICY view_websites ON internal.website
CREATE POLICY update_website ON internal.website
FOR UPDATE
USING (internal.user_has_website_access (id, 20));
USING (internal.user_has_website_access (id, 30));
CREATE POLICY delete_website ON internal.website
FOR DELETE

View File

@@ -13,6 +13,23 @@ CREATE TABLE internal.change_log (
new_value HSTORE
);
CREATE VIEW api.change_log WITH ( security_invoker = ON
) AS
SELECT
*
FROM
internal.change_log;
GRANT SELECT ON internal.change_log TO authenticated_user;
GRANT SELECT ON api.change_log TO authenticated_user;
ALTER TABLE internal.change_log ENABLE ROW LEVEL SECURITY;
CREATE POLICY view_change_log ON internal.change_log
FOR SELECT
USING (internal.user_has_website_access (website_id, 10));
CREATE FUNCTION internal.track_changes ()
RETURNS TRIGGER
AS $$
@@ -109,17 +126,6 @@ CREATE TRIGGER collab_track_changes
FOR EACH ROW
EXECUTE FUNCTION internal.track_changes ();
CREATE VIEW api.change_log WITH ( security_invoker = ON
) AS
SELECT
*
FROM
internal.change_log;
GRANT SELECT ON internal.change_log TO authenticated_user;
GRANT SELECT ON api.change_log TO authenticated_user;
-- migrate:down
DROP TRIGGER website_track_changes ON internal.website;