package store import "time" type Store interface { UpsertUser(user User) GetUser(publicKey string) (User, error) CreateChallenge(ch Challenge) error GetChallenge(nonce string) (Challenge, error) MarkChallengeUsed(nonce string) error SaveSession(session Session) GetSession(token string) (Session, error) SaveInvitation(inv Invitation) error GetInvitation(jti string) (Invitation, error) IncrementInvitationUsage(jti string) error SaveCollection(c Collection) ListCollectionsByOwner(owner string) []Collection GetCollection(id string) (Collection, error) DeleteCollection(id string) error SaveFeature(f Feature) ListFeaturesByCollection(collectionID string) []Feature GetFeature(featureID string) (Feature, error) DeleteFeature(featureID string) error PruneExpired(now time.Time) }