diff --git a/checkAndPublish.mjs b/checkAndPublish.mjs index b21d980..94bb400 100644 --- a/checkAndPublish.mjs +++ b/checkAndPublish.mjs @@ -3,7 +3,7 @@ import createNote from "./firefish-calls/createNote.mjs" import makeText from "./makeText.mjs" import insertPublished from "./database-calls/insertPublished.mjs" import logger from "./logger.mjs" -import todaysPromptAlreadyPublished from "./database-calls/todaysPromptAlreadyPublished.mjs" +import {todaysPromptAlreadyPublished} from "./database-calls/db.mjs" export default async function checkAndPublish () { diff --git a/database-calls/db.mjs b/database-calls/db.mjs index 3dc8bb3..7e7ea0a 100644 --- a/database-calls/db.mjs +++ b/database-calls/db.mjs @@ -1,19 +1,36 @@ import Knex from 'knex' import logger from '../logger.mjs' +import { isoDate } from "../utilities.mjs" export const db = Knex({ - client: 'sqlite3', // or 'better-sqlite3' - connection: { - filename: "data/database" - }, - useNullAsDefault: true - }) + client: 'sqlite3', // or 'better-sqlite3' + connection: { + filename: "data/database" + }, + useNullAsDefault: true +}) - export const getWords = async (db) => { - const childLogger = logger.child({db}) +export const getWords = async () => { + const childLogger = logger.child({ db }) childLogger.trace("getWords called") - return db + return db .select("word") .from("dictionary") } +export const valueExistsInTable = async (table,column,value) =>{ + const number = await db(table) + .count('* as count') + .where(column, value) + .catch(error => { throw error }) + return number[0].count > 0 +} + + +export const todaysPromptAlreadyPublished = async () => { + return valueExistsInTable('published','date',isoDate()) +} + +export const wordIsAlreadyInBuffer = async (word) => { + return valueExistsInTable('buffer','word',word) +} \ No newline at end of file