Issue Title: Implement Job Management Functionality
Issue Description:
As a client, I want to manage my job listings effectively so that I can view, update, or delete my jobs as needed. This functionality should provide endpoints for clients to interact with their job postings.
Tasks:
-
Get All Jobs:
- Create an endpoint in the JobController to retrieve all job listings posted by the authenticated client.
- Implement pagination to limit the number of jobs returned in a single request.
-
Get Specific Job by ID:
- Create an endpoint to fetch details of a specific job posted by the authenticated client using its job ID.
-
Update Job:
- Create an endpoint to allow clients to update the details of their job postings.
- Ensure that only the client who created the job can update it.
-
Delete Job:
- Create an endpoint to allow clients to delete their job postings.
- Implement checks to ensure that only the client who created the job can delete it.
Acceptance Criteria:
-
Get All Jobs:
-
Get Specific Job by ID:
-
Update Job:
-
Delete Job:
Endpoint Specifications:
-
Get All Jobs:
-
Get Specific Job by ID:
- Method:
GET
- URL:
/jobs/{jobId}
-
Update Job:
- Method:
PUT
- URL:
/jobs/{jobId}
- Request Body Example:
{
"title": "Updated Job Title",
"description": "Updated job description.",
"budget": 600.00,
"job_type": "Hourly"
}
-
Delete Job:
- Method:
DELETE
- URL:
/jobs/{jobId}
Issue Title: Implement Job Management Functionality
Issue Description:
As a client, I want to manage my job listings effectively so that I can view, update, or delete my jobs as needed. This functionality should provide endpoints for clients to interact with their job postings.
Tasks:
Get All Jobs:
Get Specific Job by ID:
Update Job:
Delete Job:
Acceptance Criteria:
Get All Jobs:
GETrequest to/jobsto retrieve their job listings.Get Specific Job by ID:
GETrequest to/jobs/{jobId}to retrieve a specific job.Update Job:
PUTrequest to/jobs/{jobId}to update their job details.Delete Job:
DELETErequest to/jobs/{jobId}to delete their job postings.Endpoint Specifications:
Get All Jobs:
GET/jobsGet Specific Job by ID:
GET/jobs/{jobId}Update Job:
PUT/jobs/{jobId}{ "title": "Updated Job Title", "description": "Updated job description.", "budget": 600.00, "job_type": "Hourly" }Delete Job:
DELETE/jobs/{jobId}