12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- package controller
- import (
- "fmt"
- "log"
- "git.aetherial.dev/aeth/keiji/pkg/helpers"
- )
- type Controller struct{
- WebRoot string
- Domain string
- database helpers.DocumentIO
- RedisConfig helpers.RedisConf
- Cache *helpers.AllCache
- }
- /*
- Retrieve the administrator table configuration from redis
- */
- func (c *Controller) AdminTables() *helpers.AdminTables {
- tables, err := helpers.GetAdminTables(c.RedisConfig)
- if err != nil {
- log.Fatal(err, "Administrator tables couldnt be couldnt be loaded. Exiting.")
- }
- return tables
- }
- /*
- Retrieve the post data and format it for the post management page
- */
- func (c *Controller) FormatDocTable() *helpers.AdminTables {
- var postTables helpers.AdminTables
- for i := range helpers.Topics {
- docs, err := helpers.GetAllDocuments(helpers.Topics[i], c.RedisConfig)
- if err != nil {
- log.Fatal(err, "Post tables couldnt be couldnt be loaded. Exiting.")
- }
- var categoryTable helpers.Table
- categoryTable.TableName = helpers.Topics[i]
- for idx := range docs {
- categoryTable.TableData = append(categoryTable.TableData, helpers.TableData{
- DisplayName: docs[idx].Ident,
- Link: fmt.Sprintf("/admin/posts/%s", docs[idx].Ident),
- })
- }
- postTables.Tables = append(postTables.Tables, categoryTable)
- }
- return &postTables
- }
- func NewController(root string, domain string, redisPort string, redisAddr string, database helpers.DocumentIO) *Controller {
- return &Controller{WebRoot: root, Cache: helpers.NewCache(),
- Domain: domain, RedisConfig: helpers.RedisConf{
- Port: redisPort,
- Addr: redisAddr,
- },
- database: database,
- }
- }
|