From f28328dcc4f5e940ac7333dd3e21f42b06a4f1d7 Mon Sep 17 00:00:00 2001 From: Aarish <118203269+ImprobableGenius@users.noreply.github.com> Date: Sun, 25 May 2025 17:06:37 -0500 Subject: [PATCH] Remove name from insert method - this is removed from db schema --- models/SiteModel.js | 5 ++--- routes/sites.js | 25 ++++++++++++++++++++++++- 2 files changed, 26 insertions(+), 4 deletions(-) diff --git a/models/SiteModel.js b/models/SiteModel.js index 2a99592..4875b4b 100644 --- a/models/SiteModel.js +++ b/models/SiteModel.js @@ -17,9 +17,9 @@ class SiteModel { * * @returns {Promise} - The result of the insert operation. */ - async insert(name, domainName) { + async insert(domainName) { // validate inputs - if (!name || !domainName) { + if (!domainName) { throw new Error('Name and domain name are required to insert a site.'); } @@ -34,7 +34,6 @@ class SiteModel { } const { data, error } = await supabase.from(SiteModel.tableName).insert({ - name: name, domain_name: domainName, }).select(); diff --git a/routes/sites.js b/routes/sites.js index 92914ba..f0753da 100644 --- a/routes/sites.js +++ b/routes/sites.js @@ -37,6 +37,29 @@ router.get('/:id', async function(req, res, next) { } }); +/** + * GET site by domain name. + * + * Returns a specific site by its domain name in JSON format. + */ +router.get('/:domain', async function(req, res, next) { + const domainName = req.params.domain; + let site = null; + + try { + site = await siteModel.getByDomainName(domainName); + } catch (error) { + console.error('Error fetching site by domain name:', error); + return res.status(400).send('Error fetching site: ' + error.message); + } + + if (!site || site.length === 0) { + return res.status(404).send('Site not found'); + } else { + res.json(site[0]); // Return the first match + } +}); + /** * POST create a new site. * @@ -50,7 +73,7 @@ router.post('/add', async function(req, res, next) { // insert method passes a lot of validation errors to the caller try { - newSite = await siteModel.insert(domain, domain); + newSite = await siteModel.insert(domain); } catch (error) { console.error('Error creating site:', error); return res.status(400).send('Error creating site: ' + error.message);