From 4be2d235380e36246dad6f7891a055ed54d2b936 Mon Sep 17 00:00:00 2001 From: yequari Date: Mon, 10 Jul 2023 00:08:58 -0700 Subject: [PATCH] Add webring struct, make all previous methods webring methods --- webring/webmaster.go | 35 ------------------------ webring/webring.go | 63 ++++++++++++++++++++++++++++++++++++++++---- 2 files changed, 58 insertions(+), 40 deletions(-) delete mode 100644 webring/webmaster.go diff --git a/webring/webmaster.go b/webring/webmaster.go deleted file mode 100644 index 15e6e24..0000000 --- a/webring/webmaster.go +++ /dev/null @@ -1,35 +0,0 @@ -package webring - -import "github.com/google/uuid" - -type WebmasterId string - -type SiteWebmaster struct { - id WebmasterId - name string - email string -} - -func NewSiteWebmaster(name, email string) SiteWebmaster { - return SiteWebmaster{ - id: WebmasterId(uuid.NewString()), - name: name, - email: email, - } -} - -func RetrieveSiteWebmaster(id WebmasterId) SiteWebmaster { - return SiteWebmaster{} -} - -func (webmaster SiteWebmaster) Create() { - -} - -func (webmaster SiteWebmaster) Update() { - -} - -func (webmaster SiteWebmaster) Delete() { - -} diff --git a/webring/webring.go b/webring/webring.go index 0afa5e6..3e09375 100644 --- a/webring/webring.go +++ b/webring/webring.go @@ -1,9 +1,11 @@ package webring import ( + "database/sql" "time" "github.com/google/uuid" + "modernc.org/sqlite" ) type SiteId string @@ -31,20 +33,71 @@ func NewSiteEntry(siteName, webmasterEmail, siteUrl string) SiteEntry { } } -func RetrieveSiteEntry(id SiteId) SiteEntry { - return SiteEntry{} +type WebmasterId string + +type SiteWebmaster struct { + id WebmasterId + name string + email string } -func (site SiteEntry) Create() { +func NewSiteWebmaster(name, email string) SiteWebmaster { + return SiteWebmaster{ id: WebmasterId(uuid.NewString()), + name: name, + email: email, + } +} + +type Webring struct { + Db *sql.DB + first SiteId + last SiteId + length int +} + +func NewWebring(db *sql.DB) *Webring { + webring := Webring{Db: db} + + return &webring +} + +func (webring *Webring) retrieveFirstSite() (SiteEntry, error) { + +} + +func (webring *Webring) retrieveLastSite() (SiteEntry, error) { + +} + +func (webring *Webring) CreateSiteEntry(entry *SiteEntry) error { // commit to database } -func (site SiteEntry) Update() { +func (webring *Webring) RetrieveSiteEntry(id SiteId) (*SiteEntry, error) { + +} + +func (webring *Webring) UpdateSiteEntry(entry *SiteEntry) error { // update existing SiteEntry } -func (site SiteEntry) Delete() { +func (webring *Webring) DeleteSiteEntry(entry *SiteEntry) error { // delete SiteEntry } +func (webring *Webring) CreateSiteWebmaster(webmaster *SiteWebmaster) error { + +} + +func (webring *Webring) RetrieveSiteWebmaster(id WebmasterId) (*SiteWebmaster, error) { + +} + +func (webring *Webring) UpdateSiteWebmaster(webmaster *SiteWebmaster) error { + +} + +func (webring *Webring) DeleteSiteWebmaster(webmaster *SiteWebmaster) error { + +}