Create Api Key added
This commit is contained in:
@ -11,6 +11,29 @@ import (
|
||||
"golang.org/x/crypto/bcrypt"
|
||||
)
|
||||
|
||||
func (r *NodeRepository) IsApiKeyValid(key string) (bool, error) {
|
||||
var exists bool
|
||||
query := "SELECT exists(SELECT 1 FROM node_api_keys WHERE key_value=$1 AND is_active=true)"
|
||||
err := r.DB.Get(&exists, query, key)
|
||||
return exists, err
|
||||
}
|
||||
|
||||
func (r *NodeRepository) CreateApiKeyHandler(c *gin.Context, newKey string) (models.CreateApiKeyResponse, error) {
|
||||
|
||||
var key models.CreateApiKeyResponse
|
||||
|
||||
var req models.CreateApiKeyRequest
|
||||
if err := c.ShouldBindJSON(&req); err != nil {
|
||||
c.JSON(http.StatusBadRequest, gin.H{"error": "Format invalide"})
|
||||
return key, err
|
||||
}
|
||||
|
||||
query := "INSERT INTO node_api_keys (key_value, key_name) VALUES ($1, $2) RETURNING id, key_name, key_value;"
|
||||
err := r.DB.Get(&key, query, newKey, req.KeyName)
|
||||
|
||||
return key, err
|
||||
}
|
||||
|
||||
func (r *NodeRepository) LoginHandler(c *gin.Context) {
|
||||
var req models.LoginRequest
|
||||
if err := c.ShouldBindJSON(&req); err != nil {
|
||||
|
||||
Reference in New Issue
Block a user