users

package module
v0.0.0-...-eeee770 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 2, 2019 License: MIT Imports: 15 Imported by: 1

Documentation

Index

Constants

View Source
const (
	//UserIsNotLoggedIn -> der Nutzer ist nicht angemeldet
	UserIsNotLoggedIn = 0
	//UserIsLoggedIn -> der Nutzer ist angemeldet
	UserIsLoggedIn = 1
	//UserIsAdmin -> der Nutzer ist angemdeldet und hat Admin Privilegien
	UserIsAdmin = 2
)

Variables

View Source
var M = Module{}

M ist die Instanz des Moduls und muss immer so heißen, damit andere Module darauf zugreifen können

Functions

func GenerateLink(c *gin.Context, gid int) string

GenerateLink generiert einen ReadOnly Link für das Objekt mit der Global ID gid

func GetMailFromContext

func GetMailFromContext(c *gin.Context) string

GetMailFromContext liefert die Mail des angemeldeten Nutzers zurück

func GetMailFromUserID

func GetMailFromUserID(id int) string

GetMailFromUserID gibt die Mail des Nutzers für die ID zurück

func GetNameFromUserID

func GetNameFromUserID(id int) string

GetNameFromUserID gibt den Anzeigenamen des Nutzer mit der Nutzer ID id zurück

func GetUserIDFromContext

func GetUserIDFromContext(c *gin.Context) int

GetUserIDFromContext liefert die Nutzer ID des angemeldeten Nutzers zurück

func GetUserIDFromMail

func GetUserIDFromMail(mail string) int

GetUserIDFromMail gibt für die angegebene Mail die Nutzer ID zurück, Wenn der Nutzer nicht existiert, wird 0 zurück gegeben

func HasLinkAccess

func HasLinkAccess(c *gin.Context, id int) bool

HasLinkAccess gibt true zurück, wenn der Nutzer für die ID Leserechte hat

func IsAdmin

func IsAdmin(id int) bool

IsAdmin gibt true zurück, wenn der Nutzer mit der id ein Admin ist

func RequireAdmin

func RequireAdmin(c *gin.Context) bool

RequireAdmin prüft, ob der Nutzer ein Admin ist.

Admin: return true
else: return false und gebe einen entsprechenden Status zurück, sodass sich in der Funktion um nichts mehr gekümmert werden muss

func RequireUser

func RequireUser(c *gin.Context) bool

RequireUser prüft ob der Nutzer angemeldet ist

Nutzer ist angemeldet: return true
Sonst: return true und gebe einen entsprechenden Status zurück, sodass sich um nichts mehr gekümmert werden muss

Types

type Module

type Module struct{}

Module definiert das Modul

func (*Module) Info

func (*Module) Info() (string, string, *semver.Version, string)

Info gibt Informationen über das Modul aus (Name, ID, Version, Verzeichnis)

func (*Module) Routes

func (*Module) Routes(router *gin.RouterGroup)

Routes richtet die vom Modul benötigten Routen ein

type User

type User struct {
	UserID      int    `json:"user_id"`
	Name        string `json:"name"`
	Password    string `json:"password,omitempty"`
	NewPassword string `json:"newpassword,omitempty"`
	Mail        string `json:"mail"`
	AdminFlag   int    `json:"admin_flag"`
}

User beschreibt, wie ein Nutzer in JSON und in der Datenbank aussieht

type UserRole

type UserRole int

UserRole gibt den Typ des Nutzers an

func GetUserState

func GetUserState(c *gin.Context) UserRole

GetUserState überprüft, welche Rechte ein Nutzer hat. Es wird auf den Authorization Header (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Authorization) zugegriffen. Der Header muss den Zusatz Bearer (https://tools.ietf.org/html/rfc6750) haben. Wenn der Header vorhanden ist, wird in der Datenbank nach dem admin_flag geguckt. So wird auch überprüft, ob ein Nutzer in der Datenbank noch vorhanden ist. Die Funktion gibt zurück, was für eine Nutzerrolle der angemeldete Nutzer hat.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL