mirror of
https://github.com/Mercantec-GHC/h4-projekt-gruppe-0-sm.git
synced 2025-04-27 16:24:07 +02:00
94 lines
2.6 KiB
C
94 lines
2.6 KiB
C
#include "controllers/controllers.h"
|
|
#include "db/db_sqlite.h"
|
|
#include "http/http.h"
|
|
#include "models/models_json.h"
|
|
#include <sqlite3.h>
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include <string.h>
|
|
#include <time.h>
|
|
|
|
void test(void);
|
|
|
|
HttpServer* server;
|
|
|
|
int main(void)
|
|
{
|
|
srand((unsigned int)time(NULL));
|
|
|
|
#ifdef RUN_TESTS
|
|
test();
|
|
#endif
|
|
|
|
Db* db = db_sqlite_new();
|
|
|
|
Cx cx;
|
|
cx_construct(&cx, db);
|
|
|
|
server = http_server_new((HttpServerOpts) {
|
|
.port = 8080,
|
|
.workers_amount = 8,
|
|
});
|
|
if (!server) {
|
|
return -1;
|
|
}
|
|
|
|
http_server_set_user_ctx(server, &cx);
|
|
|
|
http_server_get(server, "/api/products/all", route_get_products_all);
|
|
http_server_post(
|
|
server, "/api/products/create", route_post_products_create);
|
|
http_server_post(
|
|
server, "/api/products/update", route_post_products_update);
|
|
http_server_get(server, "/api/products/coords", route_get_products_coords);
|
|
http_server_post(
|
|
server, "/api/products/set_coords", route_post_products_set_coords);
|
|
http_server_post(
|
|
server, "/api/products/set-image", route_post_products_set_image);
|
|
http_server_get(
|
|
server, "/api/products/image.png", route_get_products_image_png);
|
|
|
|
http_server_get(
|
|
server, "/product_editor/index.html", route_get_product_editor_html);
|
|
http_server_get(server,
|
|
"/product_editor/product_editor.js",
|
|
route_get_product_editor_js);
|
|
|
|
http_server_post(server, "/api/carts/purchase", route_post_carts_purchase);
|
|
|
|
http_server_get(server, "/api/receipts/one", route_get_receipts_one);
|
|
http_server_get(server, "/api/receipts/all", route_get_receipts_all);
|
|
|
|
http_server_post(server, "/api/users/register", route_post_users_register);
|
|
http_server_post(
|
|
server, "/api/users/balance/add", route_post_users_balance_add);
|
|
|
|
http_server_post(server, "/api/sessions/login", route_post_sessions_login);
|
|
http_server_post(
|
|
server, "/api/sessions/logout", route_post_sessions_logout);
|
|
http_server_get(server, "/api/sessions/user", route_get_sessions_user);
|
|
|
|
http_server_get(server, "/", route_get_index);
|
|
http_server_post(server, "/set_number", route_post_set_number);
|
|
|
|
http_server_set_not_found(server, route_get_not_found);
|
|
|
|
printf("listening at http://127.0.0.1:8080/\n");
|
|
http_server_listen(server);
|
|
|
|
http_server_free(server);
|
|
cx_destroy(&cx);
|
|
db_sqlite_free(db);
|
|
}
|
|
|
|
#ifdef RUN_TESTS
|
|
void test(void)
|
|
{
|
|
test_util_str();
|
|
test_collections_kv_map();
|
|
printf("\n\x1b[1;97m ALL TESTS \x1b[1;92mPASSED"
|
|
" \x1b[1;97mSUCCESSFULLY 💅\x1b[0m\n\n");
|
|
exit(0);
|
|
}
|
|
#endif
|