Giter VIP home page Giter VIP logo

Comments (4)

casbin-bot avatar casbin-bot commented on May 29, 2024

@tangyang9464 @JalinWang @imp2002

from gorm-adapter.

hsluoyz avatar hsluoyz commented on May 29, 2024

@PokIsemaine

from gorm-adapter.

umairrsyedd avatar umairrsyedd commented on May 29, 2024

Any updates on this @PokIsemaine ?

from gorm-adapter.

PokIsemaine avatar PokIsemaine commented on May 29, 2024

@umairrsyedd

package main

import (
	"fmt"
	"github.com/casbin/casbin/v2"
	gormadapter "github.com/casbin/gorm-adapter/v3"
	_ "github.com/go-sql-driver/mysql"
)

type SampleWatcher struct {
	callback func(string)
}

func myCallBack(s string) {
	fmt.Println(s)
}
func (w *SampleWatcher) Close() {
}

func (w *SampleWatcher) SetUpdateCallback(callback func(string)) error {
	w.callback = callback
	return nil
}

func (w *SampleWatcher) Update() error {
	if w.callback != nil {
		fmt.Println("watcher Update")
		w.callback("myCallBack")
	}
	return nil
}

func main() {
	a, _ := gormadapter.NewAdapter("mysql", "root:root@tcp(127.0.0.1:3307)/") // Your driver and data source.
	e, _ := casbin.NewEnforcer("examples/rbac_model.conf", a)

	//e, _ := casbin.NewEnforcer("examples/rbac_model.conf", "examples/rbac_policy.csv")

	sampleWatcher := &SampleWatcher{}
	_ = e.SetWatcher(sampleWatcher)
	_ = sampleWatcher.SetUpdateCallback(myCallBack)
	e.EnableAutoNotifyWatcher(true)

	_ = e.SavePolicy() //calls watcher.Update()
}

from gorm-adapter.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.