libertree-model 0.9.11
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/lib/libertree/compat.rb +29 -0
- data/lib/libertree/console.rb +17 -0
- data/lib/libertree/db.rb +37 -0
- data/lib/libertree/embedder.rb +69 -0
- data/lib/libertree/embedding/custom-providers.rb +148 -0
- data/lib/libertree/model/account-settings.rb +14 -0
- data/lib/libertree/model/account.rb +487 -0
- data/lib/libertree/model/chat-message.rb +75 -0
- data/lib/libertree/model/comment-like.rb +68 -0
- data/lib/libertree/model/comment.rb +164 -0
- data/lib/libertree/model/contact-list.rb +81 -0
- data/lib/libertree/model/embed-cache.rb +6 -0
- data/lib/libertree/model/file.rb +6 -0
- data/lib/libertree/model/forest.rb +82 -0
- data/lib/libertree/model/group-member.rb +13 -0
- data/lib/libertree/model/group.rb +47 -0
- data/lib/libertree/model/has-display-text.rb +34 -0
- data/lib/libertree/model/has-searchable-text.rb +19 -0
- data/lib/libertree/model/ignored-member.rb +13 -0
- data/lib/libertree/model/invitation.rb +6 -0
- data/lib/libertree/model/is-remote-or-local.rb +30 -0
- data/lib/libertree/model/job.rb +93 -0
- data/lib/libertree/model/member.rb +222 -0
- data/lib/libertree/model/message.rb +154 -0
- data/lib/libertree/model/node.rb +22 -0
- data/lib/libertree/model/node_affiliation.rb +14 -0
- data/lib/libertree/model/node_subscription.rb +23 -0
- data/lib/libertree/model/notification.rb +71 -0
- data/lib/libertree/model/pool-post.rb +17 -0
- data/lib/libertree/model/pool.rb +172 -0
- data/lib/libertree/model/post-hidden.rb +21 -0
- data/lib/libertree/model/post-like.rb +72 -0
- data/lib/libertree/model/post-revision.rb +9 -0
- data/lib/libertree/model/post.rb +735 -0
- data/lib/libertree/model/profile.rb +25 -0
- data/lib/libertree/model/remote-storage-connection.rb +6 -0
- data/lib/libertree/model/river.rb +249 -0
- data/lib/libertree/model/server.rb +35 -0
- data/lib/libertree/model/session-account.rb +10 -0
- data/lib/libertree/model/url-expansion.rb +6 -0
- data/lib/libertree/model.rb +48 -0
- data/lib/libertree/query.rb +167 -0
- data/lib/libertree/render.rb +28 -0
- metadata +198 -0
@@ -0,0 +1,21 @@
|
|
1
|
+
module Libertree
|
2
|
+
module Model
|
3
|
+
class PostHidden < Sequel::Model(:posts_hidden)
|
4
|
+
def account
|
5
|
+
@account ||= Account[self.account_id]
|
6
|
+
end
|
7
|
+
|
8
|
+
def post
|
9
|
+
@post ||= Post[self.post_id]
|
10
|
+
end
|
11
|
+
|
12
|
+
def forests
|
13
|
+
if self.post.remote?
|
14
|
+
self.post.server.forests
|
15
|
+
else
|
16
|
+
Libertree::Model::Forest.all_local_is_member
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,72 @@
|
|
1
|
+
module Libertree
|
2
|
+
module Model
|
3
|
+
class PostLike < Sequel::Model(:post_likes)
|
4
|
+
def after_create
|
5
|
+
super
|
6
|
+
if self.local? && self.post.distribute?
|
7
|
+
Libertree::Model::Job.create_for_forests(
|
8
|
+
{
|
9
|
+
task: 'request:POST-LIKE',
|
10
|
+
params: { 'post_like_id' => self.id, }
|
11
|
+
},
|
12
|
+
*self.forests
|
13
|
+
)
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
def local?
|
18
|
+
self.remote_id.nil?
|
19
|
+
end
|
20
|
+
|
21
|
+
def member
|
22
|
+
@member ||= Member[self.member_id]
|
23
|
+
end
|
24
|
+
|
25
|
+
def post
|
26
|
+
@post ||= Post[self.post_id]
|
27
|
+
end
|
28
|
+
|
29
|
+
def before_destroy
|
30
|
+
if self.local? && self.post.distribute?
|
31
|
+
Libertree::Model::Job.create_for_forests(
|
32
|
+
{
|
33
|
+
task: 'request:POST-LIKE-DELETE',
|
34
|
+
params: { 'post_like_id' => self.id, }
|
35
|
+
},
|
36
|
+
*self.forests
|
37
|
+
)
|
38
|
+
end
|
39
|
+
super
|
40
|
+
end
|
41
|
+
|
42
|
+
# TODO: the correct method to call is "destroy"
|
43
|
+
def delete
|
44
|
+
self.before_destroy
|
45
|
+
super
|
46
|
+
end
|
47
|
+
|
48
|
+
def delete_cascade
|
49
|
+
self.before_destroy
|
50
|
+
DB.dbh[ "SELECT delete_cascade_post_like(?)", self.id ].get
|
51
|
+
end
|
52
|
+
|
53
|
+
def self.create(*args)
|
54
|
+
like = super
|
55
|
+
like.post.notify_about_like like
|
56
|
+
account = like.member.account
|
57
|
+
if account
|
58
|
+
like.post.mark_as_read_by account
|
59
|
+
end
|
60
|
+
like
|
61
|
+
end
|
62
|
+
|
63
|
+
def forests
|
64
|
+
if self.post.remote?
|
65
|
+
self.post.server.forests
|
66
|
+
else
|
67
|
+
Libertree::Model::Forest.all_local_is_member
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|