Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Dependencies ¶
type Dependencies struct {
Log *zerolog.Logger
// Providers for various services
// AuditProvider is used to log audit events
AuditProvider audit.Provider
// AuthenticatorProvider is used to register authenticators like totp (Google Authenticator)
AuthenticatorProvider authenticators.Provider
// EmailProvider is used to send emails
EmailProvider email.Provider
// EventsProvider is used to register events
EventsProvider events.Provider
// MemoryStoreProvider is used to store data in memory
MemoryStoreProvider memory_store.Provider
// SMSProvider is used to send SMS
SMSProvider sms.Provider
// StorageProvider is used to register storage like database
StorageProvider storage.Provider
// TokenProvider is used to generate tokens
TokenProvider token.Provider
}
Dependencies for a graphql provider
type Provider ¶
type Provider interface {
// AddEmailTemplate is the method to add email template.
// Permissions: authorizer:admin
AddEmailTemplate(ctx context.Context, params *model.AddEmailTemplateRequest) (*model.Response, error)
// AddWebhook is the method to add webhook.
// Permissions: authorizer:admin
AddWebhook(ctx context.Context, params *model.AddWebhookRequest) (*model.Response, error)
// AdminLogin is the method to login as admin.
// Permissions: none
AdminLogin(ctx context.Context, params *model.AdminLoginRequest) (*model.Response, error)
// AdminLogout is the method to logout as admin.
// Permissions: authorizer:admin
AdminLogout(ctx context.Context) (*model.Response, error)
// AdminSession is the method to get admin session.
// Permissions: authorizer:admin
AdminSession(ctx context.Context) (*model.Response, error)
// DeactivateAccount is the method to deactivate account.
// Permissions: authorized user
DeactivateAccount(ctx context.Context) (*model.Response, error)
// DeleteEmailTemplate is the method to delete email template.
// Permissions: authorizer:admin
DeleteEmailTemplate(ctx context.Context, params *model.DeleteEmailTemplateRequest) (*model.Response, error)
// DeleteUser is the method to delete user.
// Permissions: authorizer:admin
DeleteUser(ctx context.Context, params *model.DeleteUserRequest) (*model.Response, error)
// DeleteWebhook is the method to delete webhook.
// Permissions: authorizer:admin
DeleteWebhook(ctx context.Context, params *model.WebhookRequest) (*model.Response, error)
// EmailTemplates is the method to list email templates.
// Permissions: authorizer:admin
EmailTemplates(ctx context.Context, in *model.PaginatedRequest) (*model.EmailTemplates, error)
// EnableAccess is the method to enable access.
// Permissions: authorizer:admin
EnableAccess(ctx context.Context, params *model.UpdateAccessRequest) (*model.Response, error)
// ForgotPassword is the method to forgot password.
// Permissions: none
ForgotPassword(ctx context.Context, params *model.ForgotPasswordRequest) (*model.ForgotPasswordResponse, error)
// InviteMembers is the method to invite members.
// Permissions: authorizer:admin
InviteMembers(ctx context.Context, params *model.InviteMemberRequest) (*model.InviteMembersResponse, error)
// Login is the method to login.
// Permissions: none
Login(ctx context.Context, params *model.LoginRequest) (*model.AuthResponse, error)
// Logout is the method to logout.
// Permissions: authorized user
Logout(ctx context.Context) (*model.Response, error)
// MagicLinkLogin is the method to login using magic link.
// Permissions: none
MagicLinkLogin(ctx context.Context, params *model.MagicLinkLoginRequest) (*model.Response, error)
// Meta is the method to get meta.
// Permissions: none
Meta(ctx context.Context) (*model.Meta, error)
// Profile is the method to get profile.
// Permissions: authorized user
Profile(ctx context.Context) (*model.User, error)
// ResendOTP is the method to resend OTP.
// Permissions: none
ResendOTP(ctx context.Context, params *model.ResendOTPRequest) (*model.Response, error)
// ResendVerifyEmail is the method to resend verification email.
// Permissions: none
ResendVerifyEmail(ctx context.Context, params *model.ResendVerifyEmailRequest) (*model.Response, error)
// ResetPassword is the method to reset password.
// Permissions: none
ResetPassword(ctx context.Context, params *model.ResetPasswordRequest) (*model.Response, error)
// RevokeAccess is the method to revoke access.
// Permissions: authorizer:admin
RevokeAccess(ctx context.Context, params *model.UpdateAccessRequest) (*model.Response, error)
// Revoke is the method to revoke refresh token.
// Permissions: none
Revoke(ctx context.Context, params *model.OAuthRevokeRequest) (*model.Response, error)
// Session is the method to get session.
// Permissions: authorized user
Session(ctx context.Context, params *model.SessionQueryRequest) (*model.AuthResponse, error)
// SignUp is the method to SignUp.
// Permissions: none
SignUp(ctx context.Context, params *model.SignUpRequest) (*model.AuthResponse, error)
// TestEndpoint is the method to test endpoint.
// Permissions: authorizer:admin
TestEndpoint(ctx context.Context, params *model.TestEndpointRequest) (*model.TestEndpointResponse, error)
// UpdateEmailTemplate is the method to update email template.
// Permissions: authorizer:admin
UpdateEmailTemplate(ctx context.Context, params *model.UpdateEmailTemplateRequest) (*model.Response, error)
// UpdateProfile is the method to update profile.
// Permissions: authorized user
UpdateProfile(ctx context.Context, params *model.UpdateProfileRequest) (*model.Response, error)
// UpdateUser is the method to update user.
// Permissions: authorizer:admin
UpdateUser(ctx context.Context, params *model.UpdateUserRequest) (*model.User, error)
// UpdateWebhook is the method to update webhook.
// Permissions: authorizer:admin
UpdateWebhook(ctx context.Context, params *model.UpdateWebhookRequest) (*model.Response, error)
// User is the method to get user.
// Permissions: authorizer:admin
User(ctx context.Context, params *model.GetUserRequest) (*model.User, error)
// Users is the method to list users.
// Permissions: authorizer:admin
Users(ctx context.Context, in *model.PaginatedRequest) (*model.Users, error)
// ValidateJWTToken is the method to validate JWT token.
// Permissions: none
ValidateJWTToken(ctx context.Context, params *model.ValidateJWTTokenRequest) (*model.ValidateJWTTokenResponse, error)
// ValidateSession is the method to validate browser session.
// Permissions: authorized user
ValidateSession(ctx context.Context, params *model.ValidateSessionRequest) (*model.ValidateSessionResponse, error)
// VerificationRequests is the method to list verification requests.
// Permissions: authorizer:admin
VerificationRequests(ctx context.Context, in *model.PaginatedRequest) (*model.VerificationRequests, error)
// VerifyEmail is the method to verify email.
// Permissions: none
VerifyEmail(ctx context.Context, params *model.VerifyEmailRequest) (*model.AuthResponse, error)
// VerifyOTP is the method to verify OTP.
// Permissions: authorized otp request
VerifyOTP(ctx context.Context, params *model.VerifyOTPRequest) (*model.AuthResponse, error)
// AuditLogs is the method to list audit logs.
// Permissions: authorizer:admin
AuditLogs(ctx context.Context, params *model.ListAuditLogRequest) (*model.AuditLogs, error)
// WebhookLogs is the method to list webhook logs.
// Permissions: authorizer:admin
WebhookLogs(ctx context.Context, in *model.ListWebhookLogRequest) (*model.WebhookLogs, error)
// Webhook is the method to get webhook.
// Permissions: authorizer:admin
Webhook(ctx context.Context, params *model.WebhookRequest) (*model.Webhook, error)
// Webhooks is the method to list webhooks.
// Permissions: authorizer:admin
Webhooks(ctx context.Context, in *model.PaginatedRequest) (*model.Webhooks, error)
}
Provider is the interface that provides the methods to interact with the graphql mutations and queries.
Source Files
¶
- add_email_template.go
- add_webhook.go
- admin_login.go
- admin_logout.go
- admin_session.go
- audit_logs.go
- deactivate_account.go
- delete_email_template.go
- delete_user.go
- delete_webhook.go
- email_templates.go
- enable_access.go
- forgot_password.go
- invite_members.go
- login.go
- logout.go
- magic_link_login.go
- meta.go
- profile.go
- provider.go
- resend_otp.go
- resend_verify_email.go
- reset_password.go
- revoke.go
- revoke_access.go
- session.go
- signup.go
- test_endpoint.go
- update_email_template.go
- update_profile.go
- update_user.go
- update_webhook.go
- user.go
- users.go
- validate_jwt_token.go
- validate_session.go
- verification_requests.go
- verify_email.go
- verify_otp.go
- webhook.go
- webhook_logs.go
- webhooks.go
Click to show internal directories.
Click to hide internal directories.