From a9a59a3a557042f96550f298be45ad372df1a9b2 Mon Sep 17 00:00:00 2001 From: Kevin Lyda <kevin@lyda.ie> Date: Sat, 10 May 2025 13:39:43 +0100 Subject: [PATCH] Breaking change - begin splitting things up better --- ask/ask.go | 5 +++++ folders/messages.go | 1 - folders/sql/1_create_table.up.sql | 9 +++++---- pager/pager.go | 5 +++++ storage/storage.go | 4 ++++ this/this.go | 10 ++++++++++ accounts/accounts.go => users/users.go | 4 ++-- 7 files changed, 31 insertions(+), 7 deletions(-) create mode 100644 ask/ask.go create mode 100644 pager/pager.go create mode 100644 storage/storage.go create mode 100644 this/this.go rename accounts/accounts.go => users/users.go (97%) diff --git a/ask/ask.go b/ask/ask.go new file mode 100644 index 0000000..30ddba7 --- /dev/null +++ b/ask/ask.go @@ -0,0 +1,5 @@ +/* +Package ask provides routines to ask questions of users. It handles +getting a line of text, getting a choice from a liat and other things. +*/ +package ask diff --git a/folders/messages.go b/folders/messages.go index bd08ec9..1e49fb7 100644 --- a/folders/messages.go +++ b/folders/messages.go @@ -1,4 +1,3 @@ -// Package folders are all the routines and sql for managing folders. package folders import ( diff --git a/folders/sql/1_create_table.up.sql b/folders/sql/1_create_table.up.sql index 22b497d..d518fc2 100644 --- a/folders/sql/1_create_table.up.sql +++ b/folders/sql/1_create_table.up.sql @@ -146,7 +146,7 @@ CREATE TABLE mark ( CREATE TABLE access ( login VARCHAR(25) REFERENCES users(login) ON DELETE CASCADE ON UPDATE CASCADE, folder VARCHAR(25) REFERENCES folders(name) ON DELETE CASCADE ON UPDATE CASCADE, - PRIMARY KEY (login, folder), + PRIMARY KEY (login, folder) ) WITHOUT ROWID; --- TODO: The following is incomplete: @@ -161,6 +161,7 @@ CREATE TABLE config ( --- System configs. CREATE TABLE system ( - default_expire INT NOT NULL DEFAULT -1, - expire_limit INT NOT NULL DEFAULT -1, -) WITHOUT ROWID; + name VARCHAR(12) NOT NULL PRIMARY KEY, + default_expire INT NOT NULL DEFAULT -1, + expire_limit INT NOT NULL DEFAULT -1 +); diff --git a/pager/pager.go b/pager/pager.go new file mode 100644 index 0000000..c2a0c4f --- /dev/null +++ b/pager/pager.go @@ -0,0 +1,5 @@ +/* +Package pager implements the pager. This is used for any large block of +text that bulletin needs to show. +*/ +package pager diff --git a/storage/storage.go b/storage/storage.go new file mode 100644 index 0000000..8b2347b --- /dev/null +++ b/storage/storage.go @@ -0,0 +1,4 @@ +/* +Package storage handles storage for the bulletin system. +*/ +package storage diff --git a/this/this.go b/this/this.go new file mode 100644 index 0000000..40cfe11 --- /dev/null +++ b/this/this.go @@ -0,0 +1,10 @@ +/* +Package this has the current state of the running bulletin process. + +Each bulletin process is run by a single user. The `this` package +tracks the current user state - it has the user login, the current +folder, the current message id and other things. + +TODO: Eventually `this` will need to handle broadcast messages. +*/ +package this diff --git a/accounts/accounts.go b/users/users.go similarity index 97% rename from accounts/accounts.go rename to users/users.go index becd7b9..a175e1a 100644 --- a/accounts/accounts.go +++ b/users/users.go @@ -1,5 +1,5 @@ -// Package accounts manages accounts. -package accounts +// Package users manages accounts. +package users import ( "errors" -- GitLab