Job manage
This commit is contained in:
@@ -1126,16 +1126,16 @@ long WrenchDeleteJobs(CVars in, CVars &out) {
|
||||
long ret = PHP_API_BAD_PARAM;
|
||||
long member_id = REQ_LONG(in, "member_id", 1, -1);
|
||||
long job_id = REQ_LONG(in, "job_id", 1, -1);
|
||||
REQ_STRING(in, "job_uid", 15, 149, "(.*)");
|
||||
|
||||
const PGresult *res = pgsql_query("SELECT *,id AS job_id FROM members_jobs WHERE id = %lu AND member_id = %lu ", job_id, member_id);
|
||||
const PGresult *res = pgsql_query("SELECT *,id AS job_id FROM members_jobs WHERE id = %lu AND member_id = %lu AND uid='%s'", job_id, member_id,in["job_uid"].c_str());
|
||||
if (res != NULL && pgsql_num_rows(res) > 0) {
|
||||
pgsql_exec("UPDATE members_jobs SET status = 0 WHERE status = 1 AND id = %lu AND member_id = %lu ", job_id, member_id);
|
||||
pgsql_exec("UPDATE members_jobs SET status = 0 WHERE status = 1 AND id = %lu AND member_id = %lu AND uid='%s'", job_id, member_id,in["job_uid"].c_str());
|
||||
ret = PHP_CREATED_OK;
|
||||
out["status"] = "Job/Task Deleted";
|
||||
} else {
|
||||
out["status"] = "Valid Job/Task Not Found";
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -1148,6 +1148,7 @@ long WrenchCreateJobs(CVars in, CVars &out) {
|
||||
REQ_LONG(in, "price", 1, -1);
|
||||
REQ_LONG(in, "timeline_days", 1, -1);
|
||||
REQ_STRING(in, "title", 5, 149, "(.*)");
|
||||
REQ_STRING(in, "country", 2, 3, "(.*)");
|
||||
REQ_STRING(in, "description", 5, 299, "(.*)");
|
||||
REQ_STRING (in, "job_detail", 4, 1440, "(.*)");
|
||||
const char * loc = getenv("REMOTE_ADDR");
|
||||
@@ -1195,25 +1196,58 @@ long WrenchCreateJobs(CVars in, CVars &out) {
|
||||
}
|
||||
|
||||
long WrenchEditJobs(CVars in, CVars &out) {
|
||||
long ret = PHP_API_BAD_PARAM;
|
||||
logfmt(logINFO, "WrenchEditJobs()");
|
||||
REQ_STRING(in, "username", 5, 49, "(.*)");
|
||||
REQ_STRING(in, "password", 5, 49, "(.*)");
|
||||
REQ_STRING(in, "sessionid", 4, 40, "(.*)");
|
||||
OPTIONAL(in, "loc") REQ_STRING(in, "loc", 3, 15, "(.*)");
|
||||
|
||||
const char * loc = getenv("REMOTE_ADDR");
|
||||
in["loc"] = loc;
|
||||
in["loc"].set_valid(true);
|
||||
long ret = PHP_API_BAD_PARAM;
|
||||
ULONG job_id = 0;
|
||||
|
||||
ret = load_db_record(out, "SELECT *,id AS member_id FROM members WHERE status=1 AND LOWER(username)=LOWER('%s') AND password= md5('%s')", in["username"].c_str(), in["password"].c_str());
|
||||
if (ret) {
|
||||
long member_id = REQ_LONG(in, "member_id", 1, -1);
|
||||
long job_id = REQ_LONG(in, "job_id", 1, -1);
|
||||
REQ_STRING(in, "job_uid", 15, 149, "(.*)");
|
||||
REQ_LONG(in, "timeline_days", 1, -1);
|
||||
REQ_STRING(in, "title", 5, 149, "(.*)");
|
||||
REQ_STRING(in, "description", 5, 299, "(.*)");
|
||||
REQ_STRING (in, "job_detail", 4, 1440, "(.*)");
|
||||
const char * loc = getenv("REMOTE_ADDR");
|
||||
in["loc"] = loc;
|
||||
in["loc"].set_valid(true);
|
||||
|
||||
} else {
|
||||
out["status"] = "Invalid username and/or password";
|
||||
}
|
||||
if (in["price"].Long()<=0){
|
||||
out["status"] = "Unable to update job, price cannot be zero";
|
||||
return ret;
|
||||
}
|
||||
|
||||
const PGresult *res = pgsql_query("SELECT *,id AS job_id FROM members_jobs WHERE id = %lu AND member_id = %lu AND uid='%s'", job_id, member_id,in["job_uid"].c_str());
|
||||
if (res != NULL && pgsql_num_rows(res) > 0) {
|
||||
// good to continue
|
||||
} else {
|
||||
out["status"] = "Valid Job/Task Not Found";
|
||||
}
|
||||
|
||||
|
||||
CVars x;
|
||||
x["title"] = in["title"];
|
||||
x["title"].set_valid(true);
|
||||
x["price"] = in["price"];
|
||||
x["price"].set_valid(true);
|
||||
x["timeline_days"] = in["timeline_days"];
|
||||
x["timeline_days"].set_valid(true);
|
||||
x["description"] = in["description"];
|
||||
x["description"].set_valid(true);
|
||||
x["loc"] = in["loc"];
|
||||
x["loc"].set_valid(true);
|
||||
x["job_detail"] = in["job_detail"];
|
||||
x["job_detail"].set_valid(true);
|
||||
job_id = insert_db_record(DBS_VALID, "members_jobs", "members_jobs_id_seq", x);
|
||||
|
||||
if (job_id) {
|
||||
if ( update_db_record(DBS_VALID, "members_jobs", x, job_id) ){
|
||||
load_db_record(out, "SELECT *,id AS job_id FROM members_jobs WHERE id = %lu ", job_id);
|
||||
ret = PHP_CREATED_OK;
|
||||
}
|
||||
} else {
|
||||
out["status"] = "Unable to create job";
|
||||
}
|
||||
logfmt(logINFO, "/WrenchEditJobs()");
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -78,6 +78,7 @@ $routes->post('/en/wrench/api/v1/jobmanagerlist', 'WrenchApi::apigate')
|
||||
$routes->post('/en/wrench/api/v1/jobmanageroffers', 'WrenchApi::apigate');
|
||||
$routes->post('/en/wrench/api/v1/jobmanagercreatejob', 'WrenchApi::apigate');
|
||||
$routes->post('/en/wrench/api/v1/jobmanagerupdatejob', 'WrenchApi::apigate');
|
||||
$routes->post('/en/wrench/api/v1/jobmanagerdeletejob', 'WrenchApi::apigate');
|
||||
|
||||
|
||||
$routes->post('/en/wrench/api/v1/familylist', 'WrenchApi::apigate');
|
||||
|
||||
@@ -84,6 +84,7 @@ class WrenchApi extends BaseController
|
||||
'jobmanageroffers'=> ['POST'],
|
||||
'jobmanagercreatejob'=> ['POST'],
|
||||
'jobmanagerupdatejob'=> ['POST'],
|
||||
'jobmanagerdeletejob'=> ['POST'],
|
||||
'profilepasschange' => ['POST'],
|
||||
'starttopup' => ['POST'],
|
||||
'familylist' => ['POST'],
|
||||
@@ -119,6 +120,9 @@ class WrenchApi extends BaseController
|
||||
$in["action"] = WRENCHBOARD_JOB_CREATEJOB;
|
||||
$in["job_mode"] = UPDATE_JOB;
|
||||
break;
|
||||
case 'jobmanagerdeletejob':
|
||||
$in["action"] = WRENCHBOARD_JOB_DELETEJOB;
|
||||
break;
|
||||
case 'jobmanageroffers':
|
||||
$in["action"] = WRENCHBOARD_JOB_OFFERS;
|
||||
break;
|
||||
|
||||
@@ -63,6 +63,7 @@ $endpoints = array(
|
||||
'jobmanageroffers'=> array('POST'),
|
||||
'jobmanagercreatejob'=> array('POST'),
|
||||
'jobmanagerupdatejob'=> array('POST'),
|
||||
'jobmanagerdeletejob'=> array('POST'),
|
||||
'profilepasschange' => array('POST'),
|
||||
'starttopup' => array('POST'),
|
||||
'familylist' => array('POST'),
|
||||
@@ -154,6 +155,9 @@ switch ($endpoint) {
|
||||
$in["action"] = WRENCHBOARD_JOB_CREATEJOB;
|
||||
$in["job_mode"] = UPDATE_JOB;
|
||||
break;
|
||||
case 'jobmanagerdeletejob':
|
||||
$in["action"] = WRENCHBOARD_JOB_DELETEJOB;
|
||||
break;
|
||||
case 'jobmanageroffers':
|
||||
$in["action"] = WRENCHBOARD_JOB_OFFERS;
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user