DO $$
DECLARE
	_path  character varying(256) := 'patch-2026_01_29-UserCalendarListVisibility';
	_build integer := 15999;
BEGIN
	IF EXISTS (SELECT 1 FROM public."Versions" WHERE "Path" = _path) THEN
		RETURN;
	END IF;

	IF EXISTS (SELECT 1 FROM public."Versions" WHERE "Build" >= _build) THEN
		RETURN;
	END IF;

	BEGIN
		CREATE TABLE IF NOT EXISTS public."UserCalendarListVisibility" (
			"UserId" bigint NOT NULL,
			"CalendarId" bigint NOT NULL,
			"IsHiddenInList" boolean NOT NULL DEFAULT false,
			"UpdatedAtUtc" timestamp without time zone NOT NULL DEFAULT timezone('utc', now()),
			PRIMARY KEY ("UserId", "CalendarId")
		);

		INSERT INTO public."Versions" ("Path", "Build") VALUES (_path, 0);

	EXCEPTION
		WHEN OTHERS THEN
			RAISE NOTICE '[ERR] %: %', _path, SQLERRM;
	END;
END;
$$;
