Hello from MCP server
import { SQLiteDBConnection } from "@capacitor-community/sqlite";
export default function (db: SQLiteDBConnection, saveDb: () => Promise<void>) {
return {
save: async function (stringifiedState: string, id: number) {
let stmt;
let values;
if (id == 0) {
stmt = `insert into sessions (state) values (?);`;
values = [stringifiedState];
} else {
stmt = `update sessions set state = ? where id = ?;`;
values = [stringifiedState, id];
}
try {
await db.run(stmt, values);
await saveDb();
} catch (err) {
console.error(err);
}
},
getCurrent: async function () {
const q = `select * from sessions order by "updated" desc limit 10`;
try {
const r = await db.query(q);
if (r.values && r.values.length > 0) {
// Filter for sessions without endTime
for (const session of r.values) {
try {
const state = JSON.parse(session.state);
if (!state.endTime || state.endTime === "") {
return [session];
}
} catch (parseErr) {
console.error("Error parsing session state:", parseErr);
}
}
// No active sessions found
return [];
}
} catch (err) {
console.error(err);
}
},
};
}