fix: minor code refactor
This commit is contained in:
parent
505faa6df2
commit
f167f9caec
22 changed files with 83 additions and 30 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -4,4 +4,4 @@ docs/
|
|||
tests/testing_tmp/
|
||||
tests/testing_bak/
|
||||
|
||||
include/migrations/*.sql.h
|
||||
include/sql/*.h
|
||||
|
|
|
@ -20,19 +20,21 @@ aux_source_directory(src/models MODELS_SRC)
|
|||
aux_source_directory(src/helpers HELPERS_SRC)
|
||||
aux_source_directory(src/handlers HANDLERS_SRC)
|
||||
aux_source_directory(src/endpoints ENDPOINTS_SRC)
|
||||
aux_source_directory(vendor VENDOR_SRC)
|
||||
|
||||
add_dependencies(core migrations)
|
||||
add_dependencies(core sql)
|
||||
|
||||
configure_file("core.ini" "core.ini" COPYONLY)
|
||||
configure_file("version.h.in" "version.h" @ONLY)
|
||||
|
||||
|
||||
target_sources(core PRIVATE ${SRC_DIR} ${HANDLERS_SRC} ${HELPERS_SRC} ${MODELS_SRC} ${ENDPOINTS_SRC})
|
||||
target_sources(core PRIVATE ${SRC_DIR} ${HANDLERS_SRC} ${HELPERS_SRC} ${MODELS_SRC} ${ENDPOINTS_SRC} ${VENDOR_SRC})
|
||||
target_include_directories(core PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include)
|
||||
target_include_directories(core PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/vendor)
|
||||
target_include_directories(core PRIVATE ${CMAKE_BINARY_DIR})
|
||||
|
||||
add_custom_target(migrations
|
||||
COMMAND ./compile_migrations.sh
|
||||
add_custom_target(sql
|
||||
COMMAND ./compile_sql.sh
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
)
|
||||
|
||||
|
|
|
@ -1,22 +0,0 @@
|
|||
#!/usr/bin/env sh
|
||||
|
||||
cd "$(dirname "$0")";
|
||||
|
||||
migration_num=0;
|
||||
|
||||
while [ -f ./sql/migration_$migration_num.sql ]
|
||||
do
|
||||
if [ -f ./include/migrations/$migration_num.sql.h ]
|
||||
then
|
||||
if [ -z $(find ./sql/migration_$migration_num.sql -newer ./include/migrations/$migration_num.sql.h -print) ]
|
||||
then
|
||||
migration_num=$((migration_num+1))
|
||||
continue
|
||||
fi
|
||||
fi
|
||||
echo "Recompiling migration $migration_num"
|
||||
xxd -i sql/migration_$migration_num.sql | sed 's/\([0-9a-f]\)$/\0, 0x00/' > ./include/migrations/$migration_num.sql.h
|
||||
migration_num=$((migration_num+1))
|
||||
done
|
||||
|
||||
cd $PWD;
|
37
compile_sql.sh
Executable file
37
compile_sql.sh
Executable file
|
@ -0,0 +1,37 @@
|
|||
#!/usr/bin/env sh
|
||||
|
||||
function to_header()
|
||||
{
|
||||
if [ -f ./include/sql/$1.h ]
|
||||
then
|
||||
if [ -z $(find ./sql/$1.sql -newer ./include/sql/$1.h -print) ]
|
||||
then
|
||||
return
|
||||
fi
|
||||
fi
|
||||
echo "Compiling $1"
|
||||
xxd -i sql/$1.sql | sed 's/\([0-9a-f]\)$/\0, 0x00/' > ./include/sql/$1.h
|
||||
|
||||
}
|
||||
|
||||
cd "$(dirname "$0")";
|
||||
|
||||
migration_num=0;
|
||||
|
||||
while [ -f ./sql/migration_$migration_num.sql ]
|
||||
do
|
||||
if [ -f ./include/migrations/$migration_num.sql.h ]
|
||||
then
|
||||
if [ -z $(find ./sql/migration_$migration_num.sql -newer ./include/sql/migration_$migration_num.h -print) ]
|
||||
then
|
||||
migration_num=$((migration_num+1))
|
||||
continue
|
||||
fi
|
||||
fi
|
||||
to_header "migration_$migration_num"
|
||||
migration_num=$((migration_num+1))
|
||||
done
|
||||
|
||||
to_header "cache"
|
||||
|
||||
cd $PWD;
|
11
include/cache.h
Normal file
11
include/cache.h
Normal file
|
@ -0,0 +1,11 @@
|
|||
#ifndef CORE_CACHE_H
|
||||
#define CORE_CACHE_H
|
||||
|
||||
#include <sqlite3.h>
|
||||
|
||||
extern sqlite3 *cache_database;
|
||||
|
||||
void
|
||||
cache_init();
|
||||
|
||||
#endif /* CORE_CACHE_H */
|
5
sql/cache.sql
Normal file
5
sql/cache.sql
Normal file
|
@ -0,0 +1,5 @@
|
|||
CREATE TABLE `cache` (
|
||||
`key` STRING PRIMARY KEY,
|
||||
`value` TEXT NOT NULL,
|
||||
`expiration` INT DEFAULT 0
|
||||
);
|
17
src/cache.c
Normal file
17
src/cache.c
Normal file
|
@ -0,0 +1,17 @@
|
|||
#include <cache.h>
|
||||
#include <logger.h>
|
||||
|
||||
|
||||
sqlite3 *cache_database;
|
||||
|
||||
void
|
||||
cache_init()
|
||||
{
|
||||
int rc = sqlite3_open(":memory:", &cache_database);
|
||||
|
||||
if(rc)
|
||||
{
|
||||
LOGGER_CRIT("can't open cache database: %s\n", sqlite3_errmsg(cache_database));
|
||||
return;
|
||||
}
|
||||
}
|
|
@ -2,8 +2,9 @@
|
|||
#include <unistd.h>
|
||||
#include <sys/socket.h>
|
||||
|
||||
#include <command.h>
|
||||
#include <mpack.h>
|
||||
|
||||
#include <command.h>
|
||||
#include <logger.h>
|
||||
#include <helpers.h>
|
||||
#include <enums.h>
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
#include <logger.h>
|
||||
#include <database.h>
|
||||
|
||||
#include <migrations/0.sql.h>
|
||||
#include <sql/migration_0.h>
|
||||
|
||||
sqlite3 *global_database;
|
||||
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
#include <stdio.h>
|
||||
|
||||
#include <argparse.h>
|
||||
|
||||
#include <config.h>
|
||||
#include <logger.h>
|
||||
#include <helpers.h>
|
||||
|
|
|
@ -5,6 +5,8 @@
|
|||
#include <syslog.h>
|
||||
|
||||
#include <mongoose.h>
|
||||
#include <confini.h>
|
||||
|
||||
#include <router.h>
|
||||
#include <logger.h>
|
||||
#include <config.h>
|
||||
|
@ -13,7 +15,6 @@
|
|||
#include <enums.h>
|
||||
#include <helpers.h>
|
||||
#include <status.h>
|
||||
#include <confini.h>
|
||||
#include <models/controller.h>
|
||||
|
||||
static struct mg_mgr mgr;
|
||||
|
|
0
src/argparse.c → vendor/argparse.c
vendored
0
src/argparse.c → vendor/argparse.c
vendored
0
include/argparse.h → vendor/argparse.h
vendored
0
include/argparse.h → vendor/argparse.h
vendored
0
src/cJSON.c → vendor/cJSON.c
vendored
0
src/cJSON.c → vendor/cJSON.c
vendored
0
include/cJSON.h → vendor/cJSON.h
vendored
0
include/cJSON.h → vendor/cJSON.h
vendored
0
src/confini.c → vendor/confini.c
vendored
0
src/confini.c → vendor/confini.c
vendored
0
include/confini.h → vendor/confini.h
vendored
0
include/confini.h → vendor/confini.h
vendored
0
src/mongoose.c → vendor/mongoose.c
vendored
0
src/mongoose.c → vendor/mongoose.c
vendored
0
include/mongoose.h → vendor/mongoose.h
vendored
0
include/mongoose.h → vendor/mongoose.h
vendored
0
src/mpack.c → vendor/mpack.c
vendored
0
src/mpack.c → vendor/mpack.c
vendored
0
include/mpack.h → vendor/mpack.h
vendored
0
include/mpack.h → vendor/mpack.h
vendored
Loading…
Reference in a new issue