Search Apps Documentation Source Content File Folder Download Copy Actions Download State String Boolean Number Struct Map Slice Pointer Function Closure Reference Nil Package Type Interface Unknown

v0 state

Back to all declarations

realmPkgPath

untyped string

Value

"gno.land/r/gnoland/boards2/v0"

gRealmPath

untyped string

Value

"/r/gnoland/boards2/v0"

RequiredAccountAmount

int64

Value

3000000000

Notice

string

Value

""

Help

string

Value

""

gListedBoardsByID

v0.BPTree

// string(id) -> \*boards.Board

Open
OID
0dc5ef…d961:8
gListedBoardsByID details

Inspect ref

gInviteRequests

v0.BPTree

// string(board id) -> \*bptree.BPTree(address -> time.Time)

Open
OID
0dc5ef…d961:10
gInviteRequests details

Inspect ref

gBannedUsers

v0.BPTree

// string(board id) -> \*bptree.BPTree(address -> time.Time)

Open
OID
0dc5ef…d961:12
gBannedUsers details

Inspect ref

gLocked

struct{...}

TODO: Refactor globals in favor of a cleaner pattern

Open
OID
0dc5ef…d961:14
gLocked details

Inspect struct

initRealmPermissions

func(owners [].uverse.address) v0.Permissions

initRealmPermissions returns the default realm permissions.

Open
OID
0dc5ef…d961:69
initRealmPermissions details

Inspect func

getInviteRequests

func(boardID v0.ID) (*v0.BPTree, found bool)

getInviteRequests returns invite requests for a board.

Open
OID
0dc5ef…d961:71
getInviteRequests details

Inspect func

getBannedUsers

func(boardID v0.ID) (*v0.BPTree, found bool)

getBannedUsers returns banned users within a board.

Open
OID
0dc5ef…d961:72
getBannedUsers details

Inspect func

mustGetBoardByName

func(name string) *v0.Board

mustGetBoardByName returns a board or panics when it's not found.

Open
OID
0dc5ef…d961:73
mustGetBoardByName details

Inspect func

mustGetBoard

func(id v0.ID) *v0.Board

mustGetBoard returns a board or panics when it's not found.

Open
OID
0dc5ef…d961:74
mustGetBoard details

Inspect func

getThread

func(board *v0.Board, threadID v0.ID) (*v0.Post, bool)

getThread returns a board thread.

Open
OID
0dc5ef…d961:75
getThread details

Inspect func

getReply

func(thread *v0.Post, replyID v0.ID) (*v0.Post, bool)

getReply returns a thread comment or reply.

Open
OID
0dc5ef…d961:76
getReply details

Inspect func

mustGetThread

func(board *v0.Board, threadID v0.ID) *v0.Post

mustGetThread returns a thread or panics when it's not found.

Open
OID
0dc5ef…d961:77
mustGetThread details

Inspect func

mustGetReply

func(thread *v0.Post, replyID v0.ID) *v0.Post

mustGetReply returns a reply or panics when it's not found.

Open
OID
0dc5ef…d961:78
mustGetReply details

Inspect func

mustGetPermissions

func(bid v0.ID) v0.Permissions
Open
OID
0dc5ef…d961:79
mustGetPermissions details

Inspect func

parseRealmPath

func(path string) *v0.Request
Open
OID
0dc5ef…d961:80
parseRealmPath details

Inspect func

DefaultFlaggingThreshold

untyped bigint

DefaultFlaggingThreshold defines the default number of flags that hides flaggable items.

Value

(1 <untyped> bigint)

gFlaggingThresholds

v0.BPTree

// string(board ID) -> int

Open
OID
0dc5ef…d961:82
gFlaggingThresholds details

Inspect ref

flagItem

func(post *v0.Post, user .uverse.address, reason string, threshold int) bool

flagItem adds a flag to a post. Returns whether flag count threshold is reached and post can be hidden. Panics if flag count threshold was already reached.

Open
OID
0dc5ef…d961:83
flagItem details

Inspect func

getFlaggingThreshold

func(bid v0.ID) int
Open
OID
0dc5ef…d961:85
getFlaggingThreshold details

Inspect func

dateFormat

untyped string

Value

"2006-01-02 3:04pm MST"

padLeft

func(s string, length int) string
Open
OID
0dc5ef…d961:86
padLeft details

Inspect func

padZero

func(u64 uint64, length int) string
Open
OID
0dc5ef…d961:88
padZero details

Inspect func

indentBody

func(indent string, body string) string
Open
OID
0dc5ef…d961:89
indentBody details

Inspect func

indentForeignBody

func(indent string, body string, budget *int) string

indentForeignBody is the single "render a user body" operation: it sandboxes the body in a \<gno-foreign> block, indents it like indentBody, AND charges one unit against the per-render budget — so wrapping and budget-accounting can't drift apart (the \*int signals the mutation). The body renders inside the sandbox: its block structure (headings, blockquotes, lists, columns, alerts) is contained and cannot hijack realm chrome, so boards no longer needs the write-time markdown blacklist. The opener survives the "> " comment indentation at any depth (goldmark strips the "> " prefix before the block parser runs).

Open
OID
0dc5ef…d961:90
indentForeignBody details

Inspect func

summaryOf

func(text string, length int) string
Open
OID
0dc5ef…d961:91
summaryOf details

Inspect func

getRoleBadge

func(post *v0.Post) string
Open
OID
0dc5ef…d961:93
getRoleBadge details

Inspect func

Board

type

Safe view types are defined in the hub extensions package and re-exported here so callers can keep using them via this realm.

Value

v0.Board

Comment

type

Safe view types are defined in the hub extensions package and re-exported here so callers can keep using them via this realm.

Value

v0.Comment

Flag

type

Safe view types are defined in the hub extensions package and re-exported here so callers can keep using them via this realm.

Value

v0.Flag

Member

type

Safe view types are defined in the hub extensions package and re-exported here so callers can keep using them via this realm.

Value

v0.Member

Thread

type

Safe view types are defined in the hub extensions package and re-exported here so callers can keep using them via this realm.

Value

v0.Thread

GetBoard

func(id uint64) (v0.Board, bool)

GetBoard returns a safe board.

Open
OID
0dc5ef…d961:94
GetBoard details

Inspect func

GetThread

func(boardID uint64, threadID uint64) (v0.Thread, bool)

GetThread returns a safe board thread.

Open
OID
0dc5ef…d961:96
GetThread details

Inspect func

GetComment

func(boardID uint64, threadID uint64, commentID uint64) (v0.Comment, bool)

