shared library for managing external user accounts

This commit is contained in:
Dan Cech
2018-02-08 17:13:58 -05:00
parent 1594ceeb6f
commit 1c5afa731f
23 changed files with 525 additions and 263 deletions

66
pkg/models/user_auth.go Normal file
View File

@ -0,0 +1,66 @@
package models
type UserAuth struct {
Id int64
UserId int64
AuthModule string
AuthId string
}
type ExternalUserInfo struct {
AuthModule string
AuthId string
UserId int64
Email string
Login string
Name string
OrgRoles map[int64]RoleType
}
// ---------------------
// COMMANDS
type UpsertUserCommand struct {
ExternalUser *ExternalUserInfo
SignupAllowed bool
User *User
}
type SetAuthInfoCommand struct {
AuthModule string
AuthId string
UserId int64
}
type DeleteAuthInfoCommand struct {
UserAuth *UserAuth
}
// ----------------------
// QUERIES
type LoginUserQuery struct {
Username string
Password string
User *User
IpAddress string
}
type GetUserByAuthInfoQuery struct {
AuthModule string
AuthId string
UserId int64
Email string
Login string
User *User
UserAuth *UserAuth
}
type GetAuthInfoQuery struct {
AuthModule string
AuthId string
UserAuth *UserAuth
}