do_casbin_rule.go 924 字节
package domain

// CasbinRule
type CasbinRule struct {
	// 唯一标识
	Id int64 `json:"id"`
	// 规则类型:p g
	PType string `json:"pType"`
	// 值0 sub:role_id
	V0 string `json:"v0"`
	// 值1 object:请求对象 接口地址/对象
	V1 string `json:"v1"`
	// 值2 action:操作方法 httpMethod/read/write
	V2 string `json:"v2"`
	// 值3 扩展字段 access_id
	V3 string `json:"v3"`
	// 值4 扩展字段
	V4 string `json:"v4"`
	// 值5 扩展字段
	V5 string `json:"v5"`
}

type CasbinRuleRepository interface {
	Save(dm *CasbinRule) (*CasbinRule, error)
	Remove(dm *CasbinRule) (*CasbinRule, error)
	FindOne(queryOptions map[string]interface{}) (*CasbinRule, error)
	Find(queryOptions map[string]interface{}) (int64, []*CasbinRule, error)
}

func (m *CasbinRule) Identify() interface{} {
	if m.Id == 0 {
		return nil
	}
	return m.Id
}

func (m *CasbinRule) Update(data map[string]interface{}) error {
	return nil
}