Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AppService ¶
type AppService interface {
// GetAppsByOwnerID retreives apps beloging to an owner by their id
GetAppsByOwnerID(ctx context.Context, logger *zap.Logger, ownerID string, initiator string) ([]models.App, errors.RichError)
// GetAppByID retreives an app by its id
GetAppByID(ctx context.Context, logger *zap.Logger, id string, initiator string) (models.App, errors.RichError)
// GetAppByClientID retreives an app by its client id
GetAppByClientID(ctx context.Context, logger *zap.Logger, clientID string, initiator string) (models.App, errors.RichError)
// GetAppAndScopesByClientID retreives an app and its scoipes by its client id
GetAppAndScopesByClientID(ctx context.Context, logger *zap.Logger, clientID string, initiator string) (models.App, []models.Scope, errors.RichError)
// AddApp adds an app to the underlying data store
AddApp(ctx context.Context, logger *zap.Logger, app *models.App, initiator string) errors.RichError
// UpdateApp updates an app in the underlying data store
UpdateApp(ctx context.Context, logger *zap.Logger, app *models.App, initiator string) errors.RichError
// DeleteApp deletes an app
DeleteApp(ctx context.Context, logger *zap.Logger, app *models.App, initiator string) errors.RichError
// GetScopeByID retrives a scope by its id
GetScopeByID(ctx context.Context, logger *zap.Logger, id string, initiator string) (models.Scope, errors.RichError)
// GetScopesByAppID get scopes for an app by its id
GetScopesByAppID(ctx context.Context, logger *zap.Logger, appID string, initiator string) ([]models.Scope, errors.RichError)
// AddScopeToApp adds a scope to the underlying data store for an app given by the scopes app id
AddScopeToApp(ctx context.Context, logger *zap.Logger, scopes *models.Scope, initiator string) errors.RichError
// UpdateScope updates a scope in the underlying data store
UpdateScope(ctx context.Context, logger *zap.Logger, scope *models.Scope, initiator string) errors.RichError
// DeleteScope deletes a scope from the underlying data store
DeleteScope(ctx context.Context, logger *zap.Logger, scope *models.Scope, initiator string) errors.RichError
Service
}
type EmailService ¶
type LoginService ¶
type LoginService interface {
// LoginWithContact attempts to confirm a users credentials and if they match it returns true and resets the users ConsecutiveFailedLoginAttempts, otherwise it returns false and increments the users ConsecutiveFailedLoginAttempts
// The principal should only work when it has been confirmed
LoginWithPrimaryContact(ctx context.Context, logger *zap.Logger, principal, principalType, password string, initiator string) (models.User, errors.RichError)
// StartPasswordResetByContact sets a password reset token for the user with the corresponding principal and type that are confirmed.
StartPasswordResetByPrimaryContact(ctx context.Context, logger *zap.Logger, principal, principalType string, initiator string) (string, errors.RichError)
// ResetPassword resets a users password given a password reset token and new password hash and salt.
ResetPassword(ctx context.Context, logger *zap.Logger, passwordResetToken string, newPassword string, initiator string) errors.RichError
Service
}
LoginService is a service used to facilitate logging in
type Service ¶
type Service interface {
core.NamedComponent
}
type TokenService ¶
type TokenService interface {
// GetToken retreives a token from the underlying data store given its token type and value
GetToken(ctx context.Context, logger *zap.Logger, tokenValue string, expectedTokenType models.TokenType) (models.Token, errors.RichError)
// PutToken stores a token in the underlying data store
PutToken(ctx context.Context, logger *zap.Logger, token models.Token) errors.RichError
// DeleteToken deletes a token from the underlying data store
DeleteToken(ctx context.Context, logger *zap.Logger, tokenValue string) errors.RichError
Service
}
type UserService ¶
type UserService interface {
// GetUserAndContactByConfirmedContact gets a user and specified contact record via a confirmed contact
GetUserAndContactByConfirmedContact(ctx context.Context, logger *zap.Logger, contactType string, contactPrincipal string, initiator string) (models.User, models.Contact, errors.RichError)
// RegisterUserAndPrimaryContact registers a new user. it has several responsibilities.
// 1. ensure no other user has the contact provided as a confirmed contact.
// 2. send notification to user with link to confirm contact and set password
RegisterUserAndPrimaryContact(ctx context.Context, logger *zap.Logger, contactType, contactPrincipal string, initiator string) errors.RichError
// GetUserPrimaryContact gets a users primary contact
GetUserPrimaryContact(ctx context.Context, logger *zap.Logger, userID string, contactType string, initiator string) (models.Contact, errors.RichError)
// GetUsersContacts gets all of a users contacts
GetUsersContacts(ctx context.Context, logger *zap.Logger, userID string, initiator string) ([]models.Contact, errors.RichError)
// GetUsersConfirmedContacts gets all of a users confirmed contacts
GetUsersConfirmedContacts(ctx context.Context, logger *zap.Logger, userID string, initiator string) ([]models.Contact, errors.RichError)
// GetUsersContactsOfType gets all of a users contacts of the given type
GetUsersContactsOfType(ctx context.Context, logger *zap.Logger, userID string, contactType string, initiator string) ([]models.Contact, errors.RichError)
// GetUsersConfirmedContactsOfType gets all of a users confirmed contacts of the given type
GetUsersConfirmedContactsOfType(ctx context.Context, logger *zap.Logger, userID string, contactType string, initiator string) ([]models.Contact, errors.RichError)
// AddContact adds a contact to a user. The userID parameter MUST be the same as the UserID on the contact provided
AddContact(ctx context.Context, logger *zap.Logger, userID string, contact *models.Contact, initiator string) errors.RichError
// SetContactAsPrimary takes the users current primary contact and the one to make the new primary contact
// The two contacts passed in must have the same contact type for example email or mobile
SetContactAsPrimary(ctx context.Context, logger *zap.Logger, userID string, newPrimaryContactID string, initiator string) errors.RichError
// ConfirmContact takes a confirmation code and updates the users contact record to be confirmed.
ConfirmContact(ctx context.Context, logger *zap.Logger, confirmationCode string, initiator string) errors.RichError
Service
}
UserService is a service that facilitates access to user related data.
Click to show internal directories.
Click to hide internal directories.