backend.go 714 B

12345678910111213141516171819202122232425262728293031323334
  1. package backend
  2. import (
  3. "database/sql"
  4. _ "github.com/go-sql-driver/mysql"
  5. "golang-fave/engine/wrapper"
  6. templates "golang-fave/engine/wrapper/resources/templates"
  7. )
  8. type Backend struct {
  9. wrapper *wrapper.Wrapper
  10. db *sql.DB
  11. }
  12. func New(wrapper *wrapper.Wrapper, db *sql.DB) *Backend {
  13. return &Backend{wrapper, db}
  14. }
  15. func (this *Backend) Run() bool {
  16. // Show add user form if no any user in db
  17. var count int
  18. err := this.db.QueryRow("SELECT COUNT(*) FROM `users`;").Scan(&count)
  19. if this.wrapper.EngineErrMsgOnError(err) {
  20. return true
  21. }
  22. if count <= 0 {
  23. return this.wrapper.TmplBackEnd(templates.CpFirstUser, nil)
  24. }
  25. // Login page
  26. return this.wrapper.TmplBackEnd(templates.CpLogin, nil)
  27. }