event.gno
2.99 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/u376"},
30 Gatekeepers: []string{},
31 Title: "L'EARPS présente : L’appel à contribution du projet de service 2026",
32 Description: "L'EARPS vous propose un temps collectif afin de relire et modifier si nécessaire notre projet de service pour l'année 2026. L'objectif de cette rencontre serait de remettre en question nos pratiques orientées rétablissement, issues de l'approche de la réhabilitation psychosociale.\n\nSi vous êtes intéressé.e.s par l'idée de construire ensemble (usagers, aidants et soignants) ce projet de service, vous pouvez vous inscrire à cet événement ou vous manifester lors de votre prochain passage dans nos locaux.\n\nVotre concours n'est en aucun cas obligatoire et relève de votre seule volonté de participer à l'amélioration continue de nos actions en faveur de votre santé mentale.\n\nMerci pour votre attention !\n\nJ'espère que les fêtes de fin d'année pour vous ce n'est pas une période compliquée. \nEn tous cas je vous les souhaite joyeuses. \n\nBien à vous,\nMathieu pour l'EARPS",
33 ImageURI: "ipfs://bafkreicwlensf2pty5gvtlunjp4p3aszcxkx3vqgqjvdyet7ocuaj6ivgi",
34 StartDate: 1767513600,
35 EndDate: 1769356800,
36 Capacity: 10,
37 Discoverable: false,
38 GetProfileString: profile.GetStringField,
39 SetProfileString: profile.SetStringField,
40 ZenaoAdminAddr: "g1djrkw9tf4px658j85cc6fhsvm50uf9s0g6kfsm",
41 Location: &zenaov1.EventLocation{
42 Address: &zenaov1.AddressGeo{
43 Address: "Hôpital Morvan - Avenue du Maréchal Foch, 29200 Brest, France",
44 Lat: 48.39276,
45 Lng: -4.48783,
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}