diff --git a/BlueFireDB.sql b/BlueFireDB.sql new file mode 100644 index 0000000..dea7063 --- /dev/null +++ b/BlueFireDB.sql @@ -0,0 +1,333 @@ +CREATE DATABASE BLUEFIREDATABASE +USE BLUEFIREDATABASE + +--------------------------------------------------------------------------------------------------- +--LOGIN + +--SELECT * FROM [Admin] +--WHERE AdminName = 'Budi' AND [Admin].Password = 'budi321' + +--SELECT * FROM [User] +--WHERE UserName='Budi' AND [User].Password='budi321' + +--data.UserName == $('[name="username"]').val() AND data.UserPassword == $('[name="password"]').val() +--location.href('') + + +--Reset Identity + +-- DBCC CHECKIDENT ('Emp', RESEED, 1) + + +---------------------------------------------------------------------------------------------------- + + +CREATE TABLE [Admin]( + AdminID INT PRIMARY KEY IDENTITY(1,1) NOT NULL, + AdminName VARCHAR(MAX), + AdminPassword VARCHAR(MAX) +) +INSERT INTO [Admin] VALUES ('admin', 'admin123'); +INSERT INTO [Admin] VALUES ('adminHero', 'admin321'); +GO +CREATE TABLE [User]( + UserID INT PRIMARY KEY IDENTITY(1,1) NOT NULL, + [Password] VARCHAR(MAX), + UserName VARCHAR(MAX), + DOB VARCHAR(MAX), + Gender VARCHAR(MAX), + [Address] VARCHAR(MAX), + Phone VARCHAR(MAX), + Email VARCHAR(MAX) +) +--DBCC CHECKIDENT ('[User]', RESEED, 0) + +INSERT INTO [User] VALUES('kevin123','Kevin','11/11/2000','Male','SS Street','082211323456','Kevin@gmail.com') +INSERT INTO [User] VALUES('budi321','Budi','08/12/2001','Male','M Street','082211234533','Budi@gmail.com') +INSERT INTO [User] VALUES('Julia111','Julia','3/1/1999','Female','K Street','089098123849','Julia@gmail.com') +GO +CREATE TABLE Country( + CountryID INT IDENTITY(1,1) PRIMARY KEY NOT NULL, + CountryName VARCHAR (MAX) +) + + +INSERT INTO Country VALUES('Indonesia') +INSERT INTO Country VALUES('Singapore') +INSERT INTO Country VALUES('India') +GO +CREATE TABLE City( + CityID INT IDENTITY (1,1) PRIMARY KEY NOT NULL, + CountryID INT FOREIGN KEY REFERENCES Country(CountryID), + CityName VARCHAR (MAX), + AddressDetail VARCHAR(MAX) +) +INSERT INTO City VALUES(1,'Jakarta','Jakarta Selatan') +INSERT INTO City VALUES(1,'Jakarta','Jakarta Selatan') +INSERT INTO City VALUES(2,'Singapore','Singapore') +INSERT INTO City VALUES(3,'Bengaluru','Bengaluru') +GO +CREATE TABLE Job( + JobID INT PRIMARY KEY IDENTITY(1,1) NOT NULL, + JobName VARCHAR(MAX), + CityID INT FOREIGN KEY REFERENCES city(cityId), + JobLevel VARCHAR(MAX), + Deadline VARCHAR (MAX), + JobDescription VARCHAR(MAX), +) +INSERT INTO Job VALUES('IT Infrastructure',1,'Easy','12/12/2012','need computer knowledge') +INSERT INTO Job VALUES('Trust and Safety Associate',2,'Medium','12/01/2013','cyber knowledge') +INSERT INTO Job VALUES('HR System Analyst',1,'Medium','8/1/2012','Communication knowledge') +GO +CREATE TABLE UserBookmark( + BookmarkID INT PRIMARY KEY IDENTITY(1,1) NOT NULL, + UserID INT FOREIGN KEY REFERENCES [User](userId) ON UPDATE CASCADE ON DELETE CASCADE, + JobID INT FOREIGN KEY REFERENCES Job(jobId) ON UPDATE CASCADE ON DELETE CASCADE +) +INSERT INTO UserBookmark VALUES(1,1) +INSERT INTO UserBookmark VALUES(1,2) +INSERT INTO UserBookmark VALUES(2,2) +INSERT INTO UserBookmark VALUES(2,3) +INSERT INTO UserBookmark VALUES(3,3) +GO +CREATE TABLE ApplicationEntry( + EntryID INT PRIMARY KEY IDENTITY(1,1) NOT NULL, + UserID INT FOREIGN KEY REFERENCES [User](userId) ON UPDATE CASCADE ON DELETE CASCADE, + JobID INT FOREIGN KEY REFERENCES Job(jobId) ON UPDATE CASCADE ON DELETE CASCADE, + Email VARCHAR(MAX), + PrevCompanyName VARCHAR(MAX), + PrevPosition VARCHAR(MAX), + UniversityName VARCHAR(MAX), + CvLink VARCHAR(MAX), + PortofolioLink VARCHAR(MAX), + StatusEntry VARCHAR(MAX) +) +INSERT INTO ApplicationEntry VALUES(1,1,'K@k.com','Grab','Enterprise Security Lead','ITS','www.cvUser1.com','www.portUser1.com','pending') +INSERT INTO ApplicationEntry VALUES(2,2,'B@b.coms','Uber','Head of Data Science','Sunib','www.cvUser2.com','www.portUser2.com','pending') +GO +--------------------------- +SELECT*FROM [Admin] +SELECT*FROM [User] +SELECT*FROM Country +SELECT*FROM City +SELECT*FROM Job +SELECT*FROM UserBookmark +SELECT*FROM ApplicationEntry +GO +---------------------------------- +--Done +CREATE PROC sp_getAllCity +AS +BEGIN + SELECT * FROM City +END +GO +--Done +CREATE PROC sp_insertAdmin + @password VARCHAR(MAX), + @name VARCHAR(MAX) +AS +BEGIN +INSERT INTO [Admin] +VALUES (@name,@password) +END +GO +--Done +CREATE PROC sp_insertUser + @password VARCHAR(MAX), + @name VARCHAR(MAX), + @DOB VARCHAR(MAX), + @gender VARCHAR(MAX), + @address VARCHAR(MAX), + @phone VARCHAR(MAX), + @email VARCHAR(MAX) +AS +BEGIN +INSERT INTO [User] VALUES (@password, @name, @DOB, @gender, @address, @phone, @email) +END +GO +--Done +CREATE PROC sp_loginUser + @name VARCHAR(MAX) +AS +BEGIN + SELECT * FROM [User] + WHERE ([User].UserName=@name) +END +--Done +GO +CREATE PROC sp_loginAdmin + @name VARCHAR(MAX) +AS +BEGIN + SELECT * FROM [Admin] + WHERE ([Admin].AdminName=@name) +END + +---Done +GO +CREATE PROC sp_insertJob + @name VARCHAR(MAX), + @cityId INT, + @jobLevel VARCHAR(MAX), + @deadline VARCHAR (MAX), + @description VARCHAR(MAX) +AS +BEGIN +INSERT INTO Job +VALUES(@name, @cityId, @jobLevel, @deadline, @description) +END +GO +--Done +CREATE PROC sp_deleteJob + @jobId INT +AS +BEGIN +DELETE FROM Job +WHERE JobID = @jobId +END +GO +--Done Without real ID +CREATE PROC sp_insertBookmark + @userId INT, + @jobId INT +AS +BEGIN +INSERT INTO UserBookmark +VALUES(@userId, @jobId) +END +----------------------------------------- +GO +--Done Without real ID +CREATE PROC sp_getBookmark + @userId INT +AS +BEGIN +SELECT ub.BookmarkID,j.JobID,JobName,CountryName,CityName, COUNT (EntryID) AS ApplicantCount, (CASE WHEN CONVERT(DATE,Deadline) > GETDATE() THEN 1 ELSE 0 END ) As IsOpen FROM Job j +JOIN UserBookmark ub +ON j.jobId = ub.jobId +LEFT JOIN ApplicationEntry ae +ON ae.JobID=j.JobID +JOIN City ci +ON ci.CityID = j.CityID +JOIN Country co +ON ci.CountryID = co.CountryID +WHERE ub.userId = @userId + +GROUP BY ub.BookmarkID,j.JobID,JobName,CountryName,CityName,Deadline +END +GO +--Done +CREATE PROC sp_deleteBookmark +@bookmarkID INT +AS +BEGIN + DELETE FROM UserBookmark WHERE BookmarkID = @bookmarkID +END +GO +--DONE Without real Id +CREATE PROC sp_insertEntry + @userId INT, + @jobId INT, + @email VARCHAR(MAX), + @prevCompanyName VARCHAR(MAX), + @prevPosition VARCHAR(MAX), + @universityName VARCHAR(MAX), + @cvLink VARCHAR(MAX), + @portofolioLink VARCHAR(MAX) +AS +BEGIN +INSERT INTO ApplicationEntry VALUES(@userId, @jobId, @email, @prevCompanyName, @prevPosition, @universityName, @cvLink, @portofolioLink, 'pending') + +END +GO +--DONE +CREATE PROC sp_getAllCountry +AS +BEGIN +SELECT * +FROM Country +END +GO +--DONE +CREATE PROC sp_getAllJob +AS +BEGIN +SELECT * FROM Job +END +GO +--Done +CREATE PROC sp_denyApplicationEntry +@applicationID INT +AS +BEGIN + UPDATE ApplicationEntry SET StatusEntry='Denied' + WHERE EntryID = @applicationID +END +GO +--Done +CREATE PROC sp_getJob +@jobId INT +AS +BEGIN + SELECT j.JobID,JobName,co.CountryID,CountryName,ci.CityID,CityName,AddressDetail, Deadline,JobLevel,JobDescription, COUNT (EntryID) AS ApplicantCount + FROM [Job] j + LEFT JOIN ApplicationEntry ae + ON ae.JobID=j.JobID + JOIN City ci + ON ci.CityID = j.CityID + JOIN Country co + ON ci.CountryID = co.CountryID + WHERE j.JobID = @jobID + GROUP BY j.JobID,JobName,co.CountryID,CountryName,ci.CityID,CityName,Deadline,JobLevel,JobDescription,AddressDetail +END +GO +CREATE PROC sp_hiredApplicationEntry +@applicationID INT +AS +BEGIN + UPDATE ApplicationEntry SET StatusEntry='Accepted' + WHERE EntryID = @applicationID +END +GO +--done without real ID +CREATE PROC sp_getAllEntry +-- @userid INT +AS +BEGIN + SELECT * FROM ApplicationEntry ae + JOIN [User] u + ON ae.UserID=u.UserID +-- WHERE UserID = @userID +END +---------------------------------------- +GO +--Done +CREATE PROC sp_getListJob +AS +BEGIN +SELECT j.JobID,JobName,co.CountryID,CountryName,ci.CityID, CityName, COUNT (EntryID) AS ApplicantCount, (CASE WHEN CONVERT(DATE,Deadline) > GETDATE() THEN 1 ELSE 0 END ) As IsOpen +FROM Job j +LEFT JOIN ApplicationEntry ae +ON ae.JobID=j.JobID +JOIN City ci +ON ci.CityID = j.CityID +JOIN Country co +ON ci.CountryID = co.CountryID +GROUP BY j.JobID,JobName,co.CountryID,CountryName,ci.CityID,CityName,Deadline +END +GO +--Done +CREATE PROC sp_updateJob + @jobId INT, + @name VARCHAR(MAX), + @cityId INT, + @jobLevel VARCHAR(MAX), + @deadline VARCHAR (MAX), + @description VARCHAR(MAX) +AS +BEGIN + UPDATE Job SET JobName=@name,CityID=@cityId,JobLevel=@jobLevel,Deadline=@deadline,JobDescription=@description + WHERE JobID=@jobId +END +GO \ No newline at end of file