nexo/services/core/server/public/model/recap.go

54 lines
1.7 KiB
Go

// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
// See LICENSE.txt for license information.
package model
type Recap struct {
Id string `json:"id"`
UserId string `json:"user_id"`
Title string `json:"title"`
CreateAt int64 `json:"create_at"`
UpdateAt int64 `json:"update_at"`
DeleteAt int64 `json:"delete_at"`
ReadAt int64 `json:"read_at"`
TotalMessageCount int `json:"total_message_count"`
Status string `json:"status"`
BotID string `json:"bot_id"`
Channels []*RecapChannel `json:"channels,omitempty"`
}
type RecapChannel struct {
Id string `json:"id"`
RecapId string `json:"recap_id"`
ChannelId string `json:"channel_id"`
ChannelName string `json:"channel_name"`
Highlights []string `json:"highlights"`
ActionItems []string `json:"action_items"`
SourcePostIds []string `json:"source_post_ids"`
CreateAt int64 `json:"create_at"`
}
type CreateRecapRequest struct {
Title string `json:"title"`
ChannelIds []string `json:"channel_ids"`
AgentID string `json:"agent_id"`
}
type AIRecapSummaryResponse struct {
Highlights []string `json:"highlights"`
ActionItems []string `json:"action_items"`
}
// RecapChannelResult represents the result of processing a single channel for a recap
type RecapChannelResult struct {
ChannelID string
MessageCount int
Success bool
}
const (
RecapStatusPending = "pending"
RecapStatusProcessing = "processing"
RecapStatusCompleted = "completed"
RecapStatusFailed = "failed"
)