2023-08-12 10:05:24 +00:00
|
|
|
import createNote from "./firefish-calls/createNote.mjs"
|
2023-08-11 15:38:02 +00:00
|
|
|
import makeText from "./makeText.mjs"
|
2023-08-16 22:26:54 +00:00
|
|
|
import insertPublished from "./database-calls/INSERTFunctions.mjs"
|
2023-08-11 15:38:02 +00:00
|
|
|
import logger from "./logger.mjs"
|
2023-08-16 22:26:54 +00:00
|
|
|
import { deleteFromBuffer } from "./database-calls/DELETEFunctions.mjs"
|
|
|
|
import { todaysPromptAlreadyPublished, tableIsNotEmpty } from "./database-calls/EXISTSFunctions.mjs"
|
|
|
|
import { getPromptFromBuffer, getNewPrompt } from "./database-calls/GETFunctions.mjs"
|
2023-08-12 09:43:37 +00:00
|
|
|
|
2023-08-16 22:26:54 +00:00
|
|
|
export default async function checkAndPublish (db) {
|
2023-08-11 15:38:02 +00:00
|
|
|
logger.trace("checkAndPublish called")
|
2023-08-16 22:26:54 +00:00
|
|
|
logger.trace(todaysPromptAlreadyPublished(db))
|
|
|
|
if(!await todaysPromptAlreadyPublished(db)){
|
2023-08-13 13:00:24 +00:00
|
|
|
try {
|
2023-08-16 22:26:54 +00:00
|
|
|
const prompt = await tableIsNotEmpty(db,'buffer') ? await getPromptFromBuffer(db) : await getNewPrompt(db)
|
2023-08-16 10:41:38 +00:00
|
|
|
logger.trace({prompt:prompt},"prompt acquired successfully!")
|
2023-08-11 15:38:02 +00:00
|
|
|
try {
|
|
|
|
const text = makeText(prompt)
|
|
|
|
try {
|
|
|
|
const note = await createNote(text)
|
2023-08-13 13:00:24 +00:00
|
|
|
logger.trace("createNote successful!")
|
2023-08-11 15:38:02 +00:00
|
|
|
try {
|
2023-08-16 22:26:54 +00:00
|
|
|
let response = await deleteFromBuffer(db,prompt.word)
|
2023-08-16 10:56:28 +00:00
|
|
|
if(response===0){logger.error("deleteFromBuffer failed! Are you trying to delete a word that isn't there?")}
|
2023-08-16 22:26:54 +00:00
|
|
|
response = await insertPublished(db,note, prompt.word)
|
2023-08-13 13:00:24 +00:00
|
|
|
logger.trace("insertPublished successful!")
|
2023-08-11 15:38:02 +00:00
|
|
|
} catch (error) {
|
|
|
|
logger.error(error, 'insertPublished failed!')
|
|
|
|
}
|
|
|
|
} catch (error) {
|
|
|
|
logger.error(error, 'createNote failed!')
|
|
|
|
}
|
|
|
|
} catch (error) {
|
|
|
|
logger.error(error, 'makeText failed!')
|
|
|
|
}
|
|
|
|
} catch (error) {
|
2023-08-13 13:00:24 +00:00
|
|
|
logger.error(error,'failed to get prompt!')
|
2023-08-11 15:38:02 +00:00
|
|
|
}
|
|
|
|
} else {
|
|
|
|
logger.trace("today's prompt has already been published")
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|