Documentation
¶
Index ¶
- Constants
- type Executable
- type ExecutableAsSelectOption
- type ExecutableListResult
- type ExecutablePaginationListFilter
- type ExecutablePaginationListResult
- type ExecutableStorer
- type ExecutableStorerImpl
- func (impl ExecutableStorerImpl) CheckIfExistsByEmail(ctx context.Context, email string) (bool, error)
- func (impl ExecutableStorerImpl) Create(ctx context.Context, u *Executable) error
- func (impl ExecutableStorerImpl) CreateOrGetByID(ctx context.Context, hh *Executable) (*Executable, error)
- func (impl ExecutableStorerImpl) DeleteByID(ctx context.Context, id primitive.ObjectID) error
- func (impl ExecutableStorerImpl) GetByID(ctx context.Context, id primitive.ObjectID) (*Executable, error)
- func (impl ExecutableStorerImpl) GetByPublicID(ctx context.Context, oldID uint64) (*Executable, error)
- func (impl ExecutableStorerImpl) GetByText(ctx context.Context, text string) (*Executable, error)
- func (impl ExecutableStorerImpl) GetLatestByTenantID(ctx context.Context, tenantID primitive.ObjectID) (*Executable, error)
- func (impl ExecutableStorerImpl) ListAsSelectOptionByFilter(ctx context.Context, f *ExecutablePaginationListFilter) ([]*ExecutableAsSelectOption, error)
- func (impl ExecutableStorerImpl) ListByFilter(ctx context.Context, f *ExecutablePaginationListFilter) (*ExecutablePaginationListResult, error)
- func (impl ExecutableStorerImpl) ListByTenantID(ctx context.Context, tid primitive.ObjectID) (*ExecutablePaginationListResult, error)
- func (impl ExecutableStorerImpl) UpdateByID(ctx context.Context, m *Executable) error
- type Message
- type UploadFileOption
- type UploadFolderOption
Constants ¶
View Source
const ( ExecutableStatusActive = 1 ExecutableStatusProcessing = 2 ExecutableStatusArchived = 3 )
View Source
const ( OrderAscending = 1 OrderDescending = -1 )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Executable ¶
type Executable struct { ID primitive.ObjectID `bson:"_id" json:"id"` TenantID primitive.ObjectID `bson:"tenant_id" json:"tenant_id"` ProgramID primitive.ObjectID `bson:"program_id" json:"program_id"` ProgramName string `bson:"program_name" json:"program_name"` ProgramBusinessFunction int8 `bson:"program_business_function" json:"program_business_function"` Question string `bson:"question" json:"question"` Status int8 `bson:"status" json:"status"` PublicID uint64 `bson:"public_id" json:"public_id"` CreatedAt time.Time `bson:"created_at" json:"created_at"` CreatedByUserID primitive.ObjectID `bson:"created_by_user_id" json:"created_by_user_id,omitempty"` CreatedByUserName string `bson:"created_by_user_name" json:"created_by_user_name"` CreatedFromIPAddress string `bson:"created_from_ip_address" json:"created_from_ip_address"` ModifiedAt time.Time `bson:"modified_at" json:"modified_at"` ModifiedByUserID primitive.ObjectID `bson:"modified_by_user_id" json:"modified_by_user_id,omitempty"` ModifiedByUserName string `bson:"modified_by_user_name" json:"modified_by_user_name"` ModifiedFromIPAddress string `bson:"modified_from_ip_address" json:"modified_from_ip_address"` Directories []*UploadFolderOption `bson:"directories" json:"directories,omitempty"` OpenAIAssistantID string `bson:"openai_assistant_id" json:"openai_assistant_id"` // https://platform.openai.com/docs/assistants/tools/supported-files OpenAIAssistantThreadID string `bson:"openai_assistant_thread_id" json:"openai_assistant_thread_id"` UserID primitive.ObjectID `bson:"user_id" json:"user_id"` UserName string `bson:"user_name" json:"user_name"` UserLexicalName string `bson:"user_lexical_name" json:"user_lexical_name"` Messages []*Message `bson:"messages" json:"messages,omitempty"` }
func (*Executable) GetOpenAIFileIDs ¶
func (a *Executable) GetOpenAIFileIDs() []string
GetOpenAIFileIDs function will iterate through all the assistant files and return the OpenAI file ID values.
func (*Executable) GetUploadDirectoryIDs ¶
func (a *Executable) GetUploadDirectoryIDs() []primitive.ObjectID
type ExecutableListResult ¶
type ExecutableListResult struct { Results []*Executable `json:"results"` NextCursor primitive.ObjectID `json:"next_cursor"` HasNextPage bool `json:"has_next_page"` }
type ExecutablePaginationListResult ¶
type ExecutablePaginationListResult struct { Results []*Executable `json:"results"` NextCursor string `json:"next_cursor"` HasNextPage bool `json:"has_next_page"` }
ExecutablePaginationListResult represents the paginated list results for the associate records.
type ExecutableStorer ¶
type ExecutableStorer interface { Create(ctx context.Context, m *Executable) error CreateOrGetByID(ctx context.Context, hh *Executable) (*Executable, error) GetByID(ctx context.Context, id primitive.ObjectID) (*Executable, error) GetByPublicID(ctx context.Context, oldID uint64) (*Executable, error) GetByText(ctx context.Context, text string) (*Executable, error) GetLatestByTenantID(ctx context.Context, tenantID primitive.ObjectID) (*Executable, error) CheckIfExistsByEmail(ctx context.Context, email string) (bool, error) UpdateByID(ctx context.Context, m *Executable) error ListByFilter(ctx context.Context, f *ExecutablePaginationListFilter) (*ExecutablePaginationListResult, error) ListAsSelectOptionByFilter(ctx context.Context, f *ExecutablePaginationListFilter) ([]*ExecutableAsSelectOption, error) ListByTenantID(ctx context.Context, tid primitive.ObjectID) (*ExecutablePaginationListResult, error) DeleteByID(ctx context.Context, id primitive.ObjectID) error }
ExecutableStorer Interface for user.
func NewDatastore ¶
type ExecutableStorerImpl ¶
type ExecutableStorerImpl struct { Logger *slog.Logger DbClient *mongo.Client Collection *mongo.Collection }
func (ExecutableStorerImpl) CheckIfExistsByEmail ¶
func (ExecutableStorerImpl) Create ¶
func (impl ExecutableStorerImpl) Create(ctx context.Context, u *Executable) error
func (ExecutableStorerImpl) CreateOrGetByID ¶
func (impl ExecutableStorerImpl) CreateOrGetByID(ctx context.Context, hh *Executable) (*Executable, error)
func (ExecutableStorerImpl) DeleteByID ¶
func (ExecutableStorerImpl) GetByID ¶
func (impl ExecutableStorerImpl) GetByID(ctx context.Context, id primitive.ObjectID) (*Executable, error)
func (ExecutableStorerImpl) GetByPublicID ¶
func (impl ExecutableStorerImpl) GetByPublicID(ctx context.Context, oldID uint64) (*Executable, error)
func (ExecutableStorerImpl) GetByText ¶
func (impl ExecutableStorerImpl) GetByText(ctx context.Context, text string) (*Executable, error)
func (ExecutableStorerImpl) GetLatestByTenantID ¶
func (impl ExecutableStorerImpl) GetLatestByTenantID(ctx context.Context, tenantID primitive.ObjectID) (*Executable, error)
func (ExecutableStorerImpl) ListAsSelectOptionByFilter ¶
func (impl ExecutableStorerImpl) ListAsSelectOptionByFilter(ctx context.Context, f *ExecutablePaginationListFilter) ([]*ExecutableAsSelectOption, error)
func (ExecutableStorerImpl) ListByFilter ¶
func (impl ExecutableStorerImpl) ListByFilter(ctx context.Context, f *ExecutablePaginationListFilter) (*ExecutablePaginationListResult, error)
func (ExecutableStorerImpl) ListByTenantID ¶
func (impl ExecutableStorerImpl) ListByTenantID(ctx context.Context, tid primitive.ObjectID) (*ExecutablePaginationListResult, error)
func (ExecutableStorerImpl) UpdateByID ¶
func (impl ExecutableStorerImpl) UpdateByID(ctx context.Context, m *Executable) error
type Message ¶
type Message struct { ID primitive.ObjectID `bson:"_id" json:"id"` Content string `bson:"content" json:"content"` OpenAIMessageID string `bson:"openai_message_id" json:"openai_message_id"` CreatedAt time.Time `bson:"created_at" json:"created_at"` Status int8 `bson:"status" json:"status"` FromExecutable bool `bson:"from_executable" json:"from_executable"` }
type UploadFileOption ¶
type UploadFileOption struct { ID primitive.ObjectID `bson:"_id" json:"id"` Name string `bson:"name" json:"name"` Description string `bson:"description" json:"description"` OpenAIFileID string `bson:"openai_file_id" json:"openai_file_id"` // https://platform.openai.com/docs/assistants/tools/supported-files Status int8 `bson:"status" json:"status"` }
type UploadFolderOption ¶
Click to show internal directories.
Click to hide internal directories.