Documentation ¶
Index ¶
- Constants
- type App
- func (a *App) CreateProject(u *domain.User, p *domain.Project) (*domain.Project, error)
- func (a *App) CreateUser(u *domain.User) error
- func (a *App) GetOrCreateTeamsUser(turn mesga.Turn) (*domain.User, error)
- func (a *App) GetOrCreateTeamsUserDialog(turn mesga.Turn, user *domain.User) (*domain.Dialog, error)
- func (a *App) GetUser(u *domain.User) (*domain.User, error)
- func (a *App) GetUserAndDialog(turn mesga.Turn) (*domain.User, *domain.Dialog, error)
- func (a *App) GetUserProjects(u *domain.User) ([]*domain.Project, error)
- func (a *App) GetUserToken(u *domain.User) (string, error)
- func (a *App) HandleInvoke(turn mesga.Turn) mesga.Turn
- func (a *App) HandleMessage(turn mesga.Turn) (updatedTurn mesga.Turn)
- func (a *App) HandleUpdate(turn mesga.Turn) mesga.Turn
- func (a *App) ReadSentChannel()
- func (a *App) SendProjectNotifications() error
- func (a *App) SendTeamsProactive(t *mesga.Turn) error
- func (a *App) StoreMessage(turn mesga.Turn, dialog *domain.Dialog) error
- func (a *App) ValidateUserPassword(u *domain.User) (bool, error)
- type CreateProjectPayload
- type PayloadHeader
- type Repository
Constants ¶
View Source
const ( TeamsSystemCode = "teams" InputMessageCode = "input" OutputMessageCode = "output" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type App ¶
type App struct { ProactiveChan chan *mesga.Turn SentChan chan *mesga.Turn // contains filtered or unexported fields }
func (*App) CreateProject ¶
func (*App) GetOrCreateTeamsUser ¶
func (*App) GetOrCreateTeamsUserDialog ¶
func (*App) GetUserAndDialog ¶
func (*App) GetUserProjects ¶
func (*App) ReadSentChannel ¶
func (a *App) ReadSentChannel()
func (*App) SendProjectNotifications ¶
SendProjectNotifications implementation sucks. It's only for testing.
type CreateProjectPayload ¶
type CreateProjectPayload struct { PayloadHeader Title string DueDate string }
CreateProjectPayload holds data for new project
type PayloadHeader ¶
PayloadHeader holds common fields to identify payload
type Repository ¶
type Repository interface { // users CreateUser(*domain.User) (*domain.User, error) GetUserByUsername(username string) (*domain.User, error) GetUserByTeamsID(teamsID string) (*domain.User, error) GetUserCount() (int, error) // messages CreateMessage(*domain.Message, *domain.Dialog, error) (*domain.Message, error) // dialog CreateDialog(*domain.User, *domain.Dialog) (*domain.Dialog, error) GetUserDialog(*domain.User) (*domain.Dialog, error) // projects CreateProject(*domain.User, *domain.Project) (*domain.Project, error) GetUserProjects(*domain.User) ([]*domain.Project, error) GetRandomProjectByUser() ([]*domain.Project, error) // for sample notifications }
Click to show internal directories.
Click to hide internal directories.