diff --git a/models/SiteModel.js b/models/SiteModel.js index f17fa67..b5894b4 100644 --- a/models/SiteModel.js +++ b/models/SiteModel.js @@ -16,7 +16,7 @@ class SiteModel { * * @returns {Promise} - The result of the insert operation. */ - async insertSite(name, domainName) { + async insert(name, domainName) { const { error } = await supabase.from(siteModel.tableName).insert({ name: name, domain_name: domainName, @@ -29,6 +29,41 @@ class SiteModel { return data; } + + /** + * Retrieves all sites from the database. + * + * @returns {Promise} - An array of site objects. + */ + async getAll() { + const { data, error } = await supabase.from(SiteModel.tableName).select('*'); + + if (error) { + console.error('Error fetching sites:', error); + throw error; + } + + return data; + } + + /** + * Retrieves a site by its ID. + * + * @param {number} id - The ID of the site. + * + * @returns {Promise} - The site object. + */ + async getById(id) { + const { data, error } = await supabase.from(SiteModel.tableName).select('*').eq('id', id).single(); + + if (error) { + console.error('Error fetching site by ID:', error); + throw error; + } + + return data; + } + } module.exports = SiteModel; \ No newline at end of file