@@ -35,11 +35,11 @@ interface JobApplication {
3535
3636export async function createJobListing ( jobData : JobListing ) {
3737 const supabase = await createClientServerComponent ( ) ;
38-
38+
3939 try {
4040 // Get current user
4141 const { data : { user } } = await supabase . auth . getUser ( ) ;
42-
42+
4343 if ( ! user ) {
4444 return { success : false , error : "Unauthorized" } ;
4545 }
@@ -61,7 +61,7 @@ export async function createJobListing(jobData: JobListing) {
6161
6262 revalidatePath ( "/home/hire" ) ;
6363 revalidatePath ( "/careers" ) ;
64-
64+
6565 return { success : true , data } ;
6666 } catch ( error ) {
6767 console . error ( "Error in createJobListing:" , error ) ;
@@ -71,7 +71,7 @@ export async function createJobListing(jobData: JobListing) {
7171
7272export async function updateJobListing ( id : string , jobData : Partial < JobListing > ) {
7373 const supabase = await createClientServerComponent ( ) ;
74-
74+
7575 try {
7676 const { data, error } = await supabase
7777 . from ( "job_listings" )
@@ -90,7 +90,7 @@ export async function updateJobListing(id: string, jobData: Partial<JobListing>)
9090
9191 revalidatePath ( "/home/hire" ) ;
9292 revalidatePath ( "/careers" ) ;
93-
93+
9494 return { success : true , data } ;
9595 } catch ( error ) {
9696 console . error ( "Error in updateJobListing:" , error ) ;
@@ -100,7 +100,7 @@ export async function updateJobListing(id: string, jobData: Partial<JobListing>)
100100
101101export async function deleteJobListing ( id : string ) {
102102 const supabase = await createClientServerComponent ( ) ;
103-
103+
104104 try {
105105 const { error } = await supabase
106106 . from ( "job_listings" )
@@ -114,7 +114,7 @@ export async function deleteJobListing(id: string) {
114114
115115 revalidatePath ( "/home/hire" ) ;
116116 revalidatePath ( "/careers" ) ;
117-
117+
118118 return { success : true } ;
119119 } catch ( error ) {
120120 console . error ( "Error in deleteJobListing:" , error ) ;
@@ -124,7 +124,7 @@ export async function deleteJobListing(id: string) {
124124
125125export async function getJobListings ( status : 'active' | 'closed' | 'draft' = 'active' ) {
126126 const supabase = await createClientServerComponent ( ) ;
127-
127+
128128 try {
129129 const { data, error } = await supabase
130130 . from ( "job_listings" )
@@ -149,7 +149,7 @@ export async function getJobListings(status: 'active' | 'closed' | 'draft' = 'ac
149149
150150export async function getJobApplications ( jobId : string ) {
151151 const supabase = await createClientServerComponent ( ) ;
152-
152+
153153 try {
154154 const { data, error } = await supabase
155155 . from ( "job_applications" )
@@ -169,9 +169,34 @@ export async function getJobApplications(jobId: string) {
169169 }
170170}
171171
172+
173+ export async function deleteJobApplication ( applicationId : string , jobId : string ) {
174+ const supabase = await createClientServerComponent ( ) ;
175+ try {
176+
177+ const { data, error } = await supabase
178+ . from ( "job_applications" )
179+ . delete ( )
180+ . eq ( "id" , applicationId ) ;
181+
182+ if ( error ) {
183+ console . error ( "Error deleting job application:" , error ) ;
184+ return { success : false , error : error . message } ;
185+ }
186+
187+ revalidatePath ( `/home/hire/applications/${ jobId } ` ) ;
188+ return { success : true } ;
189+ } catch ( error ) {
190+ console . error ( "Error in deleteJobApplication:" , error ) ;
191+ return { success : false , error : "An unexpected error occurred" } ;
192+ }
193+ }
194+
195+
196+
172197export async function submitJobApplication ( applicationData : JobApplication ) {
173198 const supabase = await createClientServerComponent ( ) ;
174-
199+
175200 try {
176201 const { data, error } = await supabase
177202 . from ( "job_applications" )
@@ -185,7 +210,7 @@ export async function submitJobApplication(applicationData: JobApplication) {
185210 }
186211
187212 revalidatePath ( `/home/hire/applications/${ applicationData . job_id } ` ) ;
188-
213+
189214 return { success : true , data } ;
190215 } catch ( error ) {
191216 console . error ( "Error in submitJobApplication:" , error ) ;
@@ -194,14 +219,14 @@ export async function submitJobApplication(applicationData: JobApplication) {
194219}
195220
196221export async function updateApplicationStatus (
197- applicationId : string ,
222+ applicationId : string ,
198223 status : 'pending' | 'reviewing' | 'shortlisted' | 'rejected' | 'hired'
199224) {
200225 const supabase = await createClientServerComponent ( ) ;
201-
226+
202227 try {
203228 const { data : { user } } = await supabase . auth . getUser ( ) ;
204-
229+
205230 if ( ! user ) {
206231 return { success : false , error : "Unauthorized" } ;
207232 }
@@ -224,7 +249,7 @@ export async function updateApplicationStatus(
224249 }
225250
226251 revalidatePath ( "/home/hire" ) ;
227-
252+
228253 return { success : true , data } ;
229254 } catch ( error ) {
230255 console . error ( "Error in updateApplicationStatus:" , error ) ;
0 commit comments