event.gno
3.52 Kb · 81 lines
1package event
2
3import (
4 zenaov1 "gno.land/p/zenao/zenao/v1"
5 "gno.land/p/zenao/events"
6 "gno.land/p/zenao/basedao"
7 "gno.land/p/zenao/daokit"
8 "gno.land/p/zenao/daocond"
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 localDAO daokit.DAO
17
18 event *events.Event // XXX: needed for backward compatibility with frontend queries
19 feedId string // XXX: workaround for "unexpected zero object id" issue
20)
21
22func init() {
23 // XXX: workaround for "unexpected zero object id" issue
24 feedId = social_feed.NewFeed(cross, "main", false, feedAuth)
25}
26
27func init() {
28 conf := events.Config{
29 Organizers: []string{"gno.land/r/zenao/users/u9"},
30 Gatekeepers: []string{},
31 Title: "CINE MEETUP #13 - Mercredi 17 Décembre",
32 Description: "Rendez-vous le mercredi 17 Décembre pour la 13ᵉ édition du Ciné Meetup ! Le Ciné Meetup est un événement de networking autour des métiers du cinéma et de l’audiovisuel.\n\nQue vous soyez étudiant·e, amateur·rice ou professionnel·le aguerri·e, dans la production, la réalisation, le jeu d’acteur, le cadrage, la déco, la post-production, etc. Les soirées Ciné Meetup sont ouvertes à toutes et à tous.\n\nVous pourrez y trouver des équipes pour vos projets, poser des questions, ou tout simplement faire de nouvelles rencontres dans vos secteurs de prédilection.\n\n📆 Au programme :\n\n🕖 19h – 00h : Rencontres et échanges autour du cinéma et de l’audiovisuel. Les soirées Ciné Meetup sont avant tout des moments de partage et de convivialité, parfaits pour rencontrer la communauté, échanger, et créer de nouveaux liens dans un lieu chaleureux et bienveillant.\n\nℹ️ Infos pratiques :\n\n🕖 Date : Le mercredi 17 Décembre à partir de 19h 📍 Lieu : TDTF – 43 rue Cavendish, 75019 Paris (M5 Laumière) 🎟️ Tarif : Gratuit – réservation sur Zenao : https://zenao.io/event/75\n\n🎥 Organisation :\n\nLes soirées Ciné Meetup vous sont proposées par Samouraï Coop ⛩️ 🌐 Site officiel : https://www.samourai.world/ 📸 Instagram : https://www.instagram.com/samourai.tv 📘 Facebook : https://www.facebook.com/samouraicoop ▶️ YouTube : https://www.youtube.com/channel/UC0gExSSzyU8gTqUjoYerI8A 🛍️ Boutique : https://samourai.fun/",
33 ImageURI: "ipfs://bafybeihq5sjgkcihhzzu6zalu6yceeqzvc2ol3lnfzfxsrpdshbemml3qm",
34 StartDate: 1765994400,
35 EndDate: 1766011500,
36 Capacity: 100,
37 Discoverable: true,
38 GetProfileString: profile.GetStringField,
39 SetProfileString: profile.SetStringField,
40 ZenaoAdminAddr: "g1djrkw9tf4px658j85cc6fhsvm50uf9s0g6kfsm",
41 Location: &zenaov1.EventLocation{
42 Address: &zenaov1.AddressGeo{
43 Address: "43 Rue Cavendish, 75019 Paris, France",
44 Lat: 48.884357,
45 Lng: 2.3787982,
46 },
47 },
48 ParticipationPubkey: "",
49 CrossFn: crossFn,
50 SetImplemFn: setImplem,
51 FeedId: feedId,
52 PrivateVarName: "event",
53 }
54 event = events.NewEvent(&conf)
55 eventreg.Register(cross, func() *zenaov1.EventInfo { return event.Info() })
56}
57
58func Vote(_ realm, proposalID uint64, vote daocond.Vote) {
59 localDAO.Vote(proposalID, vote)
60}
61
62func Execute(_ realm, proposalID uint64) {
63 localDAO.Execute(proposalID)
64}
65
66func Render(path string) string {
67 return localDAO.Render(path)
68}
69
70func feedAuth() (string, bool) {
71 caller := event.DAOPrivate.CallerID() // XXX: this should be upgradable
72 return caller, basedao.MustGetMembersViewExtension(localDAO).IsMember(caller)
73}
74
75func crossFn(_ realm, cb func()) {
76 cb()
77}
78
79func setImplem(newLocalDAO daokit.DAO, newDAO daokit.DAO) {
80 localDAO, DAO = newLocalDAO, newDAO
81}