PathrockNetwork Gno Explorer
HomeBlocksTransactionsTokensRealmsPackagesValidatorsAnalytics

PathrockNetwork Gno Explorer — an independent explorer for Gno.land Mainnet (gnoland-1), operated by PathrockNetwork. Not an official Gno.land service.

gnowebarchive RPC

gno.land/p/gnoland/boards/exts/permissions/v0

Package
Open in gnoweb ↗

Overview

Kind
Pure package
Name
v0
Namespace
gnoland / boards / exts / permissions
Files
6 (README)(gnomod.toml)
Exported functions
n/a — not supported for pure packages by the node (vm/qfuncs)
Module
gno.land/p/gnoland/boards/exts/permissions/v0
gno
0.9

Files (6)

  • README.mdmarkdown
  • gnomod.tomltoml
  • options.gnogno
  • permissions.gnogno
  • example_test.gnogno
  • permissions_test.gnogno
options.gnogno
1package permissions23import (4	"strings"56	"gno.land/p/gnoland/boards/v0"7)89// Option configures permissions.10type Option func(*Permissions)1112// UseSingleUserRole configures permissions to only allow one role per user.13func UseSingleUserRole() Option {14	return func(p *Permissions) {15		p.singleUserRole = true16	}17}1819// WithSuperRole configures permissions to have a super role.20// A super role is the one that have all permissions.21// This type of role doesn't need to be mapped to any permission.22func WithSuperRole(r boards.Role) Option {23	return func(p *Permissions) {24		if p.superRole != "" {25			panic("permissions super role can be assigned only once")26		}2728		name := string(r)29		if strings.TrimSpace(name) == "" {30			panic("permissions super role name is required")31		}3233		if _, err := p.group.AddRole(name); err != nil {34			panic(err)35		}36		p.superRole = r37	}38}39

Functions

not supported for pure packages by the node (vm/qfuncs)

Signatures reconstructed verbatim from vm/qfuncs — interface params keep their inline definitions.