From a0dd6791a38b89b62eb01b6de731791f64a48357 Mon Sep 17 00:00:00 2001 From: "CHIEFSOFT\\ameye" Date: Sun, 21 May 2023 11:21:43 -0400 Subject: [PATCH] family login --- wrenchboard/src/shared_tool/account.cc | 33 ++++++++++++++++++++++---- 1 file changed, 29 insertions(+), 4 deletions(-) diff --git a/wrenchboard/src/shared_tool/account.cc b/wrenchboard/src/shared_tool/account.cc index 3e773977..b015febf 100644 --- a/wrenchboard/src/shared_tool/account.cc +++ b/wrenchboard/src/shared_tool/account.cc @@ -1508,13 +1508,38 @@ long LoginLogger( long member_id, long login_mode){ #define LOGIN_MODE_FAMILY 1105 */ long LoginWrenchBoardFamilyLogin(CVars in, CVars &out); -long LoginWrenchBoardFamilyLogin(CVars in, CVars &out){ -logfmt(logINFO, "********~~~~~~~~ ------LoginWrenchBoardFamilyLogint()"); +long WrenchBoardCreateFamilyAcc(CVars in, CVars &out); + +long WrenchBoardCreateFamilyAcc(CVars in, CVars &out){ - REQ_STRING(in, "username", 5, 49, "(.*)"); - REQ_STRING(in, "pin", 4, 10, "(.*)"); return 0; } +long LoginWrenchBoardFamilyLogin(CVars in, CVars &out){ + long ret = PHP_API_BAD_PARAM; + logfmt(logINFO, "********~~~~~~~~ ------LoginWrenchBoardFamilyLogin()"); + + try { + REQ_STRING(in, "username", 5, 49, "(.*)"); + REQ_STRING(in, "pin", 4, 10, "(.*)"); + const PGresult *res = pgsql_query(" SELECT id AS family_id,* FROM members_family " + " WHERE username='%s' AND pin='%s' ", in["username"].c_str(),in["pin"].c_str()); + if (res != NULL && pgsql_num_rows(res) > 0) { + mapf = pgsql_fetch_assoc(res, 0); + CVars rec; + map_to_cvars(f, rec); + if( rec["family_member_id"]==""){ + logfmt(logINFO, "LoginWrenchBoardFamilyLogin()- Need to Construct Account Now------->"); + WrenchBoardCreateFamilyAcc(rec,out); + } + out = rec; + ret = PHP_LOGIN_OK; + } + out["status"] = "OK"; + } catch (bad_parameter) { + logfmt(logINFO, "ERROR CALL long WrenchFamilyUpdate(CVars in, CVars &out)"); + } +return ret; +} long LoginWrenchBoardAccount(CVars in, CVars &out) { long ret = PHP_API_BAD_PARAM;