Seed via admin panel

This commit is contained in:
Kalle
2022-08-16 20:17:25 +03:00
parent b7b8e382de
commit adf15e72e6
4 changed files with 18 additions and 10 deletions

View File

@@ -20,7 +20,7 @@ import { getUser, isImpersonating } from "~/modules/auth/user.server";
import { canPerformAdminActions } from "~/permissions";
import { parseRequestFormData, validate } from "~/utils/remix";
import { makeTitle } from "~/utils/strings";
import { impersonateUrl, STOP_IMPERSONATING_URL } from "~/utils/urls";
import { impersonateUrl, SEED_URL, STOP_IMPERSONATING_URL } from "~/utils/urls";
import { db } from "~/db";
import { z } from "zod";
import { actualNumber } from "~/utils/zod";
@@ -74,6 +74,7 @@ export default function AdminPage() {
<Main className="stack lg">
<Impersonate />
<MigrateUser />
{process.env.NODE_ENV !== "production" && <Seed />}
</Main>
);
}
@@ -161,4 +162,19 @@ function MigrateUser() {
);
}
function Seed() {
const fetcher = useFetcher();
return (
<fetcher.Form
className="stack md items-start"
method="post"
action={SEED_URL}
>
<h2>Seed</h2>
<Button type="submit">Seed</Button>
</fetcher.Form>
);
}
export const CatchBoundary = Catcher;

View File

@@ -18,6 +18,7 @@ export const CONTRIBUTIONS_PAGE = "/contributions";
export const BADGES_PAGE = "/badges";
export const CALENDAR_PAGE = "/calendar";
export const STOP_IMPERSONATING_URL = "/auth/impersonate/stop";
export const SEED_URL = "/seed";
export const userPage = (discordId: string) => `/u/${discordId}`;
export const impersonateUrl = (idToLogInAs: number) =>

View File

@@ -12,8 +12,6 @@
"migrate:cypress": "cross-env DB_PATH=db-cypress.sqlite3 ley",
"migrate:reset": "node scripts/delete-db-files.mjs && npm run migrate && npm run seed",
"add-badge": "node --experimental-specifier-resolution=node --loader ts-node/esm -r tsconfig-paths/register scripts/add-badge.ts",
"seed": "node --experimental-specifier-resolution=node --loader ts-node/esm -r tsconfig-paths/register scripts/seed.ts",
"seed:cypress": "cross-env NODE_ENV=test npm run seed",
"lint:ts": "eslint . --ext .ts,.tsx",
"lint:styles": "stylelint \"app/styles/**/*.css\"",
"prettier:check": "prettier --check .",

View File

@@ -1,7 +0,0 @@
/* eslint-disable no-console */
import "dotenv/config";
import { seed } from "~/db/seed";
console.log("seeding...");
seed();
console.log("done!");