import { DebugBuilder } from "../../modules/debugger.mjs"; const log = new DebugBuilder("server", "mongoFeedsWrappers"); import { insertDocument, getDocuments, getDocumentByField, updateDocumentByField, deleteDocumentByField, } from "./mongoHandler.mjs"; const feedCollectionName = "feeds"; const postCollectionName = "posts"; // Wrapper for inserting a feed export const createFeed = async (feed) => { try { const insertedId = await insertDocument(feedCollectionName, feed); return insertedId; } catch (error) { log.ERROR("Error creating feed:", error); throw error; } }; // Wrapper for retrieving all feeds export const getAllFeeds = async () => { try { const feeds = await getDocuments(feedCollectionName); return feeds; } catch (error) { log.ERROR("Error getting all feeds:", error); throw error; } }; // Wrapper for retrieving a feed by link export const getFeedByLink = async (link) => { try { const feed = await getDocumentByField(feedCollectionName, "link", link); return feed; } catch (error) { log.ERROR("Error getting feed by link:", error); throw error; } }; // Wrapper for retrieving a feed by the title export const getFeedByTitle = async (title) => { try { const feed = await getDocumentByField(feedCollectionName, "title", title); return feed; } catch (error) { log.ERROR("Error getting feed by link:", error); throw error; } }; // Wrapper for updating a feed by link export const updateFeedByLink = async (link, updatedFields) => { try { const modifiedCount = await updateDocumentByField( feedCollectionName, "link", link, updatedFields, ); return modifiedCount; } catch (error) { log.ERROR("Error updating feed by link:", error); throw error; } }; // Wrapper for deleting a feed by link export const deleteFeedByLink = async (link) => { try { const deletedCount = await deleteDocumentByField( feedCollectionName, "link", link, ); return deletedCount; } catch (error) { log.ERROR("Error deleting feed by link:", error); throw error; } }; // Wrapper for deleting a feed by title export const deleteFeedByTitle = async (title) => { try { const deletedCount = await deleteDocumentByField( feedCollectionName, "title", title, ); return deletedCount; } catch (error) { log.ERROR("Error deleting feed by link:", error); throw error; } }; // Wrapper for inserting a post export const createPost = async (post) => { try { const insertedId = await insertDocument(postCollectionName, post); return insertedId; } catch (error) { log.ERROR("Error creating post:", error); throw error; } }; // Wrapper for retrieving a post by postId export const getPostByPostId = async (postId) => { try { const post = await getDocumentByField(postCollectionName, "postId", postId); return post; } catch (error) { log.ERROR("Error getting post by postId:", error); throw error; } };