From 7cdcd44e0ca10ebdc796638190ed1d9b45d99ef0 Mon Sep 17 00:00:00 2001 From: jacqueline Date: Mon, 15 Jan 2024 12:31:20 +1100 Subject: Begin migration of remaining screens to Lua --- src/lua/lua_database.cpp | 34 ++++++++++++++++++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) (limited to 'src/lua/lua_database.cpp') diff --git a/src/lua/lua_database.cpp b/src/lua/lua_database.cpp index 82b22343..ac7d711b 100644 --- a/src/lua/lua_database.cpp +++ b/src/lua/lua_database.cpp @@ -73,8 +73,38 @@ static auto indexes(lua_State* state) -> int { return 1; } -static const struct luaL_Reg kDatabaseFuncs[] = {{"indexes", indexes}, - {NULL, NULL}}; +static auto version(lua_State* L) -> int { + Bridge* instance = Bridge::Get(L); + auto db = instance->services().database().lock(); + if (!db) { + return 0; + } + auto res = db->schemaVersion(); + lua_pushlstring(L, res.data(), res.size()); + return 1; +} + +static auto size(lua_State* L) -> int { + Bridge* instance = Bridge::Get(L); + auto db = instance->services().database().lock(); + if (!db) { + return 0; + } + lua_pushinteger(L, db->sizeOnDiskBytes()); + return 1; +} + +static auto recreate(lua_State* L) -> int { + return 0; +} + +static auto update(lua_State* L) -> int { + return 0; +} + +static const struct luaL_Reg kDatabaseFuncs[] = { + {"indexes", indexes}, {"version", version}, {"size", size}, + {"recreate", recreate}, {"update", update}, {NULL, NULL}}; /* * Struct to be used as userdata for the Lua representation of database records. -- cgit v1.2.3