Browse Source

started adding stuff for an interactive tools/demos page

aeth 1 week ago
parent
commit
bb7965f550

+ 0 - 0
pkg/controller/tool_handlers.go


+ 12 - 1
pkg/storage/queries.go

@@ -50,5 +50,16 @@ const adminTable = `
 		category TEXT NOT NULL
 	);
 	`
+const toolsTable = `
+	CREATE TABLE IF NOT EXISTS tools(
+		row INTEGER PRIMARY KEY AUTOINCREMENT,
+		id TEXT NOT NULL,
+		name TEXT NOT NULL,
+		desc TEXT NOT NULL,
+		image_link TEXT NOT NULL,
+		user_interface_link TEXT NOT NULL,
+		os_path TEXT NOT NULL
+	);
+	`
 
-var RequiredTables = []string{postsTable, imagesTable, menuItemsTable, navbarItemsTable, assetTable, adminTable}
+var RequiredTables = []string{postsTable, imagesTable, menuItemsTable, navbarItemsTable, assetTable, adminTable, toolsTable}

+ 28 - 0
pkg/storage/storage.go

@@ -114,6 +114,15 @@ type Image struct {
 	Data     []byte
 }
 
+type Tool struct {
+	Ident             Identifier
+	Name              string
+	Desc              string
+	ImageLink         string
+	UserInterfaceLink string
+	OsPath            string
+}
+
 type DocumentIO interface {
 	GetDocument(id Identifier) (Document, error)
 	GetImage(id Identifier) (Image, error)
@@ -134,6 +143,7 @@ type DocumentIO interface {
 	GetNavBarLinks() []NavBarItem
 	GetAssets() []Asset
 	GetAdminTables() AdminPage
+	GetTools() []Tool
 }
 
 var (
@@ -225,6 +235,24 @@ func (r *SQLiteRepo) Migrate(seedQueries []string) error {
 	return nil
 }
 
+// Gets the tool table from the database
+func (s *SQLiteRepo) GetTools() []Tool {
+	rows, err := s.db.Query("SELECT * FROM tools")
+	var toolItems []Tool
+	defer rows.Close()
+	for rows.Next() {
+		var id int
+		var item Tool
+		err = rows.Scan(&id, &item.Ident, &item.Name, &item.Desc, &item.ImageLink, &item.UserInterfaceLink, &item.OsPath)
+		if err != nil {
+			log.Fatal(err)
+		}
+		toolItems = append(toolItems, item)
+	}
+	return toolItems
+
+}
+
 /*
 Get all dropdown menu elements. Returns a list of LinkPair structs with the text and redirect location
 */

+ 0 - 0
pkg/webpages/html/tool_arcade.html


+ 2 - 1
scripts/seed.py

@@ -27,7 +27,8 @@ menu = {
         "//Administrator": "/admin/panel",
         "//Creative Writing": "/creative",
         "//Black Box": "/blog",
-        "//Digital Art": "/digital"
+        "//Digital Art": "/digital",
+        "//Tools": "/tools"
         }