docxTemplater/dal/model/gdisk.go

43 lines
2.1 KiB
Go
Raw Normal View History

2022-07-28 15:00:43 +00:00
package model
import (
2022-08-10 13:53:34 +00:00
"golang.org/x/oauth2"
2022-07-28 15:00:43 +00:00
"time"
)
2022-11-21 15:07:49 +00:00
// GDisk (StorageType) - хранит информацию о пользователе Google и данных необходимых для хранилища.
// Пользователь может иметь несколько хранилищ GDisk.
// Email - уникальное поле и закрепляется только за одним пользователем
2022-07-28 15:00:43 +00:00
type GDisk struct {
ID string `bson:"_id,omitempty" json:"id"`
UserID string `bson:"user_id" json:"user_id"`
Email string `bson:"email" json:"email"` // Google email. Unique ?
DisplayName string `bson:"display_name" json:"display_name"` // Отображаемое имя пользователя в Google
PhotoLink string `bson:"photo_link" json:"photo_link"` // Фото пользователя в Google
AccessToken string `bson:"access_token" json:"-"`
RefreshToken string `bson:"refresh_token" json:"-"`
ExpiresIn time.Time `bson:"expires_in" json:"-"`
TokenType string `bson:"token_type" json:"-"`
Name string `bson:"name" json:"name"` // Пользовательское название хранилища
DefaultFolder string `bson:"default_folder" json:"default_folder"`
DefaultFolderID string `bson:"default_folder_id" json:"default_folder_id"`
TemplateFolder string `bson:"template_folder" json:"template_folder"`
TemplateFolderID string `bson:"template_folder_id" json:"template_folder_id"`
SaveFolder string `bson:"save_folder" json:"save_folder"`
SaveFolderID string `bson:"save_folder_id" json:"save_folder_id"`
IsDeleted bool `bson:"is_deleted" json:"is_deleted"`
CreatedAt time.Time `bson:"created_at" json:"created_at"`
UpdatedAt time.Time `bson:"updated_at" json:"updated_at"`
2022-07-28 15:00:43 +00:00
}
2022-08-10 13:53:34 +00:00
func (m *GDisk) Token() *oauth2.Token {
token := &oauth2.Token{
AccessToken: m.AccessToken,
TokenType: m.TokenType,
RefreshToken: m.RefreshToken,
Expiry: m.ExpiresIn,
}
return token
}