Nutomic
ad90cd77f9
* add private visibility * filter private communities in post_view.rs * also filter in comment_view * community follower state * remove unused method * sql fmt * add CommunityFollower.approved_by * implement api endpoints * api changes * only admins can create private community for now * add local api tests * fix api tests * follow remote private community * use authorized fetch for content in private community * federate community visibility * dont mark content in private community as public * expose ApprovalRequired in api * also check content fetchable for outbox/featured * address private community content to followers * implement reject activity * fix tests * add files * remove local api tests * dont use delay * is_new_instance * single query for is_new_instance * return subscribed type for pending follow * working * need to catch errors in waitUntil * clippy * fix query * lint for unused async * diesel.toml comment * add comment * avoid db reads * rename approved_by to approver_id * add helper * form init * list pending follows should return items for all communities * clippy * ci * fix down migration * fix api tests * references * rename * run git diff * ci * fix schema check * fix joins * ci * ci * skip_serializing_none * fix test --------- Co-authored-by: Dessalines <dessalines@users.noreply.github.com>
52 lines
1.2 KiB
PL/PgSQL
52 lines
1.2 KiB
PL/PgSQL
-- Remove private visibility
|
|
ALTER TYPE community_visibility RENAME TO community_visibility__;
|
|
|
|
CREATE TYPE community_visibility AS enum (
|
|
'Public',
|
|
'LocalOnly'
|
|
);
|
|
|
|
ALTER TABLE community
|
|
ALTER COLUMN visibility DROP DEFAULT;
|
|
|
|
ALTER TABLE community
|
|
ALTER COLUMN visibility TYPE community_visibility
|
|
USING visibility::text::community_visibility;
|
|
|
|
ALTER TABLE community
|
|
ALTER COLUMN visibility SET DEFAULT 'Public';
|
|
|
|
DROP TYPE community_visibility__;
|
|
|
|
-- Revert community follower changes
|
|
CREATE OR REPLACE FUNCTION convert_follower_state (s community_follower_state)
|
|
RETURNS bool
|
|
LANGUAGE sql
|
|
AS $$
|
|
SELECT
|
|
CASE WHEN s = 'Pending' THEN
|
|
TRUE
|
|
ELSE
|
|
FALSE
|
|
END
|
|
$$;
|
|
|
|
ALTER TABLE community_follower
|
|
ALTER COLUMN state TYPE bool
|
|
USING convert_follower_state (state);
|
|
|
|
DROP FUNCTION convert_follower_state;
|
|
|
|
ALTER TABLE community_follower
|
|
ALTER COLUMN state SET DEFAULT FALSE;
|
|
|
|
ALTER TABLE community_follower RENAME COLUMN state TO pending;
|
|
|
|
DROP TYPE community_follower_state;
|
|
|
|
ALTER TABLE community_follower
|
|
DROP COLUMN approver_id;
|
|
|
|
ALTER TABLE ONLY local_site
|
|
ALTER COLUMN federation_signed_fetch SET DEFAULT FALSE;
|
|
|