event.gno

2.09 Kb · 63 lines
 1package event
 2
 3import (
 4	"gno.land/p/zenao/basedao"
 5	"gno.land/p/zenao/daocond"
 6	"gno.land/p/zenao/daokit"
 7	"gno.land/p/zenao/events"
 8	zenaov1 "gno.land/p/zenao/zenao/v1"
 9	"gno.land/r/demo/profile"
10	"gno.land/r/zenao/eventreg"
11	"gno.land/r/zenao/social_feed"
12)
13
14var (
15	DAO        daokit.DAO
16	daoPrivate *basedao.DAOPrivate
17	event      *events.Event
18)
19
20func init() {
21	conf := events.Config{
22		Organizers:       []string{"g1p8mjr27qrftks5ad4ygts8vxhkvqakeex883wk"},
23		Gatekeepers:      []string{},
24		Title:            "Ciné Meetup",
25		Description:      "Le ciné meetup est un évènement mensuel de networking rassemblant les passionnés de cinéma et d'audiovisuel.\nQue vous soyez acteur, technicien, réalisateur, scénariste, producteur, venez profiter de nos soirées rencontres pour partager vos expériences, demander des conseils, vous faire de nouveaux contacts professionnels et compléter vos équipes pour de futurs projets\nQue vous soyez un professionnel chevronné ou un débutant, vous êtes tous les bienvenus aux Ciné Meetups.",
26		ImageURI:         "ipfs://bafybeidy2ewnk3a3kkelpfbusdiwnyy4g6c5ra6qi3ibvzdald6kkcle2e",
27		StartDate:        1740592800,
28		EndDate:          1740610800,
29		Capacity:         30,
30		GetProfileString: profile.GetStringField,
31		SetProfileString: profile.SetStringField,
32		ZenaoAdminAddr:   "g1djrkw9tf4px658j85cc6fhsvm50uf9s0g6kfsm",
33		Location: &zenaov1.EventLocation{
34			Address: &zenaov1.AddressCustom{
35				Address:  "Paris - Le Bistrot des Cinéastes",
36				Timezone: "Europe/Paris",
37			},
38		},
39		ParticipationPubkey: "",
40	}
41	event = events.NewEvent(&conf)
42	daoPrivate = event.DAOPrivate
43	DAO = event.DAO
44	eventreg.Register(func() *zenaov1.EventInfo { return event.Info() })
45	social_feed.NewFeed("main", false, IsMember)
46}
47
48// Set public to be used as auth layer for external entities (e.g polls)
49func IsMember(memberId string) bool {
50	return daoPrivate.Members.IsMember(memberId)
51}
52
53func Vote(proposalID uint64, vote daocond.Vote) {
54	DAO.Vote(proposalID, vote)
55}
56
57func Execute(proposalID uint64) {
58	DAO.Execute(proposalID)
59}
60
61func Render(path string) string {
62	return event.Render(path)
63}