25 lines
722 B
Go
25 lines
722 B
Go
package repositories
|
|
|
|
import (
|
|
"time"
|
|
|
|
"git.secnex.io/secnex/oauth2-api/database"
|
|
"git.secnex.io/secnex/oauth2-api/models"
|
|
)
|
|
|
|
func GetAuthorizationByID(id string) (*models.Authorization, error) {
|
|
var authorization *models.Authorization
|
|
if err := database.DB.Where("id = ? AND expires_at > ?", id, time.Now().UTC()).First(&authorization).Error; err != nil {
|
|
return nil, err
|
|
}
|
|
return authorization, nil
|
|
}
|
|
|
|
func CreateAuthorization(authorization *models.Authorization) error {
|
|
return database.DB.Create(authorization).Error
|
|
}
|
|
|
|
func ExpireAuthorization(authorizationID string) error {
|
|
return database.DB.Model(&models.Authorization{}).Where("id = ?", authorizationID).Update("expires_at", time.Now().UTC()).Error
|
|
}
|