user

package
v0.0.0-...-29e6843 Latest Latest
Warning

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

Go to latest
Published: Jul 20, 2018 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

View Source
const (
	Collection = "users"
)

Variables

View Source
var (
	IdKey           = bsonutil.MustHaveTag(DBUser{}, "Id")
	FirstNameKey    = bsonutil.MustHaveTag(DBUser{}, "FirstName")
	LastNameKey     = bsonutil.MustHaveTag(DBUser{}, "LastName")
	DispNameKey     = bsonutil.MustHaveTag(DBUser{}, "DispName")
	EmailAddressKey = bsonutil.MustHaveTag(DBUser{}, "EmailAddress")
	PatchNumberKey  = bsonutil.MustHaveTag(DBUser{}, "PatchNumber")
	CreatedAtKey    = bsonutil.MustHaveTag(DBUser{}, "CreatedAt")
	SettingsKey     = bsonutil.MustHaveTag(DBUser{}, "Settings")
	APIKeyKey       = bsonutil.MustHaveTag(DBUser{}, "APIKey")
	PubKeysKey      = bsonutil.MustHaveTag(DBUser{}, "PubKeys")
)
View Source
var (
	PubKeyNameKey       = bsonutil.MustHaveTag(PubKey{}, "Name")
	PubKeyKey           = bsonutil.MustHaveTag(PubKey{}, "Key")
	PubKeyNCreatedAtKey = bsonutil.MustHaveTag(PubKey{}, "CreatedAt")
)
View Source
var (
	SettingsTZKey = bsonutil.MustHaveTag(UserSettings{}, "Timezone")
)

Functions

func ById

func ById(userId string) db.Q

func ByIds

func ByIds(userIds ...string) db.Q

func Count

func Count(query db.Q) (int, error)

Count returns the number of user that satisfy the given query.

func FormatObjectID

func FormatObjectID(id string) (bson.ObjectId, error)

func IsValidSubscriptionPreference

func IsValidSubscriptionPreference(in string) bool

func UpdateAll

func UpdateAll(query interface{}, update interface{}) error

UpdateAll updates all users.

func UpdateOne

func UpdateOne(query interface{}, update interface{}) error

UpdateOne updates one user.

func UpsertOne

func UpsertOne(query interface{}, update interface{}) (*mgo.ChangeInfo, error)

UpsertOne upserts a user.

Types

type DBUser

type DBUser struct {
	Id           string       `bson:"_id"`
	FirstName    string       `bson:"first_name"`
	LastName     string       `bson:"last_name"`
	DispName     string       `bson:"display_name"`
	EmailAddress string       `bson:"email"`
	PatchNumber  int          `bson:"patch_number"`
	PubKeys      []PubKey     `bson:"public_keys" json:"public_keys"`
	CreatedAt    time.Time    `bson:"created_at"`
	Settings     UserSettings `bson:"settings"`
	APIKey       string       `bson:"apikey"`
	SystemRoles  []string     `bson:"roles"`
}

func Find

func Find(query db.Q) ([]DBUser, error)

Find gets all DBUser for the given query.

func FindByGithubUID

func FindByGithubUID(uid int) (*DBUser, error)

func FindOne

func FindOne(query db.Q) (*DBUser, error)

FindOne gets one DBUser for the given query.

func (*DBUser) AddPublicKey

func (u *DBUser) AddPublicKey(keyName, keyValue string) error

func (*DBUser) DeletePublicKey

func (u *DBUser) DeletePublicKey(keyName string) error

func (*DBUser) DisplayName

func (u *DBUser) DisplayName() string

func (*DBUser) Email

func (u *DBUser) Email() string

func (*DBUser) GetAPIKey

func (u *DBUser) GetAPIKey() string

func (*DBUser) GetPublicKey

func (u *DBUser) GetPublicKey(keyname string) (string, error)

func (*DBUser) IncPatchNumber

func (u *DBUser) IncPatchNumber() (int, error)

IncPatchNumber increases the count for the user's patch submissions by one, and then returns the new count.

func (*DBUser) Insert

func (u *DBUser) Insert() error

func (*DBUser) IsNil

func (u *DBUser) IsNil() bool

func (*DBUser) PublicKeys

func (u *DBUser) PublicKeys() []PubKey

func (*DBUser) Roles

func (u *DBUser) Roles() []string

func (*DBUser) Username

func (u *DBUser) Username() string

type GithubUser

type GithubUser struct {
	UID         int    `bson:"uid,omitempty" json:"uid,omitempty"`
	LastKnownAs string `bson:"last_known_as,omitempty" json:"last_known_as,omitempty"`
}

type NotificationPreferences

type NotificationPreferences struct {
	BuildBreak            UserSubscriptionPreference `bson:"build_break" json:"build_break"`
	BuildBreakID          string                     `bson:"build_break_id,omitempty" json:"-"`
	PatchFinish           UserSubscriptionPreference `bson:"patch_finish" json:"patch_finish"`
	PatchFinishID         string                     `bson:"patch_finish_id,omitempty" json:"-"`
	SpawnHostExpiration   UserSubscriptionPreference `bson:"spawn_host_expiration" json:"spawn_host_expiration"`
	SpawnHostExpirationID string                     `bson:"spawn_host_expiration_id,omitempty" json:"-"`
	SpawnHostOutcome      UserSubscriptionPreference `bson:"spawn_host_outcome" json:"spawn_host_outcome"`
	SpawnHostOutcomeID    string                     `bson:"spawn_host_outcome_id,omitempty" json:"-"`
}

type PubKey

type PubKey struct {
	Name      string    `bson:"name" json:"name"`
	Key       string    `bson:"key" json:"key"`
	CreatedAt time.Time `bson:"created_at" json:"created_at"`
}

type UserSettings

type UserSettings struct {
	Timezone      string                  `json:"timezone" bson:"timezone"`
	NewWaterfall  bool                    `json:"new_waterfall" bson:"new_waterfall"`
	GithubUser    GithubUser              `json:"github_user" bson:"github_user,omitempty"`
	SlackUsername string                  `bson:"slack_username,omitempty" json:"slack_username,omitempty"`
	Notifications NotificationPreferences `bson:"notifications,omitempty" json:"notifications,omitempty"`
}

type UserSubscriptionPreference

type UserSubscriptionPreference string

Jump to

Keyboard shortcuts

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