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 и данных необходимых для хранилища.
|
2022-09-15 13:53:55 +00:00
|
|
|
|
// Пользователь может иметь несколько хранилищ GDisk.
|
|
|
|
|
// Email - уникальное поле и закрепляется только за одним пользователем
|
2022-07-28 15:00:43 +00:00
|
|
|
|
type GDisk struct {
|
2022-09-15 13:53:55 +00:00
|
|
|
|
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:"-"`
|
2022-10-11 10:07:29 +00:00
|
|
|
|
Name string `bson:"name" json:"name"` // Пользовательское название хранилища
|
|
|
|
|
DefaultFolder string `bson:"default_folder" json:"default_folder"`
|
|
|
|
|
DefaultFolderID string `bson:"default_folder_id" json:"default_folder_id"`
|
2022-09-15 13:53:55 +00:00
|
|
|
|
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
|
|
|
|
|
}
|