diff --git a/cmd/api/src/database/migration/migrations/v8.7.0.sql b/cmd/api/src/database/migration/migrations/v8.7.0.sql index d1b033af4d5..115e662ec05 100644 --- a/cmd/api/src/database/migration/migrations/v8.7.0.sql +++ b/cmd/api/src/database/migration/migrations/v8.7.0.sql @@ -146,3 +146,7 @@ CREATE TABLE IF NOT EXISTS schema_list_findings ( CREATE INDEX IF NOT EXISTS idx_schema_list_findings_extension_id ON schema_list_findings (schema_extension_id); CREATE INDEX IF NOT EXISTS idx_schema_list_findings_environment_id ON schema_list_findings(environment_id); + +-- Update the 'auth_tokens' Table adding Expiration Column +ALTER TABLE auth_tokens +ADD COLUMN IF NOT EXISTS expires_at timestamp with time zone; \ No newline at end of file diff --git a/cmd/api/src/model/auth.go b/cmd/api/src/model/auth.go index 5871d5b2767..7b603790b27 100644 --- a/cmd/api/src/model/auth.go +++ b/cmd/api/src/model/auth.go @@ -151,6 +151,7 @@ type AuthToken struct { Key string `json:"key,omitempty"` HmacMethod string `json:"hmac_method"` LastAccess time.Time `json:"last_access"` + Expiration null.Time `json:"expires_at"` Unique } @@ -174,6 +175,7 @@ func (s AuthToken) StripKey() AuthToken { LastAccess: s.LastAccess, Unique: s.Unique, Name: s.Name, + Expiration: s.Expiration, } } @@ -185,7 +187,8 @@ func (s AuthTokens) IsSortable(column string) bool { "last_access", "created_at", "updated_at", - "deleted_at": + "deleted_at", + "expires_at": return true default: return false @@ -203,6 +206,7 @@ func (s AuthTokens) ValidFilters() map[string][]FilterOperator { "created_at": {Equals, GreaterThan, GreaterThanOrEquals, LessThan, LessThanOrEquals, NotEquals}, "updated_at": {Equals, GreaterThan, GreaterThanOrEquals, LessThan, LessThanOrEquals, NotEquals}, "deleted_at": {Equals, GreaterThan, GreaterThanOrEquals, LessThan, LessThanOrEquals, NotEquals}, + "expires_at": {Equals, GreaterThan, GreaterThanOrEquals, LessThan, LessThanOrEquals, NotEquals}, } }