ots/storage.go
Knut Ahlers ea631beeef
Replace redis client, move expiry into creation interface
Signed-off-by: Knut Ahlers <knut@ahlers.me>
2023-06-10 01:42:46 +02:00

26 lines
461 B
Go

package main
import (
"errors"
"fmt"
"time"
)
var errSecretNotFound = errors.New("Secret not found")
type storage interface {
Create(secret string, expireIn time.Duration) (string, error)
ReadAndDestroy(id string) (string, error)
}
func getStorageByType(t string) (storage, error) {
switch t {
case "mem":
return newStorageMem(), nil
case "redis":
return newStorageRedis()
default:
return nil, fmt.Errorf("Storage type %q not found", t)
}
}