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}