feature: verify tokens

This commit is contained in:
2024-11-17 22:28:29 +05:30
parent 26a00c9f7c
commit 9d40c9d7ec
57 changed files with 4188 additions and 276 deletions

View File

@@ -101,8 +101,8 @@ var (
{Name: "email_verified", Type: field.TypeBool, Default: false},
{Name: "phone", Type: field.TypeString, Nullable: true, Size: 20},
{Name: "phone_verified", Type: field.TypeBool, Default: false},
{Name: "pwd_salt", Type: field.TypeString, Size: 250},
{Name: "pwd_hash", Type: field.TypeString, Size: 250},
{Name: "pwd_salt", Type: field.TypeString, Size: 100},
{Name: "pwd_hash", Type: field.TypeString, Size: 100},
{Name: "login_failed_count", Type: field.TypeUint8, Nullable: true, Default: 0},
{Name: "login_attempt_on", Type: field.TypeTime, Nullable: true},
{Name: "login_locked_until", Type: field.TypeTime, Nullable: true},
@@ -186,6 +186,29 @@ var (
},
},
}
// VerifyTokensColumns holds the columns for the "verify_tokens" table.
VerifyTokensColumns = []*schema.Column{
{Name: "id", Type: field.TypeInt64, Increment: true},
{Name: "created_at", Type: field.TypeTime},
{Name: "expires_at", Type: field.TypeTime},
{Name: "token", Type: field.TypeString, Unique: true, Size: 50},
{Name: "purpose", Type: field.TypeString, Nullable: true, Size: 50},
{Name: "user_id", Type: field.TypeInt64, Nullable: true},
}
// VerifyTokensTable holds the schema information for the "verify_tokens" table.
VerifyTokensTable = &schema.Table{
Name: "verify_tokens",
Columns: VerifyTokensColumns,
PrimaryKey: []*schema.Column{VerifyTokensColumns[0]},
ForeignKeys: []*schema.ForeignKey{
{
Symbol: "verify_tokens_users_verify_tokens",
Columns: []*schema.Column{VerifyTokensColumns[5]},
RefColumns: []*schema.Column{UsersColumns[0]},
OnDelete: schema.SetNull,
},
},
}
// Tables holds all the tables in the schema.
Tables = []*schema.Table{
AccessControlsTable,
@@ -194,10 +217,12 @@ var (
TodosTable,
UsersTable,
UserSessionsTable,
VerifyTokensTable,
}
)
func init() {
AuditsTable.ForeignKeys[0].RefTable = UsersTable
UserSessionsTable.ForeignKeys[0].RefTable = UsersTable
VerifyTokensTable.ForeignKeys[0].RefTable = UsersTable
}