mirror of
				https://github.com/superseriousbusiness/gotosocial.git
				synced 2025-10-31 07:02:27 -05:00 
			
		
		
		
	
		
			
	
	
		
			37 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
		
		
			
		
	
	
			37 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
|  | package oauth2 | ||
|  | 
 | ||
|  | import "context" | ||
|  | 
 | ||
|  | type ( | ||
|  | 	// ClientStore the client information storage interface | ||
|  | 	ClientStore interface { | ||
|  | 		GetByID(ctx context.Context, id string) (ClientInfo, error) | ||
|  | 		Set(ctx context.Context, id string, cli ClientInfo) error | ||
|  | 		Delete(ctx context.Context, id string) error | ||
|  | 	} | ||
|  | 
 | ||
|  | 	// TokenStore the token information storage interface | ||
|  | 	TokenStore interface { | ||
|  | 		// create and store the new token information | ||
|  | 		Create(ctx context.Context, info TokenInfo) error | ||
|  | 
 | ||
|  | 		// delete the authorization code | ||
|  | 		RemoveByCode(ctx context.Context, code string) error | ||
|  | 
 | ||
|  | 		// use the access token to delete the token information | ||
|  | 		RemoveByAccess(ctx context.Context, access string) error | ||
|  | 
 | ||
|  | 		// use the refresh token to delete the token information | ||
|  | 		RemoveByRefresh(ctx context.Context, refresh string) error | ||
|  | 
 | ||
|  | 		// use the authorization code for token information data | ||
|  | 		GetByCode(ctx context.Context, code string) (TokenInfo, error) | ||
|  | 
 | ||
|  | 		// use the access token for token information data | ||
|  | 		GetByAccess(ctx context.Context, access string) (TokenInfo, error) | ||
|  | 
 | ||
|  | 		// use the refresh token for token information data | ||
|  | 		GetByRefresh(ctx context.Context, refresh string) (TokenInfo, error) | ||
|  | 	} | ||
|  | ) |