models

package
v0.1.5 Latest Latest
Warning

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

Go to latest
Published: Aug 23, 2023 License: GPL-3.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var DB *gorm.DB

Functions

func ConnectDatabase

func ConnectDatabase()

func ConnectMysql added in v0.1.3

func ConnectMysql(dsn string) (database *gorm.DB, err error)

func ConnectPostgres added in v0.1.3

func ConnectPostgres(dsn string) (database *gorm.DB, err error)

func ConnectSqlServer added in v0.1.3

func ConnectSqlServer(dsn string) (database *gorm.DB, err error)

func ConnectSqlite added in v0.1.3

func ConnectSqlite(dsn string) (database *gorm.DB, err error)

func HandleIsFree

func HandleIsFree(path string, domain string) (bool, string)

func Paginate

func Paginate(value interface{}, pagination *Pagination, db *gorm.DB) func(db *gorm.DB) *gorm.DB

Types

type Base added in v0.1.3

type Base struct {
	ID        uint           `gorm:"primaryKey"`
	CreatedAt time.Time      `json:"-"`
	UpdatedAt time.Time      `json:"-"`
	DeletedAt gorm.DeletedAt `gorm:"index" json:"-"`
}

type CollectedPage

type CollectedPage struct {
	gorm.Model
	Path     string `gorm:"size:255;not null"`
	XssHitID uint
	Content  []byte `gorm:"serializer:json" json:"-"`
}

type Handler

type Handler struct {
	gorm.Model
	Path           string `gorm:"size:255;not null"`
	Domain         string `gorm:"default:*"`
	OwnerID        int
	Owner          User `json:"-"`
	Screenshot     bool
	Dom            bool
	CollectedPages []string      `gorm:"serializer:json"`
	Members        []HandlerRbac `gorm:"foreignKey:HandlerID"`
}

func GetHandlerById

func GetHandlerById(id interface{}) (handler Handler)

func GetViewableHandlers

func GetViewableHandlers(userId int) (handlers []Handler)

func (*Handler) CanDelete

func (h *Handler) CanDelete(user_id int) bool

func (*Handler) CanUpdate

func (h *Handler) CanUpdate(user_id int) bool

func (*Handler) CanView

func (h *Handler) CanView(user_id int) bool

func (*Handler) Delete

func (h *Handler) Delete()

func (*Handler) GetRoleForUser

func (h *Handler) GetRoleForUser(user_id int) string

func (*Handler) Save

func (h *Handler) Save()

type HandlerRbac

type HandlerRbac struct {
	gorm.Model
	UserID     int
	HandlerID  int
	User       User
	Permission PermisionType
	Handler    Handler
}

func GetHandleRbacForUser

func GetHandleRbacForUser(userId int) (rbacs []HandlerRbac)

type Pagination

type Pagination struct {
	Limit      int         `json:"limit" form:"limit"`
	Page       int         `json:"page" form:"page"`
	TotalRows  int         `json:"total_rows"`
	TotalPages int         `json:"total_pages"`
	Rows       interface{} `json:"rows"`
}

func (*Pagination) GetLimit

func (p *Pagination) GetLimit() int

func (*Pagination) GetOffset

func (p *Pagination) GetOffset() int

func (*Pagination) GetPage

func (p *Pagination) GetPage() int

type PermisionType

type PermisionType string
const (
	READ  PermisionType = "READ"
	WRITE PermisionType = "WRITE"
	OWNER PermisionType = "OWNER"
)

func (*PermisionType) Scan

func (t *PermisionType) Scan(value interface{}) error

func (PermisionType) Value

func (t PermisionType) Value() (driver.Value, error)

type User

type User struct {
	ID              uint              `gorm:"primaryKey"`
	CreatedAt       time.Time         `json:"-"`
	UpdatedAt       time.Time         `json:"-"`
	DeletedAt       gorm.DeletedAt    `gorm:"index"  json:"-"`
	Email           string            `gorm:"size:255;not null;unique"`
	Username        string            `gorm:"size:255;not null;unique"`
	Password        string            `gorm:"size:255;not null;" json:"-"`
	IsAdmin         bool              `gorm:"default:false"`
	HandlersRbac    []HandlerRbac     `json:"-"`
	NotifiersConfig map[string]string `gorm:"serializer:json" json:"-"`
}

func GetUserByEmail

func GetUserByEmail(email string) (user User)

func GetUserById

func GetUserById(user_id int) User

func GetUsersByEmail

func GetUsersByEmail(search string) (users []User)

func (*User) CheckPassword

func (u *User) CheckPassword(pass string) bool

func (*User) HandlerRbacs

func (u *User) HandlerRbacs() []HandlerRbac

func (*User) SetPassword

func (u *User) SetPassword(pass string) error

type XssHit

type XssHit struct {
	gorm.Model
	Ip             string
	Referer        string
	UserAgent      string
	Origin         string
	CorrelationKey string `gorm:"not null"`
	PublicId       string
	Cookies        string
	LocalStorage   string
	SessionStorage string
	Url            string
	Dom            string
	Screenshot     string
	OwnerID        int
	Owner          User `json:"-"`
	HandlerID      int
	Handler        Handler `json:"-"`
	CollectedPages []CollectedPage
}

func GetHitByCorrelationKey

func GetHitByCorrelationKey(key string) XssHit

func GetHitBySharingKey

func GetHitBySharingKey(key string) XssHit

func GetViewableHitPaginated

func GetViewableHitPaginated(user_id int, pagination *Pagination) (hits []XssHit)

func (*XssHit) CanDelete

func (hit *XssHit) CanDelete(user_id int) bool

func (*XssHit) CanUpdate

func (hit *XssHit) CanUpdate(user_id int) bool

func (*XssHit) CanView

func (hit *XssHit) CanView(user_id int) bool

func (*XssHit) Delete

func (hit *XssHit) Delete()

func (*XssHit) DisableSharing

func (hit *XssHit) DisableSharing()

func (*XssHit) EnableSharing

func (hit *XssHit) EnableSharing()

Jump to

Keyboard shortcuts

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