migrate.gno
1.20 Kb ยท 69 lines
1package social_feed
2
3import (
4 "gno.land/p/nt/avl/rotree"
5 "gno.land/p/nt/ownable"
6)
7
8var (
9 Ownable = ownable.NewWithAddress(address("g1djrkw9tf4px658j85cc6fhsvm50uf9s0g6kfsm")) // zenao-dev-admin
10 Paused = false
11)
12
13func ID() uint64 {
14 return uint64(id)
15}
16
17func Pause(_ realm) {
18 Ownable.AssertOwnedByPrevious()
19 if Paused {
20 panic("already paused")
21 }
22 Paused = true
23}
24
25func Unpause(_ realm) {
26 Ownable.AssertOwnedByPrevious()
27 if !Paused {
28 panic("not paused")
29 }
30 Paused = false
31}
32
33func assertActive() {
34 if Paused {
35 panic("paused")
36 }
37}
38
39func ReactionsTree() rotree.IReadOnlyTree {
40 return rotree.Wrap(reactions, nil)
41}
42
43func UserReactionsTree() rotree.IReadOnlyTree {
44 return rotree.Wrap(userReactions, nil)
45}
46
47func PostsTree() rotree.IReadOnlyTree {
48 // pb objects are safe
49 return rotree.Wrap(posts, nil)
50}
51
52func PostsByFeedTree() rotree.IReadOnlyTree {
53 // pb objects are safe
54 return rotree.Wrap(postsByFeed, nil)
55}
56
57func PostsByParentTree() rotree.IReadOnlyTree {
58 // pb objects are safe
59 return rotree.Wrap(postsByParent, nil)
60}
61
62func FeedsTree() rotree.IReadOnlyTree {
63 // Feed is safe
64 return rotree.Wrap(feeds, nil)
65}
66
67func FeedsByPostTree() rotree.IReadOnlyTree {
68 return rotree.Wrap(feedsByPost, nil)
69}