Search Apps Documentation Source Content File Folder Download Copy Actions Download

uris_post.gno

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