diff options
Diffstat (limited to 'internal/model/api_key.go')
-rw-r--r-- | internal/model/api_key.go | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/internal/model/api_key.go b/internal/model/api_key.go new file mode 100644 index 00000000..c623c9b8 --- /dev/null +++ b/internal/model/api_key.go @@ -0,0 +1,32 @@ +// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved. +// SPDX-License-Identifier: Apache-2.0 + +package model // import "miniflux.app/v2/internal/model" + +import ( + "time" + + "miniflux.app/v2/internal/crypto" +) + +// APIKey represents an application API key. +type APIKey struct { + ID int64 + UserID int64 + Token string + Description string + LastUsedAt *time.Time + CreatedAt time.Time +} + +// NewAPIKey initializes a new APIKey. +func NewAPIKey(userID int64, description string) *APIKey { + return &APIKey{ + UserID: userID, + Token: crypto.GenerateRandomString(32), + Description: description, + } +} + +// APIKeys represents a collection of API Key. +type APIKeys []*APIKey |