github.com/gocaveman/caveman@v0.0.0-20191211162744-0ddf99dbdf6e/pages/pagesdbr/pagesdbr.go (about)

     1  package pagesdbr
     2  
     3  import (
     4  	"fmt"
     5  
     6  	"github.com/gocaveman/caveman/dbutil"
     7  	"github.com/gocaveman/caveman/pages"
     8  	"github.com/gocraft/dbr"
     9  )
    10  
    11  type PageMeta struct {
    12  	Path     string              `db:"path" json:"path"`
    13  	TitleTag string              `db:"title_tag" json:"title_tag"`
    14  	MetaDesc string              `db:"meta_desc" json:"meta_desc"`
    15  	Data     dbutil.StringObjMap `db:"data" json:"data"`
    16  }
    17  
    18  func (p *PageMeta) GetTitleTag() string {
    19  	return p.TitleTag
    20  }
    21  
    22  func (p *PageMeta) GetMetaDesc() string {
    23  	return p.MetaDesc
    24  }
    25  
    26  func (p *PageMeta) GetData() map[string]interface{} {
    27  	return p.Data
    28  }
    29  
    30  type Index struct {
    31  	Driver     string
    32  	DSN        string
    33  	Connection *dbr.Connection
    34  	TableName  string
    35  }
    36  
    37  func NewIndex(driver, dsn string) (*Index, error) {
    38  	conn, err := dbr.Open(driver, dsn, nil)
    39  	if err != nil {
    40  		return nil, err
    41  	}
    42  	return &Index{
    43  		Driver:     driver,
    44  		DSN:        dsn,
    45  		Connection: conn,
    46  		TableName:  "page",
    47  	}, nil
    48  }
    49  
    50  func (i *Index) PageMetaByPath(path string) (ret pages.PageMeta, reterr error) {
    51  	// var pageMeta PageMeta
    52  	// sess := i.Connection.NewSession(nil)
    53  	// err := sess.Select("*").From("").Where("path = ?", path).LoadOne(&pageMeta)
    54  	// if err == dbr.ErrNotFound {
    55  	// 	err = dbutil.ErrNotFound
    56  	// }
    57  	// return &pageMeta, err
    58  	return ret, fmt.Errorf("not implemented")
    59  }
    60  
    61  func (i *Index) PageListByPrefix(prefix string, limit int, startAfterToken string) (result []string, token string, err error) {
    62  	return nil, "", fmt.Errorf("not implemented")
    63  }