Separate userpatch and clientstore

This commit is contained in:
Melon 2024-05-17 18:22:39 +01:00
parent e0fa521657
commit 807c5c540c
Signed by: melon
GPG Key ID: 6C9D970C50D26A25
2 changed files with 24 additions and 20 deletions

24
database/clientstore.go Normal file
View File

@ -0,0 +1,24 @@
package database
import (
"github.com/go-oauth2/oauth2/v4"
)
var _ oauth2.ClientInfo = &ClientStore{}
func (c *ClientStore) GetID() string { return c.Subject }
func (c *ClientStore) GetSecret() string { return c.Secret }
func (c *ClientStore) GetDomain() string { return c.Domain }
func (c *ClientStore) IsPublic() bool { return c.Public }
func (c *ClientStore) GetUserID() string { return c.Owner }
// GetName is an extra field for the oauth handler to display the application
// name
func (c *ClientStore) GetName() string { return c.Name }
// IsSSO is an extra field for the oauth handler to skip the user input stage
// this is for trusted applications to get permissions without asking the user
func (c *ClientStore) IsSSO() bool { return c.Sso }
// IsActive is an extra field for the app manager to get the active state
func (c *ClientStore) IsActive() bool { return c.Active }

View File

@ -3,7 +3,6 @@ package database
import ( import (
"fmt" "fmt"
"github.com/1f349/tulip/database/types" "github.com/1f349/tulip/database/types"
"github.com/go-oauth2/oauth2/v4"
"github.com/hardfinhq/go-date" "github.com/hardfinhq/go-date"
"github.com/mrmelon54/pronouns" "github.com/mrmelon54/pronouns"
"golang.org/x/text/language" "golang.org/x/text/language"
@ -61,22 +60,3 @@ func (u *UserPatch) ParseFromForm(v url.Values) (safeErrs []error) {
} }
return return
} }
var _ oauth2.ClientInfo = &ClientStore{}
func (c *ClientStore) GetID() string { return c.Subject }
func (c *ClientStore) GetSecret() string { return c.Secret }
func (c *ClientStore) GetDomain() string { return c.Domain }
func (c *ClientStore) IsPublic() bool { return c.Public }
func (c *ClientStore) GetUserID() string { return c.Owner }
// GetName is an extra field for the oauth handler to display the application
// name
func (c *ClientStore) GetName() string { return c.Name }
// IsSSO is an extra field for the oauth handler to skip the user input stage
// this is for trusted applications to get permissions without asking the user
func (c *ClientStore) IsSSO() bool { return c.Sso }
// IsActive is an extra field for the app manager to get the active state
func (c *ClientStore) IsActive() bool { return c.Active }