diff --git a/wrenchboard/src/shared_tool/account_mngt.cc b/wrenchboard/src/shared_tool/account_mngt.cc index 717e60d7..df65165d 100644 --- a/wrenchboard/src/shared_tool/account_mngt.cc +++ b/wrenchboard/src/shared_tool/account_mngt.cc @@ -14,11 +14,63 @@ #include "payments.h" #include "account.h" + long WrenchAccountUsePrefrence(CVars in, CVars &out){ logfmt(logINFO, "WrenchAccountUsePrefrence()"); + char vname[30]; + long ret = PHP_API_BAD_PARAM; +/* +wrenchboard=> SELECT * FROM use_preferences WHERE status = 1 ORDER BY id ASC; + id | uid | pref | description | lang | added | status +----+--------------------------------------+--------+------------------------------------+------------------+----------------------------+-------- + 1 | 21a60345-c7f3-40aa-b386-97270d9109c6 | PREF01 | Find a task to get a reward. | pref_lang_pref01 | 2023-12-30 16:01:53.451663 | 1 + 2 | 5aa8a116-a9c5-4496-8c2b-3ac2ef51e278 | PREF02 | Organize family goals and rewards. | pref_lang_pref02 | 2023-12-30 16:01:53.460278 | 1 + 3 | 1fe7b874-540d-4f39-b8f8-930541af0115 | PREF03 | Set up tasks I need to do. | pref_lang_pref03 | 2023-12-30 16:01:53.461814 | 1 + 4 | 54a6afcb-264b-4792-89d5-0d55638f375f | PREF04 | Just curiosity about everything. | pref_lang_pref04 | 2023-12-30 16:01:53.463073 | 1 +(4 rows) +*/ + try { + long limit = REQ_LONG(in, "limit", 1, -1); + REQ_LONG(in, "page", 1, -1); + out["total_record"] = "0"; - return 0; + const PGresult *res; + + res = pgsql_query("SELECT * FROM use_preferences WHERE status = 1 ORDER BY id ASC"); + + 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++) { + mapf = pgsql_fetch_assoc(res, i); + if (f.empty()) continue; + CVars rec; + map_to_cvars(f, rec); + + snprintf(vname, sizeof (vname), "uid_%05d", i); + out[vname] = rec["uid"]; + + snprintf(vname, sizeof (vname), "pref_%05d", i); + out[vname] = rec["pref"]; + + snprintf(vname, sizeof (vname), "description_%05d", i); + out[vname] = rec["description"]; + + snprintf(vname, sizeof (vname), "lang_%05d", i); + out[vname] = rec["lang"]; + + snprintf(vname, sizeof (vname), "added_%05d", i); + out[vname] = rec["added"]; + } + } + ret = PHP_API_OK; + out["status"] = "OK"; + } catch (bad_parameter) { + logfmt(logINFO, "ERROR CALL long WrenchAccountUsePrefrence(CVars in, CVars &out)"); + } + logfmt(logINFO, "/WrenchAccountUsePrefrence()"); +return ret; } @@ -76,8 +128,6 @@ wrenchboard=> SELECT * FROM help_items WHERE status=1 ORDER BY lorder ASC; logfmt(logINFO, "ERROR CALL long WrenchReturnHelpItems(CVars in, CVars &out)"); } logfmt(logINFO, "/WrenchReturnHelpItems()"); - return ret; - return ret; }