diff --git a/apps/admin/app/(main)/jobs/new/new-job-form.tsx b/apps/admin/app/(main)/jobs/new/new-job-form.tsx
index 7f69fb2..4246f05 100644
--- a/apps/admin/app/(main)/jobs/new/new-job-form.tsx
+++ b/apps/admin/app/(main)/jobs/new/new-job-form.tsx
@@ -41,7 +41,6 @@ function NewJobForm({ companies }: { companies: { id: number; name: string }[] }
const [addingCompany, setAddingCompany] = useState(false)
const [companyList, setCompanyList] = useState(companies)
const [newCompanyName, setNewCompanyName] = useState("")
- const [newCompanyEmail, setNewCompanyEmail] = useState("")
const [newCompanyLink, setNewCompanyLink] = useState("")
const [newCompanyDescription, setNewCompanyDescription] = useState("")
const [newCompanyImageURL, setNewCompanyImageURL] = useState("")
@@ -104,15 +103,14 @@ function NewJobForm({ companies }: { companies: { id: number; name: string }[] }
e.preventDefault()
setCompanyError(null)
- if (!newCompanyName.trim() || !newCompanyEmail.trim() || !newCompanyLink.trim() || !newCompanyDescription.trim()) {
- setCompanyError("Please fill in all required fields")
+ if (!newCompanyName.trim()) {
+ setCompanyError("Please enter a company name")
return
}
setAddingCompany(true)
const formData = new FormData()
formData.append("name", newCompanyName.trim())
- formData.append("email", newCompanyEmail.trim())
formData.append("link", newCompanyLink.trim())
formData.append("description", newCompanyDescription.trim())
formData.append("imageURL", newCompanyImageURL.trim())
@@ -122,7 +120,6 @@ function NewJobForm({ companies }: { companies: { id: number; name: string }[] }
setCompanyList((prev) => [...prev, result.company])
form.setValue("companyId", result.company.id)
setNewCompanyName("")
- setNewCompanyEmail("")
setNewCompanyLink("")
setNewCompanyDescription("")
setNewCompanyImageURL("")
@@ -222,22 +219,11 @@ function NewJobForm({ companies }: { companies: { id: number; name: string }[] }
/>
-
- setNewCompanyEmail(e.target.value)}
- placeholder="contact@company.com"
- type="email"
- required
- />
-
-
-
+
setNewCompanyLink(e.target.value)}
placeholder="https://company.com"
- required
/>
@@ -249,13 +235,12 @@ function NewJobForm({ companies }: { companies: { id: number; name: string }[] }
/>
-
+
{companyError && (
diff --git a/packages/db/migrations/0008_public_dreadnoughts.sql b/packages/db/migrations/0008_public_dreadnoughts.sql
new file mode 100644
index 0000000..f15f5b4
--- /dev/null
+++ b/packages/db/migrations/0008_public_dreadnoughts.sql
@@ -0,0 +1,7 @@
+ALTER TABLE "companies" ALTER COLUMN "link" DROP NOT NULL;--> statement-breakpoint
+ALTER TABLE "students" ADD COLUMN "mothersEmail" text;--> statement-breakpoint
+ALTER TABLE "students" ADD COLUMN "mothersPhone" varchar(10);--> statement-breakpoint
+ALTER TABLE "students" ADD COLUMN "fathersName" varchar(255);--> statement-breakpoint
+ALTER TABLE "students" ADD COLUMN "fathersEmail" text;--> statement-breakpoint
+ALTER TABLE "students" ADD COLUMN "fathersPhone" varchar(10);--> statement-breakpoint
+ALTER TABLE "companies" DROP COLUMN "email";
\ No newline at end of file
diff --git a/packages/db/migrations/0009_wealthy_chronomancer.sql b/packages/db/migrations/0009_wealthy_chronomancer.sql
new file mode 100644
index 0000000..b744a5b
--- /dev/null
+++ b/packages/db/migrations/0009_wealthy_chronomancer.sql
@@ -0,0 +1 @@
+ALTER TABLE "companies" ALTER COLUMN "description" DROP NOT NULL;
\ No newline at end of file
diff --git a/packages/db/migrations/meta/0008_snapshot.json b/packages/db/migrations/meta/0008_snapshot.json
new file mode 100644
index 0000000..e3981b9
--- /dev/null
+++ b/packages/db/migrations/meta/0008_snapshot.json
@@ -0,0 +1,800 @@
+{
+ "id": "c7b8331f-3c5e-4215-90db-60cd3c87d2cb",
+ "prevId": "e4a847ee-3905-4955-b7bc-c72954d56338",
+ "version": "7",
+ "dialect": "postgresql",
+ "tables": {
+ "public.admins": {
+ "name": "admins",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "email": {
+ "name": "email",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "createdAt": {
+ "name": "createdAt",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updatedAt": {
+ "name": "updatedAt",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "admins_email_unique": {
+ "name": "admins_email_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "email"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.applications": {
+ "name": "applications",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "jobId": {
+ "name": "jobId",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "studentId": {
+ "name": "studentId",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "resumeId": {
+ "name": "resumeId",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "status": {
+ "name": "status",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'pending'"
+ },
+ "createdAt": {
+ "name": "createdAt",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updatedAt": {
+ "name": "updatedAt",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "applications_jobId_jobs_id_fk": {
+ "name": "applications_jobId_jobs_id_fk",
+ "tableFrom": "applications",
+ "tableTo": "jobs",
+ "columnsFrom": [
+ "jobId"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ },
+ "applications_studentId_students_id_fk": {
+ "name": "applications_studentId_students_id_fk",
+ "tableFrom": "applications",
+ "tableTo": "students",
+ "columnsFrom": [
+ "studentId"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ },
+ "applications_resumeId_resumes_id_fk": {
+ "name": "applications_resumeId_resumes_id_fk",
+ "tableFrom": "applications",
+ "tableTo": "resumes",
+ "columnsFrom": [
+ "resumeId"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.companies": {
+ "name": "companies",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "name": {
+ "name": "name",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "link": {
+ "name": "link",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "description": {
+ "name": "description",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "imageURL": {
+ "name": "imageURL",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "createdAt": {
+ "name": "createdAt",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updatedAt": {
+ "name": "updatedAt",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.grades": {
+ "name": "grades",
+ "schema": "",
+ "columns": {
+ "studentId": {
+ "name": "studentId",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "sem": {
+ "name": "sem",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "sgpi": {
+ "name": "sgpi",
+ "type": "numeric(4, 2)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "isKT": {
+ "name": "isKT",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "deadKT": {
+ "name": "deadKT",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "createdAt": {
+ "name": "createdAt",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updatedAt": {
+ "name": "updatedAt",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "grades_studentId_students_id_fk": {
+ "name": "grades_studentId_students_id_fk",
+ "tableFrom": "grades",
+ "tableTo": "students",
+ "columnsFrom": [
+ "studentId"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {
+ "grades_studentId_sem_pk": {
+ "name": "grades_studentId_sem_pk",
+ "columns": [
+ "studentId",
+ "sem"
+ ]
+ }
+ },
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {
+ "sem_check1": {
+ "name": "sem_check1",
+ "value": "\"grades\".\"sem\" < 9"
+ }
+ },
+ "isRLSEnabled": false
+ },
+ "public.internships": {
+ "name": "internships",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "studentId": {
+ "name": "studentId",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "title": {
+ "name": "title",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "company": {
+ "name": "company",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "description": {
+ "name": "description",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "location": {
+ "name": "location",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "startDate": {
+ "name": "startDate",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "endDate": {
+ "name": "endDate",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "createdAt": {
+ "name": "createdAt",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updatedAt": {
+ "name": "updatedAt",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "internships_studentId_students_id_fk": {
+ "name": "internships_studentId_students_id_fk",
+ "tableFrom": "internships",
+ "tableTo": "students",
+ "columnsFrom": [
+ "studentId"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.jobs": {
+ "name": "jobs",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "companyId": {
+ "name": "companyId",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "title": {
+ "name": "title",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "link": {
+ "name": "link",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "description": {
+ "name": "description",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "location": {
+ "name": "location",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "imageURL": {
+ "name": "imageURL",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "salary": {
+ "name": "salary",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "applicationDeadline": {
+ "name": "applicationDeadline",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "active": {
+ "name": "active",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "minCGPA": {
+ "name": "minCGPA",
+ "type": "numeric(4, 2)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'0'"
+ },
+ "minSSC": {
+ "name": "minSSC",
+ "type": "numeric(4, 2)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'0'"
+ },
+ "minHSC": {
+ "name": "minHSC",
+ "type": "numeric(4, 2)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'0'"
+ },
+ "allowDeadKT": {
+ "name": "allowDeadKT",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": true
+ },
+ "allowLiveKT": {
+ "name": "allowLiveKT",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": true
+ },
+ "createdAt": {
+ "name": "createdAt",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updatedAt": {
+ "name": "updatedAt",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "jobs_companyId_companies_id_fk": {
+ "name": "jobs_companyId_companies_id_fk",
+ "tableFrom": "jobs",
+ "tableTo": "companies",
+ "columnsFrom": [
+ "companyId"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.resumes": {
+ "name": "resumes",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "studentId": {
+ "name": "studentId",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "title": {
+ "name": "title",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "link": {
+ "name": "link",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "createdAt": {
+ "name": "createdAt",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updatedAt": {
+ "name": "updatedAt",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "resumes_studentId_students_id_fk": {
+ "name": "resumes_studentId_students_id_fk",
+ "tableFrom": "resumes",
+ "tableTo": "students",
+ "columnsFrom": [
+ "studentId"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.students": {
+ "name": "students",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "email": {
+ "name": "email",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "rollNumber": {
+ "name": "rollNumber",
+ "type": "varchar(12)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "verified": {
+ "name": "verified",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "markedOut": {
+ "name": "markedOut",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "firstName": {
+ "name": "firstName",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "middleName": {
+ "name": "middleName",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "lastName": {
+ "name": "lastName",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "mothersName": {
+ "name": "mothersName",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "mothersEmail": {
+ "name": "mothersEmail",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "mothersPhone": {
+ "name": "mothersPhone",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "fathersName": {
+ "name": "fathersName",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "fathersEmail": {
+ "name": "fathersEmail",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "fathersPhone": {
+ "name": "fathersPhone",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "gender": {
+ "name": "gender",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "dob": {
+ "name": "dob",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "personalGmail": {
+ "name": "personalGmail",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "phoneNumber": {
+ "name": "phoneNumber",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "address": {
+ "name": "address",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "profilePicture": {
+ "name": "profilePicture",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "degree": {
+ "name": "degree",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "branch": {
+ "name": "branch",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "year": {
+ "name": "year",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "skills": {
+ "name": "skills",
+ "type": "text[]",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "ARRAY[]::text[]"
+ },
+ "linkedin": {
+ "name": "linkedin",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "github": {
+ "name": "github",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ssc": {
+ "name": "ssc",
+ "type": "numeric(4, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "hsc": {
+ "name": "hsc",
+ "type": "numeric(4, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "isDiploma": {
+ "name": "isDiploma",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "createdAt": {
+ "name": "createdAt",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updatedAt": {
+ "name": "updatedAt",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ }
+ },
+ "enums": {},
+ "schemas": {},
+ "sequences": {},
+ "roles": {},
+ "policies": {},
+ "views": {},
+ "_meta": {
+ "columns": {},
+ "schemas": {},
+ "tables": {}
+ }
+}
\ No newline at end of file
diff --git a/packages/db/migrations/meta/0009_snapshot.json b/packages/db/migrations/meta/0009_snapshot.json
new file mode 100644
index 0000000..bb02cb0
--- /dev/null
+++ b/packages/db/migrations/meta/0009_snapshot.json
@@ -0,0 +1,800 @@
+{
+ "id": "41b7ecf1-42ee-4436-b4d6-6f721cbe9f6d",
+ "prevId": "c7b8331f-3c5e-4215-90db-60cd3c87d2cb",
+ "version": "7",
+ "dialect": "postgresql",
+ "tables": {
+ "public.admins": {
+ "name": "admins",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "email": {
+ "name": "email",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "createdAt": {
+ "name": "createdAt",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updatedAt": {
+ "name": "updatedAt",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "admins_email_unique": {
+ "name": "admins_email_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "email"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.applications": {
+ "name": "applications",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "jobId": {
+ "name": "jobId",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "studentId": {
+ "name": "studentId",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "resumeId": {
+ "name": "resumeId",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "status": {
+ "name": "status",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'pending'"
+ },
+ "createdAt": {
+ "name": "createdAt",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updatedAt": {
+ "name": "updatedAt",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "applications_jobId_jobs_id_fk": {
+ "name": "applications_jobId_jobs_id_fk",
+ "tableFrom": "applications",
+ "tableTo": "jobs",
+ "columnsFrom": [
+ "jobId"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ },
+ "applications_studentId_students_id_fk": {
+ "name": "applications_studentId_students_id_fk",
+ "tableFrom": "applications",
+ "tableTo": "students",
+ "columnsFrom": [
+ "studentId"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ },
+ "applications_resumeId_resumes_id_fk": {
+ "name": "applications_resumeId_resumes_id_fk",
+ "tableFrom": "applications",
+ "tableTo": "resumes",
+ "columnsFrom": [
+ "resumeId"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.companies": {
+ "name": "companies",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "name": {
+ "name": "name",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "link": {
+ "name": "link",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "description": {
+ "name": "description",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "imageURL": {
+ "name": "imageURL",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "createdAt": {
+ "name": "createdAt",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updatedAt": {
+ "name": "updatedAt",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.grades": {
+ "name": "grades",
+ "schema": "",
+ "columns": {
+ "studentId": {
+ "name": "studentId",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "sem": {
+ "name": "sem",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "sgpi": {
+ "name": "sgpi",
+ "type": "numeric(4, 2)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "isKT": {
+ "name": "isKT",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "deadKT": {
+ "name": "deadKT",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "createdAt": {
+ "name": "createdAt",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updatedAt": {
+ "name": "updatedAt",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "grades_studentId_students_id_fk": {
+ "name": "grades_studentId_students_id_fk",
+ "tableFrom": "grades",
+ "tableTo": "students",
+ "columnsFrom": [
+ "studentId"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {
+ "grades_studentId_sem_pk": {
+ "name": "grades_studentId_sem_pk",
+ "columns": [
+ "studentId",
+ "sem"
+ ]
+ }
+ },
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {
+ "sem_check1": {
+ "name": "sem_check1",
+ "value": "\"grades\".\"sem\" < 9"
+ }
+ },
+ "isRLSEnabled": false
+ },
+ "public.internships": {
+ "name": "internships",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "studentId": {
+ "name": "studentId",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "title": {
+ "name": "title",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "company": {
+ "name": "company",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "description": {
+ "name": "description",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "location": {
+ "name": "location",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "startDate": {
+ "name": "startDate",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "endDate": {
+ "name": "endDate",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "createdAt": {
+ "name": "createdAt",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updatedAt": {
+ "name": "updatedAt",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "internships_studentId_students_id_fk": {
+ "name": "internships_studentId_students_id_fk",
+ "tableFrom": "internships",
+ "tableTo": "students",
+ "columnsFrom": [
+ "studentId"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.jobs": {
+ "name": "jobs",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "companyId": {
+ "name": "companyId",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "title": {
+ "name": "title",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "link": {
+ "name": "link",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "description": {
+ "name": "description",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "location": {
+ "name": "location",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "imageURL": {
+ "name": "imageURL",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "salary": {
+ "name": "salary",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "applicationDeadline": {
+ "name": "applicationDeadline",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "active": {
+ "name": "active",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "minCGPA": {
+ "name": "minCGPA",
+ "type": "numeric(4, 2)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'0'"
+ },
+ "minSSC": {
+ "name": "minSSC",
+ "type": "numeric(4, 2)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'0'"
+ },
+ "minHSC": {
+ "name": "minHSC",
+ "type": "numeric(4, 2)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'0'"
+ },
+ "allowDeadKT": {
+ "name": "allowDeadKT",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": true
+ },
+ "allowLiveKT": {
+ "name": "allowLiveKT",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": true
+ },
+ "createdAt": {
+ "name": "createdAt",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updatedAt": {
+ "name": "updatedAt",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "jobs_companyId_companies_id_fk": {
+ "name": "jobs_companyId_companies_id_fk",
+ "tableFrom": "jobs",
+ "tableTo": "companies",
+ "columnsFrom": [
+ "companyId"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.resumes": {
+ "name": "resumes",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "studentId": {
+ "name": "studentId",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "title": {
+ "name": "title",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "link": {
+ "name": "link",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "createdAt": {
+ "name": "createdAt",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updatedAt": {
+ "name": "updatedAt",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "resumes_studentId_students_id_fk": {
+ "name": "resumes_studentId_students_id_fk",
+ "tableFrom": "resumes",
+ "tableTo": "students",
+ "columnsFrom": [
+ "studentId"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.students": {
+ "name": "students",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "email": {
+ "name": "email",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "rollNumber": {
+ "name": "rollNumber",
+ "type": "varchar(12)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "verified": {
+ "name": "verified",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "markedOut": {
+ "name": "markedOut",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "firstName": {
+ "name": "firstName",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "middleName": {
+ "name": "middleName",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "lastName": {
+ "name": "lastName",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "mothersName": {
+ "name": "mothersName",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "mothersEmail": {
+ "name": "mothersEmail",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "mothersPhone": {
+ "name": "mothersPhone",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "fathersName": {
+ "name": "fathersName",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "fathersEmail": {
+ "name": "fathersEmail",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "fathersPhone": {
+ "name": "fathersPhone",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "gender": {
+ "name": "gender",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "dob": {
+ "name": "dob",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "personalGmail": {
+ "name": "personalGmail",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "phoneNumber": {
+ "name": "phoneNumber",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "address": {
+ "name": "address",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "profilePicture": {
+ "name": "profilePicture",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "degree": {
+ "name": "degree",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "branch": {
+ "name": "branch",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "year": {
+ "name": "year",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "skills": {
+ "name": "skills",
+ "type": "text[]",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "ARRAY[]::text[]"
+ },
+ "linkedin": {
+ "name": "linkedin",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "github": {
+ "name": "github",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ssc": {
+ "name": "ssc",
+ "type": "numeric(4, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "hsc": {
+ "name": "hsc",
+ "type": "numeric(4, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "isDiploma": {
+ "name": "isDiploma",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "createdAt": {
+ "name": "createdAt",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updatedAt": {
+ "name": "updatedAt",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ }
+ },
+ "enums": {},
+ "schemas": {},
+ "sequences": {},
+ "roles": {},
+ "policies": {},
+ "views": {},
+ "_meta": {
+ "columns": {},
+ "schemas": {},
+ "tables": {}
+ }
+}
\ No newline at end of file
diff --git a/packages/db/migrations/meta/_journal.json b/packages/db/migrations/meta/_journal.json
index a2e7095..5c169ca 100644
--- a/packages/db/migrations/meta/_journal.json
+++ b/packages/db/migrations/meta/_journal.json
@@ -57,6 +57,20 @@
"when": 1751727461248,
"tag": "0007_fuzzy_zuras",
"breakpoints": true
+ },
+ {
+ "idx": 8,
+ "version": "7",
+ "when": 1758548837752,
+ "tag": "0008_public_dreadnoughts",
+ "breakpoints": true
+ },
+ {
+ "idx": 9,
+ "version": "7",
+ "when": 1758549147237,
+ "tag": "0009_wealthy_chronomancer",
+ "breakpoints": true
}
]
}
\ No newline at end of file
diff --git a/packages/db/schema.ts b/packages/db/schema.ts
index 19b2c75..805a1c5 100644
--- a/packages/db/schema.ts
+++ b/packages/db/schema.ts
@@ -188,9 +188,8 @@ export const gradeRelations = relations(grades, ({ one }) => ({
export const companies = pgTable('companies', {
id: serial().primaryKey(),
name: text().notNull(),
- email: text().notNull(),
- link: text().notNull(),
- description: text().notNull(),
+ link: text(),
+ description: text(),
// passwordHash: text(),
imageURL: text().notNull(),
createdAt: timestamp().notNull().defaultNow(),