25 lines
818 B
Go
25 lines
818 B
Go
package authinfra
|
|
|
|
import "context"
|
|
|
|
type AuthInfrastructureService interface {
|
|
CreatePasswordResetOTP(ctx context.Context, request *PasswordResetOTPCreateRequest) (*PasswordResetOTPCreateResponse, error)
|
|
ValidatePasswordResetOTP(ctx context.Context, request *ValidatePasswordResetOTPRequest) (*ValidatePasswordResetOTPResponse, error)
|
|
ValidatePasswordResetToken(ctx context.Context, request *ValidatePasswordResetTokenRequest) (*ValidatePasswordResetTokenResponse, error)
|
|
}
|
|
|
|
func New(typ Type, cfg Config) (AuthInfrastructureService, error) {
|
|
switch typ {
|
|
case CacheAuthInfrastructureServiceType:
|
|
config, ok := cfg.(CacheAuthInfraServiceConfig)
|
|
if !ok {
|
|
return nil, ErrInvalidConfig
|
|
}
|
|
|
|
return newCacheAuthInfraService(config), nil
|
|
|
|
default:
|
|
return nil, ErrUnknownAuthInfrastructureServiceType
|
|
}
|
|
}
|