GetComment returns a safe thread comment or reply. \`commentID\` can be the ID of a top level comment or of a nested reply.

Open
OID
0dc5ef…d961:97
GetComment details

Inspect func

GetBoards

func(start int, count int) []v0.Board

GetBoards returns a list with all boards. To reverse iterate use a negative count.

Open
OID
0dc5ef…d961:98
GetBoards details

Inspect func

GetThreads

func(boardID uint64, start int, count int) []v0.Thread

GetThreads returns a list with threads of a board. To reverse iterate use a negative count. A board without thread storage has no threads, so nil is returned.

Open
OID
0dc5ef…d961:99
GetThreads details

Inspect func

GetMembers

func(boardID uint64, start int, count int) []v0.Member

GetMembers returns a list with the members of a board. A zero \`boardID\` refers to the realm, so the realm admin users are returned. A non permissioned board has no members, so nil is returned.

Open
OID
0dc5ef…d961:100
GetMembers details

Inspect func

GetReposts

func(boardID uint64, threadID uint64, start int, count int) []v0.Thread

GetReposts returns a list with repost of a board thread. To reverse iterate use a negative count. A repost is not included when its destination thread has been deleted, so the total accessible results can be shorter than the thread's RepostCount(), and a single call can return fewer than count results. (The reason for the discrepancy is that the start index can be large, and this function cannot scan all reposts up to the start index to resolve the discrepancy.)

Open
OID
0dc5ef…d961:101
GetReposts details

Inspect func

GetFlags

func(boardID uint64, threadID uint64, commentID uint64, start int, count int) []v0.Flag

GetFlags returns a list with thread or comment moderation flags. To reverse iterate use a negative count. Thread flags are returned when \`commentID\` is zero, or the flags of the comment or reply with that ID are returned otherwise.

Open
OID
0dc5ef…d961:102
GetFlags details

Inspect func

GetComments

func(boardID uint64, threadID uint64, start int, count int) []v0.Comment

GetComments returns a list with top-level comments of a thread. To reverse iterate use a negative count.

Open
OID
0dc5ef…d961:103
GetComments details

Inspect func

GetReplies

func(boardID uint64, threadID uint64, commentID uint64, start int, count int) []v0.Comment

GetReplies returns a list with the direct replies of a comment or reply. To reverse iterate use a negative count. \`commentID\` can be the ID of a top level comment or of a nested reply.

Open
OID
0dc5ef…d961:104
GetReplies details

Inspect func

getBoardThread

func(boardID uint64, threadID uint64) (*v0.Post, bool)

getBoardThread returns a board thread from their IDs.

Open
OID
0dc5ef…d961:105
getBoardThread details

Inspect func

getComment

func(boardID uint64, threadID uint64, commentID uint64) (*v0.Post, bool)

getComment returns a thread comment or reply from their IDs. It searches the thread's flat index of all comments and replies, so nested replies are addressable by ID and not only top level comments.

Open
OID
0dc5ef…d961:106
getComment details

Inspect func

BoardMeta

type

BoardMeta defines a type for board metadata.

Value

v0.BoardMeta

ThreadMeta

type

ThreadMeta defines a type for thread metadata.

Value

v0.ThreadMeta

RoleOwner

v0.Role

List of Boards2 member roles.

Value

<gnolang.StringValue>

RoleAdmin

untyped string

List of Boards2 member roles.

Value

"admin"

RoleModerator

untyped string

List of Boards2 member roles.

Value

"moderator"

RoleGuest

untyped string

List of Boards2 member roles.

Value

"guest"

PermissionCustom

v0.Permission

PermissionCustom defines an initial value for custom board permissions. When a board defines custom permissions it must starts from a value greater or equal than PermissionCustom. Custom permissions definition example: const ( PermissionCustom1 boards.Permission = iota + boards2.PermissionCustom PermissionCustom2 PermissionCustom3 )

Value

<zero>

PermissionBoardCreate

v0.Permission

List of Boards2 permissions.

Value

<zero>

PermissionBoardFlaggingUpdate

v0.Permission

List of Boards2 permissions.

Value

<zero>

PermissionBoardFreeze

v0.Permission

List of Boards2 permissions.

Value

<zero>

PermissionBoardRename

v0.Permission

List of Boards2 permissions.

Value

<zero>

PermissionMemberInvite

v0.Permission

List of Boards2 permissions.

Value

<zero>

PermissionMemberInviteRevoke

v0.Permission

List of Boards2 permissions.

Value

<zero>

PermissionMemberRemove

v0.Permission

List of Boards2 permissions.

Value

<zero>

PermissionPermissionsUpdate

v0.Permission

List of Boards2 permissions.

Value

<zero>

PermissionRealmHelpChange

v0.Permission

List of Boards2 permissions.

Value

<zero>

PermissionRealmLock

v0.Permission

List of Boards2 permissions.

Value

<zero>

PermissionRealmNotice

v0.Permission

List of Boards2 permissions.

Value

<zero>

PermissionAccountRequiredAmountChange

v0.Permission

List of Boards2 permissions.

Value

<zero>

PermissionReplyCreate

v0.Permission

List of Boards2 permissions.

Value

<zero>

PermissionReplyDelete

v0.Permission

List of Boards2 permissions.

Value

<zero>

PermissionReplyFlag

v0.Permission

List of Boards2 permissions.

Value

<zero>

PermissionRoleChange

v0.Permission

List of Boards2 permissions.

Value

<zero>

PermissionThreadCreate

v0.Permission

List of Boards2 permissions.

Value

<zero>

PermissionThreadDelete

v0.Permission

List of Boards2 permissions.

Value

<zero>

PermissionThreadEdit

v0.Permission

List of Boards2 permissions.

Value

<zero>

PermissionThreadFlag

v0.Permission

List of Boards2 permissions.

Value

<zero>

PermissionThreadFreeze

v0.Permission

List of Boards2 permissions.

Value

<zero>

PermissionThreadRepost

v0.Permission

List of Boards2 permissions.

Value

<zero>

PermissionUserBan

v0.Permission

List of Boards2 permissions.

Value

<zero>

PermissionUserUnban

v0.Permission

List of Boards2 permissions.

Value

<zero>

createBasicBoardPermissions

func(owner .uverse.address) *v0.Permissions
Open
OID
0dc5ef…d961:107
createBasicBoardPermissions details

Inspect func

createOpenBoardPermissions

func(owner .uverse.address) *v0.Permissions
Open
OID
0dc5ef…d961:109
createOpenBoardPermissions details

Inspect func

validateBasicBoardCreate

func(perms v0.Permissions, args v0.Args) .uverse.error

validateBasicBoardCreate validates PermissionBoardCreate. Expected \`args\` values: 1. Caller address 2. Board name 3. Board ID 4. Is board listed 5. Is board open

Open
OID
0dc5ef…d961:63
validateBasicBoardCreate details

Inspect func

validateBasicBoardRename

func(v0.Permissions, args v0.Args) .uverse.error

validateBasicBoardRename validates PermissionBoardRename. Expected \`args\` values: 1. Caller address 2. Board ID 3. Current board name 4. New board name

Open
OID
0dc5ef…d961:110
validateBasicBoardRename details

Inspect func

validateBasicMemberInvite

func(perms v0.Permissions, args v0.Args) .uverse.error

validateBasicMemberInvite validates PermissionMemberInvite. Expected \`args\` values: 1. Caller address 2. Board ID 3. Invites

Open
OID
0dc5ef…d961:68
validateBasicMemberInvite details

Inspect func

validateBasicRoleChange

func(perms v0.Permissions, args v0.Args) .uverse.error

validateBasicRoleChange validates PermissionRoleChange. Expected \`args\` values: 1. Caller address 2. Board ID 3. Member address 4. Role

Open
OID
0dc5ef…d961:66
validateBasicRoleChange details

Inspect func

checkBoardNameIsNotAddress

func(s string) .uverse.error
Open
OID
0dc5ef…d961:111
checkBoardNameIsNotAddress details

Inspect func

checkBoardNameBelongsToAddress

func(owner .uverse.address, name string) .uverse.error
Open
OID
0dc5ef…d961:112
checkBoardNameBelongsToAddress details

Inspect func

validateOpenBoardRename

func(v0.Permissions, args v0.Args) .uverse.error

validateOpenBoardRename validates PermissionBoardRename. Expected \`args\` values: 1. Caller address 2. Board ID 3. Current board name 4. New board name

Open
OID
0dc5ef…d961:113
validateOpenBoardRename details

Inspect func

validateOpenMemberInvite

func(perms v0.Permissions, args v0.Args) .uverse.error

validateOpenMemberInvite validates PermissionMemberInvite. Expected \`args\` values: 1. Caller address 2. Board ID 3. Invites

Open
OID
0dc5ef…d961:115
validateOpenMemberInvite details

Inspect func

validateOpenRoleChange

func(perms v0.Permissions, args v0.Args) .uverse.error

validateOpenRoleChange validates PermissionRoleChange. Expected \`args\` values: 1. Caller address 2. Board ID 3. Member address 4. Role

Open
OID
0dc5ef…d961:116
validateOpenRoleChange details

Inspect func

validateOpenThreadCreate

func(perms v0.Permissions, args v0.Args) .uverse.error

validateOpenThreadCreate validates PermissionThreadCreate. Expected \`args\` values: 1. Caller address 2. Board ID 3. Thread ID 4. Title 5. Body

Open
OID
0dc5ef…d961:117
validateOpenThreadCreate details

Inspect func

validateOpenReplyCreate

func(perms v0.Permissions, args v0.Args) .uverse.error

validateOpenReplyCreate validates PermissionReplyCreate. Expected \`args\` values: 1. Caller address 2. Board ID 3. Thread ID 4. Parent ID 5. Reply ID 6. Body

Open
OID
0dc5ef…d961:118
validateOpenReplyCreate details

Inspect func

checkAccountHasAmount

func(addr .uverse.address, amount int64) .uverse.error
Open
OID
0dc5ef…d961:119
checkAccountHasAmount details

Inspect func

MaxBoardNameLength

untyped bigint

Value

(50 <untyped> bigint)

MaxThreadTitleLength

untyped bigint

Value

(100 <untyped> bigint)

MaxThreadBodyLength

untyped bigint

Value

(40000 <untyped> bigint)

MaxReplyLength

untyped bigint

Value

(10000 <untyped> bigint)

SetHelp

func(content string)

SetHelp sets or updates boards realm help content.

Open
OID
0dc5ef…d961:233
SetHelp details

Inspect func

SetRequiredAccountAmount

func(amount int64)

SetRequiredAccountAmount sets the required account amount to interact as a non member with open boards. Amount must be given as ugnot. The amount requirement is not applied to members that were invited to an open board.

Open
OID
0dc5ef…d961:235
SetRequiredAccountAmount details

Inspect func

SetPermissions

func(boardID v0.ID, p v0.Permissions)

SetPermissions sets a permissions implementation for boards2 realm or a board.

Open
OID
0dc5ef…d961:236
SetPermissions details

Inspect func

SetRealmNotice

func(message string)

SetRealmNotice sets a notice to be displayed globally within the realm. An empty message removes the realm notice.

Open
OID
0dc5ef…d961:237
SetRealmNotice details

Inspect func

GetBoardIDFromName

func(name string) (v0.ID, found bool)

GetBoardIDFromName searches a board by name and returns its ID.

Open
OID
0dc5ef…d961:238
GetBoardIDFromName details

Inspect func

BoardCount

func() int

BoardCount returns the total number of boards.

Open
OID
0dc5ef…d961:239
BoardCount details

Inspect func

CreateBoard

func(name string, listed bool, open bool) v0.ID

CreateBoard creates a new board. Listed boards are included in the realm's list of boards. Open boards allow anyone to create threads and comment.

Open
OID
0dc5ef…d961:240
CreateBoard details

Inspect func

RenameBoard

func(name string, newName string)

RenameBoard changes the name of an existing board. A history of previous board names is kept when boards are renamed. Because of that boards are also accessible using previous name(s).

Open
OID
0dc5ef…d961:241
RenameBoard details

Inspect func

CreateThread

func(boardID v0.ID, title string, body string) v0.ID

CreateThread creates a new thread within a board.

Open
OID
0dc5ef…d961:242
CreateThread details

Inspect func

CreateReply

func(boardID v0.ID, threadID v0.ID, replyID v0.ID, body string) v0.ID

CreateReply creates a new comment or reply within a thread. The value of \`replyID\` is only required when creating a reply of another reply.

Open
OID
0dc5ef…d961:243
CreateReply details

Inspect func

CreateRepost

func(boardID v0.ID, threadID v0.ID, destinationBoardID v0.ID, title string, body string) v0.ID

CreateRepost reposts a thread into another board.

Open
OID
0dc5ef…d961:244
CreateRepost details

Inspect func

DeleteThread

func(boardID v0.ID, threadID v0.ID)

DeleteThread deletes a thread from a board. Threads can be deleted by the users who created them or otherwise by users with special permissions.

Open
OID
0dc5ef…d961:245
DeleteThread details

Inspect func

DeleteReply

func(boardID v0.ID, threadID v0.ID, replyID v0.ID)

DeleteReply deletes a reply from a thread. Replies can be deleted by the users who created them or otherwise by users with special permissions. Soft deletion is used when the deleted reply contains sub replies, in which case the reply content is replaced by a text informing that reply has been deleted to avoid deleting sub-replies.

Open
OID
0dc5ef…d961:246
DeleteReply details

Inspect func

EditThread

func(boardID v0.ID, threadID v0.ID, title string, body string)

EditThread updates the title and body of a thread. Threads can be updated by the users who created them or otherwise by users with special permissions.

Open
OID
0dc5ef…d961:247
EditThread details

Inspect func

EditReply

func(boardID v0.ID, threadID v0.ID, replyID v0.ID, body string)

EditReply updates the body of a comment or reply. Replies can be updated only by the users who created them.

Open
OID
0dc5ef…d961:248
EditReply details

Inspect func

RemoveMember

func(boardID v0.ID, member .uverse.address)

RemoveMember removes a member from the realm or a board. Board ID is only required when removing a member from board.

Open
OID
0dc5ef…d961:249
RemoveMember details

Inspect func

IsMember

func(boardID v0.ID, user .uverse.address) bool

IsMember checks if a user is a member of the realm or a board. Board ID is only required when checking if a user is a member of a board.

Open
OID
0dc5ef…d961:250
IsMember details

Inspect func

HasMemberRole

func(boardID v0.ID, member .uverse.address, role v0.Role) bool

HasMemberRole checks if a realm or board member has a specific role assigned. Board ID is only required when checking a member of a board.

Open
OID
0dc5ef…d961:251
HasMemberRole details

Inspect func

ChangeMemberRole

func(boardID v0.ID, member .uverse.address, role v0.Role)

ChangeMemberRole changes the role of a realm or board member. Board ID is only required when changing the role for a member of a board.

Open
OID
0dc5ef…d961:252
ChangeMemberRole details

Inspect func

assertMemberAddressIsValid

func(member .uverse.address)
Open
OID
0dc5ef…d961:253
assertMemberAddressIsValid details

Inspect func

assertUserAddressIsValid

func(user .uverse.address)
Open
OID
0dc5ef…d961:254
assertUserAddressIsValid details

Inspect func

assertBoardExists

func(id v0.ID)
Open
OID
0dc5ef…d961:255
assertBoardExists details

Inspect func

assertBoardIsNotFrozen

func(b *v0.Board)
Open
OID
0dc5ef…d961:256
assertBoardIsNotFrozen details

Inspect func

assertIsValidBoardName

func(name string)
Open
OID
0dc5ef…d961:257
assertIsValidBoardName details

Inspect func

assertThreadIsNotFrozen

func(t *v0.Post)
Open
OID
0dc5ef…d961:258
assertThreadIsNotFrozen details

Inspect func

assertNameIsNotEmpty

func(name string)
Open
OID
0dc5ef…d961:259
assertNameIsNotEmpty details

Inspect func

assertTitleIsValid

func(title string)
Open
OID
0dc5ef…d961:260
assertTitleIsValid details

Inspect func

assertBodyIsNotEmpty

func(body string)
Open
OID
0dc5ef…d961:261
assertBodyIsNotEmpty details

Inspect func

assertBoardNameNotExists

func(name string)
Open
OID
0dc5ef…d961:262
assertBoardNameNotExists details

Inspect func

assertThreadExists

func(b *v0.Board, threadID v0.ID)
Open
OID
0dc5ef…d961:263
assertThreadExists details

Inspect func

assertReplyExists

func(thread *v0.Post, replyID v0.ID)
Open
OID
0dc5ef…d961:264
assertReplyExists details

Inspect func

assertThreadIsVisible

func(thread *v0.Post)
Open
OID
0dc5ef…d961:265
assertThreadIsVisible details

Inspect func

assertReplyIsVisible

func(thread *v0.Post)
Open
OID
0dc5ef…d961:266
assertReplyIsVisible details

Inspect func

assertThreadBodyIsValid

func(body string)
Open
OID
0dc5ef…d961:267
assertThreadBodyIsValid details

Inspect func

assertReplyBodyIsValid

func(body string)
Open
OID
0dc5ef…d961:268
assertReplyBodyIsValid details

Inspect func

assertMembersUpdateIsEnabled

func(boardID v0.ID)
Open
OID
0dc5ef…d961:269
assertMembersUpdateIsEnabled details

Inspect func

BanDay

uint

Constants for different banning periods.

Value

24

BanWeek

uint

Constants for different banning periods.

Value

168

BanYear

uint

Constants for different banning periods.

Value

8760

Ban

func(boardID v0.ID, user .uverse.address, hours uint, reason string)

Ban bans a user from a board for a period of time. Only invited guest members and external users can be banned. Banning board owners, admins and moderators is not allowed.

Open
OID
0dc5ef…d961:270
Ban details

Inspect func

Unban

func(boardID v0.ID, user .uverse.address, reason string)

Unban unbans a user from a board.

Open
OID
0dc5ef…d961:272
Unban details

Inspect func

IsBanned

func(boardID v0.ID, user .uverse.address) bool

IsBanned checks if a user is banned from a board.

Open
OID
0dc5ef…d961:273
IsBanned details

Inspect func

assertAddressIsValid

func(addr .uverse.address)
Open
OID
0dc5ef…d961:274
assertAddressIsValid details

Inspect func

assertUserIsNotBanned

func(boardID v0.ID, user .uverse.address)
Open
OID
0dc5ef…d961:275
assertUserIsNotBanned details

Inspect func

SetFlaggingThreshold

func(boardID v0.ID, threshold int)

SetFlaggingThreshold sets the number of flags required to hide a thread or comment. Threshold is only applicable within the board where it's setted.

Open
OID
0dc5ef…d961:276
SetFlaggingThreshold details

Inspect func

GetFlaggingThreshold

func(boardID v0.ID) int

GetFlaggingThreshold returns the number of flags required to hide a thread or comment within a board.

Open
OID
0dc5ef…d961:278
GetFlaggingThreshold details

Inspect func

FlagThread

func(boardID v0.ID, threadID v0.ID, reason string)

FlagThread adds a new flag to a thread. Flagging requires special permissions and hides the thread when the number of flags reaches a pre-defined flagging threshold.

Open
OID
0dc5ef…d961:279
FlagThread details

Inspect func

FlagReply

func(boardID v0.ID, threadID v0.ID, replyID v0.ID, reason string)

FlagReply adds a new flag to a comment or reply. Flagging requires special permissions and hides the comment or reply when the number of flags reaches a pre-defined flagging threshold.

Open
OID
0dc5ef…d961:280
FlagReply details

Inspect func

FreezeBoard

func(boardID v0.ID)

FreezeBoard freezes a board so no more threads and comments can be created or modified.

Open
OID
0dc5ef…d961:281
FreezeBoard details

Inspect func

UnfreezeBoard

func(boardID v0.ID)

UnfreezeBoard removes frozen status from a board.

Open
OID
0dc5ef…d961:283
UnfreezeBoard details

Inspect func

IsBoardFrozen

func(boardID v0.ID) bool

IsBoardFrozen checks if a board has been frozen.

Open
OID
0dc5ef…d961:284
IsBoardFrozen details

Inspect func

FreezeThread

func(boardID v0.ID, threadID v0.ID)

FreezeThread freezes a thread so thread cannot be replied, modified or deleted. Fails if board is frozen.

Open
OID
0dc5ef…d961:285
FreezeThread details

Inspect func

UnfreezeThread

func(boardID v0.ID, threadID v0.ID)

UnfreezeThread removes frozen status from a thread. Fails if board is frozen.

Open
OID
0dc5ef…d961:286
UnfreezeThread details

Inspect func

IsThreadFrozen

func(boardID v0.ID, threadID v0.ID) bool

IsThreadFrozen checks if a thread has been frozen. Returns true if board is frozen.

Open
OID
0dc5ef…d961:287
IsThreadFrozen details

Inspect func

setBoardReadonly

func(int, rlm .uverse.realm, boardID v0.ID, readonly bool)
Open
OID
0dc5ef…d961:288
setBoardReadonly details

Inspect func

setThreadReadonly

func(int, rlm .uverse.realm, boardID v0.ID, threadID v0.ID, readonly bool)
Open
OID
0dc5ef…d961:289
setThreadReadonly details

Inspect func

Invite

type

Invite contains a user invitation.

Value

v0.Invite

InviteMember

func(boardID v0.ID, user .uverse.address, role v0.Role)

InviteMember adds a member to the realm or to a board. A role can optionally be specified to be assigned to the new member.

Open
OID
0dc5ef…d961:290
InviteMember details

Inspect func

InviteMembers

func(boardID v0.ID, invites []v0.Invite)

InviteMembers adds one or more members to the realm or to a board. Board ID is only required when inviting a member to a specific board.

Open
OID
0dc5ef…d961:292
InviteMembers details

Inspect func

RequestInvite

func(boardID v0.ID)

RequestInvite request to be invited to a board.

Open
OID
0dc5ef…d961:293
RequestInvite details

Inspect func

AcceptInvite

func(boardID v0.ID, user .uverse.address)

AcceptInvite accepts a board invite request.

Open
OID
0dc5ef…d961:294
AcceptInvite details

Inspect func

RevokeInvite

func(boardID v0.ID, user .uverse.address)

RevokeInvite revokes a board invite request.

Open
OID
0dc5ef…d961:295
RevokeInvite details

Inspect func

inviteMembers

func(int, rlm .uverse.realm, boardID v0.ID, invites []v0.Invite)
Open
OID
0dc5ef…d961:296
inviteMembers details

Inspect func

assertInviteRequestExists

func(boardID v0.ID, user .uverse.address)
Open
OID
0dc5ef…d961:297
assertInviteRequestExists details

Inspect func

assertNoDuplicatedInvites

func(invites []v0.Invite)
Open
OID
0dc5ef…d961:298
assertNoDuplicatedInvites details

Inspect func

LockRealm

func(lockRealmMembers bool)

LockRealm locks the realm making it readonly. WARNING: Realm can't be unlocked once locked. Realm can also be locked without locking realm members. Realm members can be locked when locking the realm or afterwards. This is relevant for two reasons, one so that members can be modified after the lock. The other is for realm owners, who can delete threads and comments after the lock.

Open
OID
0dc5ef…d961:299
LockRealm details

Inspect func

IsRealmLocked

func() bool

IsRealmLocked checks if boards realm has been locked.

Open
OID
0dc5ef…d961:301
IsRealmLocked details

Inspect func

AreRealmMembersLocked

func() bool

AreRealmMembersLocked checks if realm members have been locked.

Open
OID
0dc5ef…d961:302
AreRealmMembersLocked details

Inspect func

assertRealmIsNotLocked

func()
Open
OID
0dc5ef…d961:303
assertRealmIsNotLocked details

Inspect func

assertRealmMembersAreNotLocked

func()
Open
OID
0dc5ef…d961:304
assertRealmMembersAreNotLocked details

Inspect func

pageSizeDefault

untyped bigint

Value

(6 <untyped> bigint)

pageSizeReplies

untyped bigint

Value

(10 <untyped> bigint)

pageSizeFlat

untyped bigint

Value

(50 <untyped> bigint)

maxRenderedBodies

func() int

maxRenderedBodies caps user bodies wrapped in \<gno-foreign> per page render, kept a margin under gnoweb's per-render foreign-block cap (foreign.MaxBlocksPerRender, sourced from chain/markdown so it can't drift from the renderer). On reaching it the tree stops descending and shows a truncation notice instead of letting the renderer blank comments past the cap. The margin absorbs the OP, repost source bodies, and chrome. Computed lazily (a func, not a package-level var) so it tracks the native cap across chain upgrades: a var initializer runs once at realm-init and persists, freezing a stale value if the underlying MaxBlocksPerRender ever changes; recomputing per render re-reads it.

Open
OID
0dc5ef…d961:305
maxRenderedBodies details

Inspect func

menuManageBoard

untyped string

Value

"manageBoard"

createBoardURI

string

Value

"/r/gnoland/boards2/v0:create-board"

adminUsersURI

string

Value

"/r/gnoland/boards2/v0:admin-users"

helpURI

string

Value

"/r/gnoland/boards2/v0:help"

renderHelp

func(res *v0.ResponseWriter, *v0.Request)
Open
OID
0dc5ef…d961:312
renderHelp details

Inspect func

renderBoardsList

func(res *v0.ResponseWriter, req *v0.Request)
Open
OID
0dc5ef…d961:313
renderBoardsList details

Inspect func

renderBoardListMenu

func(res *v0.ResponseWriter, req *v0.Request)
Open
OID
0dc5ef…d961:314
renderBoardListMenu details

Inspect func

renderCreateBoard

func(res *v0.ResponseWriter, *v0.Request)
Open
OID
0dc5ef…d961:315
renderCreateBoard details

Inspect func

renderMembers

func(res *v0.ResponseWriter, req *v0.Request)
Open
OID
0dc5ef…d961:316
renderMembers details

Inspect func

renderInvites

func(res *v0.ResponseWriter, req *v0.Request)
Open
OID
0dc5ef…d961:317
renderInvites details

Inspect func

renderBannedUsers

func(res *v0.ResponseWriter, req *v0.Request)
Open
OID
0dc5ef…d961:318
renderBannedUsers details

Inspect func

infoAlert

func(title string, msg string) string
Open
OID
0dc5ef…d961:319
infoAlert details

Inspect func

rolesToString

func(roles []v0.Role) string
Open
OID
0dc5ef…d961:320
rolesToString details

Inspect func

menuURL

func(name string) string
Open
OID
0dc5ef…d961:321
menuURL details

Inspect func

getCurrentMenu

func(rawURL string) string
Open
OID
0dc5ef…d961:322
getCurrentMenu details

Inspect func

renderBoard

func(res *v0.ResponseWriter, req *v0.Request)
Open
OID
0dc5ef…d961:323
renderBoard details

Inspect func

renderSubMenu

func(items []string) string

renderSubMenu renders a sub-menu with a distinct visual pattern.

Open
OID
0dc5ef…d961:325
renderSubMenu details

Inspect func

renderBoardMenu

func(board *v0.Board, req *v0.Request) string
Open
OID
0dc5ef…d961:326
renderBoardMenu details

Inspect func

renderInviteMember

func(res *v0.ResponseWriter, req *v0.Request)
Open
OID
0dc5ef…d961:327
renderInviteMember details

Inspect func

renderPost

func(post *v0.Post, path string, indent string, levels int, budget *int, desc bool) string

renderPost renders a post and (unless it's a leaf or capped) its replies. desc is the page's sort order, forwarded so a comment's nested inline children (renderSubReplies) match the order of the view they appear in. It is unused for the top-level/re-root call (path != "" routes to renderTopLevelReplies, which derives the order from the path); those callers pass false.

Open
OID
0dc5ef…d961:328
renderPost details

Inspect func

renderPostContent

func(post *v0.Post, indent string, levels int, budget *int) string
Open
OID
0dc5ef…d961:330
renderPostContent details

Inspect func

renderPostInner

func(post *v0.Post, path string) string
Open
OID
0dc5ef…d961:331
renderPostInner details

Inspect func

renderSourcePost

func(post *v0.Post, indent string, budget *int) (string, *v0.Post)
Open
OID
0dc5ef…d961:332
renderSourcePost details

Inspect func

renderFlagPost

func(res *v0.ResponseWriter, req *v0.Request)
Open
OID
0dc5ef…d961:333
renderFlagPost details

Inspect func

renderFlaggingReasonsPost

func(res *v0.ResponseWriter, req *v0.Request)
Open
OID
0dc5ef…d961:334
renderFlaggingReasonsPost details

Inspect func

renderReplyPost

func(res *v0.ResponseWriter, req *v0.Request)
Open
OID
0dc5ef…d961:335
renderReplyPost details

Inspect func

renderReply

func(res *v0.ResponseWriter, req *v0.Request)
Open
OID
0dc5ef…d961:336
renderReply details

Inspect func

newClampedPager

func(path string, size int, pageSize int) v0.Pager

newClampedPager builds a pager, clamping an out-of-range, zero, negative, or malformed ?page= to the last valid page instead of erroring. pager.New rejects page==0, page>pageCount, and non-numeric pages with ErrInvalidPageNumber, which the callers would otherwise surface as a panic (aborting the whole render) or an error page in place of the list. A NEGATIVE page is not rejected by pager.New (it only checks ==0 and >pageCount), so it must be caught here too — otherwise it renders a broken "page -N of M" picker with both arrows disabled. Triggers on a stale deep link after deletions, or a hand-edited URL.

Open
OID
0dc5ef…d961:338
newClampedPager details

Inspect func

renderTopLevelReplies

func(post *v0.Post, path string, indent string, levels int, budget *int) string
Open
OID
0dc5ef…d961:339
renderTopLevelReplies details

Inspect func

renderSubReplies

func(post *v0.Post, indent string, levels int, budget *int, desc bool) string
Open
OID
0dc5ef…d961:340
renderSubReplies details

Inspect func

renderEditReply

func(res *v0.ResponseWriter, req *v0.Request)
Open
OID
0dc5ef…d961:341
renderEditReply details

Inspect func

maxFlatIndentDepth

untyped bigint

maxFlatIndentDepth caps the blockquote nesting in the flat comment view so deep reply chains stay readable; comments deeper than this still render, just at the capped indent.

Value

(6 <untyped> bigint)

renderThread

func(res *v0.ResponseWriter, req *v0.Request)
Open
OID
0dc5ef…d961:342
renderThread details

Inspect func

renderThreadFlat

func(thread *v0.Post, path string, budget *int) string

renderThreadFlat renders every comment in the thread as a single flat, depth-indented, paginated list backed by ThreadMeta.AllReplies (the index that already holds every reply at every depth). Unlike the recursive threaded view — which bounds work with the render budget and truncates a large subtree — this view is reachable to the very last comment: each comment renders one \<gno-foreign> block (no recursion), so a fixed page size (pageSizeFlat) plus the OP stays well under the budget regardless of nesting, and the pager always advances. ?order=desc shows newest first, so its page 1 is the latest comments.

Open
OID
0dc5ef…d961:344
renderThreadFlat details

Inspect func

flatIndent

func(thread *v0.Post, reply *v0.Post) string

flatIndent returns the blockquote indent for a reply in the flat view, derived from its depth below the thread root (depth 1 = a direct reply to the thread), capped at maxFlatIndentDepth.

Open
OID
0dc5ef…d961:345
flatIndent details

Inspect func

renderThreadSummary

func(thread *v0.Post) string
Open
OID
0dc5ef…d961:346
renderThreadSummary details

Inspect func

renderCreateThread

func(res *v0.ResponseWriter, req *v0.Request)
Open
OID
0dc5ef…d961:347
renderCreateThread details

Inspect func

renderEditThread

func(res *v0.ResponseWriter, req *v0.Request)
Open
OID
0dc5ef…d961:348
renderEditThread details

Inspect func

renderRepostThread

func(res *v0.ResponseWriter, req *v0.Request)
Open
OID
0dc5ef…d961:349
renderRepostThread details

Inspect func

makeBoardURI

func(b *v0.Board) string
Open
OID
0dc5ef…d961:350
makeBoardURI details

Inspect func

makeFreezeBoardURI

func(b *v0.Board) string
Open
OID
0dc5ef…d961:352
makeFreezeBoardURI details

Inspect func

makeUnfreezeBoardURI

func(b *v0.Board) string
Open
OID
0dc5ef…d961:353
makeUnfreezeBoardURI details

Inspect func

makeInviteMemberURI

func(b *v0.Board) string
Open
OID
0dc5ef…d961:354
makeInviteMemberURI details

Inspect func

makeCreateThreadURI

func(b *v0.Board) string
Open
OID
0dc5ef…d961:355
makeCreateThreadURI details

Inspect func

makeRequestInviteURI

func(b *v0.Board) string
Open
OID
0dc5ef…d961:356
makeRequestInviteURI details

Inspect func

makeThreadURI

func(p *v0.Post) string
Open
OID
0dc5ef…d961:357
makeThreadURI details

Inspect func

makeThreadFlatURI

func(p *v0.Post) string

makeThreadFlatURI links to the thread's flat "all comments" view. Works for a thread or any reply within it (makeThreadURI resolves to the thread).

Open
OID
0dc5ef…d961:359
makeThreadFlatURI details

Inspect func

makeReplyURI

func(p *v0.Post) string
Open
OID
0dc5ef…d961:360
makeReplyURI details

Inspect func

makeCreateReplyURI

func(p *v0.Post) string
Open
OID
0dc5ef…d961:361
makeCreateReplyURI details

Inspect func

makeCreateRepostURI

func(p *v0.Post) string
Open
OID
0dc5ef…d961:362
makeCreateRepostURI details

Inspect func

makeDeletePostURI

func(p *v0.Post) string
Open
OID
0dc5ef…d961:363
makeDeletePostURI details

Inspect func

makeEditPostURI

func(p *v0.Post) string
Open
OID
0dc5ef…d961:364
makeEditPostURI details

Inspect func

makeFlagURI

func(p *v0.Post) string
Open
OID
0dc5ef…d961:365
makeFlagURI details

Inspect func

makeFlaggingReasonsURI

func(p *v0.Post) string
Open
OID
0dc5ef…d961:366
makeFlaggingReasonsURI details

Inspect func
realmPkgPath : untyped string ="gno.land/r/gnoland/boards2/v0"
gRealmPath : untyped string ="/r/gnoland/boards2/v0"
RequiredAccountAmount : int64 =3000000000
Notice : string =""
Help : string =""
gListedBoardsByID : v0.BPTree Inspect
gInviteRequests : v0.BPTree Inspect
gBannedUsers : v0.BPTree Inspect
gLocked : struct{...} Inspect
gBoards : *v0.storage Inspect
gBoardsSequence : *v0.idGenerator Inspect
gPerms : *v0.Permissions Inspect
initRealmPermissions : func(owners [].uverse.address) v0.Permissions Inspect
getInviteRequests : func(boardID v0.ID) (*v0.BPTree, found bool) Inspect
getBannedUsers : func(boardID v0.ID) (*v0.BPTree, found bool) Inspect
mustGetBoardByName : func(name string) *v0.Board Inspect
mustGetBoard : func(id v0.ID) *v0.Board Inspect
getThread : func(board *v0.Board, threadID v0.ID) (*v0.Post, bool) Inspect
getReply : func(thread *v0.Post, replyID v0.ID) (*v0.Post, bool) Inspect
mustGetThread : func(board *v0.Board, threadID v0.ID) *v0.Post Inspect
mustGetReply : func(thread *v0.Post, replyID v0.ID) *v0.Post Inspect
mustGetPermissions : func(bid v0.ID) v0.Permissions Inspect
parseRealmPath : func(path string) *v0.Request Inspect
DefaultFlaggingThreshold : untyped bigint =(1 <untyped> bigint)
gFlaggingThresholds : v0.BPTree Inspect
flagItem : func(post *v0.Post, user .uverse.address, reason string, threshold int) bool Inspect
getFlaggingThreshold : func(bid v0.ID) int Inspect
dateFormat : untyped string ="2006-01-02 3:04pm MST"
padLeft : func(s string, length int) string Inspect
padZero : func(u64 uint64, length int) string Inspect
indentBody : func(indent string, body string) string Inspect
indentForeignBody : func(indent string, body string, budget *int) string Inspect
summaryOf : func(text string, length int) string Inspect
getRoleBadge : func(post *v0.Post) string Inspect
Board : type =v0.Board
Comment : type =v0.Comment
Flag : type =v0.Flag
Member : type =v0.Member
Thread : type =v0.Thread
GetBoard : func(id uint64) (v0.Board, bool) Inspect
GetThread : func(boardID uint64, threadID uint64) (v0.Thread, bool) Inspect
GetComment : func(boardID uint64, threadID uint64, commentID uint64) (v0.Comment, bool) Inspect
GetBoards : func(start int, count int) []v0.Board Inspect
GetThreads : func(boardID uint64, start int, count int) []v0.Thread Inspect
GetMembers : func(boardID uint64, start int, count int) []v0.Member Inspect
GetReposts : func(boardID uint64, threadID uint64, start int, count int) []v0.Thread Inspect
GetFlags : func(boardID uint64, threadID uint64, commentID uint64, start int, count int) []v0.Flag Inspect
GetComments : func(boardID uint64, threadID uint64, start int, count int) []v0.Comment Inspect
GetReplies : func(boardID uint64, threadID uint64, commentID uint64, start int, count int) []v0.Comment Inspect
getBoardThread : func(boardID uint64, threadID uint64) (*v0.Post, bool) Inspect
getComment : func(boardID uint64, threadID uint64, commentID uint64) (*v0.Post, bool) Inspect
BoardMeta : type =v0.BoardMeta
ThreadMeta : type =v0.ThreadMeta
RoleOwner : v0.Role =<gnolang.StringValue>
RoleAdmin : untyped string ="admin"
RoleModerator : untyped string ="moderator"
RoleGuest : untyped string ="guest"
PermissionCustom : v0.Permission =<zero>
PermissionBoardCreate : v0.Permission =<zero>
PermissionBoardFlaggingUpdate : v0.Permission =<zero>
PermissionBoardFreeze : v0.Permission =<zero>
PermissionBoardRename : v0.Permission =<zero>
PermissionMemberInvite : v0.Permission =<zero>
PermissionMemberInviteRevoke : v0.Permission =<zero>
PermissionMemberRemove : v0.Permission =<zero>
PermissionPermissionsUpdate : v0.Permission =<zero>
PermissionRealmHelpChange : v0.Permission =<zero>
PermissionRealmLock : v0.Permission =<zero>
PermissionRealmNotice : v0.Permission =<zero>
PermissionAccountRequiredAmountChange : v0.Permission =<zero>
PermissionReplyCreate : v0.Permission =<zero>
PermissionReplyDelete : v0.Permission =<zero>
PermissionReplyFlag : v0.Permission =<zero>
PermissionRoleChange : v0.Permission =<zero>
PermissionThreadCreate : v0.Permission =<zero>
PermissionThreadDelete : v0.Permission =<zero>
PermissionThreadEdit : v0.Permission =<zero>
PermissionThreadFlag : v0.Permission =<zero>
PermissionThreadFreeze : v0.Permission =<zero>
PermissionThreadRepost : v0.Permission =<zero>
PermissionUserBan : v0.Permission =<zero>
PermissionUserUnban : v0.Permission =<zero>
createBasicBoardPermissions : func(owner .uverse.address) *v0.Permissions Inspect
createOpenBoardPermissions : func(owner .uverse.address) *v0.Permissions Inspect
validateBasicBoardCreate : func(perms v0.Permissions, args v0.Args) .uverse.error Inspect
validateBasicBoardRename : func(v0.Permissions, args v0.Args) .uverse.error Inspect
validateBasicMemberInvite : func(perms v0.Permissions, args v0.Args) .uverse.error Inspect
validateBasicRoleChange : func(perms v0.Permissions, args v0.Args) .uverse.error Inspect
checkBoardNameIsNotAddress : func(s string) .uverse.error Inspect
checkBoardNameBelongsToAddress : func(owner .uverse.address, name string) .uverse.error Inspect
validateOpenBoardRename : func(v0.Permissions, args v0.Args) .uverse.error Inspect
validateOpenMemberInvite : func(perms v0.Permissions, args v0.Args) .uverse.error Inspect
validateOpenRoleChange : func(perms v0.Permissions, args v0.Args) .uverse.error Inspect
validateOpenThreadCreate : func(perms v0.Permissions, args v0.Args) .uverse.error Inspect
validateOpenReplyCreate : func(perms v0.Permissions, args v0.Args) .uverse.error Inspect
checkAccountHasAmount : func(addr .uverse.address, amount int64) .uverse.error Inspect
MaxBoardNameLength : untyped bigint =(50 <untyped> bigint)
MaxThreadTitleLength : untyped bigint =(100 <untyped> bigint)
MaxThreadBodyLength : untyped bigint =(40000 <untyped> bigint)
MaxReplyLength : untyped bigint =(10000 <untyped> bigint)
reBoardName : *regexp.Regexp Inspect
SetHelp : func(content string) Inspect
SetRequiredAccountAmount : func(amount int64) Inspect
SetPermissions : func(boardID v0.ID, p v0.Permissions) Inspect
SetRealmNotice : func(message string) Inspect
GetBoardIDFromName : func(name string) (v0.ID, found bool) Inspect
BoardCount : func() int Inspect
CreateBoard : func(name string, listed bool, open bool) v0.ID Inspect
RenameBoard : func(name string, newName string) Inspect
CreateThread : func(boardID v0.ID, title string, body string) v0.ID Inspect
CreateReply : func(boardID v0.ID, threadID v0.ID, replyID v0.ID, body string) v0.ID Inspect
CreateRepost : func(boardID v0.ID, threadID v0.ID, destinationBoardID v0.ID, title string, body string) v0.ID Inspect
DeleteThread : func(boardID v0.ID, threadID v0.ID) Inspect
DeleteReply : func(boardID v0.ID, threadID v0.ID, replyID v0.ID) Inspect
EditThread : func(boardID v0.ID, threadID v0.ID, title string, body string) Inspect
EditReply : func(boardID v0.ID, threadID v0.ID, replyID v0.ID, body string) Inspect
RemoveMember : func(boardID v0.ID, member .uverse.address) Inspect
IsMember : func(boardID v0.ID, user .uverse.address) bool Inspect
HasMemberRole : func(boardID v0.ID, member .uverse.address, role v0.Role) bool Inspect
ChangeMemberRole : func(boardID v0.ID, member .uverse.address, role v0.Role) Inspect
assertMemberAddressIsValid : func(member .uverse.address) Inspect
assertUserAddressIsValid : func(user .uverse.address) Inspect
assertBoardExists : func(id v0.ID) Inspect
assertBoardIsNotFrozen : func(b *v0.Board) Inspect
assertIsValidBoardName : func(name string) Inspect
assertThreadIsNotFrozen : func(t *v0.Post) Inspect
assertNameIsNotEmpty : func(name string) Inspect
assertTitleIsValid : func(title string) Inspect
assertBodyIsNotEmpty : func(body string) Inspect
assertBoardNameNotExists : func(name string) Inspect
assertThreadExists : func(b *v0.Board, threadID v0.ID) Inspect
assertReplyExists : func(thread *v0.Post, replyID v0.ID) Inspect
assertThreadIsVisible : func(thread *v0.Post) Inspect
assertReplyIsVisible : func(thread *v0.Post) Inspect
assertThreadBodyIsValid : func(body string) Inspect
assertReplyBodyIsValid : func(body string) Inspect
assertMembersUpdateIsEnabled : func(boardID v0.ID) Inspect
BanDay : uint =24
BanWeek : uint =168
BanYear : uint =8760
Ban : func(boardID v0.ID, user .uverse.address, hours uint, reason string) Inspect
Unban : func(boardID v0.ID, user .uverse.address, reason string) Inspect
IsBanned : func(boardID v0.ID, user .uverse.address) bool Inspect
assertAddressIsValid : func(addr .uverse.address) Inspect
assertUserIsNotBanned : func(boardID v0.ID, user .uverse.address) Inspect
SetFlaggingThreshold : func(boardID v0.ID, threshold int) Inspect
GetFlaggingThreshold : func(boardID v0.ID) int Inspect
FlagThread : func(boardID v0.ID, threadID v0.ID, reason string) Inspect
FlagReply : func(boardID v0.ID, threadID v0.ID, replyID v0.ID, reason string) Inspect
FreezeBoard : func(boardID v0.ID) Inspect
UnfreezeBoard : func(boardID v0.ID) Inspect
IsBoardFrozen : func(boardID v0.ID) bool Inspect
FreezeThread : func(boardID v0.ID, threadID v0.ID) Inspect
UnfreezeThread : func(boardID v0.ID, threadID v0.ID) Inspect
IsThreadFrozen : func(boardID v0.ID, threadID v0.ID) bool Inspect
setBoardReadonly : func(int, rlm .uverse.realm, boardID v0.ID, readonly bool) Inspect
setThreadReadonly : func(int, rlm .uverse.realm, boardID v0.ID, threadID v0.ID, readonly bool) Inspect
Invite : type =v0.Invite
InviteMember : func(boardID v0.ID, user .uverse.address, role v0.Role) Inspect
InviteMembers : func(boardID v0.ID, invites []v0.Invite) Inspect
RequestInvite : func(boardID v0.ID) Inspect
AcceptInvite : func(boardID v0.ID, user .uverse.address) Inspect
RevokeInvite : func(boardID v0.ID, user .uverse.address) Inspect
inviteMembers : func(int, rlm .uverse.realm, boardID v0.ID, invites []v0.Invite) Inspect
assertInviteRequestExists : func(boardID v0.ID, user .uverse.address) Inspect
assertNoDuplicatedInvites : func(invites []v0.Invite) Inspect
LockRealm : func(lockRealmMembers bool) Inspect
IsRealmLocked : func() bool Inspect
AreRealmMembersLocked : func() bool Inspect
assertRealmIsNotLocked : func() Inspect
assertRealmMembersAreNotLocked : func() Inspect
pageSizeDefault : untyped bigint =(6 <untyped> bigint)
pageSizeReplies : untyped bigint =(10 <untyped> bigint)
pageSizeFlat : untyped bigint =(50 <untyped> bigint)
maxRenderedBodies : func() int Inspect
menuManageBoard : untyped string ="manageBoard"
createBoardURI : string ="/r/gnoland/boards2/v0:create-board"
adminUsersURI : string ="/r/gnoland/boards2/v0:admin-users"
helpURI : string ="/r/gnoland/boards2/v0:help"
Render : func(path string) string Inspect
renderHelp : func(res *v0.ResponseWriter, *v0.Request) Inspect
renderBoardsList : func(res *v0.ResponseWriter, req *v0.Request) Inspect
renderBoardListMenu : func(res *v0.ResponseWriter, req *v0.Request) Inspect
renderCreateBoard : func(res *v0.ResponseWriter, *v0.Request) Inspect
renderMembers : func(res *v0.ResponseWriter, req *v0.Request) Inspect
renderInvites : func(res *v0.ResponseWriter, req *v0.Request) Inspect
renderBannedUsers : func(res *v0.ResponseWriter, req *v0.Request) Inspect
infoAlert : func(title string, msg string) string Inspect
rolesToString : func(roles []v0.Role) string Inspect
menuURL : func(name string) string Inspect
getCurrentMenu : func(rawURL string) string Inspect
renderBoard : func(res *v0.ResponseWriter, req *v0.Request) Inspect
renderSubMenu : func(items []string) string Inspect
renderBoardMenu : func(board *v0.Board, req *v0.Request) string Inspect
renderInviteMember : func(res *v0.ResponseWriter, req *v0.Request) Inspect
renderPost : func(post *v0.Post, path string, indent string, levels int, budget *int, desc bool) string Inspect
renderPostContent : func(post *v0.Post, indent string, levels int, budget *int) string Inspect
renderPostInner : func(post *v0.Post, path string) string Inspect
renderSourcePost : func(post *v0.Post, indent string, budget *int) (string, *v0.Post) Inspect
renderFlagPost : func(res *v0.ResponseWriter, req *v0.Request) Inspect
renderFlaggingReasonsPost : func(res *v0.ResponseWriter, req *v0.Request) Inspect
renderReplyPost : func(res *v0.ResponseWriter, req *v0.Request) Inspect
renderReply : func(res *v0.ResponseWriter, req *v0.Request) Inspect
newClampedPager : func(path string, size int, pageSize int) v0.Pager Inspect
renderTopLevelReplies : func(post *v0.Post, path string, indent string, levels int, budget *int) string Inspect
renderSubReplies : func(post *v0.Post, indent string, levels int, budget *int, desc bool) string Inspect
renderEditReply : func(res *v0.ResponseWriter, req *v0.Request) Inspect
maxFlatIndentDepth : untyped bigint =(6 <untyped> bigint)
renderThread : func(res *v0.ResponseWriter, req *v0.Request) Inspect
renderThreadFlat : func(thread *v0.Post, path string, budget *int) string Inspect
flatIndent : func(thread *v0.Post, reply *v0.Post) string Inspect
renderThreadSummary : func(thread *v0.Post) string Inspect
renderCreateThread : func(res *v0.ResponseWriter, req *v0.Request) Inspect
renderEditThread : func(res *v0.ResponseWriter, req *v0.Request) Inspect
renderRepostThread : func(res *v0.ResponseWriter, req *v0.Request) Inspect
makeBoardURI : func(b *v0.Board) string Inspect
makeFreezeBoardURI : func(b *v0.Board) string Inspect
makeUnfreezeBoardURI : func(b *v0.Board) string Inspect
makeInviteMemberURI : func(b *v0.Board) string Inspect
makeCreateThreadURI : func(b *v0.Board) string Inspect
makeRequestInviteURI : func(b *v0.Board) string Inspect
makeThreadURI : func(p *v0.Post) string Inspect
makeThreadFlatURI : func(p *v0.Post) string Inspect
makeReplyURI : func(p *v0.Post) string Inspect
makeCreateReplyURI : func(p *v0.Post) string Inspect
makeCreateRepostURI : func(p *v0.Post) string Inspect
makeDeletePostURI : func(p *v0.Post) string Inspect
makeEditPostURI : func(p *v0.Post) string Inspect
makeFlagURI : func(p *v0.Post) string Inspect
makeFlaggingReasonsURI : func(p *v0.Post) string Inspect