MCPcopy Create free account
hub / github.com/VCVRack/Rack / logIn

Function logIn

src/library.cpp:116–152  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

114
115
116void logIn(std::string email, std::string password) {
117 if (!updateMutex.try_lock())
118 return;
119 DEFER({updateMutex.unlock();});
120
121 loginStatus = string::translate("library.loggingIn");
122 json_t* reqJ = json_object();
123 json_object_set_new(reqJ, "email", json_string(email.c_str()));
124 json_object_set_new(reqJ, "password", json_string(password.c_str()));
125 std::string url = API_URL + "/token";
126 json_t* resJ = network::requestJson(network::METHOD_POST, url, reqJ);
127 json_decref(reqJ);
128
129 if (!resJ) {
130 loginStatus = string::translate("library.noResponse");
131 return;
132 }
133 DEFER({json_decref(resJ);});
134
135 json_t* errorJ = json_object_get(resJ, "error");
136 if (errorJ) {
137 const char* errorStr = json_string_value(errorJ);
138 loginStatus = errorStr;
139 return;
140 }
141
142 json_t* tokenJ = json_object_get(resJ, "token");
143 if (!tokenJ) {
144 loginStatus = string::translate("library.noToken");
145 return;
146 }
147
148 const char* tokenStr = json_string_value(tokenJ);
149 settings::token = tokenStr;
150 loginStatus = "";
151 refreshRequested = true;
152}
153
154
155void logOut() {

Callers 1

onActionMethod · 0.85

Calls 4

translateFunction · 0.85
requestJsonFunction · 0.85
try_lockMethod · 0.80
unlockMethod · 0.80

Tested by

no test coverage detected