47 lines
1.0 KiB
Go
47 lines
1.0 KiB
Go
package controller
|
|
|
|
import (
|
|
"io"
|
|
d "ticket-pimp/bot/domain"
|
|
"ticket-pimp/bot/ext"
|
|
)
|
|
|
|
type WorkflowController struct {
|
|
iGit ext.IGit
|
|
iCloud ext.ICloud
|
|
iYouTrack ext.IYouTrack
|
|
additionalYT ext.IYouTrack
|
|
iCoda ext.ICoda
|
|
}
|
|
|
|
func NewWorkflowController(
|
|
gitBaseURL,
|
|
gitToken,
|
|
cloudBaseURL,
|
|
cloudAuthUser,
|
|
cloudAuthPass,
|
|
ytBaseURL,
|
|
ytToken,
|
|
addYTURL,
|
|
addYTToken string,
|
|
) *WorkflowController {
|
|
return &WorkflowController{
|
|
iGit: ext.NewGit(gitBaseURL, gitToken),
|
|
iCloud: ext.NewCloud(cloudBaseURL, cloudAuthUser, cloudAuthPass),
|
|
iYouTrack: ext.NewYT(ytBaseURL, ytToken),
|
|
additionalYT: ext.NewYT(addYTURL, addYTToken),
|
|
iCoda: ext.NewCodaClient(),
|
|
}
|
|
}
|
|
|
|
type IWorkflowController interface {
|
|
Workflow(name string) (string, error)
|
|
CreateRepo(name string) (*d.Git, error)
|
|
CreateFolder(name string) (*d.Folder, error)
|
|
|
|
NewTask(summ, desc, c, cLink string) *Task
|
|
CreateTask(t *Task) (*Task, error)
|
|
|
|
ThrowConversions(f io.ReadCloser, appID string, token string) *d.ConversionLog
|
|
}
|