Backend Service
This commit is contained in:
@@ -62,6 +62,13 @@ enum {
|
|||||||
#define MEDTRANS_UPLOADS 4505
|
#define MEDTRANS_UPLOADS 4505
|
||||||
#define MEDTRANS_DOWNLOAD 4506
|
#define MEDTRANS_DOWNLOAD 4506
|
||||||
|
|
||||||
|
// MERMS-GENERAL
|
||||||
|
#define USER_CREATETASK 2200
|
||||||
|
#define USER_LOADTASK 5500
|
||||||
|
|
||||||
|
#define MODE_SETVALUE 1001
|
||||||
|
#define MODE_GETVALUE 2002
|
||||||
|
|
||||||
// USERS
|
// USERS
|
||||||
#define MERMS_USER_START 120000
|
#define MERMS_USER_START 120000
|
||||||
// //--
|
// //--
|
||||||
|
|||||||
@@ -133,7 +133,7 @@ long MemberSessionCheck(long uid, const char *sessionid, int create) {
|
|||||||
|
|
||||||
long CreateMember(CVars in, CVars &out) {
|
long CreateMember(CVars in, CVars &out) {
|
||||||
long ret = PHP_API_BAD_PARAM;
|
long ret = PHP_API_BAD_PARAM;
|
||||||
logfmt(logINFO, "medTrCreateMember()");
|
logfmt(logINFO, "CreateMember()");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
|
||||||
@@ -233,17 +233,48 @@ long CreateMember(CVars in, CVars &out) {
|
|||||||
// ==============
|
// ==============
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}catch (bad_parameter) {
|
||||||
|
logfmt(logINFO, "ERROR CALL CreateMember");
|
||||||
}catch (bad_parameter) {
|
}
|
||||||
logfmt(logINFO, "ERROR CALL medTrCreateMember");
|
logfmt(logINFO, "/CreateMember()");
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
long getMemberProfile(CVars in, CVars &out);
|
||||||
|
long MemberProfile(CVars in, CVars &out){
|
||||||
|
|
||||||
|
|
||||||
|
try{
|
||||||
|
long task_mode = REQ_LONG(in, "task_mode", 0, -1);
|
||||||
|
REQ_LONG(in, "member_id", 0, -1);
|
||||||
|
switch (task_mode) {
|
||||||
|
case MODE_SETVALUE:
|
||||||
|
return medTrUpdateProfile(in, out);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case MODE_GETVALUE:
|
||||||
|
return getMemberProfile(in, out);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}catch (bad_parameter) {
|
||||||
|
logfmt(logINFO, "ERROR CALL CreateMember");
|
||||||
|
}
|
||||||
|
logfmt(logINFO, "/MemberReminders()");
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
long getMemberProfile(CVars in, CVars &out) {
|
||||||
|
|
||||||
|
|
||||||
|
long ret = load_db_record(out, "SELECT UPPER( md5( now()::text) ) AS sessionid,m.*,mp.*,m.id AS member_id,mp.id AS member_profile_id FROM members m \
|
||||||
|
LEFT JOIN members_profile mp ON mp.member_id = m.id \
|
||||||
|
WHERE m.id = %lu", in["member_id"].Long());
|
||||||
|
|
||||||
|
// We need to have the session back
|
||||||
|
load_db_record(out, "SELECT * FROM members_session WHERE member_id = %lu ORDER BY id DESC limit 1", in["member_id"].Long());
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
logfmt(logINFO, "/medTrCreateMember()");
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -319,6 +350,154 @@ long medTrUpdateProfile(CVars in, CVars &out) {
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
"sessionid" => $sessionid,
|
||||||
|
"practice_id" => 0,
|
||||||
|
"encounter_id"=> 0,
|
||||||
|
"member_id" => "1",
|
||||||
|
"description"=> $description,
|
||||||
|
"repeat" => $repeat,
|
||||||
|
"start_date" => $start_date,
|
||||||
|
"end_date" => $end_date,
|
||||||
|
"reminder" => rand(0,3)
|
||||||
|
*/
|
||||||
|
|
||||||
|
long setMemberReminders(CVars in, CVars &out);
|
||||||
|
long getMemberReminders(CVars in, CVars &out);
|
||||||
|
long MemberReminders(CVars in, CVars &out)
|
||||||
|
{
|
||||||
|
try{
|
||||||
|
long task_mode = REQ_LONG(in, "task_mode", 0, -1);
|
||||||
|
switch (task_mode) {
|
||||||
|
case USER_CREATETASK:
|
||||||
|
return setMemberReminders(in, out);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case USER_LOADTASK:
|
||||||
|
return getMemberReminders(in, out);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}catch (bad_parameter) {
|
||||||
|
logfmt(logINFO, "ERROR CALL CreateMember");
|
||||||
|
}
|
||||||
|
logfmt(logINFO, "/MemberReminders()");
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
long setMemberReminders(CVars in, CVars &out) {
|
||||||
|
long ret = PHP_API_BAD_PARAM;
|
||||||
|
logfmt(logINFO, "CreateMember()");
|
||||||
|
|
||||||
|
try {
|
||||||
|
|
||||||
|
REQ_LONG(in, "member_id", 0, -1);
|
||||||
|
REQ_LONG(in, "practice_id", 0, -1);
|
||||||
|
REQ_LONG(in, "encounter_id", 0, -1);
|
||||||
|
REQ_STRING(in, "description", 5, 99, "(.*)");
|
||||||
|
REQ_LONG(in, "repeat", 0, -1);
|
||||||
|
REQ_STRING(in, "start_date", 2, 15, "(.*)");
|
||||||
|
REQ_STRING(in, "end_date", 2, 15, "(.*)");
|
||||||
|
REQ_LONG(in, "reminder", 0, -1);
|
||||||
|
//REQ_STRING (in, "sessionid", 4, 40, "(.*)");
|
||||||
|
const char * loc = getenv("REMOTE_ADDR");
|
||||||
|
|
||||||
|
ret = load_db_record(out, "SELECT *,id AS member_id FROM members WHERE id=%lu ", in["member_id"].Long());
|
||||||
|
if (ret > 0) {
|
||||||
|
// LETS CREATE REMINDER
|
||||||
|
CVars x;
|
||||||
|
|
||||||
|
x["member_id"] = in["member_id"];
|
||||||
|
x["member_id"].set_valid(true);
|
||||||
|
x["practice_id"] = in["practice_id"];
|
||||||
|
x["practice_id"].set_valid(true);
|
||||||
|
x["encounter_id"] = in["encounter_id"];
|
||||||
|
x["encounter_id"].set_valid(true);
|
||||||
|
x["description"] = in["description"];
|
||||||
|
x["description"].set_valid(true);
|
||||||
|
x["loc"] = in["loc"];
|
||||||
|
x["loc"].set_valid(true);
|
||||||
|
x["repeat"] = in["repeat"];
|
||||||
|
x["repeat"].set_valid(true);
|
||||||
|
x["reminder"] = in["reminder"];
|
||||||
|
x["reminder"].set_valid(true);
|
||||||
|
|
||||||
|
x["start_date"] = in["start_date"];
|
||||||
|
x["start_date"].set_valid(true);
|
||||||
|
|
||||||
|
x["end_date"] = in["end_date"];
|
||||||
|
x["end_date"].set_valid(true);
|
||||||
|
|
||||||
|
out["member_reminder_id"] = insert_db_record(DBS_VALID, "members_reminders", "members_reminders_id_seq", x);
|
||||||
|
if (out["member_reminder_id"].Long() > 0) {
|
||||||
|
//---emailbad member_email_calls(MERMS_USER_CREATEACCOUNT, out, out);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}catch (bad_parameter) {
|
||||||
|
logfmt(logINFO, "ERROR CALL CreateMember");
|
||||||
|
}
|
||||||
|
logfmt(logINFO, "/CreateMember()");
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
"sessionid" => $sessionid,
|
||||||
|
"practice_id" => 0,
|
||||||
|
"encounter_id"=> 0,
|
||||||
|
"member_id" => "1",
|
||||||
|
"description"=> $description,
|
||||||
|
"repeat" => $repeat,
|
||||||
|
"start_date" => $start_date,
|
||||||
|
"end_date" => $end_date,
|
||||||
|
"reminder" => rand(0,3)
|
||||||
|
status = 1
|
||||||
|
*/
|
||||||
|
|
||||||
|
long getMemberReminders(CVars in, CVars &out) {
|
||||||
|
long ret = PHP_API_BAD_PARAM;
|
||||||
|
char vname[20];
|
||||||
|
try {
|
||||||
|
// REQ_LONG(in, "status", 0, -1);
|
||||||
|
REQ_LONG( in, "member_id", 0, -1);
|
||||||
|
|
||||||
|
out["total_record"] = "0";
|
||||||
|
|
||||||
|
const PGresult *res = pgsql_query("SELECT * FROM members_reminders WHERE member_id = %lu status = 1 ORDER BY agent_name ASC",in["member_id"].Long());
|
||||||
|
if (res != NULL && pgsql_num_rows(res) > 0) {
|
||||||
|
out["total_record"] = pgsql_num_rows(res);
|
||||||
|
|
||||||
|
for (int i = 0, n = pgsql_num_rows(res); i < n; i++) {
|
||||||
|
map<const char*, const char*>f = pgsql_fetch_assoc(res, i);
|
||||||
|
if (f.empty()) continue;
|
||||||
|
CVars rec;
|
||||||
|
map_to_cvars(f, rec);
|
||||||
|
|
||||||
|
snprintf(vname, sizeof (vname), "description_%05d", i);
|
||||||
|
out[vname] = rec["description"];
|
||||||
|
|
||||||
|
snprintf(vname, sizeof (vname), "repeat_%05d", i);
|
||||||
|
out[vname] = rec["repeat"];
|
||||||
|
|
||||||
|
snprintf(vname, sizeof (vname), "start_date_%05d", i);
|
||||||
|
out[vname] = rec["start_date"];
|
||||||
|
|
||||||
|
snprintf(vname, sizeof (vname), "end_date_%05d", i);
|
||||||
|
out[vname] = rec["end_date"];
|
||||||
|
|
||||||
|
snprintf(vname, sizeof (vname), "reminder_%05d", i);
|
||||||
|
out[vname] = rec["reminder"];
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
ret = PHP_API_OK;
|
||||||
|
out["status"] = "OK";
|
||||||
|
} catch (bad_parameter) {
|
||||||
|
logfmt(logINFO, "ERROR CALL long getMemberReminders(CVars in, CVars &out)");
|
||||||
|
}
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//------------------------------------------------------
|
//------------------------------------------------------
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
General Header
|
General Header
|
||||||
ChiefSoft July 2017
|
ChiefSoft Jan 2019
|
||||||
*/
|
*/
|
||||||
#include "clog.h"
|
#include "clog.h"
|
||||||
#include "cgi.h"
|
#include "cgi.h"
|
||||||
|
|||||||
@@ -23,6 +23,10 @@ Other Headers
|
|||||||
#include "payments.h"
|
#include "payments.h"
|
||||||
|
|
||||||
|
|
||||||
|
long MemberReminders(CVars in, CVars &out);
|
||||||
|
long MemberProfile(CVars in, CVars &out);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
long members_call(CVars in, CVars &out) {
|
long members_call(CVars in, CVars &out) {
|
||||||
logfmt(logINFO, "members_call()");
|
logfmt(logINFO, "members_call()");
|
||||||
@@ -42,8 +46,13 @@ long members_call(CVars in, CVars &out) {
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case MERMS_USER_REMINDERS:
|
case MERMS_USER_REMINDERS:
|
||||||
// return medTrCreateMember(in, out);
|
return MemberReminders(in, out);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case MERMS_USER_LOADPROFILE:
|
||||||
|
case MERMS_USER_UPDATEPROFILE:
|
||||||
|
return MemberProfile(in, out);
|
||||||
|
break;
|
||||||
|
|
||||||
}
|
}
|
||||||
logfmt(logINFO, "/members_call()");
|
logfmt(logINFO, "/members_call()");
|
||||||
|
|||||||
@@ -1,4 +1,11 @@
|
|||||||
<?
|
<?
|
||||||
|
// GENERAL
|
||||||
|
define('USER_CREATETASK', 2200);
|
||||||
|
define('USER_LOADTASK', 5500);
|
||||||
|
|
||||||
|
define('MODE_SETVALUE', 1001);
|
||||||
|
define('MODE_GETVALUE', 2002);
|
||||||
|
|
||||||
// USERS
|
// USERS
|
||||||
define('MERMS_USER_BEFORESESSION', 120001);
|
define('MERMS_USER_BEFORESESSION', 120001);
|
||||||
define('MERMS_USER_CREATEACCOUNT', 120015);
|
define('MERMS_USER_CREATEACCOUNT', 120015);
|
||||||
|
|||||||
@@ -12,7 +12,9 @@ $endpoints = array(
|
|||||||
'login' => array('POST'),
|
'login' => array('POST'),
|
||||||
'userlogin' => array('POST'),
|
'userlogin' => array('POST'),
|
||||||
'getprofile' => array('POST'),
|
'getprofile' => array('POST'),
|
||||||
'userstask' => array('POST')
|
'setprofile' => array('POST'),
|
||||||
|
'userstask' => array('POST'),
|
||||||
|
'createtask' => array('POST')
|
||||||
);
|
);
|
||||||
|
|
||||||
header("Access-Control-Allow-Origin: *");
|
header("Access-Control-Allow-Origin: *");
|
||||||
@@ -52,6 +54,8 @@ if ($_SERVER["REQUEST_METHOD"] == "POST") {
|
|||||||
// $in["action"] = MERMS_USER_CREATEACCOUNT;
|
// $in["action"] = MERMS_USER_CREATEACCOUNT;
|
||||||
$in["loc"] = $_SERVER["REMOTE_ADDR"];
|
$in["loc"] = $_SERVER["REMOTE_ADDR"];
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
switch ($endpoint) {
|
switch ($endpoint) {
|
||||||
case 'userlogin':
|
case 'userlogin':
|
||||||
case 'login':
|
case 'login':
|
||||||
@@ -66,7 +70,23 @@ switch ($endpoint) {
|
|||||||
|
|
||||||
case 'userstask':
|
case 'userstask':
|
||||||
$in["action"] = MERMS_USER_REMINDERS;
|
$in["action"] = MERMS_USER_REMINDERS;
|
||||||
|
$in["task_mode"] = USER_LOADTASK;
|
||||||
|
break;
|
||||||
|
case 'createtask':
|
||||||
|
$in["action"] = MERMS_USER_REMINDERS;
|
||||||
|
$in["task_mode"] = USER_CREATETASK;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 'getprofile':
|
||||||
|
$in["action"] = MERMS_USER_LOADPROFILE;
|
||||||
|
$in["task_mode"] = MODE_GETVALUE;
|
||||||
|
break;
|
||||||
|
case 'setprofile':
|
||||||
|
$in["action"] = MERMS_USER_UPDATEPROFILE;
|
||||||
|
$in["task_mode"] = MODE_SETVALUE;
|
||||||
|
break;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user