38 lines
1.4 KiB
Go
38 lines
1.4 KiB
Go
package model
|
|
|
|
import (
|
|
"golang.org/x/oauth2"
|
|
"time"
|
|
)
|
|
|
|
type GDisk struct {
|
|
ID string `psql:"id integer GENERATED ALWAYS AS IDENTITY" db:"id" bson:"_id,omitempty"`
|
|
UserID string `psql:"user_id varchar(150) " db:"user_id" bson:"user_id"`
|
|
AccessToken string `psql:"access_token varchar(150)" db:"access_token" bson:"access_token"`
|
|
RefreshToken string `bson:"refresh_token"`
|
|
ExpiresIn time.Time `psql:"expires_in timestamp" db:"expires_in" bson:"expires_in"`
|
|
TokenType string `psql:"token_type varchar(150)" db:"token_type" bson:"token_type"`
|
|
TemplateFolder string `psql:"template_folder varchar(150)" db:"template_folder" bson:"template_folder"`
|
|
TemplateFolderID string `bson:"template_folder_id"`
|
|
SaveFolder string `psql:"save_folder varchar(150)" db:"save_folder" bson:"save_folder"`
|
|
SaveFolderID string `bson:"save_folder_id"`
|
|
IsDeleted bool `psql:"is_deleted bool" db:"is_deleted" bson:"is_deleted"`
|
|
CreatedAt time.Time `psql:"created_at timestamp" db:"created_at" bson:"created_at"`
|
|
UpdatedAt time.Time `psql:"updated_at timestamp" db:"updated_at" bson:"updated_at"`
|
|
}
|
|
|
|
func (m *GDisk) Token() *oauth2.Token {
|
|
token := &oauth2.Token{
|
|
AccessToken: m.AccessToken,
|
|
TokenType: m.TokenType,
|
|
RefreshToken: m.RefreshToken,
|
|
Expiry: m.ExpiresIn,
|
|
}
|
|
|
|
if !token.Valid() {
|
|
return nil
|
|
}
|
|
|
|
return token
|
|
}
|