diff --git a/prisma/users_for_test.ts b/prisma/users_for_test.ts deleted file mode 100644 index a7f3689a3..000000000 --- a/prisma/users_for_test.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { Roles } from '@prisma/client'; - -export const users = [ - { name: 'admin_test', role: Roles.ADMIN }, - { name: 'guest_test', role: Roles.USER }, -]; diff --git a/renovate.json b/renovate.json deleted file mode 100644 index 360018b67..000000000 --- a/renovate.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "$schema": "https://docs.renovatebot.com/renovate-schema.json", - "extends": ["config:base", ":prHourlyLimitNone"], - "timezone": "Asia/Tokyo", - "schedule": ["before 5am"], - "dependencyDashboard": true -} diff --git a/supabase/migrations/20231122085404_remote_schema.sql b/supabase/migrations/20231122085404_remote_schema.sql deleted file mode 100644 index b234a8bcd..000000000 --- a/supabase/migrations/20231122085404_remote_schema.sql +++ /dev/null @@ -1,124 +0,0 @@ - -SET statement_timeout = 0; -SET lock_timeout = 0; -SET idle_in_transaction_session_timeout = 0; -SET client_encoding = 'UTF8'; -SET standard_conforming_strings = on; -SELECT pg_catalog.set_config('search_path', '', false); -SET check_function_bodies = false; -SET xmloption = content; -SET client_min_messages = warning; -SET row_security = off; - -CREATE EXTENSION IF NOT EXISTS "pgsodium" WITH SCHEMA "pgsodium"; - -CREATE EXTENSION IF NOT EXISTS "pg_graphql" WITH SCHEMA "graphql"; - -CREATE EXTENSION IF NOT EXISTS "pg_stat_statements" WITH SCHEMA "extensions"; - -CREATE EXTENSION IF NOT EXISTS "pgcrypto" WITH SCHEMA "extensions"; - -CREATE EXTENSION IF NOT EXISTS "pgjwt" WITH SCHEMA "extensions"; - -CREATE EXTENSION IF NOT EXISTS "supabase_vault" WITH SCHEMA "vault"; - -CREATE EXTENSION IF NOT EXISTS "uuid-ossp" WITH SCHEMA "extensions"; - -CREATE TYPE "public"."Roles" AS ENUM ( - 'ADMIN', - 'USER' -); - -ALTER TYPE "public"."Roles" OWNER TO "postgres"; - -SET default_tablespace = ''; - -SET default_table_access_method = "heap"; - -CREATE TABLE IF NOT EXISTS "public"."key" ( - "id" "text" NOT NULL, - "hashed_password" "text", - "user_id" "text" NOT NULL -); - -ALTER TABLE "public"."key" OWNER TO "postgres"; - -CREATE TABLE IF NOT EXISTS "public"."session" ( - "id" "text" NOT NULL, - "user_id" "text" NOT NULL, - "active_expires" bigint NOT NULL, - "idle_expires" bigint NOT NULL -); - -ALTER TABLE "public"."session" OWNER TO "postgres"; - -CREATE TABLE IF NOT EXISTS "public"."user" ( - "id" "text" NOT NULL, - "username" "text" NOT NULL, - "role" "public"."Roles" DEFAULT 'USER'::"public"."Roles" NOT NULL, - "created_at" timestamp(3) without time zone DEFAULT CURRENT_TIMESTAMP NOT NULL, - "updated_at" timestamp(3) without time zone NOT NULL -); - -ALTER TABLE "public"."user" OWNER TO "postgres"; - -ALTER TABLE ONLY "public"."key" - ADD CONSTRAINT "key_pkey" PRIMARY KEY ("id"); - -ALTER TABLE ONLY "public"."session" - ADD CONSTRAINT "session_pkey" PRIMARY KEY ("id"); - -ALTER TABLE ONLY "public"."user" - ADD CONSTRAINT "user_pkey" PRIMARY KEY ("id"); - -CREATE UNIQUE INDEX "key_id_key" ON "public"."key" USING "btree" ("id"); - -CREATE INDEX "key_user_id_idx" ON "public"."key" USING "btree" ("user_id"); - -CREATE UNIQUE INDEX "session_id_key" ON "public"."session" USING "btree" ("id"); - -CREATE INDEX "session_user_id_idx" ON "public"."session" USING "btree" ("user_id"); - -CREATE UNIQUE INDEX "user_id_key" ON "public"."user" USING "btree" ("id"); - -CREATE UNIQUE INDEX "user_username_key" ON "public"."user" USING "btree" ("username"); - -ALTER TABLE ONLY "public"."key" - ADD CONSTRAINT "key_user_id_fkey" FOREIGN KEY ("user_id") REFERENCES "public"."user"("id") ON UPDATE CASCADE ON DELETE CASCADE; - -ALTER TABLE ONLY "public"."session" - ADD CONSTRAINT "session_user_id_fkey" FOREIGN KEY ("user_id") REFERENCES "public"."user"("id") ON UPDATE CASCADE ON DELETE CASCADE; - -GRANT USAGE ON SCHEMA "public" TO "postgres"; -GRANT USAGE ON SCHEMA "public" TO "anon"; -GRANT USAGE ON SCHEMA "public" TO "authenticated"; -GRANT USAGE ON SCHEMA "public" TO "service_role"; - -GRANT ALL ON TABLE "public"."key" TO "anon"; -GRANT ALL ON TABLE "public"."key" TO "authenticated"; -GRANT ALL ON TABLE "public"."key" TO "service_role"; - -GRANT ALL ON TABLE "public"."session" TO "anon"; -GRANT ALL ON TABLE "public"."session" TO "authenticated"; -GRANT ALL ON TABLE "public"."session" TO "service_role"; - -GRANT ALL ON TABLE "public"."user" TO "anon"; -GRANT ALL ON TABLE "public"."user" TO "authenticated"; -GRANT ALL ON TABLE "public"."user" TO "service_role"; - -ALTER DEFAULT PRIVILEGES FOR ROLE "postgres" IN SCHEMA "public" GRANT ALL ON SEQUENCES TO "postgres"; -ALTER DEFAULT PRIVILEGES FOR ROLE "postgres" IN SCHEMA "public" GRANT ALL ON SEQUENCES TO "anon"; -ALTER DEFAULT PRIVILEGES FOR ROLE "postgres" IN SCHEMA "public" GRANT ALL ON SEQUENCES TO "authenticated"; -ALTER DEFAULT PRIVILEGES FOR ROLE "postgres" IN SCHEMA "public" GRANT ALL ON SEQUENCES TO "service_role"; - -ALTER DEFAULT PRIVILEGES FOR ROLE "postgres" IN SCHEMA "public" GRANT ALL ON FUNCTIONS TO "postgres"; -ALTER DEFAULT PRIVILEGES FOR ROLE "postgres" IN SCHEMA "public" GRANT ALL ON FUNCTIONS TO "anon"; -ALTER DEFAULT PRIVILEGES FOR ROLE "postgres" IN SCHEMA "public" GRANT ALL ON FUNCTIONS TO "authenticated"; -ALTER DEFAULT PRIVILEGES FOR ROLE "postgres" IN SCHEMA "public" GRANT ALL ON FUNCTIONS TO "service_role"; - -ALTER DEFAULT PRIVILEGES FOR ROLE "postgres" IN SCHEMA "public" GRANT ALL ON TABLES TO "postgres"; -ALTER DEFAULT PRIVILEGES FOR ROLE "postgres" IN SCHEMA "public" GRANT ALL ON TABLES TO "anon"; -ALTER DEFAULT PRIVILEGES FOR ROLE "postgres" IN SCHEMA "public" GRANT ALL ON TABLES TO "authenticated"; -ALTER DEFAULT PRIVILEGES FOR ROLE "postgres" IN SCHEMA "public" GRANT ALL ON TABLES TO "service_role"; - -RESET ALL; diff --git a/tests/global.setup.ts b/tests/global.setup.ts deleted file mode 100644 index 942361030..000000000 --- a/tests/global.setup.ts +++ /dev/null @@ -1,70 +0,0 @@ -// // See: -// // https://www.prisma.io/docs/getting-started/quickstart -import { PrismaClient } from '@prisma/client'; -import { initialize, defineUserFactory, defineKeyFactory } from '../prisma/.fabbrica'; -import { generateLuciaPasswordHash } from 'lucia/utils'; - -//import { classifyContest } from '../src/lib/utils/contest'; - -import { users } from '../prisma/users_for_test'; -//import { tasks } from '../prisma/tasks'; -//import { tags } from '../prisma/tags'; -//import { task_tags } from '../prisma/task_tags'; -// import { tasks } from './tasks_for_production'; - -const prisma = new PrismaClient(); -initialize({ prisma }); - -// See: -// https://github.com/TeemuKoivisto/sveltekit-monorepo-template/blob/main/packages/db/prisma/seed.ts -// https://lucia-auth.com/basics/keys/#password-hashing -// https://www.prisma.io/docs/reference/api-reference/prisma-client-reference#findunique -async function main() { - addUsers(); -} - -function addUsers() { - const userFactory = defineUserFactory(); - const keyFactory = defineKeyFactory({ defaultData: { user: userFactory } }); - - users.map(async (user) => { - const password = 'Ch0kuda1'; - const registeredUser = await prisma.user.findUnique({ - where: { - username: user.name, - }, - }); - - if (!registeredUser) { - await addUser(user, password, userFactory, keyFactory); - console.log('username:', user.name, 'was registered.'); - } else { - console.log('username:', user.name, 'has already registered.'); - } - }); -} - -// See: -// https://lucia-auth.com/reference/lucia/modules/utils/#generateluciapasswordhash -async function addUser(user, password: string, userFactory, keyFactory) { - const currentUser = await userFactory.createForConnect({ - username: user.name, - role: user.role, - }); - const hashed_password = await generateLuciaPasswordHash(password); - - await keyFactory.create({ - user: { connect: currentUser }, - id: 'username:' + user.name.toLocaleLowerCase(), - hashed_password: hashed_password, - }); -} - -main() - .catch(async (e) => { - console.error(e); - process.exit(1); - }) - .finally(async () => { - await prisma.$disconnect(); - }); diff --git a/tests/global.teardown.ts b/tests/global.teardown.ts deleted file mode 100644 index 05c869010..000000000 --- a/tests/global.teardown.ts +++ /dev/null @@ -1,66 +0,0 @@ -// // See: -// // https://www.prisma.io/docs/getting-started/quickstart -import { PrismaClient } from '@prisma/client'; -import { initialize } from '../prisma/.fabbrica'; -//import { generateLuciaPasswordHash } from 'lucia/utils'; - -//import { classifyContest } from '../src/lib/utils/contest'; - -import { users } from '../prisma/users_for_test'; -//import { tasks } from '../prisma/tasks'; -//import { tags } from '../prisma/tags'; -//import { task_tags } from '../prisma/task_tags'; -// import { tasks } from './tasks_for_production'; - -const prisma = new PrismaClient(); -initialize({ prisma }); - -// See: -// https://github.com/TeemuKoivisto/sveltekit-monorepo-template/blob/main/packages/db/prisma/seed.ts -// https://lucia-auth.com/basics/keys/#password-hashing -// https://www.prisma.io/docs/reference/api-reference/prisma-client-reference#findunique -async function main() { - deleteUsers(); -} - -function deleteUsers() { - users.map(async (user) => { - const registeredUser = await prisma.user.findUnique({ - where: { - username: user.name, - }, - }); - - if (!registeredUser) { - console.log('username:', user.name, 'is not found.'); - } else { - await deleteUser(user); - console.log('username:', user.name, 'was deleted.'); - } - }); -} - -// See: -// https://lucia-auth.com/reference/lucia/modules/utils/#generateluciapasswordhash -async function deleteUser(user) { - //await prisma.key.delete({ - // where: { - // id: 'username:' + user.name.toLocaleLowerCase(), - // } - //}); - - await prisma.user.delete({ - where: { - username: user.name, - }, - }); -} - -main() - .catch(async (e) => { - console.error(e); - process.exit(1); - }) - .finally(async () => { - await prisma.$disconnect(); - });