docxTemplater/dal/model/yadisk.go

39 lines
1.7 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"
)
// YaDisk (Storage) - хранит информацию о пользователе Yandex и данных необходимых для хранилища.
// Пользователь может иметь несколько хранилищ YaDisk.
// Login - уникальное поле и закрепляется только за одним пользователем
2022-07-28 15:00:43 +00:00
type YaDisk struct {
ID string `bson:"_id,omitempty" json:"id"`
UserID string `bson:"user_id" json:"user_id"`
UID string `bson:"uid" json:"uid"` // Yandex UID. Unique ?
Login string `bson:"login" json:"login"` // Yandex login. Unique ?
DisplayName string `bson:"display_name" json:"display_name"` // Отображаемое имя пользователя в Yandex
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"` // Пользовательское название хранилища
TemplateFolder string `bson:"template_folder" json:"template_folder"`
SaveFolder string `bson:"save_folder" json:"save_folder"`
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 *YaDisk) Token() *oauth2.Token {
token := &oauth2.Token{
AccessToken: m.AccessToken,
TokenType: m.TokenType,
RefreshToken: m.RefreshToken,
Expiry: m.ExpiresIn,
}
return token
}