diff --git a/Websites/.DS_Store b/Websites/.DS_Store index f398b6e..9bbc039 100644 Binary files a/Websites/.DS_Store and b/Websites/.DS_Store differ diff --git a/Websites/UnusedPages/.DS_Store b/Websites/UnusedPages/.DS_Store deleted file mode 100644 index 9768a19..0000000 Binary files a/Websites/UnusedPages/.DS_Store and /dev/null differ diff --git a/Websites/UnusedPages/AddToCart.tsx b/Websites/UnusedPages/AddToCart.tsx deleted file mode 100644 index 1efc4f6..0000000 --- a/Websites/UnusedPages/AddToCart.tsx +++ /dev/null @@ -1,15 +0,0 @@ -"use client"; -// import React from 'react' - -const AddToCart = () => { - return ( -
- {/* normal button */} - - {/* Button using DaisyUi */} - -
- ) -} - -export default AddToCart \ No newline at end of file diff --git a/Websites/UnusedPages/ProductCard/ProductCard.module.css b/Websites/UnusedPages/ProductCard/ProductCard.module.css deleted file mode 100644 index 4f55923..0000000 --- a/Websites/UnusedPages/ProductCard/ProductCard.module.css +++ /dev/null @@ -1,4 +0,0 @@ -.card { - padding: 1rem; - border: 1px solid #ccc; -} \ No newline at end of file diff --git a/Websites/UnusedPages/ProductCard/ProductCard.tsx b/Websites/UnusedPages/ProductCard/ProductCard.tsx deleted file mode 100644 index 5fa544d..0000000 --- a/Websites/UnusedPages/ProductCard/ProductCard.tsx +++ /dev/null @@ -1,21 +0,0 @@ -// import React from 'react'; -// import AddToCart from '../AddToCart'; -// // import styles from './ProductCard.module.css'; - -// const ProductCard = () => { -// return ( -// //
style using css file - -// // style using tailwind -// //
-// // -// //
- -// // style using daisyUi component instead -//
-// -//
-// ) -// } - -// export default ProductCard \ No newline at end of file diff --git a/Websites/UnusedPages/admin/page.tsx b/Websites/UnusedPages/admin/page.tsx deleted file mode 100644 index 56546b8..0000000 --- a/Websites/UnusedPages/admin/page.tsx +++ /dev/null @@ -1,28 +0,0 @@ -import React, { FormEvent } from "react"; -import { Input } from "@/components/ui/input"; -import { Button } from "@/components/ui/button"; - -export default async function Admin() { - const handleSubmit = async (e: FormEvent) => { - e.preventDefault(); - const formData = new FormData(e.currentTarget); - const response = await fetch(`/api/auth/admin`, { - method: "POST", - body: JSON.stringify({ - email: formData.get("email"), - password: formData.get("password"), - }), - }); - console.log({ response }); - }; - return ( -
- - - -
- ); -} diff --git a/Websites/UnusedPages/api/.DS_Store b/Websites/UnusedPages/api/.DS_Store deleted file mode 100644 index 076fb1a..0000000 Binary files a/Websites/UnusedPages/api/.DS_Store and /dev/null differ diff --git a/Websites/UnusedPages/api/issues/route.ts b/Websites/UnusedPages/api/issues/route.ts deleted file mode 100644 index 9783bcc..0000000 --- a/Websites/UnusedPages/api/issues/route.ts +++ /dev/null @@ -1,27 +0,0 @@ -// import { NextRequest, NextResponse } from "next/server"; -// import { z } from 'zod'; -// import prisma from "@/prisma/client"; - -// // validate the request with zod -// const createIssueSchema = z.object({ -// title: z.string().min(1).max(255), // confirms string is between 1-255 characters -// description: z.string().min(1), // confirms string has min length of 1 -// }); - -// // send request -// export async function POST(request: NextRequest) { -// // return request with a promise -// const body = await request.json(); - -// // validate the data -// const validation = createIssueSchema.safeParse(body); -// if (!validation.success) -// return NextResponse.json(validation.error.errors, {status: 400}) // Send error 400 if data is invalid - -// const newIssue = await prisma.issue.create({ -// data: { title: body.title, description: body.description } -// }); - -// // return the issue to the client -// return NextResponse.json(newIssue, {status: 201}); // status 201 means an object was created -// } \ No newline at end of file diff --git a/Websites/UnusedPages/auth/[...nextauth].ts b/Websites/UnusedPages/auth/[...nextauth].ts deleted file mode 100644 index bced764..0000000 --- a/Websites/UnusedPages/auth/[...nextauth].ts +++ /dev/null @@ -1,57 +0,0 @@ -import NextAuth from "next-auth"; -import CredentialsProvider from "next-auth/providers/credentials"; -import { compare } from "bcrypt"; -import { DrizzleAdapter } from "@auth/drizzle-adapter"; -import { db, connection } from "@/db/db"; -import { users } from "@/db/schema"; -import { eq } from "drizzle-orm"; - - -const handler = NextAuth({ - // adapter: DrizzleAdapter(db), - session: { - strategy: "jwt", - }, - providers: [ - CredentialsProvider({ - // The name to display on the sign in form (e.g. "Sign in with...") - name: "Credentials", - // `credentials` is used to generate a form on the sign in page. - // You can specify which fields should be submitted, by adding keys to the `credentials` object. - // e.g. domain, username, password, 2FA token, etc. - // You can pass any HTML attribute to the tag through the object. - credentials: { - email: {}, - password: {}, - }, - async authorize(credentials, req) { - // Check if input email is in the database and return user - const response = await db - .select() - .from(users) - .where(eq(users.email, `${credentials?.email}`)); - - if (!response) { - return null; - } - // compare hashed password with password entered - const passwordCheck = await compare( - `${credentials?.password}` || "", - response[0].password - ); - - console.log({ passwordCheck }); - - if (passwordCheck) { - return { - id: response[0].id, - email: response[0].email, - }; - } - return null; - }, - }), - ], -}); - -export { handler as GET, handler as POST }; diff --git a/Websites/UnusedPages/auth/admin/route.ts b/Websites/UnusedPages/auth/admin/route.ts deleted file mode 100644 index 9f84833..0000000 --- a/Websites/UnusedPages/auth/admin/route.ts +++ /dev/null @@ -1,14 +0,0 @@ -import "dotenv/config"; - -export default async function POST(request: Request) { - try { - const { email, password } = await request.json(); - // validate email and password - if (email != process.env.ADMIN_EMAIL && password != process.env.ADMIN_PWD) { - return 0; - } - console.log({ email, password }); - } catch (e) { - console.log({ e }); - } -} diff --git a/Websites/UnusedPages/auth/register/route.ts b/Websites/UnusedPages/auth/register/route.ts deleted file mode 100644 index 745b6d1..0000000 --- a/Websites/UnusedPages/auth/register/route.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { hash } from "bcrypt"; -import "dotenv/config"; -import { db, connection } from "@/db/db"; -import { users } from "@/db/schema"; -import { NextResponse } from "next/server"; - -export async function POST(request: Request) { - try { - const { email, password } = await request.json(); - // validate email and password(temporarily hard coded) - if ( - email === process.env.ADMIN_EMAIL && - password === process.env.ADMIN_PWD - ) { - console.log({ message: "success!" }); - console.log({ email, password }); - } - // return if not admin - else { - console.log({ message: "Incorrect credentials for admin!" }); - console.log({ email, password }); - return NextResponse.json({ message: "failed" }); - } - - // Use Bcrypt to hash password - const hashedPassword = await hash(password, 10); - // console.log({message:'hash is', hashedPassword}) - - const response = await db.insert(users).values({ - id: '1', - email: email, - password: hashedPassword, - }); - } catch (e) { - console.log({ e }); - } - return NextResponse.json({ message: "pass" }); -} diff --git a/Websites/UnusedPages/issues/new/page.tsx b/Websites/UnusedPages/issues/new/page.tsx deleted file mode 100644 index 5d689f2..0000000 --- a/Websites/UnusedPages/issues/new/page.tsx +++ /dev/null @@ -1,58 +0,0 @@ -// "use client"; -// import React from "react"; -// import SimpleMDE from "react-simplemde-editor"; -// import "easymde/dist/easymde.min.css"; -// import { useForm, Controller } from "react-hook-form"; -// import { FormEvent } from "react"; - -// interface IssueForm { -// title: string; -// description: string; -// } - -// const NewIssuePage = () => { -// const { register, control, handleSubmit } = useForm(); -// // console.log(register('title')) - -// // handle form submit -// async function onSubmit(event: FormEvent) { -// event.preventDefault(); - -// const formData = new FormData(event.currentTarget); -// const response = await fetch("/api/issues", { -// method: "POST", -// body: formData, -// }); - -// // Handle response if necessary -// // const data = await response.json(); -// // ... -// } - -// return ( -//
console.log(data))} -// onSubmit={onSubmit} -// > -// -// ( -// -// )} -// /> -// -// -// ); -// }; - -// export default NewIssuePage; diff --git a/Websites/UnusedPages/issues/page.tsx b/Websites/UnusedPages/issues/page.tsx deleted file mode 100644 index 092730e..0000000 --- a/Websites/UnusedPages/issues/page.tsx +++ /dev/null @@ -1,22 +0,0 @@ -// import Link from 'next/link' -// import React from 'react' -// import type { NextApiRequest, NextApiResponse } from 'next' - -// const IssuesPage = () => { -// async function handler( -// req: NextApiRequest, -// res: NextApiResponse, -// ) { -// const data = req.body -// console.log(...data) -// res.redirect(307, '/issues') -// } - -// return ( -//
-// -//
-// ) -// } - -// export default IssuesPage \ No newline at end of file diff --git a/Websites/UnusedPages/prisma/client.ts b/Websites/UnusedPages/prisma/client.ts deleted file mode 100644 index 672810a..0000000 --- a/Websites/UnusedPages/prisma/client.ts +++ /dev/null @@ -1,19 +0,0 @@ -// import { PrismaClient } from '@prisma/client' - -// // ensures there is only one instance of prisma at any given moment - -// const prismaClientSingleton = () => { -// return new PrismaClient() -// } - -// type PrismaClientSingleton = ReturnType - -// const globalForPrisma = globalThis as unknown as { -// prisma: PrismaClientSingleton | undefined -// } - -// const prisma = globalForPrisma.prisma ?? prismaClientSingleton() - -// export default prisma - -// if (process.env.NODE_ENV !== 'production') globalForPrisma.prisma = prisma \ No newline at end of file diff --git a/Websites/UnusedPages/prisma/migrations/20231021063954_create_issue/migration.sql b/Websites/UnusedPages/prisma/migrations/20231021063954_create_issue/migration.sql deleted file mode 100644 index 87de1b4..0000000 --- a/Websites/UnusedPages/prisma/migrations/20231021063954_create_issue/migration.sql +++ /dev/null @@ -1,11 +0,0 @@ --- CreateTable -CREATE TABLE `Issue` ( - `id` INTEGER NOT NULL AUTO_INCREMENT, - `title` VARCHAR(255) NOT NULL, - `description` TEXT NOT NULL, - `status` ENUM('OPEN', 'IN_PROGRESS', 'CLOSED') NOT NULL DEFAULT 'OPEN', - `createdAT` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3), - `updatedAt` DATETIME(3) NOT NULL, - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; diff --git a/Websites/UnusedPages/prisma/migrations/migration_lock.toml b/Websites/UnusedPages/prisma/migrations/migration_lock.toml deleted file mode 100644 index e5a788a..0000000 --- a/Websites/UnusedPages/prisma/migrations/migration_lock.toml +++ /dev/null @@ -1,3 +0,0 @@ -# Please do not edit this file manually -# It should be added in your version-control system (i.e. Git) -provider = "mysql" \ No newline at end of file diff --git a/Websites/UnusedPages/prisma/schema.prisma b/Websites/UnusedPages/prisma/schema.prisma deleted file mode 100644 index 28ab717..0000000 --- a/Websites/UnusedPages/prisma/schema.prisma +++ /dev/null @@ -1,29 +0,0 @@ -// This is your Prisma schema file, -// learn more about it in the docs: https://pris.ly/d/prisma-schema - -generator client { - provider = "prisma-client-js" -} - -datasource db { - // provider = "postgresql" - provider = "mysql" - url = env("DATABASE_URL") -} - -model Issue { - id Int @id @default(autoincrement()) // auto increasing id number for issues - title String @db.VarChar(255) // change varchar(variable character limit to 255) - description String @db.Text // issue description - status Status @default(OPEN) // stating issue is open - createdAT DateTime @default(now()) // creation time - updatedAt DateTime @updatedAt // updated time -} - -// issue status, or ticket status -// supported in mysql, but possibly not other db's -enum Status { - OPEN - IN_PROGRESS - CLOSED -} diff --git a/Websites/UnusedPages/prisma/scripts.txt b/Websites/UnusedPages/prisma/scripts.txt deleted file mode 100644 index 2a6c2ec..0000000 --- a/Websites/UnusedPages/prisma/scripts.txt +++ /dev/null @@ -1,3 +0,0 @@ -"prisma": { - "seed": "ts-node --compiler-options {\"module\":\"CommonJS\"} prisma/seed.ts" - } \ No newline at end of file diff --git a/Websites/UnusedPages/prisma/seed.ts b/Websites/UnusedPages/prisma/seed.ts deleted file mode 100644 index 9354728..0000000 --- a/Websites/UnusedPages/prisma/seed.ts +++ /dev/null @@ -1,51 +0,0 @@ -// import { PrismaClient } from "@prisma/client"; -// const prisma = new PrismaClient(); -// async function main() { -// const alice = await prisma.user.upsert({ -// where: { email: "alice@prisma.io" }, -// update: {}, -// create: { -// email: "alice@prisma.io", -// name: "Alice", -// posts: { -// create: { -// title: "Check out Prisma with Next.js", -// content: "https://www.prisma.io/nextjs", -// published: true, -// }, -// }, -// }, -// }); -// const bob = await prisma.user.upsert({ -// where: { email: "bob@prisma.io" }, -// update: {}, -// create: { -// email: "bob@prisma.io", -// name: "Bob", -// posts: { -// create: [ -// { -// title: "Follow Prisma on Twitter", -// content: "https://twitter.com/prisma", -// published: true, -// }, -// { -// title: "Follow Nexus on Twitter", -// content: "https://twitter.com/nexusgql", -// published: true, -// }, -// ], -// }, -// }, -// }); -// console.log({ alice, bob }); -// } -// main() -// .then(async () => { -// await prisma.$disconnect(); -// }) -// .catch(async (e) => { -// console.error(e); -// await prisma.$disconnect(); -// process.exit(1); -// }); diff --git a/Websites/UnusedPages/users/nested/page.tsx b/Websites/UnusedPages/users/nested/page.tsx deleted file mode 100644 index ceba6f6..0000000 --- a/Websites/UnusedPages/users/nested/page.tsx +++ /dev/null @@ -1,9 +0,0 @@ -// import React from 'react' - -// const Nested = () => { -// return ( -//
Nested
-// ) -// } - -// export default Nested \ No newline at end of file diff --git a/Websites/UnusedPages/users/page.tsx b/Websites/UnusedPages/users/page.tsx deleted file mode 100644 index c57d0ac..0000000 --- a/Websites/UnusedPages/users/page.tsx +++ /dev/null @@ -1,51 +0,0 @@ -// import { userInfo } from 'os'; -// import React, { useState, useEffect } from 'react' - -// interface User { -// id: number; -// name: string; -// email: string; -// } - -// const UsersPage = async () => { -// // Get the json file -// const res = await fetch( -// 'https://jsonplaceholder.typicode.com/users', -// // Option to disable caching entirely, useful for data that changes frequently. -// {cache: 'no-store'} - -// // Option to store the data within the cache for a certain period of time -// // { next: { revalidate: 10 }} // get fresh data every 10 seconds -// ); -// // Create an object that will hold the users within the json file -// const users: User[] = await res.json(); -// // Create a cache in order to hold the data for later(useful for tokens) - - -// return ( -// <> -//

Users

-// {/*

{new Date().toLocaleTimeString()}

*/} -// {/* instead of an unordered list, we'll use a table -//
    -// {users.map(user =>
  • {user.name}
  • )} -//
*/} -// -// -// -// -// -// -// -// -// {users.map(user=> -// -// -// )} -// -//
NameEmail
{user.name}{user.email}
-// -// ) -// } - -// export default UsersPage \ No newline at end of file