From a9ccfd0712d1990bd9a0340022380332cd987ecb Mon Sep 17 00:00:00 2001
From: Claeb101 <calebarulandu@gmail.com>
Date: Sun, 5 Mar 2023 02:45:10 -0500
Subject: [PATCH] fix types

---
 app/package.json                    |  6 +--
 app/src/components/MathText.tsx     | 24 ---------
 app/src/lib/api/authorize.ts        | 33 ------------
 app/src/lib/db/db.ts                | 10 ----
 app/src/pages/api/auth/authorize.ts | 11 ----
 app/src/pages/api/debug/index.ts    | 68 ------------------------
 app/src/pages/api/debug/index.txt   | 68 ------------------------
 app/src/pages/index.tsx             |  2 +-
 app/yarn.lock                       | 80 -----------------------------
 9 files changed, 2 insertions(+), 300 deletions(-)
 delete mode 100644 app/src/components/MathText.tsx
 delete mode 100644 app/src/lib/api/authorize.ts
 delete mode 100644 app/src/lib/db/db.ts
 delete mode 100644 app/src/pages/api/auth/authorize.ts
 delete mode 100644 app/src/pages/api/debug/index.ts
 delete mode 100644 app/src/pages/api/debug/index.txt

diff --git a/app/package.json b/app/package.json
index aac9c9b..accb71c 100644
--- a/app/package.json
+++ b/app/package.json
@@ -5,13 +5,10 @@
   "license": "UNLICENSED",
   "scripts": {
     "dev": "cross-env NODE_OPTIONS='--inspect' next dev",
-    "db": "yarn prisma generate && yarn prisma db push",
-    "build": "yarn prisma generate && next build",
+    "build": "next build",
     "start": "next start"
   },
   "dependencies": {
-    "@prisma/client": "^4.2.1",
-    "better-react-mathjax": "^2.0.2",
     "cookie": "^0.5.0",
     "mongoose": "^6.0.12",
     "next": "^12.0.3",
@@ -33,7 +30,6 @@
     "eslint-config-next": "11.1.2",
     "js-cookie": "^3.0.1",
     "postcss": "^8.4.14",
-    "prisma": "^4.2.1",
     "tailwindcss": "^3.0.24",
     "ts-node": "^10.9.1",
     "typescript": "^4.7.4"
diff --git a/app/src/components/MathText.tsx b/app/src/components/MathText.tsx
deleted file mode 100644
index 2087dfb..0000000
--- a/app/src/components/MathText.tsx
+++ /dev/null
@@ -1,24 +0,0 @@
-import { MathJax, MathJaxContext } from "better-react-mathjax";
-
-const config = {
-  loader: { load: ["[tex]/html"] },
-  tex: {
-    packages: { "[+]": ["html"] },
-    inlineMath: [
-      ["$", "$"],
-      ["\\(", "\\)"]
-    ],
-    displayMath: [
-      ["$$", "$$"],
-      ["\\[", "\\]"]
-    ]
-  }
-};
-
-export const MathText = ({children, inline=false, dynamic=false, className=''}) => {
-  return (
-    <MathJaxContext version={3} config={config}>
-      <MathJax hideUntilTypeset="first" inline={inline} dynamic={dynamic} className={className}>{children}</MathJax>
-    </MathJaxContext>
-  );
-}
\ No newline at end of file
diff --git a/app/src/lib/api/authorize.ts b/app/src/lib/api/authorize.ts
deleted file mode 100644
index 3df9a67..0000000
--- a/app/src/lib/api/authorize.ts
+++ /dev/null
@@ -1,33 +0,0 @@
-import { PrismaClient } from '@prisma/client';
-import { NextApiRequest, NextApiResponse } from 'next';
-import {db} from '@/lib/db/db'
-
-export const authorize = async (req: NextApiRequest, res: NextApiResponse, admin=false) => {
-  let authorization = null
-  if(!authorization) authorization = req.headers.authorization
-  if(!authorization && req.cookies.auth) {
-    const auth = JSON.parse(req.cookies.auth)
-    if(auth) authorization = `Bearer ${auth.access_token}`
-  }
-  req.headers.authorization = authorization
-  
-  const profileRes = await fetch('https://ion.tjhsst.edu/api/profile', {headers: {
-    'Authorization': authorization
-  }})
-  let profileBody = await profileRes.json()
-  let authorized = Boolean(profileBody.id)
-  
-  let user = await db.user.findFirst({
-    where: {
-      ionId: String(profileBody.id)
-    }
-  })
-  
-  if(admin && authorized && !user.admin) authorized = false;
-  
-  return {
-    authorized,
-    user,
-    profileBody
-  }
-}
\ No newline at end of file
diff --git a/app/src/lib/db/db.ts b/app/src/lib/db/db.ts
deleted file mode 100644
index ada6854..0000000
--- a/app/src/lib/db/db.ts
+++ /dev/null
@@ -1,10 +0,0 @@
-import { PrismaClient } from "@prisma/client";
-
-declare global {
-  var __globalDb: PrismaClient | undefined
-}
-
-const db = global.__globalDb || new PrismaClient()
-if(process.env.NODE_ENV !== 'production') global.__globalDb = db
-
-export {db};
\ No newline at end of file
diff --git a/app/src/pages/api/auth/authorize.ts b/app/src/pages/api/auth/authorize.ts
deleted file mode 100644
index 94fdd1e..0000000
--- a/app/src/pages/api/auth/authorize.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-import { authorize } from '@/lib/api/authorize';
-import { setCookie } from '@/lib/api/setCookie';
-import { db } from '@/lib/db/db';
-import { NextApiRequest, NextApiResponse } from 'next';
-
-const handler = async (req: NextApiRequest, res: NextApiResponse) => {
-  const {authorized, user} = await authorize(req, res)
-  res.status(200).json({user})
-}
-
-export default handler;
\ No newline at end of file
diff --git a/app/src/pages/api/debug/index.ts b/app/src/pages/api/debug/index.ts
deleted file mode 100644
index 36b06a3..0000000
--- a/app/src/pages/api/debug/index.ts
+++ /dev/null
@@ -1,68 +0,0 @@
-import { authorize } from '@/lib/api/authorize';
-import { db } from '@/lib/db/db';
-import { NextApiRequest, NextApiResponse } from 'next';
-
-const handler = async (req: NextApiRequest, res: NextApiResponse) => {
-  try {
-    const { authorized, user } = await authorize(req, res, false)
-    if (!authorized) return res.status(401).send(null)
-    const hm = await db.application.findMany({ where: {
-      selection: {
-        name: "HMMT"
-      }
-    }, 
-    select: {
-      author: {
-        select: {
-          ionUsername: true
-        }
-      },
-      index: true
-    }})
-    
-    const hmp = await db.application.findMany({ where: {
-      selection: {
-        name: "HMMT Proof"
-      }
-    }, 
-    select: {
-      author: {
-        select: {
-          ionUsername: true
-        }
-      },
-      index: true,
-    
-    }})
-
-    let o = {}
-    for(let s of hm) {
-      let k = s.author.ionUsername
-      if(o[k] == undefined || o[k] == null) o[k] = {name: k, hm: 0, hmp: 0}
-      o[k]["hm"] = s.index
-    }
-    for(let s of hmp) {
-      let k = s.author.ionUsername
-      if(o[k] == undefined || o[k] == null) o[k] = {name: k, hm: 0, hmp: 0}
-      o[k]["hmp"] = s.index
-    }
-
-    // let r = l.map(m => [m.author.ionUsername, m.index])
-    o = Object.entries(o).map(m => m[1])
-    let s1 = o.map(m => m.name).join('\n')
-    let s2 = o.map(m => m.hm).join('\n')
-    let s3 = o.map(m => m.hmp).join('\n')
-
-    if (req.method == 'GET') {
-      return res.status(200).send([s1, s2, s3].join('\n\n\n'))
-    }
-  } catch (e) {
-    return res.status(400).json({
-      message: e.message
-    })
-  }
-
-  return res.status(400).send(null)
-}
-
-export default handler;
diff --git a/app/src/pages/api/debug/index.txt b/app/src/pages/api/debug/index.txt
deleted file mode 100644
index 36b06a3..0000000
--- a/app/src/pages/api/debug/index.txt
+++ /dev/null
@@ -1,68 +0,0 @@
-import { authorize } from '@/lib/api/authorize';
-import { db } from '@/lib/db/db';
-import { NextApiRequest, NextApiResponse } from 'next';
-
-const handler = async (req: NextApiRequest, res: NextApiResponse) => {
-  try {
-    const { authorized, user } = await authorize(req, res, false)
-    if (!authorized) return res.status(401).send(null)
-    const hm = await db.application.findMany({ where: {
-      selection: {
-        name: "HMMT"
-      }
-    }, 
-    select: {
-      author: {
-        select: {
-          ionUsername: true
-        }
-      },
-      index: true
-    }})
-    
-    const hmp = await db.application.findMany({ where: {
-      selection: {
-        name: "HMMT Proof"
-      }
-    }, 
-    select: {
-      author: {
-        select: {
-          ionUsername: true
-        }
-      },
-      index: true,
-    
-    }})
-
-    let o = {}
-    for(let s of hm) {
-      let k = s.author.ionUsername
-      if(o[k] == undefined || o[k] == null) o[k] = {name: k, hm: 0, hmp: 0}
-      o[k]["hm"] = s.index
-    }
-    for(let s of hmp) {
-      let k = s.author.ionUsername
-      if(o[k] == undefined || o[k] == null) o[k] = {name: k, hm: 0, hmp: 0}
-      o[k]["hmp"] = s.index
-    }
-
-    // let r = l.map(m => [m.author.ionUsername, m.index])
-    o = Object.entries(o).map(m => m[1])
-    let s1 = o.map(m => m.name).join('\n')
-    let s2 = o.map(m => m.hm).join('\n')
-    let s3 = o.map(m => m.hmp).join('\n')
-
-    if (req.method == 'GET') {
-      return res.status(200).send([s1, s2, s3].join('\n\n\n'))
-    }
-  } catch (e) {
-    return res.status(400).json({
-      message: e.message
-    })
-  }
-
-  return res.status(400).send(null)
-}
-
-export default handler;
diff --git a/app/src/pages/index.tsx b/app/src/pages/index.tsx
index 4b04cc0..03f38d4 100644
--- a/app/src/pages/index.tsx
+++ b/app/src/pages/index.tsx
@@ -23,7 +23,7 @@ const Home: NextPage<any> = ({ officers }) => {
       method: 'POST',
       headers: {
         'Content-Type': 'application/json',
-        'Authorization': `Bearer ${session.token.sub}`
+        'Authorization': `Bearer ${session['token'].sub}`
       },
       body: JSON.stringify({
         phone: input.phone
diff --git a/app/yarn.lock b/app/yarn.lock
index a5c0ca8..a42a6d2 100644
--- a/app/yarn.lock
+++ b/app/yarn.lock
@@ -176,23 +176,6 @@
   resolved "https://registry.yarnpkg.com/@panva/hkdf/-/hkdf-1.0.4.tgz#4e02bb248402ff6c5c024e23a68438e2b0e69d67"
   integrity sha512-003xWiCuvePbLaPHT+CRuaV4GlyCAVm6XYSbBZDHoWZGn1mNkVKFaDbGJjjxmEFvizUwlCoM6O18FCBMMky2zQ==
 
-"@prisma/client@^4.2.1":
-  version "4.2.1"
-  resolved "https://registry.npmjs.org/@prisma/client/-/client-4.2.1.tgz"
-  integrity sha512-PZBkY60+k5oix+e6IUfl3ub8TbRLNsPLdfWrdy2eh80WcHTaT+/UfvXf/B7gXedH7FRtbPFHZXk1hZenJiJZFQ==
-  dependencies:
-    "@prisma/engines-version" "4.2.0-33.2920a97877e12e055c1333079b8d19cee7f33826"
-
-"@prisma/engines-version@4.2.0-33.2920a97877e12e055c1333079b8d19cee7f33826":
-  version "4.2.0-33.2920a97877e12e055c1333079b8d19cee7f33826"
-  resolved "https://registry.npmjs.org/@prisma/engines-version/-/engines-version-4.2.0-33.2920a97877e12e055c1333079b8d19cee7f33826.tgz"
-  integrity sha512-tktkqdiwqE4QhmE088boPt+FwPj1Jub/zk+5F6sEfcRHzO5yz9jyMD5HFVtiwxZPLx/8Xg9ElnuTi8E5lWVQFQ==
-
-"@prisma/engines@4.2.1":
-  version "4.2.1"
-  resolved "https://registry.npmjs.org/@prisma/engines/-/engines-4.2.1.tgz"
-  integrity sha512-0KqBwREUOjBiHwITsQzw2DWfLHjntvbqzGRawj4sBMnIiL5CXwyDUKeHOwXzKMtNr1rEjxEsypM14g0CzLRK3g==
-
 "@rushstack/eslint-patch@^1.0.6":
   version "1.0.8"
   resolved "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.0.8.tgz"
@@ -486,13 +469,6 @@ base64-js@^1.3.1:
   resolved "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz"
   integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==
 
-better-react-mathjax@^2.0.2:
-  version "2.0.2"
-  resolved "https://registry.npmjs.org/better-react-mathjax/-/better-react-mathjax-2.0.2.tgz"
-  integrity sha512-GSU/c+LhnMVClkduWpO7fr9Ac2KMOxWs/ePwdFgpffidK3Zg9Vyd3scO6XZbd2QgMUcKnpjEG6hE1sM/EFekSQ==
-  dependencies:
-    mathjax-full "^3.2.2"
-
 binary-extensions@^2.0.0:
   version "2.2.0"
   resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz"
@@ -597,11 +573,6 @@ color-name@^1.1.4, color-name@~1.1.4:
   resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz"
   integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
 
-commander@9.2.0:
-  version "9.2.0"
-  resolved "https://registry.npmjs.org/commander/-/commander-9.2.0.tgz"
-  integrity sha512-e2i4wANQiSXgnrBlIatyHtP1odfUp0BbV5Y5nEGbxtIrStkEOAAzCUirvLBNXHLr7kwLvJl6V+4V3XV9x7Wd9w==
-
 concat-map@0.0.1:
   version "0.0.1"
   resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz"
@@ -981,11 +952,6 @@ eslint@8.1.0:
     text-table "^0.2.0"
     v8-compile-cache "^2.0.3"
 
-esm@^3.2.25:
-  version "3.2.25"
-  resolved "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz"
-  integrity sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==
-
 espree@^9.0.0:
   version "9.0.0"
   resolved "https://registry.npmjs.org/espree/-/espree-9.0.0.tgz"
@@ -1483,16 +1449,6 @@ make-error@^1.1.1:
   resolved "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz"
   integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==
 
-mathjax-full@^3.2.2:
-  version "3.2.2"
-  resolved "https://registry.npmjs.org/mathjax-full/-/mathjax-full-3.2.2.tgz"
-  integrity sha512-+LfG9Fik+OuI8SLwsiR02IVdjcnRCy5MufYLi0C3TdMT56L/pjB0alMVGgoWJF8pN9Rc7FESycZB9BMNWIid5w==
-  dependencies:
-    esm "^3.2.25"
-    mhchemparser "^4.1.0"
-    mj-context-menu "^0.6.1"
-    speech-rule-engine "^4.0.6"
-
 memory-pager@^1.0.2:
   version "1.5.0"
   resolved "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz"
@@ -1503,11 +1459,6 @@ merge2@^1.3.0:
   resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz"
   integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==
 
-mhchemparser@^4.1.0:
-  version "4.1.1"
-  resolved "https://registry.npmjs.org/mhchemparser/-/mhchemparser-4.1.1.tgz"
-  integrity sha512-R75CUN6O6e1t8bgailrF1qPq+HhVeFTM3XQ0uzI+mXTybmphy3b6h4NbLOYhemViQ3lUs+6CKRkC3Ws1TlYREA==
-
 micromatch@^4.0.4:
   version "4.0.4"
   resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz"
@@ -1528,11 +1479,6 @@ minimist@^1.1.1, minimist@^1.2.0:
   resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz"
   integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==
 
-mj-context-menu@^0.6.1:
-  version "0.6.1"
-  resolved "https://registry.npmjs.org/mj-context-menu/-/mj-context-menu-0.6.1.tgz"
-  integrity sha512-7NO5s6n10TIV96d4g2uDpG7ZDpIhMh0QNfGdJw/W47JswFcosz457wqz/b5sAKvl12sxINGFCn80NZHKwxQEXA==
-
 mongodb-connection-string-url@^2.0.0:
   version "2.1.0"
   resolved "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-2.1.0.tgz"
@@ -1906,13 +1852,6 @@ pretty-format@^3.8.0:
   resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-3.8.0.tgz#bfbed56d5e9a776645f4b1ff7aa1a3ac4fa3c385"
   integrity sha512-WuxUnVtlWL1OfZFQFuqvnvs6MiAGk9UNsBostyBOB0Is9wb5uRESevA6rnl/rkksXaGX3GzZhPup5d6Vp1nFew==
 
-prisma@^4.2.1:
-  version "4.2.1"
-  resolved "https://registry.npmjs.org/prisma/-/prisma-4.2.1.tgz"
-  integrity sha512-HuYqnTDgH8atjPGtYmY0Ql9XrrJnfW7daG1PtAJRW0E6gJxc50lY3vrIDn0yjMR3TvRlypjTcspQX8DT+xD4Sg==
-  dependencies:
-    "@prisma/engines" "4.2.1"
-
 progress@^2.0.0:
   version "2.0.3"
   resolved "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz"
@@ -2131,15 +2070,6 @@ sparse-bitfield@^3.0.3:
   dependencies:
     memory-pager "^1.0.2"
 
-speech-rule-engine@^4.0.6:
-  version "4.0.7"
-  resolved "https://registry.npmjs.org/speech-rule-engine/-/speech-rule-engine-4.0.7.tgz"
-  integrity sha512-sJrL3/wHzNwJRLBdf6CjJWIlxC04iYKkyXvYSVsWVOiC2DSkHmxsqOhEeMsBA9XK+CHuNcsdkbFDnoUfAsmp9g==
-  dependencies:
-    commander "9.2.0"
-    wicked-good-xpath "1.3.0"
-    xmldom-sre "0.1.31"
-
 sprintf-js@~1.0.2:
   version "1.0.3"
   resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz"
@@ -2398,11 +2328,6 @@ which@^2.0.1:
   dependencies:
     isexe "^2.0.0"
 
-wicked-good-xpath@1.3.0:
-  version "1.3.0"
-  resolved "https://registry.npmjs.org/wicked-good-xpath/-/wicked-good-xpath-1.3.0.tgz"
-  integrity sha512-Gd9+TUn5nXdwj/hFsPVx5cuHHiF5Bwuc30jZ4+ronF1qHK5O7HD0sgmXWSEgwKquT3ClLoKPVbO6qGwVwLzvAw==
-
 word-wrap@^1.2.3:
   version "1.2.3"
   resolved "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz"
@@ -2413,11 +2338,6 @@ wrappy@1:
   resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz"
   integrity "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
 
-xmldom-sre@0.1.31:
-  version "0.1.31"
-  resolved "https://registry.npmjs.org/xmldom-sre/-/xmldom-sre-0.1.31.tgz"
-  integrity sha512-f9s+fUkX04BxQf+7mMWAp5zk61pciie+fFLC9hX9UVvCeJQfNHRHXpeo5MPcR0EUf57PYLdt+ZO4f3Ipk2oZUw==
-
 xtend@^4.0.2:
   version "4.0.2"
   resolved "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz"