utils

package
v0.0.0-...-111e6d5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 21, 2021 License: MIT Imports: 16 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var FuncMap = template.FuncMap{
	"sumi": func(a, b int) int {
		return a + b
	},
	"sumf": func(a, b float64) float64 {
		return a + b
	},
	"mini": func(a, b int) int {
		return a - b
	},
	"minf": func(a, b float64) float64 {
		return a - b
	},
	"xi": func(a, b int) int {
		return a * b
	},
	"xf": func(a, b float64) float64 {
		return a * b
	},
	"di": func(a, b int) int {
		return a / b
	},
	"df": func(a, b float64) float64 {
		return a / b
	},
	"strrmvarray": func(data []string) string {
		var result string
		for i, kata := range data {
			if i == 0 {
				result = fmt.Sprintf("%v", kata)
			} else {
				result = fmt.Sprintf("%v, %v", result, kata)
			}
		}
		return result
	},
	"avg": func(n ...int) int {
		var total = 0
		for _, angka := range n {
			total += angka
		}
		return total / len(n)
	},
	"unescape": func(s string) template.HTML {
		return template.HTML(s)
	},
	"TimetoYmd": func(tm time.Time) string {
		if tm.IsZero() {
			return ""
		} else {
			return fmt.Sprintf("%v-%v-%v %v:%v:%v", tm.Year(), tm.Month(), tm.Day(), tm.Hour(), tm.Minute(), tm.Second())
		}

	},
	"Iterate": func(start uint, sign string, count uint) []uint {
		var i uint
		var Items []uint
		if sign == "<" {
			for i = start; i < count; i++ {
				Items = append(Items, i)
			}
		} else if sign == "<=" {
			for i = start; i <= count; i++ {
				Items = append(Items, i)
			}
		} else if sign == ">" {
			for i = start; i > count; i++ {
				Items = append(Items, i)
			}
		} else if sign == ">=" {
			for i = start; i >= count; i++ {
				Items = append(Items, i)
			}
		}
		return Items
	},
	"IndexString": func(data []string, i uint) string {
		if len(data) > 0 {
			var index = int(i)
			if len(data) >= index {
				return data[index]
			} else {
				return ""
			}
		} else {
			return ""
		}
	},
	"Date": func(date time.Time) string {
		format := fmt.Sprintf("%v %v %v", date.Day(), date.Month(), date.Year())
		return format
	},
	"Time": func(date time.Time) string {
		format := date.Format("15:04")
		return format
	},
	"DateTime": func(date time.Time) string {
		format := date.Format("2006-01-02 15:04")
		return format
	},
	"GetFlashdata": func(c echo.Context, key string) string {
		var sess = GetFlashdata(c, key)
		var data = ArraytoString(sess)
		return data
	},
	"UnmarshalJSONSession": func(c echo.Context, data string) *map[string]interface{} {
		var sess = ArraytoString(GetFlashdata(c, data))
		var temp = new(map[string]interface{})
		err := json.Unmarshal([]byte(sess), &temp)
		if err != nil {
			log.Println(err.Error())
		}
		return temp
	},
	"FormError": func(c echo.Context, key string) string {
		var keyMsg = key + "-msg"
		var sess = GetFlashdata(c, keyMsg)
		var data = ArraytoString(sess)
		return data
	},
	"SetFlashdata": func(c echo.Context, key string, value string) bool {
		SetFlashdata(c, key, value)
		return true
	},
	"QueryParam": func(c echo.Context, key string) string {
		var param = c.QueryParam(key)
		return param
	},
	"Param": func(c echo.Context, key string) string {
		var param = c.Param(key)
		return param
	},
	"FindString": func(sentence, key string) bool {
		var status = strings.Index(sentence, key)
		if status == -1 {
			return false
		} else {
			return true
		}
	},
	"IntToString": func(num int) string {
		return fmt.Sprintf("%d", num)
	},
	"PaginatorIsActive": func(page int) bool {
		urlpath := ""
		u, _ := url.Parse(urlpath)
		values, _ := url.ParseQuery(u.RawQuery)
		p := values.Get("p")
		pageNow := fmt.Sprintf("%d", page)
		if pageNow == p {
			return true
		} else {
			return false
		}
	},
	"equal": func(param1 string, param2 string) bool {
		if param1 != param2 {
			return false
		} else {
			return true
		}
	},
	"in_array": func(val interface{}, array interface{}) (exists bool) {
		exists = false
		switch reflect.TypeOf(array).Kind() {
		case reflect.Slice:
			s := reflect.ValueOf(array)
			for i := 0; i < s.Len(); i++ {
				if reflect.DeepEqual(val, s.Index(i).Interface()) == true {
					exists = true
					return
				}
			}
		}
		return
	},
}
View Source
var SessionCookie *sessions.CookieStore

*** * Default session is cookie

View Source
var SessionMySQL *mysqlstore.MySQLStore
View Source
var SessionPostgre *pgstore.PGStore

Functions

func ArraytoString

func ArraytoString(array []string) string

func DeleteCookieHandler

func DeleteCookieHandler(rw http.ResponseWriter, r *http.Request, name, value string)

func EvaluateCookieHandler

func EvaluateCookieHandler(rw http.ResponseWriter, r *http.Request)

func GetFlashdata

func GetFlashdata(c echo.Context, name string) []string

func IntToString

func IntToString(num int) string

func JwtGenerateToken

func JwtGenerateToken(Username string, isAdmin bool) (string, error)

func JwtGetUsername

func JwtGetUsername(c echo.Context) (Username string)

func ReadCookieHandler

func ReadCookieHandler(rw http.ResponseWriter, r *http.Request, name string)

func Session

func Session(c echo.Context) (*sessions.Session, error)

func SetContext

func SetContext(c echo.Context)

func SetCookie

func SetCookie(ck *sessions.CookieStore)

func SetFlashCookie

func SetFlashCookie(c echo.Context, name, value string)

func SetFlashdata

func SetFlashdata(c echo.Context, name, value string)

func SetMySQL

func SetMySQL(sess *mysqlstore.MySQLStore)

func SetPostgre

func SetPostgre(sess *pgstore.PGStore)

Types

type JwtCustomClaims

type JwtCustomClaims struct {
	Name  string `json:"name"`
	Admin bool   `json:"admin"`
	jwt.StandardClaims
}

jwtCustomClaims are custom claims extending default ones. See https://github.com/golang-jwt/jwt for more examples

type Renderer

type Renderer struct {
	// contains filtered or unexported fields
}

func NewRenderer

func NewRenderer(location string, position string, debug bool) *Renderer

func (*Renderer) ReloadTemplates

func (t *Renderer) ReloadTemplates()

func (*Renderer) Render

func (t *Renderer) Render(w io.Writer, name string, data interface{}, c echo.Context) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL