db

package
v0.0.0-...-bd48299 Latest Latest
Warning

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

Go to latest
Published: Nov 18, 2019 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func MakeMultiInsertStatement

func MakeMultiInsertStatement(table string, columns []string, numInserts int, returningCol string) string

MakeMultiInsertStatement generates a PostgreSQL insert statement for a given table, set of columns, and the corresponding values; use to easily make a statement for inserting multiple rows into a the given table

Types

type Character

type Character struct {
	CharacterID        int64          `json:"characterId"`
	CharacterName      string         `json:"characterName"`
	CharacterStockImg  NullStringJSON `json:"characterStockImg,omitempty"`
	CharacterImg       NullStringJSON `json:"characterImg,omitempty"`
	CharacterArchetype NullStringJSON `json:"characterArchetype,omitempty"`
}

Character describes the required and optional data needed to create a new character in our characters table

type CharacterCreate

type CharacterCreate struct {
	CharacterName      string         `json:"characterName"`
	CharacterStockImg  NullStringJSON `json:"characterStockImg"`
	CharacterImg       NullStringJSON `json:"characterImg"`
	CharacterArchetype NullStringJSON `json:"characterArchetype"`
}

CharacterCreate describes the data needed to create a given character in our db

type CharacterManager

type CharacterManager interface {
	GetAllCharacters() ([]*Character, error)

	CreateCharacter(characterCreate *CharacterCreate) (*Character, error)
	UpdateCharacter(characterUpdate *CharacterUpdate) (*Character, error)
}

CharacterManager describes all of the methods used to interact with the characters table in our database

type CharacterUpdate

type CharacterUpdate struct {
	CharacterID        int64          `json:"characterId"`
	CharacterName      NullStringJSON `json:"characterName,omitempty"`
	CharacterStockImg  NullStringJSON `json:"characterStockImg,omitempty"`
	CharacterImg       NullStringJSON `json:"characterImg,omitempty"`
	CharacterArchetype NullStringJSON `json:"characterArchetype,omitempty"`
}

CharacterUpdate describes the data needed to update a given character in our db

type DB

type DB struct {
	*sql.DB
}

DB is the struct that we're going to use to implement all of our Datasbase interfaces; All of the methods defined on each of our interfaces will be implemented on this DB struct

func New

func New() (*DB, error)

New initializes a new postgres database connection and attaches said connection to our DB struct, which we can then call all of the methods described by the our varies Database interfaces

func (*DB) CreateCharacter

func (db *DB) CreateCharacter(characterCreate *CharacterCreate) (*Character, error)

CreateCharacter adds a new entry to the characters table in our database

func (*DB) CreateMatch

func (db *DB) CreateMatch(matchCreate *MatchCreate) (int64, error)

CreateMatch adds a new entry to the matches table in our database

func (*DB) CreateMatchTags

func (db *DB) CreateMatchTags(matchTagsCreate []*MatchTagCreate) ([]int64, error)

CreateMatchTags creates adds multiple "match tag" relationships

func (*DB) CreateTag

func (db *DB) CreateTag(tagCreate *TagCreate) (int, error)

CreateTag adds a new entry to the tags table

func (*DB) CreateUser

func (db *DB) CreateUser(userCreate *UserCreate) (int64, error)

CreateUser adds a new entry to the users table in our database

func (*DB) CreateUserCharacter

func (db *DB) CreateUserCharacter(userCharacterCreate *UserCharacterCreate) (int64, error)

CreateUserCharacter adds a new entry to the user_characters table

func (*DB) DeleteMatchByMatchID

func (db *DB) DeleteMatchByMatchID(matchID int64) (int64, error)

DeleteMatchByMatchID removes an existing entry in the matches table

func (*DB) DeleteMatchTagsByMatchID

func (db *DB) DeleteMatchTagsByMatchID(matchID int64) ([]int64, error)

DeleteMatchTagsByMatchID deletes a set of existing "match tag" relationships for a given matchID

func (*DB) DeleteTagByTagID

func (db *DB) DeleteTagByTagID(tagID int64) (int64, error)

DeleteTagByTagID deletes an existing entry in the tags table

func (*DB) DeleteUserCharacterByID

func (db *DB) DeleteUserCharacterByID(userCharacterID int64) (int64, error)

DeleteUserCharacterByID removes an existing entry in the user_characters table

func (*DB) GetAllCharacters

func (db *DB) GetAllCharacters() ([]*Character, error)

GetAllCharacters gets all of the characters we have in our database

func (*DB) GetAllMatchTagViews

func (db *DB) GetAllMatchTagViews() ([]*MatchTagView, error)

GetAllMatchTagViews gets all of the match tags

func (*DB) GetAllMatchViews

func (db *DB) GetAllMatchViews() ([]*MatchView, error)

GetAllMatchViews gets all of the data needed to display all recorded matches, which includes joined data from the matches, users, and characters tables

func (*DB) GetAllTags

func (db *DB) GetAllTags() ([]*Tag, error)

GetAllTags gets all of the tags we have in our database

func (*DB) GetAllUsers

func (db *DB) GetAllUsers() ([]*User, error)

GetAllUsers fetches userId/userName for all users

func (*DB) GetMatchTagViewsByMatchID

func (db *DB) GetMatchTagViewsByMatchID(matchID int64) ([]*MatchTagView, error)

GetMatchTagViewsByMatchID gets all of the match tags for a given matchID

func (*DB) GetMatchViewByMatchID

func (db *DB) GetMatchViewByMatchID(matchID int64) (*MatchView, error)

GetMatchViewByMatchID gets all of the data needed to display an individual match, which includes joined data from the users and characters table

func (*DB) GetTagByTagID

func (db *DB) GetTagByTagID(tagID int) (*Tag, error)

GetTagByTagID gets a specific tag given a tagID

func (*DB) GetUserCharacterViewByUserCharacterID

func (db *DB) GetUserCharacterViewByUserCharacterID(userCharID int64) (*UserCharacterView, error)

GetUserCharacterViewByUserCharacterID gets all of the data needed to display a given "saved character", whicn includes joined data fromt the user_characters and characters table

func (*DB) GetUserCharacterViewsByUserID

func (db *DB) GetUserCharacterViewsByUserID(userID int64) ([]*UserCharacterView, error)

GetUserCharacterViewsByUserID gets all of the data needed to display a given user's "saved characters", whicn includes joined data fromt the user_characters and characters table

func (*DB) GetUserCharactersByUserID

func (db *DB) GetUserCharactersByUserID(userID int64) ([]*UserCharacter, error)

GetUserCharactersByUserID gets all of the "saved characters" for a given userID

func (*DB) GetUserCredentialsViewByEmail

func (db *DB) GetUserCredentialsViewByEmail(email string) (*UserCredentialsView, error)

GetUserCredentialsViewByEmail gets a user's auth related information by their email; used for user authentication

func (*DB) GetUserIDByEmail

func (db *DB) GetUserIDByEmail(email string) (int64, error)

GetUserIDByEmail gets a specific user's id from the users table by email

func (*DB) GetUserProfileViewByUserID

func (db *DB) GetUserProfileViewByUserID(userID int64) (*UserProfileView, error)

GetUserProfileViewByUserID gets all of the data needed to display a user's profile, which includes joined data from the characters table

func (*DB) GetUserResetPasswordTokenByUserID

func (db *DB) GetUserResetPasswordTokenByUserID(userID int64) (string, error)

GetUserResetPasswordTokenByUserID gets a user's reset_password_token; used for "forgot password"

func (*DB) GetUserRoleViewsByUserID

func (db *DB) GetUserRoleViewsByUserID(userID int64) ([]*UserRoleView, error)

GetUserRoleViewsByUserID gets a user's role information

func (*DB) UpdateCharacter

func (db *DB) UpdateCharacter(characterUpdate *CharacterUpdate) (*Character, error)

UpdateCharacter updates an existing entry in the characters table in our database

func (*DB) UpdateMatch

func (db *DB) UpdateMatch(matchUpdate *MatchUpdate) (int64, error)

UpdateMatch updates an entry in the matches table with the given data

func (*DB) UpdateTag

func (db *DB) UpdateTag(tagUpdate *TagUpdate) (int, error)

UpdateTag updates an existing entry in the tags table

func (*DB) UpdateUserCharacter

func (db *DB) UpdateUserCharacter(userCharacterUpdate *UserCharacterUpdate) (int64, error)

UpdateUserCharacter updates an existing entry in the user_characters table

func (*DB) UpdateUserDefaultUserCharacter

func (db *DB) UpdateUserDefaultUserCharacter(userCharUpdate *UserDefaultUserCharacterUpdate) (int64, error)

UpdateUserDefaultUserCharacter updates a user's default user character

func (*DB) UpdateUserHashedPassword

func (db *DB) UpdateUserHashedPassword(hashedPasswordUpdate *UserHashedPasswordUpdate) (int64, error)

UpdateUserHashedPassword updates a user's hashed password

func (*DB) UpdateUserProfile

func (db *DB) UpdateUserProfile(profileUpdate *UserProfileUpdate) (int64, error)

UpdateUserProfile updates an entry in the users table with the given data

func (*DB) UpdateUserRefreshToken

func (db *DB) UpdateUserRefreshToken(refreshUpdate *UserRefreshUpdate) (int64, error)

UpdateUserRefreshToken updates a user's refresh token; used for auth

func (*DB) UpdateUserResetPasswordToken

func (db *DB) UpdateUserResetPasswordToken(resetPasswordUpdate *UserResetPasswordUpdate) (int64, error)

UpdateUserResetPasswordToken updates a user's reset password token; used for "forgot password"

type Match

type Match struct {
	MatchID              *int64        `json:"matchId,omitempty"`
	OpponentCharacterID  int64         `json:"opponentCharacterId"`
	UserID               int64         `json:"userId"`
	OpponentCharacterGsp NullInt64JSON `json:"opponentCharacterGsp"`
	UserCharacterID      NullInt64JSON `json:"userCharacterId"`
	UserCharacterGsp     NullInt64JSON `json:"userCharacterGsp"`
	UserWin              NullBoolJSON  `json:"userWin"`
}

Match describes the required and optional data needed to create a new match in our matches table

type MatchCreate

type MatchCreate struct {
	OpponentCharacterID  int64              `json:"opponentCharacterId"`
	UserID               int64              `json:"userId"`
	OpponentCharacterGsp NullInt64JSON      `json:"opponentCharacterGsp"`
	UserCharacterID      NullInt64JSON      `json:"userCharacterId"`
	UserCharacterGsp     NullInt64JSON      `json:"userCharacterGsp"`
	UserWin              NullBoolJSON       `json:"userWin"`
	MatchTags            *[]*MatchTagCreate `json:"matchTags"`
}

MatchCreate describes the data needed to create a given match in our db

type MatchDelete

type MatchDelete struct {
	MatchID int64 `json:"matchId"`
}

MatchDelete describes the data needed to delete a given match in our db

type MatchManager

type MatchManager interface {
	CreateMatch(matchCreate *MatchCreate) (int64, error)
	UpdateMatch(matchUpdate *MatchUpdate) (int64, error)
	DeleteMatchByMatchID(matchID int64) (int64, error)
}

MatchManager describes all of the methods used to interact with the matches table in our database

type MatchTag

type MatchTag struct {
	MatchTagID int64 `json:"matchTagId"`
	MatchID    int64 `json:"matchId"`
	TagID      int64 `json:"tagId"`
}

MatchTag describes a "match tag" relationship

type MatchTagCreate

type MatchTagCreate struct {
	MatchID int64 `json:"matchId"`
	TagID   int64 `json:"tagId"`
}

MatchTagCreate describes the data needed to create a "match tag" relationship

type MatchTagManager

type MatchTagManager interface {
	CreateMatchTags(matchTagsCreate []*MatchTagCreate) ([]int64, error)
	DeleteMatchTagsByMatchID(matchID int64) ([]int64, error)
}

MatchTagManager describes all of the methods used to interact with the match_tags table in our database

type MatchTagView

type MatchTagView struct {
	MatchTagID int64  `json:"matchTagId"`
	MatchID    int64  `json:"matchId"`
	TagID      int64  `json:"tagId"`
	TagName    string `json:"tagName"`
}

MatchTagView describes a JOIN between match_tags and tags tables

type MatchTagViewManager

type MatchTagViewManager interface {
	GetAllMatchTagViews() ([]*MatchTagView, error)
	GetMatchTagViewsByMatchID(matchID int64) ([]*MatchTagView, error)
}

MatchTagViewManager describes all of the methods used to interact with "match tag" views in our database

type MatchUpdate

type MatchUpdate struct {
	MatchID              int64              `json:"matchId"`
	OpponentCharacterID  NullInt64JSON      `json:"opponentCharacterId"`
	OpponentCharacterGsp NullInt64JSON      `json:"opponentCharacterGsp"`
	UserCharacterID      NullInt64JSON      `json:"userCharacterId"`
	UserCharacterGsp     NullInt64JSON      `json:"userCharacterGsp"`
	UserWin              NullBoolJSON       `json:"userWin"`
	Created              NullTimeJSON       `json:"created"`
	MatchTags            *[]*MatchTagCreate `json:"matchTags"`
}

MatchUpdate describes the data needed to update a given user's profile information

type MatchView

type MatchView struct {
	// Data from matches
	Created             time.Time `json:"created"`
	UserID              int64     `json:"userId"`
	MatchID             int64     `json:"matchId"`
	OpponentCharacterID int64     `json:"opponentCharacterId"`

	UserCharacterID      NullInt64JSON `json:"userCharacterId"`
	OpponentCharacterGsp NullInt64JSON `json:"opponentCharacterGsp,omitempty"`
	UserCharacterGsp     NullInt64JSON `json:"userCharacterGsp,omitempty"`
	UserWin              NullBoolJSON  `json:"userWin,omitempty"`

	// Data from users
	UserName string `json:"userName"`

	// Data from characters
	OpponentCharacterName string         `json:"opponentCharacterName"`
	UserCharacterName     NullStringJSON `json:"userCharacterName,omitempty"`
	OpponentCharacterImg  string         `json:"opponentCharacterImage"`
	UserCharacterImg      NullStringJSON `json:"userCharacterImage"`

	// Data from user characters
	AltCostume NullInt64JSON `json:"altCostume,omitempty"`

	// Data from match_tags; added seperately from the SQL Joins
	MatchTags []*MatchTagView `json:"matchTags"`
}

MatchView desribes a JOIN between the matches, users, and characters tables, containing all of the data necessary to show a "match" in the front end

type MatchViewManager

type MatchViewManager interface {
	GetMatchViewByMatchID(matchID int64) (*MatchView, error)
	GetAllMatchViews() ([]*MatchView, error)
}

MatchViewManager describes all of the methods used to interact with match views in our database (data joined between match, character, user, etc)

type NullBoolJSON

type NullBoolJSON struct {
	sql.NullBool
}

NullBoolJSON extends sql.NullBool to nicely (Un)Marshal JSON

func (*NullBoolJSON) MarshalJSON

func (nb *NullBoolJSON) MarshalJSON() ([]byte, error)

MarshalJSON handles sql.NullBool to JSON

func (*NullBoolJSON) UnmarshalJSON

func (nb *NullBoolJSON) UnmarshalJSON(data []byte) error

UnmarshalJSON handles JSON to sql.NullBool

type NullInt64JSON

type NullInt64JSON struct {
	sql.NullInt64
}

NullInt64JSON extends sql.NullInt64 to nicely (Un)Marshal JSON

func (*NullInt64JSON) MarshalJSON

func (ni *NullInt64JSON) MarshalJSON() ([]byte, error)

MarshalJSON handles sql.NullInt64 to JSON

func (*NullInt64JSON) UnmarshalJSON

func (ni *NullInt64JSON) UnmarshalJSON(data []byte) error

UnmarshalJSON handles JSON to sql.NullInt64

type NullStringJSON

type NullStringJSON struct {
	sql.NullString
}

NullStringJSON extends sql.NullString to nicely (Un)Marshal JSON

func (*NullStringJSON) MarshalJSON

func (ns *NullStringJSON) MarshalJSON() ([]byte, error)

MarshalJSON handles sql.NullString to JSON

func (*NullStringJSON) UnmarshalJSON

func (ns *NullStringJSON) UnmarshalJSON(data []byte) error

UnmarshalJSON handles JSON to sql.NullString

type NullTimeJSON

type NullTimeJSON struct {
	pq.NullTime
}

NullTimeJSON extends pq.NullTime to nicely (Un)Marshal JSON

func (*NullTimeJSON) MarshalJSON

func (nt *NullTimeJSON) MarshalJSON() ([]byte, error)

MarshalJSON handles pq.NullTime to JSON

func (*NullTimeJSON) UnmarshalJSON

func (nt *NullTimeJSON) UnmarshalJSON(data []byte) error

UnmarshalJSON handles JSON to pq.NullTime

type Tag

type Tag struct {
	TagID   int    `json:"tagId"`
	TagName string `json:"tagName"`
}

Tag describes the required data needed to create a new tag in our tags table

type TagCreate

type TagCreate struct {
	TagName string `json:"tagName"`
}

TagCreate describes the data needed to create a new tag in our database

type TagDelete

type TagDelete struct {
	TagID int64 `json:"tagId"`
}

TagDelete describes the data needed to delete a given tag in our database

type TagManager

type TagManager interface {
	GetAllTags() ([]*Tag, error)
	GetTagByTagID(tagID int) (*Tag, error)

	CreateTag(tagCreate *TagCreate) (int, error)
	UpdateTag(tagUpdate *TagUpdate) (int, error)
	DeleteTagByTagID(tagID int64) (int64, error)
}

TagManager describes all of the methods used to interact with the tags table in our database

type TagUpdate

type TagUpdate struct {
	TagID   int    `json:"tagId"`
	TagName string `json:"tagName"`
}

TagUpdate describes the data needed to update a given tag in our database

type User

type User struct {
	UserID   int64  `json:"userId"`
	UserName string `json:"userName"`
}

User describes the data in the users table

type UserCharacter

type UserCharacter struct {
	UserCharacterID int64         `json:"userCharacterId"`
	UserID          int64         `json:"userId"`
	CharacterID     int64         `json:"characterId"`
	CharacterGsp    NullInt64JSON `json:"characterGsp"`
	AltCostume      NullInt64JSON `json:"altCostume"`
}

UserCharacter describes the required and optional data needed to create a new "saved character" in our user_characters table

type UserCharacterCreate

type UserCharacterCreate struct {
	UserID       int64         `json:"userId"`
	CharacterID  int64         `json:"characterId"`
	CharacterGsp NullInt64JSON `json:"characterGsp"`
	AltCostume   NullInt64JSON `json:"altCostume"`
}

UserCharacterCreate describes the data needed to create a given "saved character" in our db

type UserCharacterDelete

type UserCharacterDelete struct {
	UserID          int64         `json:"userId"`
	UserCharacterID NullInt64JSON `json:"userCharacterId"`
}

UserCharacterDelete describes the data needed to delete a given "saved character" in our db

type UserCharacterManager

type UserCharacterManager interface {
	GetUserCharactersByUserID(userID int64) ([]*UserCharacter, error)

	CreateUserCharacter(userCharacterCreate *UserCharacterCreate) (int64, error)
	UpdateUserCharacter(userCharacterUpdate *UserCharacterUpdate) (int64, error)
	DeleteUserCharacterByID(userCharacterID int64) (int64, error)
}

UserCharacterManager describes all of the methods used to int64eract with the user_characters table in our database

type UserCharacterUpdate

type UserCharacterUpdate struct {
	UserCharacterID int64         `json:"userCharacterId"`
	UserID          int64         `json:"userId"`
	CharacterID     NullInt64JSON `json:"characterId"`
	CharacterGsp    NullInt64JSON `json:"characterGsp"`
	AltCostume      NullInt64JSON `json:"altCostume"`
}

UserCharacterUpdate describes the data needed to update a given "saved character" in our db

type UserCharacterView

type UserCharacterView struct {
	// Data from user_characters
	UserCharacterID int64         `json:"userCharacterId"`
	CharacterGsp    NullInt64JSON `json:"characterGsp"`
	AltCostume      NullInt64JSON `json:"altCostume"`

	// Data from characters
	CharacterID   int64  `json:"characterId"`
	CharacterName string `json:"characterName"`

	// Data from users
	UserID int64 `json:"userId"`
}

UserCharacterView desribes a JOIN between the characters, users, and user_characters tables, containing all of the data necessary to show a "saved character" in the front end

type UserCharacterViewManager

type UserCharacterViewManager interface {
	GetUserCharacterViewsByUserID(userID int64) ([]*UserCharacterView, error)
	GetUserCharacterViewByUserCharacterID(userCharID int64) (*UserCharacterView, error)
}

UserCharacterViewManager describes all of the methods used to int64eract with "saved characters" views in our database (data joined between users, characters, and user_characters)

type UserCreate

type UserCreate struct {
	UserName       string `json:"userName"`
	EmailAddress   string `json:"emailAddress"`
	HashedPassword string `json:"hashedPassword"`
}

UserCreate describes the data needed to create a new user in our db

type UserCredentialsView

type UserCredentialsView struct {
	EmailAddress   string `json:"email"`
	UserID         int64  `json:"userId"`
	UserName       string `json:"userName"`
	HashedPassword string `json:"hashedPassword"`
}

UserCredentialsView describes all of the data needed for a user's authentication credentials

type UserDefaultUserCharacterUpdate

type UserDefaultUserCharacterUpdate struct {
	UserID          int64         `json:"userId"`
	UserCharacterID NullInt64JSON `json:"userCharacterId"`
}

UserDefaultUserCharacterUpdate describes the data needed to update a given user's default user character

type UserHashedPasswordUpdate

type UserHashedPasswordUpdate struct {
	UserID         int64  `json:"userId"`
	HashedPassword string `json:"hashedPassword"`
}

UserHashedPasswordUpdate describes the data needed to update a given user's hashed password

type UserManager

type UserManager interface {
	GetAllUsers() ([]*User, error)
	GetUserIDByEmail(email string) (int64, error)
	GetUserResetPasswordTokenByUserID(int64) (string, error)

	UpdateUserProfile(profileUpdate *UserProfileUpdate) (int64, error)
	UpdateUserRefreshToken(refreshUpdate *UserRefreshUpdate) (int64, error)
	UpdateUserResetPasswordToken(resetPasswordUpdate *UserResetPasswordUpdate) (int64, error)
	UpdateUserHashedPassword(hashedPasswordUpdate *UserHashedPasswordUpdate) (int64, error)
	UpdateUserDefaultUserCharacter(userCharUpdate *UserDefaultUserCharacterUpdate) (int64, error)

	CreateUser(userCreate *UserCreate) (int64, error)
}

UserManager describes all of the methods used to interact with the users table in our database

type UserProfileUpdate

type UserProfileUpdate struct {
	UserID   int64  `json:"userId"`
	UserName string `json:"userName"`
}

UserProfileUpdate describes the data needed to update a given user's profile information

type UserProfileView

type UserProfileView struct {
	// Data from Users
	UserID       int64     `json:"userId"`
	UserName     string    `json:"userName"`
	EmailAddress string    `json:"emailAddress"`
	Created      time.Time `json:"created"`

	// Data from characters
	DefaultCharacterID   NullInt64JSON  `json:"defaultCharacterId"`
	DefaultCharacterName NullStringJSON `json:"defaultCharacterName"`

	// Data from user_characters
	DefaultUserCharacterID  NullInt64JSON `json:"defaultUserCharacterId"`
	DefaultUserCharacterGsp NullInt64JSON `json:"defaultUserCharacterGsp"`

	// Data from user_roles
	UserRoles []*UserRoleView `json:"userRoles"`
}

UserProfileView describes all of the required and optional data needed for a user's public

type UserRefreshUpdate

type UserRefreshUpdate struct {
	UserID       int64  `json:"userId"`
	RefreshToken string `json:"refreshToken"`
}

UserRefreshUpdate describes the data needed to update a given users refresh token

type UserResetPasswordUpdate

type UserResetPasswordUpdate struct {
	UserID             int64  `json:"userId"`
	ResetPasswordToken string `json:"resetPasswordToken"`
}

UserResetPasswordUpdate describes the data needed to update a given user's reset password token

type UserRoleView

type UserRoleView struct {
	UserRoleID int64  `json:"userRoleId"`
	UserID     int64  `json:"userId"`
	RoleID     int64  `json:"roleId"`
	RoleName   string `json:"roleName"`
}

UserRoleView describes the data relevant to a user's role

type UserRoleViewManager

type UserRoleViewManager interface {
	GetUserRoleViewsByUserID(userID int64) ([]*UserRoleView, error)
}

UserRoleViewManager describes all of the methods used to interact with our user_roles table in our database

type UserViewManager

type UserViewManager interface {
	GetUserProfileViewByUserID(userID int64) (*UserProfileView, error)
	GetUserCredentialsViewByEmail(email string) (*UserCredentialsView, error)
}

UserViewManager describes all of the methods used to interact with user views in our database (data joined between match, character, user, etc)

Jump to

Keyboard shortcuts

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