Documentation ¶
Index ¶
Constants ¶
View Source
const ( // FieldName email is the field name for email FieldNameEmail = "email" // FieldNamePhoneNumber is the field name for phone number FieldNamePhoneNumber = "phone_number" )
Variables ¶
View Source
var ( // Prefix for table name / collection names Prefix = "authorizer_" // Collections / Tables available for authorizer in the database (used for dbs other than gorm) Collections = CollectionList{ User: Prefix + "users", VerificationRequest: Prefix + "verification_requests", Session: Prefix + "sessions", Env: Prefix + "env", Webhook: Prefix + "webhooks", WebhookLog: Prefix + "webhook_logs", EmailTemplate: Prefix + "email_templates", OTP: Prefix + "otps", SMSVerificationRequest: Prefix + "sms_verification_requests", Authenticators: Prefix + "authenticators", } )
Functions ¶
This section is empty.
Types ¶
type Authenticator ¶
type Authenticator struct { Key string `json:"_key,omitempty" bson:"_key,omitempty" cql:"_key,omitempty" dynamo:"key,omitempty"` // for arangodb ID string `gorm:"primaryKey;type:char(36)" json:"_id" bson:"_id" cql:"id" dynamo:"id,hash"` UserID string `gorm:"type:char(36)" json:"user_id" bson:"user_id" cql:"user_id" dynamo:"user_id" index:"user_id,hash"` Method string `json:"method" bson:"method" cql:"method" dynamo:"method"` Secret string `json:"secret" bson:"secret" cql:"secret" dynamo:"secret"` RecoveryCodes *string `json:"recovery_codes" bson:"recovery_codes" cql:"recovery_codes" dynamo:"recovery_codes"` VerifiedAt *int64 `json:"verified_at" bson:"verified_at" cql:"verified_at" dynamo:"verified_at"` CreatedAt int64 `json:"created_at" bson:"created_at" cql:"created_at" dynamo:"created_at"` UpdatedAt int64 `json:"updated_at" bson:"updated_at" cql:"updated_at" dynamo:"updated_at"` }
Authenticators model for db
type CollectionList ¶
type CollectionList struct { User string VerificationRequest string Session string Env string Webhook string WebhookLog string EmailTemplate string OTP string SMSVerificationRequest string Authenticators string }
CollectionList / Tables available for authorizer in the database
type EmailTemplate ¶
type EmailTemplate struct { Key string `json:"_key,omitempty" bson:"_key,omitempty" cql:"_key,omitempty" dynamo:"key,omitempty"` // for arangodb ID string `gorm:"primaryKey;type:char(36)" json:"_id" bson:"_id" cql:"id" dynamo:"id,hash"` EventName string `gorm:"unique" json:"event_name" bson:"event_name" cql:"event_name" dynamo:"event_name" index:"event_name,hash"` Subject string `json:"subject" bson:"subject" cql:"subject" dynamo:"subject"` Template string `json:"template" bson:"template" cql:"template" dynamo:"template"` Design string `json:"design" bson:"design" cql:"design" dynamo:"design"` CreatedAt int64 `json:"created_at" bson:"created_at" cql:"created_at" dynamo:"created_at"` UpdatedAt int64 `json:"updated_at" bson:"updated_at" cql:"updated_at" dynamo:"updated_at"` }
EmailTemplate model for database
func (*EmailTemplate) AsAPIEmailTemplate ¶
func (e *EmailTemplate) AsAPIEmailTemplate() *model.EmailTemplate
AsAPIEmailTemplate to return email template as graphql response object
type Env ¶
type Env struct { Key string `json:"_key,omitempty" bson:"_key,omitempty" cql:"_key,omitempty" dynamo:"key,omitempty"` // for arangodb ID string `gorm:"primaryKey;type:char(36)" json:"_id" bson:"_id" cql:"id" dynamo:"id,hash"` EnvData string `json:"env" bson:"env" cql:"env" dynamo:"env"` Hash string `json:"hash" bson:"hash" cql:"hash" dynamo:"hash"` EncryptionKey string `json:"encryption_key" bson:"encryption_key" cql:"encryption_key" dynamo:"encryption_key"` // couchbase has "hash" as reserved keyword so we cannot use it. This will be empty for other dbs. UpdatedAt int64 `json:"updated_at" bson:"updated_at" cql:"updated_at" dynamo:"updated_at"` CreatedAt int64 `json:"created_at" bson:"created_at" cql:"created_at" dynamo:"created_at"` }
Env model for db
type OTP ¶
type OTP struct { Key string `json:"_key,omitempty" bson:"_key,omitempty" cql:"_key,omitempty" dynamo:"key,omitempty"` // for arangodb ID string `gorm:"primaryKey;type:char(36)" json:"_id" bson:"_id" cql:"id" dynamo:"id,hash"` Email string `gorm:"index" json:"email" bson:"email" cql:"email" dynamo:"email" index:"email,hash"` PhoneNumber string `gorm:"index" json:"phone_number" bson:"phone_number" cql:"phone_number" dynamo:"phone_number"` Otp string `json:"otp" bson:"otp" cql:"otp" dynamo:"otp"` ExpiresAt int64 `json:"expires_at" bson:"expires_at" cql:"expires_at" dynamo:"expires_at"` CreatedAt int64 `json:"created_at" bson:"created_at" cql:"created_at" dynamo:"created_at"` UpdatedAt int64 `json:"updated_at" bson:"updated_at" cql:"updated_at" dynamo:"updated_at"` }
OTP model for database
type Session ¶
type Session struct { Key string `json:"_key,omitempty" bson:"_key,omitempty" cql:"_key,omitempty" dynamo:"key,omitempty"` // for arangodb ID string `gorm:"primaryKey;type:char(36)" json:"_id" bson:"_id" cql:"id" dynamo:"id,hash"` UserID string `gorm:"type:char(36)" json:"user_id" bson:"user_id" cql:"user_id" dynamo:"user_id" index:"user_id,hash"` UserAgent string `json:"user_agent" bson:"user_agent" cql:"user_agent" dynamo:"user_agent"` IP string `json:"ip" bson:"ip" cql:"ip" dynamo:"ip"` CreatedAt int64 `json:"created_at" bson:"created_at" cql:"created_at" dynamo:"created_at"` UpdatedAt int64 `json:"updated_at" bson:"updated_at" cql:"updated_at" dynamo:"updated_at"` }
Session model for db
type User ¶
type User struct { Key string `json:"_key,omitempty" bson:"_key,omitempty" cql:"_key,omitempty" dynamo:"key,omitempty"` // for arangodb ID string `gorm:"primaryKey;type:char(36)" json:"_id" bson:"_id" cql:"id" dynamo:"id,hash"` Email *string `gorm:"index" json:"email" bson:"email" cql:"email" dynamo:"email" index:"email,hash"` EmailVerifiedAt *int64 `json:"email_verified_at" bson:"email_verified_at" cql:"email_verified_at" dynamo:"email_verified_at"` Password *string `json:"password" bson:"password" cql:"password" dynamo:"password"` SignupMethods string `json:"signup_methods" bson:"signup_methods" cql:"signup_methods" dynamo:"signup_methods"` GivenName *string `json:"given_name" bson:"given_name" cql:"given_name" dynamo:"given_name"` FamilyName *string `json:"family_name" bson:"family_name" cql:"family_name" dynamo:"family_name"` MiddleName *string `json:"middle_name" bson:"middle_name" cql:"middle_name" dynamo:"middle_name"` Nickname *string `json:"nickname" bson:"nickname" cql:"nickname" dynamo:"nickname"` Gender *string `json:"gender" bson:"gender" cql:"gender" dynamo:"gender"` Birthdate *string `json:"birthdate" bson:"birthdate" cql:"birthdate" dynamo:"birthdate"` PhoneNumber *string `gorm:"index" json:"phone_number" bson:"phone_number" cql:"phone_number" dynamo:"phone_number"` PhoneNumberVerifiedAt *int64 `` /* 128-byte string literal not displayed */ Picture *string `json:"picture" bson:"picture" cql:"picture" dynamo:"picture"` Roles string `json:"roles" bson:"roles" cql:"roles" dynamo:"roles"` RevokedTimestamp *int64 `json:"revoked_timestamp" bson:"revoked_timestamp" cql:"revoked_timestamp" dynamo:"revoked_timestamp"` IsMultiFactorAuthEnabled *bool `` /* 144-byte string literal not displayed */ UpdatedAt int64 `json:"updated_at" bson:"updated_at" cql:"updated_at" dynamo:"updated_at"` CreatedAt int64 `json:"created_at" bson:"created_at" cql:"created_at" dynamo:"created_at"` AppData *string `json:"app_data" bson:"app_data" cql:"app_data" dynamo:"app_data"` }
User model for db
type VerificationRequest ¶
type VerificationRequest struct { Key string `json:"_key,omitempty" bson:"_key" cql:"_key,omitempty" dynamo:"key,omitempty"` // for arangodb ID string `gorm:"primaryKey;type:char(36)" json:"_id" bson:"_id" cql:"id" dynamo:"id,hash"` Token string `json:"token" bson:"token" cql:"jwt_token" dynamo:"token" index:"token,hash"` Identifier string `` /* 129-byte string literal not displayed */ ExpiresAt int64 `json:"expires_at" bson:"expires_at" cql:"expires_at" dynamo:"expires_at"` Email string `gorm:"uniqueIndex:idx_email_identifier;type:varchar(256)" json:"email" bson:"email" cql:"email" dynamo:"email"` Nonce string `json:"nonce" bson:"nonce" cql:"nonce" dynamo:"nonce"` RedirectURI string `json:"redirect_uri" bson:"redirect_uri" cql:"redirect_uri" dynamo:"redirect_uri"` CreatedAt int64 `json:"created_at" bson:"created_at" cql:"created_at" dynamo:"created_at"` UpdatedAt int64 `json:"updated_at" bson:"updated_at" cql:"updated_at" dynamo:"updated_at"` }
VerificationRequest model for db
func (*VerificationRequest) AsAPIVerificationRequest ¶
func (v *VerificationRequest) AsAPIVerificationRequest() *model.VerificationRequest
type Webhook ¶
type Webhook struct { Key string `json:"_key,omitempty" bson:"_key,omitempty" cql:"_key,omitempty" dynamo:"key,omitempty"` // for arangodb ID string `gorm:"primaryKey;type:char(36)" json:"_id" bson:"_id" cql:"id" dynamo:"id,hash"` EventName string `gorm:"unique" json:"event_name" bson:"event_name" cql:"event_name" dynamo:"event_name" index:"event_name,hash"` EventDescription string `json:"event_description" bson:"event_description" cql:"event_description" dynamo:"event_description"` EndPoint string `json:"endpoint" bson:"endpoint" cql:"endpoint" dynamo:"endpoint"` Headers string `json:"headers" bson:"headers" cql:"headers" dynamo:"headers"` Enabled bool `json:"enabled" bson:"enabled" cql:"enabled" dynamo:"enabled"` CreatedAt int64 `json:"created_at" bson:"created_at" cql:"created_at" dynamo:"created_at"` UpdatedAt int64 `json:"updated_at" bson:"updated_at" cql:"updated_at" dynamo:"updated_at"` }
Webhook model for db
func (*Webhook) AsAPIWebhook ¶
AsAPIWebhook to return webhook as graphql response object
type WebhookLog ¶
type WebhookLog struct { Key string `json:"_key,omitempty" bson:"_key,omitempty" cql:"_key,omitempty" dynamo:"key,omitempty"` // for arangodb ID string `gorm:"primaryKey;type:char(36)" json:"_id" bson:"_id" cql:"id" dynamo:"id,hash"` HttpStatus int64 `json:"http_status" bson:"http_status" cql:"http_status" dynamo:"http_status"` Response string `json:"response" bson:"response" cql:"response" dynamo:"response"` Request string `json:"request" bson:"request" cql:"request" dynamo:"request"` WebhookID string `gorm:"type:char(36)" json:"webhook_id" bson:"webhook_id" cql:"webhook_id" dynamo:"webhook_id" index:"webhook_id,hash"` CreatedAt int64 `json:"created_at" bson:"created_at" cql:"created_at" dynamo:"created_at"` UpdatedAt int64 `json:"updated_at" bson:"updated_at" cql:"updated_at" dynamo:"updated_at"` }
WebhookLog model for db
func (*WebhookLog) AsAPIWebhookLog ¶
func (w *WebhookLog) AsAPIWebhookLog() *model.WebhookLog
AsAPIWebhookLog to return webhook log as graphql response object
Click to show internal directories.
Click to hide internal directories.