Documentation
¶
Index ¶
- func DoPost(url string, form url.Values) (resp *http.Response, err error)
- func DoPostWithHeaders(url string, form url.Values, headers map[string]string) (resp *http.Response, err error)
- func DownloadFile(url string) (buf *bytes.Buffer, err error)
- func DownloadFileWithHeaders(url string, headers http.Header) (buf *bytes.Buffer, err error)
- func FinishMigration(status *Status) (err error)
- func GetTables() []interface{}
- func InsertFromStructure(str []*models.ProjectWithTasksAndBuckets, user *user.User) (err error)
- type FileMigrator
- type Migrator
- type MigratorName
- type Status
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DoPostWithHeaders ¶ added in v0.20.2
func DoPostWithHeaders(url string, form url.Values, headers map[string]string) (resp *http.Response, err error)
DoPostWithHeaders does an api request and allows to pass in arbitrary headers
func DownloadFile ¶ added in v0.16.0
DownloadFile downloads a file and returns its contents
func DownloadFileWithHeaders ¶ added in v0.19.0
DownloadFileWithHeaders downloads a file and allows you to pass in headers
func FinishMigration ¶ added in v0.22.0
FinishMigration sets the finished at time and calls it a day
func GetTables ¶
func GetTables() []interface{}
GetTables returns all structs which are also a table.
func InsertFromStructure ¶
func InsertFromStructure(str []*models.ProjectWithTasksAndBuckets, user *user.User) (err error)
InsertFromStructure takes a fully nested Vikunja data structure and a user and then creates everything for this user (Projects, tasks, etc. Even attachments and relations.)
Types ¶
type FileMigrator ¶ added in v0.18.0
type FileMigrator interface {
MigratorName
// Migrate is the interface used to migrate a user's tasks, project and other things from a file to vikunja.
// The user object is the user who's tasks will be migrated.
Migrate(user *user.User, file io.ReaderAt, size int64) error
}
FileMigrator handles importing Vikunja data from a file. The implementation of it determines the format.
type Migrator ¶
type Migrator interface {
MigratorName
// Migrate is the interface used to migrate a user's tasks from another platform to vikunja.
// The user object is the user who's tasks will be migrated.
Migrate(user *user.User) error
// AuthURL returns a url for clients to authenticate against.
// The use case for this are Oauth flows, where the server token should remain hidden and not
// known to the frontend.
AuthURL() string
}
Migrator is the basic migrator interface which is shared among all migrators
type MigratorName ¶ added in v0.18.0
type MigratorName interface {
// Name holds the name of the migration.
// This is used to show the name to users and to keep track of users who already migrated.
Name() string
}
type Status ¶
type Status struct {
ID int64 `xorm:"bigint autoincr not null unique pk" json:"id"`
UserID int64 `xorm:"bigint not null" json:"-"`
MigratorName string `xorm:"varchar(255)" json:"migrator_name"`
StartedAt time.Time `xorm:"not null" json:"started_at"`
FinishedAt time.Time `xorm:"null" json:"finished_at"`
}
Status represents this migration status
func GetMigrationStatus ¶
func GetMigrationStatus(m MigratorName, u *user.User) (status *Status, err error)
GetMigrationStatus returns the migration status for a migration and a user
func StartMigration ¶ added in v0.22.0
func StartMigration(m MigratorName, u *user.User) (status *Status, err error)
StartMigration sets the migration status for a user