uris_post.gno

1.96 Kb ยท 99 lines
 1package boards2
 2
 3func makeThreadURI(p *Post) string {
 4	if p.IsThread() {
 5		return makeBoardURI(p.Board) + "/" + p.ID.String()
 6	}
 7
 8	// When post is a reply use the parent thread ID
 9	return makeBoardURI(p.Board) + "/" + p.ThreadID.String()
10}
11
12func makeReplyURI(p *Post) string {
13	return makeBoardURI(p.Board) + "/" + p.ThreadID.String() + "/" + p.ID.String()
14}
15
16func makeCreateReplyURI(p *Post) string {
17	if p.IsThread() {
18		return gRealmLink.Call(
19			"CreateReply",
20			"boardID", p.Board.ID.String(),
21			"threadID", p.ThreadID.String(),
22			"replyID", "0",
23			"body", "",
24		)
25	}
26	return gRealmLink.Call(
27		"CreateReply",
28		"boardID", p.Board.ID.String(),
29		"threadID", p.ThreadID.String(),
30		"replyID", p.ID.String(),
31		"body", "",
32	)
33}
34
35func makeCreateRepostURI(p *Post) string {
36	return gRealmLink.Call(
37		"CreateRepost",
38		"boardID", p.Board.ID.String(),
39		"threadID", p.ID.String(),
40		"title", "",
41		"body", "",
42		"destinationBoardID", "",
43	)
44}
45
46func makeDeletePostURI(p *Post) string {
47	if p.IsThread() {
48		return gRealmLink.Call(
49			"DeleteThread",
50			"boardID", p.Board.ID.String(),
51			"threadID", p.ThreadID.String(),
52		)
53	}
54	return gRealmLink.Call(
55		"DeleteReply",
56		"boardID", p.Board.ID.String(),
57		"threadID", p.ThreadID.String(),
58		"replyID", p.ID.String(),
59	)
60}
61
62func makeEditPostURI(p *Post) string {
63	if p.IsThread() {
64		return gRealmLink.Call(
65			"EditThread",
66			"boardID", p.Board.ID.String(),
67			"threadID", p.ThreadID.String(),
68			"title", p.Title,
69			"body", p.Body,
70		)
71	}
72
73	return gRealmLink.Call(
74		"EditReply",
75		"boardID", p.Board.ID.String(),
76		"threadID", p.ThreadID.String(),
77		"replyID", p.ID.String(),
78		"body", p.Body,
79	)
80}
81
82func makeFlagURI(p *Post) string {
83	if p.IsThread() {
84		return gRealmLink.Call(
85			"FlagThread",
86			"boardID", p.Board.ID.String(),
87			"threadID", p.ThreadID.String(),
88			"reason", "",
89		)
90	}
91
92	return gRealmLink.Call(
93		"FlagReply",
94		"boardID", p.Board.ID.String(),
95		"threadID", p.ThreadID.String(),
96		"replyID", p.ID.String(),
97		"reason", "",
98	)
99}