Documentation
¶
Index ¶
- Variables
- func AbortExecution(resp http.ResponseWriter, request *http.Request)
- func ActionSkip(ctx context.Context, foundAction Action, exec *WorkflowExecution, ...) error
- func ActivateWorkflowApp(resp http.ResponseWriter, request *http.Request)
- func AddAppAuthentication(resp http.ResponseWriter, request *http.Request)
- func AddAppAuthenticationGroup(resp http.ResponseWriter, request *http.Request)
- func ArrayContains(visited []string, id string) bool
- func ArrayContainsLower(visited []string, id string) bool
- func AssignAuthEverywhere(ctx context.Context, auth *AppAuthenticationStorage, user User) error
- func AutofixAppLabels(app WorkflowApp, label string, keys []string) (WorkflowApp, WorkflowAppAction)
- func BuildStructure(swagger *openapi3.Swagger, curHash string) (string, error)
- func BuildStructureGCP(ctx context.Context, client *storage.Client, identifier, bucketName string) (string, error)
- func CheckCreatorSelfPermission(ctx context.Context, requestUser, creatorUser User, ...) bool
- func CheckHookAuth(request *http.Request, auth string) error
- func CheckNextActions(ctx context.Context, workflowExecution *WorkflowExecution) []string
- func CheckPasswordStrength(username, password string) error
- func CheckSessionOrgs(ctx context.Context, user User)
- func CheckUsername(Username string) error
- func CheckWorkflowApp(workflowApp WorkflowApp) error
- func CleanupExecutions(ctx context.Context, environment string, workflow Workflow, cleanAll bool) (int, error)
- func ConstructSessionCookie(value string, expires time.Time) *http.Cookie
- func CopyFile(fromfile, tofile string) error
- func CreateFs(basepath, pathname string) (billy.Filesystem, error)
- func CreateOrgNotification(ctx context.Context, title, description, referenceUrl, orgId string, ...) error
- func DecideExecution(ctx context.Context, workflowExecution WorkflowExecution, environment string) (WorkflowExecution, []Action)
- func DecryptKMS(ctx context.Context, auth AppAuthenticationStorage, ...) (string, error)
- func DeleteAppAuthentication(resp http.ResponseWriter, request *http.Request)
- func DeleteAppAuthenticationGroup(resp http.ResponseWriter, request *http.Request)
- func DeleteCache(ctx context.Context, name string) error
- func DeleteDbIndex(ctx context.Context, index string) error
- func DeleteFileSingul(ctx context.Context, filepath string) error
- func DeleteKey(ctx context.Context, entity string, value string) error
- func DeleteKeys(ctx context.Context, entity string, value []string) error
- func DeleteUser(resp http.ResponseWriter, request *http.Request)
- func DeleteUsersAccount(ctx context.Context, user *User) error
- func DeleteWorkflowApp(resp http.ResponseWriter, request *http.Request)
- func DeployAppToDatastore(ctx context.Context, workflowapp WorkflowApp) error
- func DistributeAppToEnvironments(ctx context.Context, org Org, appnames []string) error
- func DownloadDockerImageBackend(topClient *http.Client, imageName string) error
- func DownloadFromUrl(ctx context.Context, url string) ([]byte, error)
- func DumpApi(basePath string, api WorkflowApp) error
- func DumpApiGCP(ctx context.Context, client *storage.Client, swagger *openapi3.Swagger, ...) error
- func DumpPython(basePath, name, version string, pythonFunctions []string) (string, error)
- func DumpPythonGCP(ctx context.Context, client *storage.Client, basePath, name, version string, ...) (string, error)
- func DuplicateWorkflow(resp http.ResponseWriter, request *http.Request)
- func EchoOpenapiData(resp http.ResponseWriter, request *http.Request)
- func ExtendOutlookSubscription(client *http.Client, subscriptionId string) error
- func FindChildNodes(workflow Workflow, nodeId string, parents, handledBranches []string) []string
- func FindMatchingAction(foundApi ParsedOpenApi, newActionName string) (string, error)
- func FixAppbase(appbase []byte) []string
- func FixBadJsonBody(parsedBody []byte) []byte
- func FixContentOutput(contentOutput string) string
- func FixFunctionName(functionName, actualPath string, lowercase bool) string
- func FixParamname(paramname string) string
- func FormatAppfile(filedata string) (string, string)
- func GetActionAIResponse(ctx context.Context, resp http.ResponseWriter, user User, org Org, ...) ([]byte, error)
- func GetActionResult(ctx context.Context, workflowExecution WorkflowExecution, id string) (WorkflowExecution, ActionResult)
- func GetActiveCategories(resp http.ResponseWriter, request *http.Request)
- func GetAppAuthentication(resp http.ResponseWriter, request *http.Request)
- func GetAppAuthenticationGroup(resp http.ResponseWriter, request *http.Request)
- func GetAppNameSplit(version DockerRequestCheck) (string, string, string, error)
- func GetAppRequirements() string
- func GetAppbase() ([]byte, []byte, error)
- func GetAppbaseGCP(ctx context.Context, client *storage.Client, bucketName string) ([]byte, []byte, error)
- func GetArticles(resp http.ResponseWriter, request *http.Request)
- func GetArticlesList(resp http.ResponseWriter, request *http.Request)
- func GetAtomicSuggestionAIResponse(ctx context.Context, resp http.ResponseWriter, user User, org Org, ...)
- func GetAuthentication(ctx context.Context, workflowExecution WorkflowExecution, action Action, ...) (Action, WorkflowExecution)
- func GetBaseDockerfile() []byte
- func GetBasePython() string
- func GetCache(ctx context.Context, name string) (interface{}, error)
- func GetCategoryLabelParameters(ctx context.Context, category string, label string) string
- func GetChildWorkflows(resp http.ResponseWriter, request *http.Request)
- func GetContext(request *http.Request) context.Context
- func GetCorrectActionName(parsed string) string
- func GetCurrentPodNetworkConfig(ctx context.Context, clientset *kubernetes.Clientset, ...) (*corev1.PodStatus, error)
- func GetCustomActionCode(swagger *openapi3.Swagger, api WorkflowApp) string
- func GetDatastore() *datastore.Client
- func GetDatastoreClient(ctx context.Context, projectID string) (datastore.Client, error)
- func GetDocList(resp http.ResponseWriter, request *http.Request)
- func GetDocs(resp http.ResponseWriter, request *http.Request)
- func GetESIndexPrefix(index string) string
- func GetEnvironmentCount() (int, error)
- func GetEsConfig(defaultCreds bool) *opensearch.Client
- func GetExecutionVariables(ctx context.Context, executionId string) (string, int, map[string][]string, map[string][]string, []string, []string, ...)
- func GetExecutionbody(body []byte) string
- func GetExternalClient(baseUrl string) *http.Client
- func GetFileContent(ctx context.Context, file *File, resp http.ResponseWriter) ([]byte, error)
- func GetFileContentSingul(ctx context.Context, file *File, resp http.ResponseWriter) ([]byte, error)
- func GetFrameworkConfiguration(resp http.ResponseWriter, request *http.Request)
- func GetGithubClient(ctx context.Context, code string, accessToken OauthToken, redirectUri string) (*http.Client, *oauth2.Token, error)
- func GetGmailClient(ctx context.Context, code string, accessToken OauthToken, redirectUri string) (*http.Client, *oauth2.Token, error)
- func GetKmsCache(ctx context.Context, auth AppAuthenticationStorage, key string) (string, error)
- func GetKubernetesClient() (*kubernetes.Clientset, *rest.Config, error)
- func GetKubernetesNamespace() (string, error)
- func GetLiveExecutionStats(resp http.ResponseWriter, request *http.Request)
- func GetNodeRelations(ctx context.Context) (map[string]NodeRelation, error)
- func GetOnpremPaidEula() string
- func GetOpenIdUrl(request *http.Request, org Org) string
- func GetOpenapi(resp http.ResponseWriter, request *http.Request)
- func GetOpsDashboardStats(resp http.ResponseWriter, request *http.Request)
- func GetOutlookBody(ctx context.Context, hook Hook, body []byte) string
- func GetOutlookClient(ctx context.Context, code string, accessToken OauthToken, redirectUri string) (*http.Client, *oauth2.Token, error)
- func GetPodName() string
- func GetReplacementNodes(ctx context.Context, execution WorkflowExecution, trigger Trigger, ...) ([]Action, []Branch, string)
- func GetRequestIp(r *http.Request) string
- func GetRunnerGCP(classname string) string
- func GetRunnerOnprem(classname string) string
- func GetSingulStandaloneFilepath() string
- func GetSpecificApps(resp http.ResponseWriter, request *http.Request)
- func GetSpecificStats(resp http.ResponseWriter, request *http.Request)
- func GetSpecificWorkflow(resp http.ResponseWriter, request *http.Request)
- func GetStorage() *storage.Client
- func GetSyncApikeyByOrg(ctx context.Context, orgId string) (string, error)
- func GetUnfinishedExecutionsCron(ctx context.Context) (map[string][]WorkflowExecution, int, error)
- func GetUsecaseData() string
- func GetValidParameters(parameters []string) []string
- func GetWorkflowAppConfig(resp http.ResponseWriter, request *http.Request)
- func GetWorkflowExecutions(resp http.ResponseWriter, request *http.Request)
- func GetWorkflowExecutionsV2(resp http.ResponseWriter, request *http.Request)
- func GetWorkflowPriority(workflow Workflow) int
- func GetWorkflowRevisions(resp http.ResponseWriter, request *http.Request)
- func GetWorkflowRunCount(ctx context.Context, id string, start int64, end int64) (int, error)
- func GetWorkflowTest() []byte
- func GetWorkflowValidation(resp http.ResponseWriter, request *http.Request)
- func GetWorkflows(resp http.ResponseWriter, request *http.Request)
- func HandleActionRecommendation(resp http.ResponseWriter, request *http.Request)
- func HandleAlgoliaCreatorDeletion(ctx context.Context, userId string) error
- func HandleAlgoliaCreatorUpload(ctx context.Context, user User, overwrite bool, isOrg bool) (string, error)
- func HandleApiGeneration(resp http.ResponseWriter, request *http.Request)
- func HandleAppendStatistics(resp http.ResponseWriter, request *http.Request)
- func HandleCacheConfig(resp http.ResponseWriter, request *http.Request)
- func HandleChangeUserOrg(resp http.ResponseWriter, request *http.Request)
- func HandleClearNotifications(resp http.ResponseWriter, request *http.Request)
- func HandleCors(resp http.ResponseWriter, request *http.Request) bool
- func HandleCreateFile(resp http.ResponseWriter, request *http.Request)
- func HandleCreateGmailSub(resp http.ResponseWriter, request *http.Request)
- func HandleCreateNotification(resp http.ResponseWriter, request *http.Request)
- func HandleCreateOutlookSub(resp http.ResponseWriter, request *http.Request)
- func HandleCreateSubOrg(resp http.ResponseWriter, request *http.Request)
- func HandleDeleteCacheKey(resp http.ResponseWriter, request *http.Request)
- func HandleDeleteCacheKeyPost(resp http.ResponseWriter, request *http.Request)
- func HandleDeleteFile(resp http.ResponseWriter, request *http.Request)
- func HandleDeleteGmailSub(resp http.ResponseWriter, request *http.Request)
- func HandleDeleteHook(resp http.ResponseWriter, request *http.Request)
- func HandleDeleteOrg(resp http.ResponseWriter, request *http.Request)
- func HandleDeleteOutlookSub(resp http.ResponseWriter, request *http.Request)
- func HandleDeleteUsersAccount(resp http.ResponseWriter, request *http.Request)
- func HandleDetectionAutoConnect(resp http.ResponseWriter, request *http.Request)
- func HandleDownloadRemoteFiles(resp http.ResponseWriter, request *http.Request)
- func HandleEditFile(resp http.ResponseWriter, request *http.Request)
- func HandleEditOrg(resp http.ResponseWriter, request *http.Request)
- func HandleExecutionCacheIncrement(ctx context.Context, execution WorkflowExecution)
- func HandleFolderToggle(resp http.ResponseWriter, request *http.Request)
- func HandleGet2fa(resp http.ResponseWriter, request *http.Request)
- func HandleGetCacheKey(resp http.ResponseWriter, request *http.Request)
- func HandleGetDetectionRules(resp http.ResponseWriter, request *http.Request)
- func HandleGetEnvironments(resp http.ResponseWriter, request *http.Request)
- func HandleGetFileContent(resp http.ResponseWriter, request *http.Request)
- func HandleGetFileMeta(resp http.ResponseWriter, request *http.Request)
- func HandleGetFileNamespace(resp http.ResponseWriter, request *http.Request)
- func HandleGetFiles(resp http.ResponseWriter, request *http.Request)
- func HandleGetGmailFolders(resp http.ResponseWriter, request *http.Request)
- func HandleGetHook(resp http.ResponseWriter, request *http.Request)
- func HandleGetHooks(resp http.ResponseWriter, request *http.Request)
- func HandleGetNotifications(resp http.ResponseWriter, request *http.Request)
- func HandleGetOrg(resp http.ResponseWriter, request *http.Request)
- func HandleGetOrgForms(resp http.ResponseWriter, request *http.Request)
- func HandleGetOrgs(resp http.ResponseWriter, request *http.Request)
- func HandleGetOutlookFolders(resp http.ResponseWriter, request *http.Request)
- func HandleGetSchedules(resp http.ResponseWriter, request *http.Request)
- func HandleGetSelectedRules(resp http.ResponseWriter, request *http.Request)
- func HandleGetSpecificTrigger(resp http.ResponseWriter, request *http.Request)
- func HandleGetStatistics(resp http.ResponseWriter, request *http.Request)
- func HandleGetSubOrgs(resp http.ResponseWriter, request *http.Request)
- func HandleGetTriggers(resp http.ResponseWriter, request *http.Request)
- func HandleGetUsecase(resp http.ResponseWriter, request *http.Request)
- func HandleGetUserApps(resp http.ResponseWriter, request *http.Request)
- func HandleGetUsers(resp http.ResponseWriter, request *http.Request)
- func HandleGetWidget(resp http.ResponseWriter, request *http.Request)
- func HandleGetWorkflowRunCount(resp http.ResponseWriter, request *http.Request)
- func HandleGetenvStats(resp http.ResponseWriter, request *http.Request)
- func HandleGmailRouting(resp http.ResponseWriter, request *http.Request)
- func HandleGmailSubRemoval(ctx context.Context, user User, workflowId, triggerId string) error
- func HandleKeyDecryption(data []byte, passphrase string) ([]byte, error)
- func HandleKeyEncryption(data []byte, passphrase string) ([]byte, error)
- func HandleKeyValueCheck(resp http.ResponseWriter, request *http.Request)
- func HandleListCacheKeys(resp http.ResponseWriter, request *http.Request)
- func HandleListDetectionCategories(resp http.ResponseWriter, request *http.Request)
- func HandleLogin(resp http.ResponseWriter, request *http.Request)
- func HandleLogout(resp http.ResponseWriter, request *http.Request)
- func HandleMarkAsRead(resp http.ResponseWriter, request *http.Request)
- func HandleNewGithubRegister(resp http.ResponseWriter, request *http.Request)
- func HandleNewGmailRegister(resp http.ResponseWriter, request *http.Request)
- func HandleNewHook(resp http.ResponseWriter, request *http.Request)
- func HandleNewOutlookRegister(resp http.ResponseWriter, request *http.Request)
- func HandleNewPipelineRegister(resp http.ResponseWriter, request *http.Request)
- func HandleNewWidget(resp http.ResponseWriter, request *http.Request)
- func HandleOpenId(resp http.ResponseWriter, request *http.Request)
- func HandleOutlookSubRemoval(ctx context.Context, user User, workflowId, triggerId string) error
- func HandleOutputFormatting(result, inputdata, appname string) string
- func HandlePasswordChange(resp http.ResponseWriter, request *http.Request)
- func HandleRecommendationAction(resp http.ResponseWriter, request *http.Request)
- func HandleRerunExecutions(resp http.ResponseWriter, request *http.Request)
- func HandleSSO(resp http.ResponseWriter, request *http.Request)
- func HandleSSOLogin(resp http.ResponseWriter, request *http.Request)
- func HandleSaveSelectedRules(resp http.ResponseWriter, request *http.Request)
- func HandleSet2fa(resp http.ResponseWriter, request *http.Request)
- func HandleSetCacheKey(resp http.ResponseWriter, request *http.Request)
- func HandleSetEnvironments(resp http.ResponseWriter, request *http.Request)
- func HandleSetFileConfig(resp http.ResponseWriter, request *http.Request)
- func HandleSetenvConfig(resp http.ResponseWriter, request *http.Request)
- func HandleSettings(resp http.ResponseWriter, request *http.Request)
- func HandleShareNamespace(resp http.ResponseWriter, request *http.Request)
- func HandleStopExecutions(resp http.ResponseWriter, request *http.Request)
- func HandleStreamWorkflow(resp http.ResponseWriter, request *http.Request)
- func HandleStreamWorkflowUpdate(resp http.ResponseWriter, request *http.Request)
- func HandleSuborgScheduleRun(request *http.Request, workflow *Workflow)
- func HandleToggleRule(resp http.ResponseWriter, request *http.Request)
- func HandleUpdateUser(resp http.ResponseWriter, request *http.Request)
- func HandleUploadFile(resp http.ResponseWriter, request *http.Request)
- func HandleUserPrivateTraining(resp http.ResponseWriter, request *http.Request)
- func HandleWorkflowRunSearch(resp http.ResponseWriter, request *http.Request)
- func HealthCheckHandler(resp http.ResponseWriter, request *http.Request)
- func IncrementCache(ctx context.Context, orgId, dataType string, amount ...int)
- func IncrementCacheDump(ctx context.Context, orgId, dataType string, amount ...int) error
- func InitOpsWorkflow(apiKey string, OrgId string) (string, error)
- func IsLicensed(ctx context.Context, org Org) bool
- func IsRunningInCluster() bool
- func LoadStandardFromGithub(client *github.Client, owner, repo, path, filename string) ([]*github.RepositoryContent, error)
- func LoadUsecases(resp http.ResponseWriter, request *http.Request)
- func MakeGmailWebhookRequest(ctx context.Context, webhookUrl string, mappedData []byte) error
- func MakeOutlookSubscription(client *http.Client, folderIds []string, notificationURL string) (string, error)
- func MakePythoncode(swagger *openapi3.Swagger, name, url, method string, ...) (string, string)
- func MatchBodyWithInputdata(inputdata, appname, actionName, body string, appContext []AppContext) string
- func MatchRequiredFieldsWithInputdata(inputdata, appname, inputAction, body string) string
- func Md5sum(data []byte) string
- func Md5sumfile(filepath string) string
- func ParseLoginParameters(resp http.ResponseWriter, request *http.Request) (loginStruct, error)
- func ParseVersions(versions []string) []string
- func PrepareWorkflowExecution(ctx context.Context, workflow Workflow, request *http.Request, ...) (WorkflowExecution, ExecInfo, string, error)
- func RedirectUserRequest(w http.ResponseWriter, req *http.Request)
- func RefreshGmailClient(ctx context.Context, auth TriggerAuth) (*http.Client, error)
- func RefreshOutlookClient(ctx context.Context, auth TriggerAuth) error
- func RemoveFromArray(array []string, element string) []string
- func RemoveJsonValues(input []byte, depth int64) ([]byte, string, error)
- func RequestMiddleware(next http.Handler) http.Handler
- func RerunExecution(ctx context.Context, environment string, workflow Workflow) (int, error)
- func ResendActionResult(actionData []byte, retries int64)
- func RunActionAI(resp http.ResponseWriter, request *http.Request)
- func RunAgentDecisionAction(execution WorkflowExecution, agentOutput AgentOutput, decision AgentDecision)
- func RunAgentDecisionSingulActionHandler(execution WorkflowExecution, decision AgentDecision) ([]byte, string, error)
- func RunAiQuery(systemMessage, userMessage string, ...) (string, error)
- func RunCacheCleanup(ctx context.Context, workflowExecution WorkflowExecution)
- func RunExecuteAccessValidation(request *http.Request, workflow *Workflow) (bool, string)
- func RunExecutionTranslation(ctx context.Context, actionResult ActionResult)
- func RunFixParentWorkflowResult(ctx context.Context, execution WorkflowExecution) error
- func RunGoogleSearch(ctx context.Context, query string) (string, error)
- func RunHealthTest(resp http.ResponseWriter, req *http.Request)
- func RunIOCFinder(ctx context.Context, workflowExecution WorkflowExecution)
- func RunKmsTranslation(ctx context.Context, fullBody []byte, authConfig, paramName string) (string, error)
- func RunOpenidLogin(ctx context.Context, ...) ([]byte, error)
- func RunOpsHealthCheck(resp http.ResponseWriter, request *http.Request)
- func RunTextClassifier(ctx context.Context, workflowExecution WorkflowExecution)
- func SaveWorkflow(resp http.ResponseWriter, request *http.Request)
- func SendDeleteWorkflowRequest(childWorkflow Workflow, request *http.Request) error
- func SendHookResult(resp http.ResponseWriter, request *http.Request)
- func SetApikey(ctx context.Context, Userdata User) error
- func SetAppRevision(ctx context.Context, app WorkflowApp) error
- func SetAuthGroupDatastore(ctx context.Context, workflowappauthgroup AppAuthenticationGroup, id string) error
- func SetAuthenticationConfig(resp http.ResponseWriter, request *http.Request)
- func SetAutofixAppLabelsCache(ctx context.Context, app WorkflowApp, appAction WorkflowAppAction, ...) error
- func SetCache(ctx context.Context, name string, data []byte, expiration int32) error
- func SetCacheKey(ctx context.Context, cacheData CacheKeyData) error
- func SetConversation(ctx context.Context, input QueryInput) error
- func SetDetectionOrborusRequest(ctx context.Context, ...) error
- func SetEnvironment(ctx context.Context, env *Environment) error
- func SetFile(ctx context.Context, file File) error
- func SetFileSingul(ctx context.Context, file File) error
- func SetFrameworkConfiguration(resp http.ResponseWriter, request *http.Request)
- func SetGitWorkflow(ctx context.Context, workflow Workflow, org *Org) error
- func SetHook(ctx context.Context, hook Hook) error
- func SetInitExecutionVariables(ctx context.Context, workflowExecution WorkflowExecution)
- func SetJoinPrizedraw2021(ctx context.Context, inputItem PrizedrawSubmitter) error
- func SetKmsCache(ctx context.Context, auth AppAuthenticationStorage, key, value string, ...) error
- func SetLiveWorkflowExecutionData(ctx context.Context, liveExec LiveExecutionStatus) error
- func SetNewDeal(ctx context.Context, deal ResellerDeal) error
- func SetNewValue(ctx context.Context, newvalue NewValue) error
- func SetNewWorkflow(resp http.ResponseWriter, request *http.Request)
- func SetNotification(ctx context.Context, notification Notification) error
- func SetOpenApiDatastore(ctx context.Context, id string, openapi ParsedOpenApi) error
- func SetOpenseaAsset(ctx context.Context, collection OpenseaAsset, id string, ...) error
- func SetOrg(ctx context.Context, data Org, id string) error
- func SetOrgMoveCache(ctx context.Context, orgId string) error
- func SetOrgStatistics(ctx context.Context, stats ExecutionInfo, id string) error
- func SetPlatformHealth(ctx context.Context, health HealthCheckDB) error
- func SetSchedule(ctx context.Context, schedule ScheduleOld) error
- func SetSession(ctx context.Context, user User, value string) error
- func SetSingulStats(ctx context.Context, stats SingulStats) error
- func SetSubscriptionRecipient(ctx context.Context, sub SubscriptionRecipient, id string) error
- func SetSuggestion(ctx context.Context, suggestion Suggestion) error
- func SetSyncApikey(ctx context.Context, synckey *SyncKey) error
- func SetTraining(ctx context.Context, training Training) error
- func SetTriggerAuth(ctx context.Context, trigger TriggerAuth) error
- func SetUsecase(ctx context.Context, usecase Usecase, optionalEditedSecondsOffset ...int) error
- func SetUser(ctx context.Context, user *User, updateOrg bool) error
- func SetWorkflow(ctx context.Context, workflow Workflow, id string, ...) error
- func SetWorkflowAppAuthDatastore(ctx context.Context, workflowappauth AppAuthenticationStorage, id string) error
- func SetWorkflowAppDatastore(ctx context.Context, workflowapp WorkflowApp, id string) error
- func SetWorkflowExecution(ctx context.Context, workflowExecution WorkflowExecution, dbSave bool) error
- func SetWorkflowQueue(ctx context.Context, executionRequest ExecutionRequest, env string) error
- func SetWorkflowRevision(ctx context.Context, workflow Workflow) error
- func SetenvStats(ctx context.Context, input OrborusStats) error
- func StoreDisabledRules(ctx context.Context, file DisabledRules) error
- func StoreSelectedRules(ctx context.Context, TriggerId string, rules SelectedDetectionRules) error
- func StreamZipdata(ctx context.Context, identifier, pythoncode, requirements, bucketName string) (string, error)
- func TrimToNum(r int) bool
- func UpdateActionBody(action WorkflowAppAction) (string, error)
- func UpdateAppAuth(ctx context.Context, auth AppAuthenticationStorage, workflowId, nodeId string, ...) error
- func UpdateExecutionVariables(ctx context.Context, executionId, startnode string, ...) error
- func UpdateUsecases(resp http.ResponseWriter, request *http.Request)
- func UpdateWorkflowAppConfig(resp http.ResponseWriter, request *http.Request)
- func UploadFile(ctx context.Context, file *File, encryptionKey string, contents []byte) (string, error)
- func UploadFileSingul(ctx context.Context, file *File, key string, data []byte) (string, error)
- func UploadParameterBase(ctx context.Context, orgId, appId, actionName, paramName, paramValue string) error
- func ValidateFinished(ctx context.Context, extra int, workflowExecution WorkflowExecution) bool
- func ValidateLabelAvailability(category string, availableLabels []string)
- func ValidateNewWorkerExecution(ctx context.Context, body []byte, shouldReset bool) error
- func ValidateParameterName(name string) string
- func ValidateRequestOverload(resp http.ResponseWriter, request *http.Request, amount ...int) error
- func ValidateSwagger(resp http.ResponseWriter, request *http.Request)
- type Action
- func FindNextApiStep(action Action, stepOutput []byte, ...) (string, Action, error, string)
- func GetAction(workflowExecution WorkflowExecution, id, environment string) Action
- func HandleAiAgentExecutionStart(execution WorkflowExecution, startNode Action) (Action, error)
- func RunSelfCorrectingRequest(action Action, status int, ...) (Action, string, error)
- type ActionRecommendations
- type ActionReference
- type ActionResult
- type AdditionalUseConfig
- type AgentDecision
- type AgentDecisionRunDetails
- type AgentOutput
- type AlertThreshold
- type AlgoliaSearchApp
- type AlgoliaSearchCreator
- type AlgoliaSearchWorkflow
- type AllHooksWrapper
- type AllPipelinesWrapper
- type AllTriggersWrapper
- type ApiYaml
- type AppAuthSearchWrapper
- type AppAuthWrapper
- type AppAuthenticationGroup
- type AppAuthenticationStorage
- func GetAllWorkflowAppAuth(ctx context.Context, orgId string) ([]AppAuthenticationStorage, error)
- func GetOauth2ApplicationPermissionToken(ctx context.Context, user User, appAuth AppAuthenticationStorage) (AppAuthenticationStorage, error)
- func GetWorkflowAppAuthDatastore(ctx context.Context, id string) (*AppAuthenticationStorage, error)
- func RunOauth2Request(ctx context.Context, user User, appAuth AppAuthenticationStorage, refresh bool) (AppAuthenticationStorage, error)
- type AppCategory
- type AppCategoryLabel
- type AppContext
- type AppExecutionExample
- type AppHealth
- type AppInfo
- type AppLabel
- type AppLabelData
- type AppMini
- type AppParser
- type AppResponse
- type AppSearchWrapper
- type AppStats
- type AppUsage
- type AppVersion
- type AppWrapper
- type Appconfig
- type AtomicOutput
- type Attachment
- type AuthGroupWrapper
- type AuthResults
- type Authentication
- type AuthenticationParams
- type AuthenticationStore
- type AuthenticationUsage
- type AuthorizationCode
- type BackupConfig
- type BackupJob
- type BaseFile
- type Billing
- type Body
- type BodyText
- type Branch
- type BuildLaterStruct
- type CacheKeyData
- type CacheKeySearchWrapper
- type CacheKeyWrapper
- type CacheReturn
- type Categories
- type Category
- type CategoryAction
- type CategoryActionFieldOverride
- type CloudSyncJob
- type CodeVerifier
- type Comment
- type CompAuth
- type Condition
- type Consultation
- type Contact
- type ContributionCount
- type Conversionevents
- type CreatorInfo
- type CreatorStats
- type DMARC
- type DailyStatistics
- type DataToSend
- type DealSearchWrapper
- type Defaults
- type DetectionFileInfo
- type DetectionResponse
- type DisabledHookWrapper
- type DisabledRules
- type DockerRequestCheck
- type Domain
- type EmailAddress
- type EnvWrapper
- type EnvironentSearchWrapper
- type Environment
- type EnvironmentSearchWrapper
- type EthInfo
- type ExecInfo
- type ExecRequestSearchWrapper
- type ExecRequestWrapper
- type ExecWrapper
- type ExecutionInfo
- type ExecutionInfoWrapper
- type ExecutionRequest
- type ExecutionRequestWrapper
- type ExecutionReturn
- type ExecutionSearchWrapper
- type ExecutionStruct
- type ExecutionVariableWrapper
- type External
- type ExtraButton
- type File
- func FindSimilarFile(ctx context.Context, md5, orgId string) ([]File, error)
- func FindSimilarFilename(ctx context.Context, filename, orgId string) ([]File, error)
- func GetAllFiles(ctx context.Context, orgId, namespace string) ([]File, error)
- func GetFile(ctx context.Context, id string) (*File, error)
- func GetFileSingul(ctx context.Context, fileId string) (*File, error)
- type FileList
- type FileResponse
- type FileSearchWrapper
- type FileWrapper
- type FormControl
- type FullEmail
- type GCPIncident
- type GeneratedMitre
- type GithubAuthor
- type GithubContributions
- type GithubProfile
- type GithubResp
- type GmailAttachment
- type GmailHistoryStruct
- type GmailLabel
- type GmailLabels
- type GmailMessageStruct
- type GmailMessagesStruct
- type GmailProfile
- type GmailSubscription
- type GmailThreadStruct
- type HTTPOutput
- type HTTPWrapper
- type HandleInfo
- type Headers
- type HealthCheck
- type HealthCheckDB
- type HealthCheckSearchWrapper
- type Hook
- type HookAction
- type HookWrapper
- type Hooks
- type Hop
- type HopField
- type IP
- type IdTokenCheck
- type IncrementInCache
- type Info
- type InputQuestion
- type Inputdata
- type LabelStruct
- type LakeConfig
- type LeadInfo
- type Link
- type LiveExecutionStatus
- type LogRequest
- type LoginInfo
- type MFAInfo
- type MailDataOutlook
- type MailDataOutlookList
- type MailLevel
- type Mailbox
- type Mailcheck
- type MdmAttachment
- type MdmBody
- type MdmDisplayUrl
- type MdmExternal
- type MdmHeaders
- type MdmHtml
- type MdmIP
- type MdmLink
- type MdmMailbox
- type MdmMeta
- type MdmPlain
- type MdmRecipients
- type MdmSender
- type MdmSubject
- type MdmType
- type MessageAdded
- type MessageAddedMessage
- type MessageDataModel
- type MessageType
- type Metadata
- type MinimizedApps
- type ModelLabelParameter
- type NewValue
- type NewValueSearchWrapper
- type NodeData
- type NodeRelation
- type Notification
- type NotificationCached
- type NotificationResponse
- type NotificationSearchWrapper
- type NotificationWrapper
- type Oauth2Openapi
- type Oauth2Resp
- type OauthToken
- type OpenidResp
- type OpenidUserinfo
- type OpenseaAsset
- type OpenseaAssetSearchWrapper
- type OpenseaAssetWrapper
- type OrborusExecutionRequest
- type OrborusStats
- type Org
- func AddPriority(org Org, priority Priority, updated bool) (*Org, bool)
- func GetAllChildOrgs(ctx context.Context, orgId string) ([]Org, error)
- func GetAllOrgs(ctx context.Context) ([]Org, error)
- func GetFirstOrg(ctx context.Context) (*Org, error)
- func GetOrg(ctx context.Context, id string) (*Org, error)
- func GetOrgByCreatorId(ctx context.Context, id string) (*Org, error)
- func GetOrgByField(ctx context.Context, fieldName, value string) ([]Org, error)
- func GetTutorials(ctx context.Context, org Org, updateOrg bool) *Org
- func GetWorkflowSuggestions(ctx context.Context, user User, org *Org, orgUpdated bool, amount int) (*Org, bool)
- func ValidateExecutionUsage(ctx context.Context, orgId string) (*Org, error)
- type OrgAuth
- type OrgBranding
- type OrgMini
- type OrgSearchWrapper
- type OrgWrapper
- type OutlookAttachment
- type OutlookFolder
- type OutlookFolders
- type OutlookProfile
- type OutlookSubscription
- type ParsedApiWrapper
- type ParsedMessage
- type ParsedOpenApi
- type ParsedShuffleMail
- type PartnerInfo
- type PasswordChange
- type PaymentSubscription
- type PersonalInfo
- type Pipeline
- type PipelineInfo
- type PipelineInfoMini
- type PipelineInfoWrapper
- type PipelineRequest
- type PipelineWrapper
- type Position
- type Priority
- type PrizedrawSubmitter
- type PublicProfile
- type QueryInput
- type Recipients
- type RecommendAction
- type RecommendationAction
- type Recommendations
- type RegionBody
- type RegionChangeHistory
- type RequestResponse
- type ResellerDeal
- type ResultChecker
- type RetStruct
- type SAMLResponse
- type SPF
- type SSOConfig
- type SSOResponse
- type SamlRequest
- type Schedule
- type ScheduleApp
- type ScheduleApps
- type ScheduleOld
- func GetAllSchedules(ctx context.Context, orgId string) ([]ScheduleOld, error)
- func GetGcpSchedule(ctx context.Context, id string) (*ScheduleOld, error)
- func GetSchedule(ctx context.Context, schedulename string) (*ScheduleOld, error)
- func GetScheduleByWorkflowId(ctx context.Context, workflowId string) (*ScheduleOld, error)
- type ScheduleSearchWrapper
- type ScheduleWrapper
- type Schedules
- type SchemaDefinition
- type SchemalessOutput
- type SelectedDetectionRules
- type SelectedRulesWrapper
- type Session
- type SessionCookie
- type SessionWrapper
- type SettingsReturn
- type ShuffleStorage
- type Signature
- type SimilarAction
- type SingleResult
- type SingulResult
- type SingulStats
- type SmsBody
- type SnappStep
- type SnappWf
- type StatisticsData
- type StatisticsItem
- type StructuredCategoryAction
- type SubResponse
- type SubWrapper
- type SubflowData
- type Subject
- type SubscriptionRecipient
- type SubscriptionsWrapper
- type Suggestion
- type SyncConfig
- type SyncData
- type SyncDataUsage
- type SyncFeatures
- type SyncKey
- type SyncUsage
- type TimeWindow
- type Training
- type Translator
- type Trigger
- type TriggerAuth
- type TriggerAuthWrapper
- type Tutorial
- type TypeValidation
- type URL
- type Usecase
- type UsecaseLinks
- type UsecaseMerge
- type UsecaseStep
- type UsecaseWrapper
- type User
- func FindGeneratedUser(ctx context.Context, username string) ([]User, error)
- func FindUser(ctx context.Context, username string) ([]User, error)
- func GenerateApikey(ctx context.Context, userInfo User) (User, error)
- func GetAllUsers(ctx context.Context) ([]User, error)
- func GetApikey(ctx context.Context, apikey string) (User, error)
- func GetOrgAuth(ctx context.Context, session string) (User, error)
- func GetSessionNew(ctx context.Context, sessionId string) (User, error)
- func GetUser(ctx context.Context, username string) (*User, error)
- func GetUsersByOrg(ctx context.Context, orgId string) ([]User, error)
- func HandleApiAuthentication(resp http.ResponseWriter, request *http.Request) (User, error)
- type UserAuth
- type UserAuthField
- type UserGeoInfo
- type UserInputResponse
- type UserLimits
- type UserMini
- type UserRequest
- type UserSearchWrapper
- type UserWrapper
- type Userapi
- type ValidationProblem
- type Valuereplace
- type Variable
- type Widget
- type WidgetMeta
- type WidgetPoint
- type WidgetPointData
- type Workflow
- func ConfigureDetectionWorkflow(ctx context.Context, orgId, workflowType string) (Workflow, error)
- func FindWorkflowByName(ctx context.Context, name string) ([]Workflow, error)
- func FixWorkflowPosition(ctx context.Context, workflow Workflow) Workflow
- func GenerateWorkflowFromParent(ctx context.Context, workflow Workflow, parentOrgId, subOrgId string) (*Workflow, error)
- func GetAllWorkflows(ctx context.Context) ([]Workflow, error)
- func GetAllWorkflowsByQuery(ctx context.Context, user User, maxAmount int, cursor string) ([]Workflow, error)
- func GetStandardDestWorkflow(app *WorkflowApp, action string, enrich bool) *Workflow
- func GetStaticWorkflowHealth(ctx context.Context, workflow Workflow) (Workflow, []string, error)
- func GetWorkflow(ctx context.Context, id string, skipHealth ...bool) (*Workflow, error)
- func ListChildWorkflows(ctx context.Context, originalId string) ([]Workflow, error)
- func ListWorkflowRevisions(ctx context.Context, originalId string, amount int) ([]Workflow, error)
- func SanitizeWorkflow(workflow Workflow) Workflow
- type WorkflowApp
- func FindMatchingCategoryApps(category string, apps []WorkflowApp, org *Org) []WorkflowApp
- func FindRelevantApps(appname string, apps []WorkflowApp) []WorkflowApp
- func FindWorkflowAppByName(ctx context.Context, appName string) ([]WorkflowApp, error)
- func GenerateYaml(swagger *openapi3.Swagger, newmd5 string) (*openapi3.Swagger, WorkflowApp, []string, error)
- func GetAllWorkflowApps(ctx context.Context, maxLen int, depth int) ([]WorkflowApp, error)
- func GetApp(ctx context.Context, id string, user User, skipCache bool) (*WorkflowApp, error)
- func GetPrioritizedApps(ctx context.Context, user User) ([]WorkflowApp, error)
- func GetSingulApp(sourcepath, appname string) (*WorkflowApp, error)
- func GetUserApps(ctx context.Context, userId string) ([]WorkflowApp, error)
- func UploadAppSpecFiles(ctx context.Context, client *storage.Client, api WorkflowApp, ...) (WorkflowApp, error)
- func VerifyApi(api WorkflowApp) WorkflowApp
- type WorkflowAppAction
- func AddCustomAction(swagger *openapi3.Swagger, api WorkflowApp) (WorkflowAppAction, string)
- func GetAutofixAppLabelsCache(ctx context.Context, app WorkflowApp, label string, keys []string) (WorkflowAppAction, error)
- func HandleConnect(swagger *openapi3.Swagger, api WorkflowApp, ...) (WorkflowAppAction, string)
- func HandleDelete(swagger *openapi3.Swagger, api WorkflowApp, ...) (WorkflowAppAction, string)
- func HandleGet(swagger *openapi3.Swagger, api WorkflowApp, ...) (WorkflowAppAction, string)
- func HandleHead(swagger *openapi3.Swagger, api WorkflowApp, ...) (WorkflowAppAction, string)
- func HandlePatch(swagger *openapi3.Swagger, api WorkflowApp, ...) (WorkflowAppAction, string)
- func HandlePost(swagger *openapi3.Swagger, api WorkflowApp, ...) (WorkflowAppAction, string)
- func HandlePut(swagger *openapi3.Swagger, api WorkflowApp, ...) (WorkflowAppAction, string)
- type WorkflowAppActionParameter
- type WorkflowExecution
- func Fixexecution(ctx context.Context, workflowExecution WorkflowExecution) (WorkflowExecution, bool)
- func GetAllWorkflowExecutions(ctx context.Context, workflowId string, amount int) ([]WorkflowExecution, error)
- func GetAllWorkflowExecutionsV2(ctx context.Context, workflowId string, amount int, inputcursor string) ([]WorkflowExecution, string, error)
- func GetBackendexecution(ctx context.Context, executionId, authorization string) (WorkflowExecution, error)
- func GetUnfinishedExecutions(ctx context.Context, workflowId string) ([]WorkflowExecution, error)
- func GetWorkflowExecution(ctx context.Context, id string) (*WorkflowExecution, error)
- func GetWorkflowExecutionByAuth(ctx context.Context, authId string) (*WorkflowExecution, error)
- func GetWorkflowRunsBySearch(ctx context.Context, orgId string, search WorkflowSearch) ([]WorkflowExecution, string, error)
- func ParsedExecutionResult(ctx context.Context, workflowExecution WorkflowExecution, ...) (*WorkflowExecution, bool, error)
- func PrepareSingleAction(ctx context.Context, user User, appId string, body []byte, ...) (WorkflowExecution, error)
- func SanitizeExecution(workflowExecution WorkflowExecution) WorkflowExecution
- type WorkflowHealth
- type WorkflowNodeRelations
- type WorkflowSearch
- type WorkflowSearchResult
- type WorkflowSearchWrapper
- type WorkflowWrapper
- type WrappedData
Constants ¶
This section is empty.
Variables ¶
var PredictableDataTypes = []string{
"app_executions",
"childorg_app_executions",
"workflow_executions",
"workflow_executions_finished",
"workflow_executions_failed",
"app_executions_failed",
"app_executions_cloud",
"subflow_executions",
"org_sync_actions",
"workflow_executions_cloud",
"workflow_executions_onprem",
"api_usage",
"ai_executions",
}
var dbInterval = 0x4
var SSOUrl = ""
Functions ¶
func AbortExecution ¶
func AbortExecution(resp http.ResponseWriter, request *http.Request)
func ActionSkip ¶
func ActivateWorkflowApp ¶
func ActivateWorkflowApp(resp http.ResponseWriter, request *http.Request)
Also deactivates. It's a toggle for off and on.
func AddAppAuthentication ¶
func AddAppAuthentication(resp http.ResponseWriter, request *http.Request)
func AddAppAuthenticationGroup ¶
func AddAppAuthenticationGroup(resp http.ResponseWriter, request *http.Request)
func ArrayContains ¶
func ArrayContainsLower ¶
func AssignAuthEverywhere ¶
func AssignAuthEverywhere(ctx context.Context, auth *AppAuthenticationStorage, user User) error
func AutofixAppLabels ¶
func AutofixAppLabels(app WorkflowApp, label string, keys []string) (WorkflowApp, WorkflowAppAction)
func BuildStructure ¶
Builds the base structure for the app that we're making Returns error if anything goes wrong. This has to work if the python code is supposed to be generated
func BuildStructureGCP ¶
func BuildStructureGCP(ctx context.Context, client *storage.Client, identifier, bucketName string) (string, error)
Builds the structure for the new generated app in storage (copying baseline files)
func CheckCreatorSelfPermission ¶
func CheckCreatorSelfPermission(ctx context.Context, requestUser, creatorUser User, algoliaUser *AlgoliaSearchCreator) bool
Checks if a specific user should have "self" access to a creator user A creator user can be both a user and an org, so this got a bit tricky
func CheckHookAuth ¶
Checks authentication string for Webhooks
func CheckNextActions ¶
func CheckNextActions(ctx context.Context, workflowExecution *WorkflowExecution) []string
Finds next actions that aren't already executed and don't have results
func CheckPasswordStrength ¶
Can check against HIBP etc? Removed for localhost
func CheckSessionOrgs ¶
func CheckUsername ¶
func CheckWorkflowApp ¶
func CheckWorkflowApp(workflowApp WorkflowApp) error
func CleanupExecutions ¶
func ConstructSessionCookie ¶ added in v0.8.65
func CreateOrgNotification ¶
func DecideExecution ¶
func DecideExecution(ctx context.Context, workflowExecution WorkflowExecution, environment string) (WorkflowExecution, []Action)
Decideds what should happen next. Used both for cloud & onprem environments Added early 2023 as yet another way to standardize decisionmaking of app executions
func DecryptKMS ¶
func DecryptKMS(ctx context.Context, auth AppAuthenticationStorage, key, authorization, optionalExecutionId string) (string, error)
Should talk to the KMS and find the key we are looking for Uses normal OR execution auth (authorization: Bearer..)
func DeleteAppAuthentication ¶
func DeleteAppAuthentication(resp http.ResponseWriter, request *http.Request)
func DeleteAppAuthenticationGroup ¶
func DeleteAppAuthenticationGroup(resp http.ResponseWriter, request *http.Request)
func DeleteKeys ¶
Index = Username
func DeleteUser ¶
func DeleteUser(resp http.ResponseWriter, request *http.Request)
func DeleteWorkflowApp ¶
func DeleteWorkflowApp(resp http.ResponseWriter, request *http.Request)
func DeployAppToDatastore ¶
func DeployAppToDatastore(ctx context.Context, workflowapp WorkflowApp) error
func DownloadFromUrl ¶
Downloads documentation from Github to be placed in an app/workflow as markdown Caching no matter what, with no retries
func DumpApi ¶
func DumpApi(basePath string, api WorkflowApp) error
func DumpApiGCP ¶
func DumpPython ¶
func DumpPythonGCP ¶
func DuplicateWorkflow ¶
func DuplicateWorkflow(resp http.ResponseWriter, request *http.Request)
func EchoOpenapiData ¶
func EchoOpenapiData(resp http.ResponseWriter, request *http.Request)
func FindChildNodes ¶
Recursively finds the child nodes of a node in execution and returns their ID. Used if e.g. a node in a branch is exited, and all children have to be stopped Also used during startup of a workflow to set all nodes to be SKIPPED that aren't in immediate use
func FindMatchingAction ¶
func FindMatchingAction(foundApi ParsedOpenApi, newActionName string) (string, error)
func FixAppbase ¶
func FixBadJsonBody ¶
func FixContentOutput ¶
func FixFunctionName ¶
FIXME: https://docs.python.org/3.2/reference/lexical_analysis.html#identifiers This is used to build the python functions.
func FixParamname ¶
func FormatAppfile ¶
func GetActionAIResponse ¶
func GetActionAIResponse(ctx context.Context, resp http.ResponseWriter, user User, org Org, outputFormat string, input QueryInput) ([]byte, error)
func GetActionResult ¶
func GetActionResult(ctx context.Context, workflowExecution WorkflowExecution, id string) (WorkflowExecution, ActionResult)
func GetActiveCategories ¶
func GetActiveCategories(resp http.ResponseWriter, request *http.Request)
func GetAppAuthentication ¶
func GetAppAuthentication(resp http.ResponseWriter, request *http.Request)
func GetAppAuthenticationGroup ¶
func GetAppAuthenticationGroup(resp http.ResponseWriter, request *http.Request)
func GetAppNameSplit ¶
func GetAppNameSplit(version DockerRequestCheck) (string, string, string, error)
func GetAppRequirements ¶
func GetAppRequirements() string
func GetAppbase ¶
func GetAppbaseGCP ¶
func GetAppbaseGCP(ctx context.Context, client *storage.Client, bucketName string) ([]byte, []byte, error)
Builds the structure for the new generated app in storage (copying baseline files)
func GetArticles ¶
func GetArticles(resp http.ResponseWriter, request *http.Request)
func GetArticlesList ¶
func GetArticlesList(resp http.ResponseWriter, request *http.Request)
func GetAtomicSuggestionAIResponse ¶
func GetAtomicSuggestionAIResponse(ctx context.Context, resp http.ResponseWriter, user User, org Org, outputFormat string, input QueryInput)
func GetAuthentication ¶
func GetAuthentication(ctx context.Context, workflowExecution WorkflowExecution, action Action, allAuths []AppAuthenticationStorage) (Action, WorkflowExecution)
func GetBaseDockerfile ¶
func GetBaseDockerfile() []byte
func GetBasePython ¶
func GetBasePython() string
func GetChildWorkflows ¶
func GetChildWorkflows(resp http.ResponseWriter, request *http.Request)
func GetCorrectActionName ¶
func GetCustomActionCode ¶
func GetCustomActionCode(swagger *openapi3.Swagger, api WorkflowApp) string
func GetDatastore ¶
func GetDatastoreClient ¶
func GetDocList ¶
func GetDocList(resp http.ResponseWriter, request *http.Request)
func GetESIndexPrefix ¶
Create ElasticSearch/OpenSearch index prefix It is used where a single cluster of ElasticSearch/OpenSearch utilized by several Shuffle instance E.g. Instance1_Workflowapp
func GetEnvironmentCount ¶
func GetEsConfig ¶
func GetEsConfig(defaultCreds bool) *opensearch.Client
func GetExecutionVariables ¶
func GetExecutionbody ¶
func GetExternalClient ¶
func GetFileContent ¶
func GetFileContentSingul ¶
func GetFrameworkConfiguration ¶
func GetFrameworkConfiguration(resp http.ResponseWriter, request *http.Request)
func GetGithubClient ¶
func GetGmailClient ¶
func GetGmailClient(ctx context.Context, code string, accessToken OauthToken, redirectUri string) (*http.Client, *oauth2.Token, error)
THis all of a sudden became really horrible.. fml
func GetKmsCache ¶
func GetKubernetesClient ¶
func GetKubernetesClient() (*kubernetes.Clientset, *rest.Config, error)
func GetKubernetesNamespace ¶
func GetLiveExecutionStats ¶
func GetLiveExecutionStats(resp http.ResponseWriter, request *http.Request)
func GetNodeRelations ¶
func GetNodeRelations(ctx context.Context) (map[string]NodeRelation, error)
func GetOnpremPaidEula ¶
func GetOnpremPaidEula() string
func GetOpenapi ¶
func GetOpenapi(resp http.ResponseWriter, request *http.Request)
func GetOpsDashboardStats ¶
func GetOpsDashboardStats(resp http.ResponseWriter, request *http.Request)
func GetOutlookClient ¶
func GetOutlookClient(ctx context.Context, code string, accessToken OauthToken, redirectUri string) (*http.Client, *oauth2.Token, error)
THis all of a sudden became really horrible.. fml
func GetPodName ¶
func GetPodName() string
func GetReplacementNodes ¶
func GetReplacementNodes(ctx context.Context, execution WorkflowExecution, trigger Trigger, lastTriggerName string) ([]Action, []Branch, string)
Recursively finds child nodes inside sub workflows
func GetRequestIp ¶
func GetRunnerGCP ¶
func GetRunnerOnprem ¶
func GetSingulStandaloneFilepath ¶
func GetSingulStandaloneFilepath() string
func GetSpecificApps ¶
func GetSpecificApps(resp http.ResponseWriter, request *http.Request)
A search for apps based on name and such This was before Algolia
func GetSpecificStats ¶
func GetSpecificStats(resp http.ResponseWriter, request *http.Request)
func GetSpecificWorkflow ¶
func GetSpecificWorkflow(resp http.ResponseWriter, request *http.Request)
func GetStorage ¶
func GetSyncApikeyByOrg ¶
Returns the orgid related to the key
func GetValidParameters ¶
Returns fixed function names based on a list of strings
func GetWorkflowAppConfig ¶
func GetWorkflowAppConfig(resp http.ResponseWriter, request *http.Request)
func GetWorkflowExecutions ¶
func GetWorkflowExecutions(resp http.ResponseWriter, request *http.Request)
func GetWorkflowExecutionsV2 ¶
func GetWorkflowExecutionsV2(resp http.ResponseWriter, request *http.Request)
func GetWorkflowPriority ¶
Shitty temorary system Adding schedule to run over with another algorithm as well as this one, as to increase priority based on popularity: searches, clicks & conversions (CTR)
func GetWorkflowRevisions ¶
func GetWorkflowRevisions(resp http.ResponseWriter, request *http.Request)
func GetWorkflowRunCount ¶
func GetWorkflowTest ¶
func GetWorkflowTest() []byte
func GetWorkflowValidation ¶
func GetWorkflowValidation(resp http.ResponseWriter, request *http.Request)
Checks & validates workflow based on last few runs~
func GetWorkflows ¶
func GetWorkflows(resp http.ResponseWriter, request *http.Request)
func HandleActionRecommendation ¶
func HandleActionRecommendation(resp http.ResponseWriter, request *http.Request)
Mainly tested with Outlook Office365 for now Should be made based on: - Usecases and their structure - Active Apps (framework~) - LLMs
func HandleApiGeneration ¶
func HandleApiGeneration(resp http.ResponseWriter, request *http.Request)
func HandleAppendStatistics ¶
func HandleAppendStatistics(resp http.ResponseWriter, request *http.Request)
func HandleCacheConfig ¶
func HandleCacheConfig(resp http.ResponseWriter, request *http.Request)
func HandleChangeUserOrg ¶
func HandleChangeUserOrg(resp http.ResponseWriter, request *http.Request)
Used for swapping your own organization to a new one IF it's eligible
func HandleClearNotifications ¶
func HandleClearNotifications(resp http.ResponseWriter, request *http.Request)
func HandleCors ¶
func HandleCors(resp http.ResponseWriter, request *http.Request) bool
func HandleCreateFile ¶
func HandleCreateFile(resp http.ResponseWriter, request *http.Request)
func HandleCreateGmailSub ¶
func HandleCreateGmailSub(resp http.ResponseWriter, request *http.Request)
This sets up the sub with outlook itself Parses data from the workflow to see whether access is right to subscribe it Creates the cloud function for outlook return Wait for it to be available, then schedule a workflow to it
func HandleCreateNotification ¶
func HandleCreateNotification(resp http.ResponseWriter, request *http.Request)
func HandleCreateOutlookSub ¶
func HandleCreateOutlookSub(resp http.ResponseWriter, request *http.Request)
This sets up the sub with outlook itself Parses data from the workflow to see whether access is right to subscribe it Creates the cloud function for outlook return Wait for it to be available, then schedule a workflow to it
func HandleCreateSubOrg ¶
func HandleCreateSubOrg(resp http.ResponseWriter, request *http.Request)
func HandleDeleteCacheKey ¶
func HandleDeleteCacheKey(resp http.ResponseWriter, request *http.Request)
func HandleDeleteCacheKeyPost ¶
func HandleDeleteCacheKeyPost(resp http.ResponseWriter, request *http.Request)
func HandleDeleteFile ¶
func HandleDeleteFile(resp http.ResponseWriter, request *http.Request)
func HandleDeleteGmailSub ¶
func HandleDeleteGmailSub(resp http.ResponseWriter, request *http.Request)
func HandleDeleteHook ¶
func HandleDeleteHook(resp http.ResponseWriter, request *http.Request)
func HandleDeleteOrg ¶
func HandleDeleteOrg(resp http.ResponseWriter, request *http.Request)
func HandleDeleteOutlookSub ¶
func HandleDeleteOutlookSub(resp http.ResponseWriter, request *http.Request)
func HandleDeleteUsersAccount ¶
func HandleDeleteUsersAccount(resp http.ResponseWriter, request *http.Request)
func HandleDetectionAutoConnect ¶
func HandleDetectionAutoConnect(resp http.ResponseWriter, request *http.Request)
FIXME: Should be generic - not just for SIEM/Sigma E.g. try for Email/Sublime
func HandleDownloadRemoteFiles ¶
func HandleDownloadRemoteFiles(resp http.ResponseWriter, request *http.Request)
func HandleEditFile ¶
func HandleEditFile(resp http.ResponseWriter, request *http.Request)
func HandleEditOrg ¶
func HandleEditOrg(resp http.ResponseWriter, request *http.Request)
func HandleExecutionCacheIncrement ¶
func HandleExecutionCacheIncrement(ctx context.Context, execution WorkflowExecution)
Handles statistics incrementation for workflow executions
func HandleFolderToggle ¶
func HandleFolderToggle(resp http.ResponseWriter, request *http.Request)
func HandleGet2fa ¶
func HandleGet2fa(resp http.ResponseWriter, request *http.Request)
func HandleGetCacheKey ¶
func HandleGetCacheKey(resp http.ResponseWriter, request *http.Request)
func HandleGetDetectionRules ¶
func HandleGetDetectionRules(resp http.ResponseWriter, request *http.Request)
func HandleGetEnvironments ¶
func HandleGetEnvironments(resp http.ResponseWriter, request *http.Request)
func HandleGetFileContent ¶
func HandleGetFileContent(resp http.ResponseWriter, request *http.Request)
func HandleGetFileMeta ¶
func HandleGetFileMeta(resp http.ResponseWriter, request *http.Request)
func HandleGetFileNamespace ¶
func HandleGetFileNamespace(resp http.ResponseWriter, request *http.Request)
func HandleGetFiles ¶
func HandleGetFiles(resp http.ResponseWriter, request *http.Request)
func HandleGetGmailFolders ¶
func HandleGetGmailFolders(resp http.ResponseWriter, request *http.Request)
func HandleGetHook ¶
func HandleGetHook(resp http.ResponseWriter, request *http.Request)
func HandleGetHooks ¶
func HandleGetHooks(resp http.ResponseWriter, request *http.Request)
func HandleGetNotifications ¶
func HandleGetNotifications(resp http.ResponseWriter, request *http.Request)
func HandleGetOrg ¶
func HandleGetOrg(resp http.ResponseWriter, request *http.Request)
func HandleGetOrgForms ¶
func HandleGetOrgForms(resp http.ResponseWriter, request *http.Request)
An API to ONLY return PUBLIC forms for an org A public form = Workflow with "sharing": form
func HandleGetOrgs ¶
func HandleGetOrgs(resp http.ResponseWriter, request *http.Request)
func HandleGetOutlookFolders ¶
func HandleGetOutlookFolders(resp http.ResponseWriter, request *http.Request)
func HandleGetSchedules ¶
func HandleGetSchedules(resp http.ResponseWriter, request *http.Request)
func HandleGetSelectedRules ¶
func HandleGetSelectedRules(resp http.ResponseWriter, request *http.Request)
func HandleGetSpecificTrigger ¶
func HandleGetSpecificTrigger(resp http.ResponseWriter, request *http.Request)
func HandleGetStatistics ¶
func HandleGetStatistics(resp http.ResponseWriter, request *http.Request)
func HandleGetSubOrgs ¶
func HandleGetSubOrgs(resp http.ResponseWriter, request *http.Request)
func HandleGetTriggers ¶
func HandleGetTriggers(resp http.ResponseWriter, request *http.Request)
func HandleGetUsecase ¶
func HandleGetUsecase(resp http.ResponseWriter, request *http.Request)
func HandleGetUserApps ¶
func HandleGetUserApps(resp http.ResponseWriter, request *http.Request)
func HandleGetUsers ¶
func HandleGetUsers(resp http.ResponseWriter, request *http.Request)
func HandleGetWidget ¶
func HandleGetWidget(resp http.ResponseWriter, request *http.Request)
func HandleGetWorkflowRunCount ¶
func HandleGetWorkflowRunCount(resp http.ResponseWriter, request *http.Request)
func HandleGetenvStats ¶
func HandleGetenvStats(resp http.ResponseWriter, request *http.Request)
func HandleGmailRouting ¶
func HandleGmailRouting(resp http.ResponseWriter, request *http.Request)
Returns 200 no matter what since these are received by GOOGLE PUB/SUB
func HandleGmailSubRemoval ¶
func HandleKeyValueCheck ¶
func HandleKeyValueCheck(resp http.ResponseWriter, request *http.Request)
func HandleListCacheKeys ¶
func HandleListCacheKeys(resp http.ResponseWriter, request *http.Request)
func HandleListDetectionCategories ¶
func HandleListDetectionCategories(resp http.ResponseWriter, request *http.Request)
func HandleLogin ¶
func HandleLogin(resp http.ResponseWriter, request *http.Request)
func HandleLogout ¶
func HandleLogout(resp http.ResponseWriter, request *http.Request)
func HandleMarkAsRead ¶
func HandleMarkAsRead(resp http.ResponseWriter, request *http.Request)
func HandleNewGithubRegister ¶
func HandleNewGithubRegister(resp http.ResponseWriter, request *http.Request)
FIXME: 1. Should find contributions to Shuffle repo's for the user 2. Should save tokens to continuously check this
func HandleNewGmailRegister ¶
func HandleNewGmailRegister(resp http.ResponseWriter, request *http.Request)
func HandleNewHook ¶
func HandleNewHook(resp http.ResponseWriter, request *http.Request)
Starts a new webhook
func HandleNewOutlookRegister ¶
func HandleNewOutlookRegister(resp http.ResponseWriter, request *http.Request)
func HandleNewPipelineRegister ¶
func HandleNewPipelineRegister(resp http.ResponseWriter, request *http.Request)
Pipeline is a sequence of stages that are executed in order. We will deploy the pipeline to run something from Orborus by adding it to the Orborus queue to be handled
func HandleNewWidget ¶
func HandleNewWidget(resp http.ResponseWriter, request *http.Request)
Starts a new webhook
func HandleOpenId ¶
func HandleOpenId(resp http.ResponseWriter, request *http.Request)
Example implementation of SSO, including a redirect for the user etc Should make this stuff only possible after login
func HandleOutlookSubRemoval ¶
Remove AUTH Remove function Remove subscription
func HandleOutputFormatting ¶
func HandlePasswordChange ¶
func HandlePasswordChange(resp http.ResponseWriter, request *http.Request)
func HandleRecommendationAction ¶
func HandleRecommendationAction(resp http.ResponseWriter, request *http.Request)
func HandleRerunExecutions ¶
func HandleRerunExecutions(resp http.ResponseWriter, request *http.Request)
func HandleSSO ¶
func HandleSSO(resp http.ResponseWriter, request *http.Request)
Example implementation of SSO, including a redirect for the user etc Should make this stuff only possible after login
func HandleSSOLogin ¶
func HandleSSOLogin(resp http.ResponseWriter, request *http.Request)
FIXME: Do NOT use this yet (May 24th, 2024). It is not ready for production due to being a potential cross-tenant attack vector.
func HandleSaveSelectedRules ¶
func HandleSaveSelectedRules(resp http.ResponseWriter, request *http.Request)
func HandleSet2fa ¶
func HandleSet2fa(resp http.ResponseWriter, request *http.Request)
func HandleSetCacheKey ¶
func HandleSetCacheKey(resp http.ResponseWriter, request *http.Request)
func HandleSetEnvironments ¶
func HandleSetEnvironments(resp http.ResponseWriter, request *http.Request)
func HandleSetFileConfig ¶
func HandleSetFileConfig(resp http.ResponseWriter, request *http.Request)
destribute files to all sub orgs of parent org
func HandleSetenvConfig ¶
func HandleSetenvConfig(resp http.ResponseWriter, request *http.Request)
func HandleSettings ¶
func HandleSettings(resp http.ResponseWriter, request *http.Request)
func HandleShareNamespace ¶
func HandleShareNamespace(resp http.ResponseWriter, request *http.Request)
func HandleStopExecutions ¶
func HandleStopExecutions(resp http.ResponseWriter, request *http.Request)
Send in deleteall=true to delete ALL executions for the environment ID
func HandleStreamWorkflow ¶
func HandleStreamWorkflow(resp http.ResponseWriter, request *http.Request)
func HandleStreamWorkflowUpdate ¶
func HandleStreamWorkflowUpdate(resp http.ResponseWriter, request *http.Request)
func HandleSuborgScheduleRun ¶
For replicating HTTP request from schedule user
func HandleToggleRule ¶
func HandleToggleRule(resp http.ResponseWriter, request *http.Request)
func HandleUpdateUser ¶
func HandleUpdateUser(resp http.ResponseWriter, request *http.Request)
func HandleUploadFile ¶
func HandleUploadFile(resp http.ResponseWriter, request *http.Request)
func HandleUserPrivateTraining ¶
func HandleUserPrivateTraining(resp http.ResponseWriter, request *http.Request)
func HandleWorkflowRunSearch ¶
func HandleWorkflowRunSearch(resp http.ResponseWriter, request *http.Request)
func HealthCheckHandler ¶
func HealthCheckHandler(resp http.ResponseWriter, request *http.Request)
func IncrementCache ¶
Rudementary caching system. WILL go wrong at times without sharding. It's only good for the user in cloud, hence wont bother for a while Optional input is the amount to increment
func IncrementCacheDump ¶
func IsRunningInCluster ¶
func IsRunningInCluster() bool
func LoadStandardFromGithub ¶
func LoadUsecases ¶
func LoadUsecases(resp http.ResponseWriter, request *http.Request)
func MakeGmailWebhookRequest ¶
Sending request to not complicate the use of webhooks vs non-webhooks, and dragging the execution model into shared area
func MakeOutlookSubscription ¶
func MakePythoncode ¶
func MakePythoncode(swagger *openapi3.Swagger, name, url, method string, parameters, optionalQueries, headers []string, fileField string, api WorkflowApp, handleFile bool) (string, string)
This function generates the python code that's being used. This is really meta when you program it. Handling parameters is hard here.
func MatchBodyWithInputdata ¶
func MatchBodyWithInputdata(inputdata, appname, actionName, body string, appContext []AppContext) string
func Md5sumfile ¶
func ParseLoginParameters ¶
func ParseLoginParameters(resp http.ResponseWriter, request *http.Request) (loginStruct, error)
func ParseVersions ¶
func PrepareWorkflowExecution ¶
func PrepareWorkflowExecution(ctx context.Context, workflow Workflow, request *http.Request, maxExecutionDepth int64) (WorkflowExecution, ExecInfo, string, error)
New execution with firestore The slow parts of it on FIRST request without cache: - Env loading (450ms) - Org Auth loading (500ms)
func RedirectUserRequest ¶
func RedirectUserRequest(w http.ResponseWriter, req *http.Request)
func RefreshGmailClient ¶
func RefreshOutlookClient ¶
func RefreshOutlookClient(ctx context.Context, auth TriggerAuth) error
func RemoveFromArray ¶
Function with the name RemoveFromArray to remove a string from a string array
func RemoveJsonValues ¶
Removes JSON values from the input
func RerunExecution ¶
func ResendActionResult ¶
func RunActionAI ¶
func RunActionAI(resp http.ResponseWriter, request *http.Request)
1. Return list of top apps matching the category if no apps match 2. Make sure it actually runs the thing. Use this: api/v1/apps/categories/run 3. Make it translate the input fields to the correct JSON format 4. Make sure it handles auth 5. Find apps based on Algolia 5. Make sure bodies are filled in correctly 6. Run without category/label and directly find app + action 7. Auto-label actions based on available labels & action name 8. Get documentation from doc URL, scrape & auto-input for each action 9. Get context awareness of what to do: workflow (create,modify), app (run,return, add to workflow)... 10. Continuing with context: Understand if they want to use ANY of the Shuffle API's, e.g. for listing apps, workflows, auth etc. "What actions does the x app have?" "how many?" 11. e.g. for JIRA: Add a way to understand if we need more context. Sample: If we get a response that the project ID is wrong, look for an API to list projects (solve the problem), then: either ask the user which one, or just choose one. 12. Add vector db and save for individual users 13. Add synonyms for words. e.g. for cases: alert = incident = case = issue = ticket, search = find = query, ... 14. Go check App's documentation for answers if we don't have the right info directly 15. how many clicks did our website have last week 16. Oauth2 autorefresh on single-actions 17. Make it work without action label (1) & category (2), and do auto-tagging if it's correct 18. Check for continuity. e.g. for an gmail, listing mails isn't always enough, but and requires further searching into the contents
func RunAgentDecisionAction ¶
func RunAgentDecisionAction(execution WorkflowExecution, agentOutput AgentOutput, decision AgentDecision)
Runs an Agent Decision -> returns the result from it FIXME: Handle types: https://www.figma.com/board/V6Kg7KxbmuhIUyTImb20t1/Shuffle-AI-Agent-system?node-id=0-1&p=f&t=yIGaSXQYsYReR8cI-0 This function should handle: 1. Running the decided action (user input, Singul, Workflow, Other Agent, Custom HTTP function) 2. Taking the result and sending (?) it back 3. Ensuring cache for an action is kept up to date
func RunAgentDecisionSingulActionHandler ¶
func RunAgentDecisionSingulActionHandler(execution WorkflowExecution, decision AgentDecision) ([]byte, string, error)
This is JUST for Singul actions with AI agents. As AI Agents can have multiple types of runs, this could change every time.
func RunAiQuery ¶
func RunAiQuery(systemMessage, userMessage string, incomingRequest ...openai.ChatCompletionRequest) (string, error)
Runs ANY AI query based on the system message and user message. This can also be overridden by passing in a custom OpenAI ChatCompletion request
func RunCacheCleanup ¶
func RunCacheCleanup(ctx context.Context, workflowExecution WorkflowExecution)
Stopped clearing them out as the result from it is used in subsequent workflows as well (subflows). This means the 31 min timeout is default.
func RunExecuteAccessValidation ¶
Check if the execution data has correct info in it! Happens based on subflows. 1. Parent workflow contains this workflow ID in the source trigger? 2. Parent workflow's owner is same org? 3. Parent execution auth is correct
func RunExecutionTranslation ¶
func RunExecutionTranslation(ctx context.Context, actionResult ActionResult)
func RunFixParentWorkflowResult ¶
func RunFixParentWorkflowResult(ctx context.Context, execution WorkflowExecution) error
Only returning error as the point is for the current workflow to update the parent workflow
func RunGoogleSearch ¶
To self-learn about the correct answer Should use gpt-3.5 to find the right result, scrape, visit & answer question
func RunHealthTest ¶
func RunHealthTest(resp http.ResponseWriter, req *http.Request)
func RunIOCFinder ¶
func RunIOCFinder(ctx context.Context, workflowExecution WorkflowExecution)
Finds IPs, domains and hashes Point is to test out how we can create a structured database of these, correlate with, and store them
func RunKmsTranslation ¶
func RunKmsTranslation(ctx context.Context, fullBody []byte, authConfig, paramName string) (string, error)
Translates the output of the KMS action to a usable format in the { "kms_key": "key", "kms_value": "value" } format
func RunOpenidLogin ¶
func RunOpsHealthCheck ¶
func RunOpsHealthCheck(resp http.ResponseWriter, request *http.Request)
func RunTextClassifier ¶
func RunTextClassifier(ctx context.Context, workflowExecution WorkflowExecution)
Checks same workflow's executions if it has had something similar happening in the last 10 workflows
func SaveWorkflow ¶
func SaveWorkflow(resp http.ResponseWriter, request *http.Request)
Saves a workflow to an ID
func SendHookResult ¶
func SendHookResult(resp http.ResponseWriter, request *http.Request)
func SetAppRevision ¶
func SetAppRevision(ctx context.Context, app WorkflowApp) error
func SetAuthGroupDatastore ¶
func SetAuthGroupDatastore(ctx context.Context, workflowappauthgroup AppAuthenticationGroup, id string) error
func SetAuthenticationConfig ¶
func SetAuthenticationConfig(resp http.ResponseWriter, request *http.Request)
func SetAutofixAppLabelsCache ¶
func SetAutofixAppLabelsCache(ctx context.Context, app WorkflowApp, appAction WorkflowAppAction, label string, keys []string) error
func SetCacheKey ¶
func SetCacheKey(ctx context.Context, cacheData CacheKeyData) error
Used for cache for individual organizations
func SetConversation ¶
func SetConversation(ctx context.Context, input QueryInput) error
func SetEnvironment ¶
func SetEnvironment(ctx context.Context, env *Environment) error
func SetFrameworkConfiguration ¶
func SetFrameworkConfiguration(resp http.ResponseWriter, request *http.Request)
func SetGitWorkflow ¶
Uploads updates for a workflow to a specific file on git
func SetInitExecutionVariables ¶
func SetInitExecutionVariables(ctx context.Context, workflowExecution WorkflowExecution)
Initializes an execution's extra variables
func SetJoinPrizedraw2021 ¶
func SetJoinPrizedraw2021(ctx context.Context, inputItem PrizedrawSubmitter) error
func SetKmsCache ¶
func SetLiveWorkflowExecutionData ¶
func SetLiveWorkflowExecutionData(ctx context.Context, liveExec LiveExecutionStatus) error
func SetNewDeal ¶
func SetNewDeal(ctx context.Context, deal ResellerDeal) error
func SetNewWorkflow ¶
func SetNewWorkflow(resp http.ResponseWriter, request *http.Request)
func SetNotification ¶
func SetNotification(ctx context.Context, notification Notification) error
func SetOpenApiDatastore ¶
func SetOpenApiDatastore(ctx context.Context, id string, openapi ParsedOpenApi) error
func SetOpenseaAsset ¶
func SetOrgStatistics ¶
func SetOrgStatistics(ctx context.Context, stats ExecutionInfo, id string) error
func SetPlatformHealth ¶
func SetPlatformHealth(ctx context.Context, health HealthCheckDB) error
func SetSchedule ¶
func SetSchedule(ctx context.Context, schedule ScheduleOld) error
Index = Username
func SetSession ¶
Index = Username
func SetSingulStats ¶ added in v0.8.67
func SetSingulStats(ctx context.Context, stats SingulStats) error
func SetSubscriptionRecipient ¶
func SetSubscriptionRecipient(ctx context.Context, sub SubscriptionRecipient, id string) error
func SetSuggestion ¶
func SetSuggestion(ctx context.Context, suggestion Suggestion) error
func SetTriggerAuth ¶
func SetTriggerAuth(ctx context.Context, trigger TriggerAuth) error
func SetUsecase ¶
func SetWorkflow ¶
func SetWorkflowAppAuthDatastore ¶
func SetWorkflowAppAuthDatastore(ctx context.Context, workflowappauth AppAuthenticationStorage, id string) error
func SetWorkflowAppDatastore ¶
func SetWorkflowAppDatastore(ctx context.Context, workflowapp WorkflowApp, id string) error
func SetWorkflowExecution ¶
func SetWorkflowExecution(ctx context.Context, workflowExecution WorkflowExecution, dbSave bool) error
func SetWorkflowQueue ¶
func SetWorkflowQueue(ctx context.Context, executionRequest ExecutionRequest, env string) error
func SetenvStats ¶
func SetenvStats(ctx context.Context, input OrborusStats) error
func StoreDisabledRules ¶
func StoreDisabledRules(ctx context.Context, file DisabledRules) error
func StoreSelectedRules ¶
func StoreSelectedRules(ctx context.Context, TriggerId string, rules SelectedDetectionRules) error
func StreamZipdata ¶
func StreamZipdata(ctx context.Context, identifier, pythoncode, requirements, bucketName string) (string, error)
Streams the data into a zip to be used for a cloud function
func UpdateActionBody ¶
func UpdateActionBody(action WorkflowAppAction) (string, error)
func UpdateAppAuth ¶
func UpdateAppAuth(ctx context.Context, auth AppAuthenticationStorage, workflowId, nodeId string, add bool) error
Adds app auth tracking
func UpdateUsecases ¶
func UpdateUsecases(resp http.ResponseWriter, request *http.Request)
func UpdateWorkflowAppConfig ¶
func UpdateWorkflowAppConfig(resp http.ResponseWriter, request *http.Request)
Only used for onprem :/
func UploadFile ¶
func UploadFileSingul ¶
func UploadParameterBase ¶
func UploadParameterBase(ctx context.Context, orgId, appId, actionName, paramName, paramValue string) error
Uploads modifyable parameter data to file storage, as to be used in the future executions of the app
func ValidateFinished ¶
func ValidateFinished(ctx context.Context, extra int, workflowExecution WorkflowExecution) bool
func ValidateNewWorkerExecution ¶
Checks if data is sent from Worker >0.8.51, which sends a full execution instead of individial results
func ValidateParameterName ¶
Returns a valid param name
func ValidateRequestOverload ¶
func ValidateSwagger ¶
func ValidateSwagger(resp http.ResponseWriter, request *http.Request)
Types ¶
type Action ¶
type Action struct { AppName string `json:"app_name" datastore:"app_name"` AppVersion string `json:"app_version" datastore:"app_version"` Description string `json:"description" datastore:"description,noindex"` AppID string `json:"app_id" datastore:"app_id"` Errors []string `json:"errors" datastore:"errors"` ID string `json:"id" datastore:"id"` IsValid bool `json:"is_valid" datastore:"is_valid"` IsStartNode bool `json:"isStartNode,omitempty" datastore:"isStartNode"` Sharing bool `json:"sharing,omitempty" datastore:"sharing"` PrivateID string `json:"private_id,omitempty" datastore:"private_id"` Label string `json:"label,omitempty" datastore:"label"` SmallImage string `json:"small_image,omitempty" datastore:"small_image,noindex" required:false yaml:"small_image"` Public bool `json:"public" datastore:"public"` Generated bool `json:"generated" yaml:"generated" required:false datastore:"generated"` LargeImage string `json:"large_image,omitempty" datastore:"large_image,noindex" yaml:"large_image" required:false` Environment string `json:"environment,omitempty" datastore:"environment"` Name string `json:"name" datastore:"name"` Parameters []WorkflowAppActionParameter `json:"parameters" datastore: "parameters,noindex"` InvalidParameters []WorkflowAppActionParameter `json:"previous_parameters,omitempty" datastore: "previous_parameters,noindex"` ExecutionVariable Variable `json:"execution_variable,omitempty" datastore:"execution_variable,omitempty"` Position Position `json:"position,omitempty"` Priority int `json:"priority,omitempty" datastore:"priority"` AuthenticationId string `json:"authentication_id" datastore:"authentication_id"` Example string `json:"example,omitempty" datastore:"example,noindex"` AuthNotRequired bool `json:"auth_not_required,omitempty" datastore:"auth_not_required" yaml:"auth_not_required"` Category string `json:"category" datastore:"category"` ReferenceUrl string `json:"reference_url" datastore:"reference_url"` SubAction bool `json:"sub_action" datastore:"sub_action"` RunMagicOutput bool `json:"run_magic_output" datastore:"run_magic_output" yaml:"run_magic_output"` RunMagicInput bool `json:"run_magic_input" datastore:"run_magic_input" yaml:"run_magic_input"` ExecutionDelay int64 `json:"execution_delay" yaml:"execution_delay" datastore:"execution_delay"` CategoryLabel []string `json:"category_label" datastore:"category_label"` // For categorization of the type of node in case it's available Suggestion bool `json:"suggestion" datastore:"suggestion"` // Whether it was a suggestion in the workflow or not ParentControlled bool `json:"parent_controlled" datastore:"parent_controlled"` // If the parent workflow node exists, and shouldn't be editable by child workflow // ParameterLocks []ParameterLock `json:"parameter_locks" datastore:"parameter_locks"` SourceWorkflow string `json:"source_workflow" yaml:"source_workflow" datastore:"source_workflow"` SourceExecution string `json:"source_execution" yaml:"source_execution" datastore:"source_execution"` }
This is for the nodes in a workflow, NOT the app action itself.
func FindNextApiStep ¶
func FindNextApiStep(action Action, stepOutput []byte, additionalInfo, inputdata, originalAppname string, attempt ...int) (string, Action, error, string)
Used for recursively fixing HTTP outputs that are bad
func GetAction ¶
func GetAction(workflowExecution WorkflowExecution, id, environment string) Action
func HandleAiAgentExecutionStart ¶
func HandleAiAgentExecutionStart(execution WorkflowExecution, startNode Action) (Action, error)
func RunSelfCorrectingRequest ¶
func RunSelfCorrectingRequest(action Action, status int, additionalInfo, outputBody, appname, inputdata string, attempt ...int) (Action, string, error)
Returns: 1. The fully filled-in action 2. The additional info from the previous request 3. Any error that may have occurred
type ActionRecommendations ¶
type ActionRecommendations struct { Success bool `json:"success"` Actions []RecommendAction `json:"actions"` }
type ActionReference ¶
type ActionResult ¶
type ActionResult struct { Action Action `json:"action" datastore:"action"` ExecutionId string `json:"execution_id" datastore:"execution_id"` Authorization string `json:"authorization" datastore:"authorization"` Result string `json:"result" datastore:"result,noindex"` StartedAt int64 `json:"started_at" datastore:"started_at"` CompletedAt int64 `json:"completed_at" datastore:"completed_at"` Status string `json:"status" datastore:"status"` AttackTechniques []string `json:"attack_techniques" datastore:"attack_techniques"` AttackTactics []string `json:"attack_tactics" datastore:"attack_tactics"` SimilarActions []SimilarAction `json:"similar_actions" datastore:"similar_actions"` }
func FixActionResultOutput ¶
func FixActionResultOutput(actionResult ActionResult) ActionResult
Function for translating action results into whatever. Came about because of general issues with Oauth2
type AdditionalUseConfig ¶
type AgentDecision ¶
type AgentDecision struct { // Predictive Agent data I int `json:"i" datastore:"i"` Action string `json:"action" datastore:"action"` Tool string `json:"tool" datastore:"tool"` Category string `json:"category" datastore:"category"` Confidence float64 `json:"confidence" datastore:"confidence"` Runs string `json:"runs" datastore:"runs"` Sources string `json:"sources,omitempty" datastore:"sources"` Fields []Valuereplace `json:"fields" datastore:"fields"` Reason string `json:"reason" datastore:"reason"` // Responses RunDetails AgentDecisionRunDetails `json:"run_details" datastore:"run_details"` }
Each decision
type AgentDecisionRunDetails ¶
type AgentDecisionRunDetails struct { Id string `json:"id" datastore:"id"` StartedAt int64 `json:"started_at" datastore:"started_at"` CompletedAt int64 `json:"completed_at" datastore:"completed_at"` Type string `json:"type" datastore:"type"` Status string `json:"status" datastore:"status"` RawResponse string `json:"raw_response,omitempty" datastore:"raw_response"` DebugUrl string `json:"debug_url,omitempty" datastore:"debug_url"` }
The execution details of a decision
type AgentOutput ¶
type AgentOutput struct { Status string `json:"status" datastore:"status"` Input string `json:"input" datastore:"input"` Error string `json:"error,omitempty" datastore:"error"` Decisions []AgentDecision `json:"decisions" datastore:"decisions"` // For easy testing DecisionString string `json:"decision_string,omitempty" datastore:"decision_string"` // For tracking of details parent<->child StartedAt int64 `json:"started_at,omitempty" datastore:"started_at"` CompletedAt int64 `json:"completed_at,omitempty" datastore:"completed_at"` ExecutionId string `json:"execution_id,omitempty" datastore:"execution_id"` NodeId string `json:"node_id,omitempty" datastore:"node_id"` Memory string `json:"memory,omitempty" datastore:"memory"` }
The overall Agent controller
type AlertThreshold ¶
type AlgoliaSearchApp ¶
type AlgoliaSearchApp struct { Name string `json:"name"` Description string `json:"description"` ObjectID string `json:"objectID"` Creator string `json:"creator"` AppVersion string `json:"app_version"` ImageUrl string `json:"image_url"` TimeEdited int64 `json:"time_edited"` Generated bool `json:"generated"` Invalid bool `json:"invalid"` Priority int `json:"priority"` Actions int `json:"actions"` Tags []string `json:"tags"` AccessibleBy []string `json:"accessible_by"` Categories []string `json:"categories"` ActionLabels []string `json:"action_labels"` Triggers []string `json:"triggers"` Verified bool `json:"verified"` }
func HandleAlgoliaAppSearch ¶
func HandleAlgoliaAppSearch(ctx context.Context, appname string) (AlgoliaSearchApp, error)
func HandleAlgoliaAppSearchByUser ¶
func HandleAlgoliaAppSearchByUser(ctx context.Context, userId string) ([]AlgoliaSearchApp, error)
type AlgoliaSearchCreator ¶
type AlgoliaSearchCreator struct { ObjectID string `json:"objectID"` TimeEdited int64 `json:"time_edited"` Username string `json:"username"` Image string `json:"image"` Banner string `datastore:"banner" json:"banner"` Skills []string `json:"skills"` Synonyms []string `json:"synonyms"` Workflows int64 `json:"workflows"` Apps int64 `json:"apps"` SpecializedApps []MinimizedApps `json:"specialized_apps"` Verified bool `json:"verified"` Social []string `datastore:"social" json:"social"` WorkStatus string `datastore:"work_status" json:"work_status"` Url string `datastore:"url" json:"url"` IsOrg bool `datastore:"is_org" json:"is_org"` }
func HandleAlgoliaCreatorSearch ¶
func HandleAlgoliaCreatorSearch(ctx context.Context, username string) (AlgoliaSearchCreator, error)
type AlgoliaSearchWorkflow ¶
type AlgoliaSearchWorkflow struct { Name string `json:"name"` ObjectID string `json:"objectID"` Description string `json:"description"` Variables int `json:"variables"` ActionAmount int `json:"action_amount"` TriggerAmount int `json:"trigger_amount"` Triggers []string `json:"triggers"` Actions []string `json:"actions"` Tags []string `json:"tags"` Categories []string `json:"categories"` AccessibleBy []string `json:"accessible_by,omitempty"` ImageUrl string `json:"image_url"` TimeEdited int64 `json:"time_edited"` Invalid bool `json:"invalid"` Creator string `json:"creator,omitempty"` SourceIPLower string `json:"source_ip,omitempty"` SourceIP string `json:"SourceIP,omitempty"` Type string `json:"type"` UsecaseIds []string `json:"usecase_ids"` CreatorInfo CreatorInfo `json:"creator_info,omitempty"` ActionReferences []ActionReference `json:"action_references,omitempty"` Priority int `json:"priority"` Validated bool `json:"validated"` }
func HandleAlgoliaWorkflowSearchByApp ¶
func HandleAlgoliaWorkflowSearchByApp(ctx context.Context, appname string) ([]AlgoliaSearchWorkflow, error)
func HandleAlgoliaWorkflowSearchByUser ¶
func HandleAlgoliaWorkflowSearchByUser(ctx context.Context, userId string) ([]AlgoliaSearchWorkflow, error)
type AllHooksWrapper ¶
type AllPipelinesWrapper ¶
type AllPipelinesWrapper struct { Hits struct { Total struct { Value int `json:"value"` Relation string `json:"relation"` } `json:"total"` Hits []struct { Index string `json:"_index"` ID string `json:"_id"` Score float64 `json:"_score"` Source Pipeline `json:"_source"` } `json:"hits"` } `json:"hits"` }
type AllTriggersWrapper ¶
type AllTriggersWrapper struct { Pipelines []PipelineInfoMini `json:"pipelines"` WebHooks []Hook `json:"webhooks"` Schedules []ScheduleOld `json:"schedules"` }
type ApiYaml ¶
type ApiYaml struct { Name string `json:"name" yaml:"name" required:"true datastore:"name"` Foldername string `json:"foldername" yaml:"foldername" required:"true datastore:"foldername"` Id string `json:"id" yaml:"id",required:"true, datastore:"id"` Description string `json:"description" datastore:"description" yaml:"description"` AppVersion string `json:"app_version" yaml:"app_version",datastore:"app_version"` ContactInfo struct { Name string `json:"name" datastore:"name" yaml:"name"` Url string `json:"url" datastore:"url" yaml:"url"` } `json:"contact_info" datastore:"contact_info" yaml:"contact_info"` Types []string `json:"types" datastore:"types" yaml:"types"` Input []struct { Name string `json:"name" datastore:"name" yaml:"name"` Description string `json:"description" datastore:"description" yaml:"description"` InputParameters []struct { Name string `json:"name" datastore:"name" yaml:"name"` Description string `json:"description" datastore:"description" yaml:"description"` Required string `json:"required" datastore:"required" yaml:"required"` Schema struct { Type string `json:"type" datastore:"type" yaml:"type"` } `json:"schema" datastore:"schema" yaml:"schema"` } `json:"inputparameters" datastore:"inputparameters" yaml:"inputparameters"` OutputParameters []struct { Name string `json:"name" datastore:"name" yaml:"name"` Description string `json:"description" datastore:"description" yaml:"description"` Required string `json:"required" datastore:"required" yaml:"required"` Schema struct { Type string `json:"type" datastore:"type" yaml:"type"` } `json:"schema" datastore:"schema" yaml:"schema"` } `json:"outputparameters" datastore:"outputparameters" yaml:"outputparameters"` Config []struct { Name string `json:"name" datastore:"name" yaml:"name"` Description string `json:"description" datastore:"description" yaml:"description"` Required string `json:"required" datastore:"required" yaml:"required"` Schema struct { Type string `json:"type" datastore:"type" yaml:"type"` } `json:"schema" datastore:"schema" yaml:"schema"` } `json:"config" datastore:"config" yaml:"config"` } `json:"input" datastore:"input" yaml:"input"` Output []struct { Name string `json:"name" datastore:"name" yaml:"name"` Description string `json:"description" datastore:"description" yaml:"description"` Config []struct { Name string `json:"name" datastore:"name" yaml:"name"` Description string `json:"description" datastore:"description" yaml:"description"` Required string `json:"required" datastore:"required" yaml:"required"` Schema struct { Type string `json:"type" datastore:"type" yaml:"type"` } `json:"schema" datastore:"schema" yaml:"schema"` } `json:"config" datastore:"config" yaml:"config"` InputParameters []struct { Name string `json:"name" datastore:"name" yaml:"name"` Description string `json:"description" datastore:"description" yaml:"description"` Required string `json:"required" datastore:"required" yaml:"required"` Schema struct { Type string `json:"type" datastore:"type" yaml:"type"` } `json:"schema" datastore:"schema" yaml:"schema"` } `json:"inputparameters" datastore:"inputparameters" yaml:"inputparameters"` OutputParameters []struct { Name string `json:"name" datastore:"name" yaml:"name"` Description string `json:"description" datastore:"description" yaml:"description"` Required string `json:"required" datastore:"required" yaml:"required"` Schema struct { Type string `json:"type" datastore:"type" yaml:"type"` } `json:"schema" datastore:"schema" yaml:"schema"` } `json:"outputparameters" datastore:"outputparameters" yaml:"outputparameters"` } `json:"output" datastore:"output" yaml:"output"` }
Hmm
type AppAuthSearchWrapper ¶
type AppAuthSearchWrapper struct { Took int `json:"took"` TimedOut bool `json:"timed_out"` Shards struct { Total int `json:"total"` Successful int `json:"successful"` Skipped int `json:"skipped"` Failed int `json:"failed"` } `json:"_shards"` Hits struct { Total struct { Value int `json:"value"` Relation string `json:"relation"` } `json:"total"` MaxScore float64 `json:"max_score"` Hits []struct { Index string `json:"_index"` Type string `json:"_type"` ID string `json:"_id"` Score float64 `json:"_score"` Source AppAuthenticationStorage `json:"_source"` } `json:"hits"` } `json:"hits"` }
type AppAuthWrapper ¶
type AppAuthenticationGroup ¶
type AppAuthenticationGroup struct { Active bool `json:"active" datastore:"active"` Label string `json:"label" datastore:"label"` Environment string `json:"environment" datastore:"environment"` Id string `json:"id" datastore:"id"` Description string `json:"description" datastore:"description"` OrgId string `json:"org_id" datastore:"org_id"` Created int64 `json:"created" datastore:"created"` Edited int64 `json:"edited" datastore:"edited"` AppAuths []AppAuthenticationStorage `json:"app_auths" datastore:"app_auths,noindex"` }
func GetAppAuthGroup ¶
func GetAppAuthGroup(ctx context.Context, id string) (*AppAuthenticationGroup, error)
func GetAuthGroups ¶
func GetAuthGroups(ctx context.Context, orgId string) ([]AppAuthenticationGroup, error)
type AppAuthenticationStorage ¶
type AppAuthenticationStorage struct { Active bool `json:"active" datastore:"active"` Label string `json:"label" datastore:"label"` Id string `json:"id" datastore:"id"` App WorkflowApp `json:"app" datastore:"app,noindex"` Fields []AuthenticationStore `json:"fields" datastore:"fields"` Usage []AuthenticationUsage `json:"usage" datastore:"usage"` WorkflowCount int64 `json:"workflow_count" datastore:"workflow_count"` NodeCount int64 `json:"node_count" datastore:"node_count"` OrgId string `json:"org_id" datastore:"org_id"` Created int64 `json:"created" datastore:"created"` Edited int64 `json:"edited" datastore:"edited"` Defined bool `json:"defined" datastore:"defined"` Type string `json:"type" datastore:"type"` Encrypted bool `json:"encrypted" datastore:"encrypted"` ReferenceWorkflow string `json:"reference_workflow" datastore:"reference_workflow"` AutoDistribute bool `json:"auto_distribute" datastore:"auto_distribute"` Environment string `json:"environment" datastore:"environment"` // In case an auth should ALWAYS be mapped to an environment. Can help out with Oauth2 refresh (e.g. running partially on cloud and partially onprem), as well as for KMS. For now ONLY KMS has a frontend. SuborgDistributed bool `json:"suborg_distributed" datastore:"suborg_distributed"` // Decides if it's distributed to suborgs or not Validation TypeValidation `json:"validation" datastore:"validation"` }
func GetAllWorkflowAppAuth ¶
func GetAllWorkflowAppAuth(ctx context.Context, orgId string) ([]AppAuthenticationStorage, error)
func GetOauth2ApplicationPermissionToken ¶
func GetOauth2ApplicationPermissionToken(ctx context.Context, user User, appAuth AppAuthenticationStorage) (AppAuthenticationStorage, error)
func GetWorkflowAppAuthDatastore ¶
func GetWorkflowAppAuthDatastore(ctx context.Context, id string) (*AppAuthenticationStorage, error)
Gets a specific auth for an org
func RunOauth2Request ¶
func RunOauth2Request(ctx context.Context, user User, appAuth AppAuthenticationStorage, refresh bool) (AppAuthenticationStorage, error)
type AppCategory ¶
type AppCategory struct { Name string `json:"name"` Color string `json:"color"` Icon string `json:"icon"` ActionLabels []string `json:"action_labels"` AppLabels []AppLabel `json:"app_labels"` RequiredFields map[string][]string `json:"required_fields"` OptionalFields map[string][]string `json:"optional_fields"` }
type AppCategoryLabel ¶
type AppCategoryLabel struct { Label string `json:"label"` FormattedLabel string `json:"formatted_label"` Apps []WorkflowApp `json:"apps"` }
type AppContext ¶
type AppContext struct { AppName string `json:"app_name"` AppID string `json:"app_id"` ActionName string `json:"action_name"` Label string `json:"label"` ExampleResponse string `json:"example_response,omitempty" datastore:"example_response,noindex"` Example string `json:"example,omitempty" datastore:"example,noindex"` }
type AppExecutionExample ¶
type AppExecutionExample struct { AppName string `json:"app_name" datastore:"app_name"` AppVersion string `json:"app_version" datastore:"app_version"` AppAction string `json:"app_action" datastore:"app_action"` AppId string `json:"app_id" datastore:"app_id"` ExampleId string `json:"example_id" datastore:"example_id"` SuccessExamples []string `json:"success_examples" datastore:"success_examples,noindex"` FailureExamples []string `json:"failure_examples" datastore:"failure_examples,noindex"` }
type AppHealth ¶
type AppHealth struct { Create bool `json:"create"` Run bool `json:"run"` Delete bool `json:"delete"` Validate bool `json:"validate"` AppId string `json:"app_id"` Read bool `json:"read"` Result string `json:"result"` ExecutionID string `json:"execution_id"` }
func RunOpsAppHealthCheck ¶
type AppInfo ¶
type AppInfo struct { SourceApp ScheduleApp `json:"sourceapp,omitempty" datastore:"sourceapp,noindex"` DestinationApp ScheduleApp `json:"destinationapp,omitempty" datastore:"destinationapp,noindex"` }
type AppLabel ¶
type AppLabel struct { AppName string `json:"app_name"` LargeImage string `json:"large_image"` ID string `json:"id"` Labels []LabelStruct `json:"labels"` }
type AppLabelData ¶
type AppLabelData struct { AppName string `json:"app_name" datastore:"app_name"` AppId string `json:"app_id" datastore:"app_id"` AppVersion string `json:"app_version" datastore:"app_version"` Categories []string `json:"categories" datastore:"categories"` ImageURL string `json:"image_url" datastore:"image_url"` ActionName string `json:"action_name" datastore:"action_name"` Label string `json:"label" datastore:"label"` }
type AppMini ¶
type AppMini struct { Id string `json:"id"` Name string `json:"name"` Version string `json:"version"` LargeImage string `json:"large_image"` Authentication Authentication `json:"authentication"` AuthenticationRequired bool `json:"authentication_required"` ActionName string `json:"action_name,omitempty"` Category string `json:"category,omitempty"` }
type AppResponse ¶
type AppSearchWrapper ¶
type AppSearchWrapper struct { Took int `json:"took"` TimedOut bool `json:"timed_out"` Shards struct { Total int `json:"total"` Successful int `json:"successful"` Skipped int `json:"skipped"` Failed int `json:"failed"` } `json:"_shards"` Hits struct { Total struct { Value int `json:"value"` Relation string `json:"relation"` } `json:"total"` MaxScore float64 `json:"max_score"` Hits []struct { Index string `json:"_index"` Type string `json:"_type"` ID string `json:"_id"` Score float64 `json:"_score"` Source WorkflowApp `json:"_source"` } `json:"hits"` } `json:"hits"` }
type AppStats ¶
type AppStats struct { TotalSearches int `json:"total_searches" datastore:"total_searches"` Events []WidgetPoint `json:"events" datastore:"events"` TotalConversions int `json:"total_conversions" datastore:"total_conversions"` TotalClicks int `json:"total_clicks" datastore:"total_clicks"` AppName string `json:"app_name" datastore:"app_name"` }
type AppVersion ¶
type AppWrapper ¶
type AtomicOutput ¶
type Attachment ¶
type Attachment struct { ContentTransferEncoding string `` /* 135-byte string literal not displayed */ ContentType string `description:"Content-Type extracted from the MIME payload" json:"content_type,omitempty" validate:"omitempty"` FileExtension string `description:"File extension" json:"file_extension,omitempty" validate:"omitempty,isdefault"` FileName string `description:"File name" json:"file_name,omitempty" validate:"omitempty"` FileType string `` /* 136-byte string literal not displayed */ Size *int64 `description:"Size of the attachment in bytes" json:"size,omitempty" validate:"omitempty,isdefault"` Raw *string `description:"Base64 encoded source of the attachment" json:"raw,omitempty" validate:"omitempty"` }
type AuthGroupWrapper ¶
type AuthResults ¶
type AuthResults struct { Type string `description:"The type of authentication result, derived from the field name" json:"type,omitempty" validate:"omitempty"` Instance string `description:"Instance number of this auth result (if ARC)" json:"instance,omitempty" validate:"omitempty"` CompAuth *CompAuth `description:"Composite Authentication result, used by Microsoft O365" json:"compauth,omitempty" validate:"omitempty"` DKIM string `` /* 162-byte string literal not displayed */ DKIMDetails []Signature `description:"List of details of the Domain Keys Identified Mail checks" json:"dkim_details,omitempty" validate:"omitempty"` DMARC string `` /* 202-byte string literal not displayed */ DMARCDetails *DMARC `` /* 147-byte string literal not displayed */ SPF string `` /* 160-byte string literal not displayed */ SPFDetails *SPF `description:"Details of the Sender Policy Framework" json:"spf_details,omitempty" validate:"omitempty"` Server *Domain `description:"The domain of the verifying mail server" json:"server,omitempty" validate:"omitempty"` }
type Authentication ¶
type Authentication struct { Type string `json:"type" datastore:"type" yaml:"type"` Required bool `json:"required" datastore:"required" yaml:"required" ` Parameters []AuthenticationParams `json:"parameters" datastore:"parameters" yaml:"parameters"` RedirectUri string `json:"redirect_uri" datastore:"redirect_uri" yaml:"redirect_uri"` TokenUri string `json:"token_uri" datastore:"token_uri" yaml:"token_uri"` RefreshUri string `json:"refresh_uri" datastore:"refresh_uri" yaml:"refresh_uri"` Scope []string `json:"scope" datastore:"scope" yaml:"scope"` ClientId string `json:"client_id" datastore:"client_id"` ClientSecret string `json:"client_secret" datastore:"client_secret"` GrantType string `json:"grant_type" datastore:"grant_type"` }
type AuthenticationParams ¶
type AuthenticationParams struct { Description string `json:"description" datastore:"description,noindex" yaml:"description"` ID string `json:"id" datastore:"id" yaml:"id"` Name string `json:"name" datastore:"name" yaml:"name"` Example string `json:"example" datastore:"example,noindex" yaml:"example"` Value string `json:"value,omitempty" datastore:"value,noindex" yaml:"value"` Multiline bool `json:"multiline" datastore:"multiline" yaml:"multiline"` Required bool `json:"required" datastore:"required" yaml:"required"` In string `json:"in" datastore:"in" yaml:"in"` Schema SchemaDefinition `json:"schema" datastore:"schema" yaml:"schema"` Scheme string `json:"scheme" datastore:"scheme" yaml:"scheme"` // Deprecated }
type AuthenticationStore ¶
type AuthenticationUsage ¶
type AuthorizationCode ¶
type BackupConfig ¶
type BackupConfig struct { OnpremBackup bool `json:"onprem_backup" datastore:"onprem_backup"` UploadRepo string `json:"upload_repo" datastore:"upload_repo"` UploadBranch string `json:"upload_branch" datastore:"upload_branch"` UploadUsername string `json:"upload_username" datastore:"upload_username"` UploadToken string `json:"upload_token" datastore:"upload_token"` TokensEncrypted bool `json:"tokens_encrypted" datastore:"tokens_encrypted"` }
type BackupJob ¶
type BackupJob struct { Version string `json:"version"` // Instance version LastSignin int64 `json:"last_signin"` // Last time user signed in Stats ExecutionInfo `json:"stats"` Workflows []Workflow `json:"workflows"` Apps []WorkflowApp `json:"apps"` }
Anonymized data that is sent to the cloud as backup. Saved in your organization and region
type BaseFile ¶
type BaseFile struct { Name string `json:"name"` ID string `json:"id"` Type string `json:"type"` UpdatedAt int64 `json:"updated_at"` Md5Sum string `json:"md5_sum"` Status string `json:"status"` FileSize int64 `json:"filesize"` OrgId string `json:"org_id"` SuborgDistribution []string `json:"suborg_distribution"` }
type Billing ¶
type Billing struct { Email string `json:"Email" datastore:"Email"` AlertThreshold []AlertThreshold `json:"AlertThreshold" datastore:"AlertThreshold"` Consultation Consultation `json:"Consultation" datastore:"Consultation"` }
type Body ¶
type Body struct { HTML *BodyText `description:"The body part containing content-type text/html" json:"html,omitempty" validate:"omitempty"` Plain *BodyText `description:"The body part containing content-type text/plain" json:"plain,omitempty" validate:"omitempty"` IPs []IP `description:"IP Addresses located in the body" json:"ips,omitempty" validate:"omitempty"` Links []Link `` /* 128-byte string literal not displayed */ }
type BodyText ¶
type BodyText struct { Raw *string `description:"Decoded raw content of a body text type (text/[subtype] section)" json:"raw,omitempty" validate:"omitempty"` Charset string `description:"charset of the text/[subtype]" json:"charset,omitempty" validate:"omitempty"` ContentTransferEncoding string `description:"Content-Transfer-Encoding of the text/[subtype]" json:"content_transfer_encoding,omitempty" validate:"omitempty"` }
type Branch ¶
type Branch struct { DestinationID string `json:"destination_id" datastore:"destination_id"` ID string `json:"id" datastore:"id"` SourceID string `json:"source_id" datastore:"source_id"` Label string `json:"label" datastore:"label"` HasError bool `json:"has_errors" datastore: "has_errors"` Conditions []Condition `json:"conditions" datastore: "conditions"` Decorator bool `json:"decorator" datastore:"decorator"` ParentControlled bool `json:"parent_controlled" datastore:"parent_controlled"` // If the parent workflow node exists, and shouldn't be editable by child workflow SourceParent string `json:"source_parent" datastore:"source_parent"` // Parent node of the actual source we use. Mainly added for handling else/if-s in branches. Automatically happens during workflow saves (frontend for now) }
type BuildLaterStruct ¶
type CacheKeyData ¶
type CacheKeyData struct { Success bool `json:"success" datastore:"Success"` WorkflowId string `json:"workflow_id," datastore:"WorkflowId"` ExecutionId string `json:"execution_id,omityempty" datastore:"ExecutionId"` Authorization string `json:"authorization,omitempty" datastore:"Authorization"` OrgId string `json:"org_id,omitempty" datastore:"OrgId"` Key string `json:"key" datastore:"Key"` Value string `json:"value" datastore:"Value,noindex"` Category string `json:"category" datastore:"category"` Created int64 `json:"created" datastore:"Created"` Edited int64 `json:"edited" datastore:"Edited"` FormattedKey string `json:"formatted_key,omitempty" datastore:"FormattedKey"` PublicAuthorization string `json:"public_authorization,omitempty" datastore:"PublicAuthorization"` // Used for public authorization SuborgDistribution []string `json:"suborg_distribution" datastore:"suborg_distribution"` }
func GetAllCacheKeys ¶
func GetCacheKey ¶
Used for cache for individual organizations
type CacheKeySearchWrapper ¶
type CacheKeySearchWrapper struct { Took int `json:"took"` TimedOut bool `json:"timed_out"` Shards struct { Total int `json:"total"` Successful int `json:"successful"` Skipped int `json:"skipped"` Failed int `json:"failed"` } `json:"_shards"` Hits struct { Total struct { Value int `json:"value"` Relation string `json:"relation"` } `json:"total"` MaxScore float64 `json:"max_score"` Hits []struct { Index string `json:"_index"` Type string `json:"_type"` ID string `json:"_id"` Score float64 `json:"_score"` Source CacheKeyData `json:"_source"` } `json:"hits"` } `json:"hits"` }
type CacheKeyWrapper ¶
type CacheReturn ¶
type CacheReturn struct { Success bool `json:"success"` Keys []CacheKeyData `json:"keys"` Cursor string `json:"cursor"` }
Create struct
type Categories ¶
type Categories struct { SIEM Category `json:"siem" datastore:"siem"` Communication Category `json:"communication" datastore:"communication"` Assets Category `json:"assets" datastore:"assets"` Cases Category `json:"cases" datastore:"cases"` Network Category `json:"network" datastore:"network"` Intel Category `json:"intel" datastore:"intel"` EDR Category `json:"edr" datastore:"edr"` IAM Category `json:"iam" datastore:"IAM"` AI Category `json:"ai" datastore:"ai"` Email Category `json:"email" datastore:"email"` Other Category `json:"other" datastore:"other"` }
func HandleCategoryIncrease ¶
func HandleCategoryIncrease(categories Categories, action Action, workflowapps []WorkflowApp) Categories
type CategoryAction ¶
type CategoryAction struct { AppName string `json:"app_name"` Label string `json:"label"` Fields []Valuereplace `json:"fields"` // Optional~ AppVersion string `json:"app_version"` AppId string `json:"app_id"` ActionName string `json:"action_name"` Category string `json:"category"` OptionalFields []Valuereplace `json:"optional_fields"` OrgId string `json:"org_id"` WorkflowId string `json:"workflow_id"` // Forces it to use a specific workflow ID. This can be used to build multiple steps in the same workflow AuthenticationId string `json:"authentication_id"` Step int64 `json:"step"` // The step to use put it in a workflow if generated Query string `json:"query,omitempty"` // Due to the API being built around programmatic, and then with LLMs, this was added to make context possible between nodes when using Atomic Actions DryRun bool `json:"dry_run"` // If true, it will not actually execute the action, but instead just build the workflow SkipWorkflow bool `json:"skip_workflow"` // If true, it will not put it in a workflow, but instead just execute it SkipOutputTranslation bool `json:"skip_output_translation"` // If true, it will not translate the output to the default format for the label Environment string `json:"environment"` // The environment to use for the action (Orborus) App string `jjson:"app"` // The app to use for the action (Orborus) Action string `json:"action"` // The action to use for the action (Orborus) }
type CategoryActionFieldOverride ¶
type CategoryActionFieldOverride struct {
Fields map[string]interface{} `json:"fields"`
}
type CloudSyncJob ¶
type CloudSyncJob struct { Id string `json:"id" datastore:"id"` Type string `json:"type" datastore:"type"` Action string `json:"action" datastore:"action"` OrgId string `json:"org_id" datastore:"org_id"` PrimaryItemId string `json:"primary_item_id" datastore:"primary_item_id"` SecondaryItem string `json:"secondary_item" datastore:"secondary_item"` ThirdItem string `json:"third_item" datastore:"third_item"` FourthItem string `json:"fourth_item" datastore:"fourth_item"` FifthItem string `json:"fifth_item" datastore:"fifth_item"` Created string `json:"created" datastore:"created"` }
Primary = usually an outer ID, e.g. workflow ID Secondary = something to specify what inside workflow to execute Third = Some data to add to it
type CodeVerifier ¶
type CodeVerifier struct {
Value string
}
func CreateCodeVerifierFromBytes ¶
func CreateCodeVerifierFromBytes(b []byte) (*CodeVerifier, error)
func (*CodeVerifier) CodeChallengeS256 ¶
func (v *CodeVerifier) CodeChallengeS256() string
type Comment ¶
type Comment struct { ID string `json:"id" datastore:"id"` Label string `json:"label" datastore:"label"` Type string `json:"type" datastore:"type"` IsValid bool `json:"is_valid" datastore:"is_valid"` Decorator bool `json:"decorator" datastore:"decorator"` Width int64 `json:"width" datastore:"width"` Height int64 `json:"height" datastore:"height"` Color string `json:"color" datastore:"color"` BackgroundColor string `json:"backgroundcolor" datastore:"backgroundcolor"` Position struct { X float64 `json:"x" datastore:"x"` Y float64 `json:"y" datastore:"y"` } `json:"position"` }
type Condition ¶
type Condition struct { Source WorkflowAppActionParameter `json:"source" datastore:"source"` Condition WorkflowAppActionParameter `json:"condition" datastore:"condition"` Destination WorkflowAppActionParameter `json:"destination" datastore:"destination"` }
Same format for a lot of stuff
type Consultation ¶
type Contact ¶
type Contact struct { Firstname string `json:"firstname"` Lastname string `json:"lastname"` Title string `json:"title"` Companyname string `json:"companyname"` Phone string `json:"phone"` Email string `json:"email"` ValidateEmail string `json:"validate_email"` Message string `json:"message"` DealType string `json:"dealtype"` DealCountry string `json:"dealcountry"` Category string `json:"Category"` Interests []string `json:"interests"` }
type ContributionCount ¶
type ContributionCount struct {
Count int64 `datastore:"contribution_count" json:"contribution_count"`
}
type Conversionevents ¶
type Conversionevents struct { Id string `json:"id" datastore:"id"` Name string `json:"name" datastore:"name"` Type string `json:"type" datastore:"type"` Events []WidgetPoint `json:"events" datastore:"events"` Invalid bool `json:"invalid" datastore:"invalid"` Verified bool `json:"verified" datastore:"verified"` Orgs int `json:"orgs" datastore:"orgs"` Searches int `json:"searches" datastore:"searches"` Clicks int `json:"clicks" datastore:"clicks"` Conversions int `json:"conversions" datastore:"conversions"` Forks int `json:"forks" datastore:"forks"` EditedForks int `json:"edited_forks" datastore:"edited_forks"` Success bool `json:"success"` }
func GetAppStats ¶
func GetAppStats(ctx context.Context, id string) (*Conversionevents, error)
type CreatorInfo ¶
type CreatorStats ¶
type CreatorStats struct { Creator string `json:"creator" datastore:"creator"` Apps int `json:"apps" datastore:"apps"` MostClickedApp string `json:"most_clicked_app" datastore:"most_clicked_app"` MostConversedApp string `json:"most_conversed_app" datastore:"most_conversed_app"` Verified bool `json:"verified" datastore:"verified"` Workflows int `json:"workflows" datastore:"workflows"` AppStats []AppStats `json:"app_stats" datastore:"app_stats"` }
func GetCreatorStats ¶
type DMARC ¶
type DMARC struct { Version *string `description:"DMARC version" json:"version" validate:"omitempty"` Verdict *string `description:"Verdict of the DMARC" json:"verdict" validate:"omitempty"` Action *string `description:"Action" json:"action" validate:"omitempty"` Policy *string `description:"Policy for the organizational domain" json:"policy,omitempty" validate:"omitempty"` SubPolicy *string `description:"Policy for the subdomain of the organizational domain" json:"sub_policy,omitempty" validate:"omitempty"` Disposition *string `description:"Gmail-applied policy" json:"disposition,omitempty" validate:"omitempty"` From *Domain `description:"Domain of the server that checked the SPF" json:"from,omitempty" validate:"omitempty"` }
type DailyStatistics ¶
type DailyStatistics struct { Date time.Time `json:"date" datastore:"date"` AppExecutions int64 `json:"app_executions" datastore:"app_executions"` ChildAppExecutions int64 `json:"child_app_executions" datastore:"child_app_executions"` AppExecutionsFailed int64 `json:"app_executions_failed" datastore:"app_executions_failed"` SubflowExecutions int64 `json:"subflow_executions" datastore:"subflow_executions"` WorkflowExecutions int64 `json:"workflow_executions" datastore:"workflow_executions"` WorkflowExecutionsFinished int64 `json:"workflow_executions_finished" datastore:"workflow_executions_finished"` WorkflowExecutionsFailed int64 `json:"workflow_executions_failed" datastore:"workflow_executions_failed"` OrgSyncActions int64 `json:"org_sync_actions" datastore:"org_sync_actions"` CloudExecutions int64 `json:"cloud_executions" datastore:"cloud_executions"` OnpremExecutions int64 `json:"onprem_executions" datastore:"onprem_executions"` AIUsage int64 `json:"ai_executions" datastore:"ai_executions"` ApiUsage int64 `json:"api_usage" datastore:"api_usage"` AppUsage []AppUsage `json:"app_usage" datastore:"app_usage"` Additions []AdditionalUseConfig `json:"additions,omitempty" datastore:"additions"` }
Should be for a particular day Reset is handled during caching. If the date is not today, then the reset is handled
type DataToSend ¶
type DataToSend struct { Code string `json:"code" datastore:"code" url:"code,omitempty"` GrantType string `json:"grant_type" datastore:"grant_type" url:"grant_type,omitempty"` ClientSecret string `json:"client_secret" datastore:"client_secret" url:"client_secret,omitempty"` ClientId string `json:"client_id" datastore:"client_id" url:"client_id,omitempty"` Scope string `json:"scope" datastore:"scope" url:"scope,omitempty"` RedirectUri string `json:"redirect_uri" datastore:"id" url:"redirect_uri,omitempty"` Name string `json:"name,omitempty" datastore:"name" url:"name,omitempty"` Id string `json:"id,omitempty" datastore:"id" url:"id,omitempty"` Resource string `json:"resource,omitempty" datastore:"resource" url:"resource,omitempty"` }
The data to be parsed
func GetHostedOAuth ¶
func GetHostedOAuth(ctx context.Context, id string) (*DataToSend, error)
Finds custom oauth2 secret etc. based on
type DealSearchWrapper ¶
type DealSearchWrapper struct { Took int `json:"took"` TimedOut bool `json:"timed_out"` Shards struct { Total int `json:"total"` Successful int `json:"successful"` Skipped int `json:"skipped"` Failed int `json:"failed"` } `json:"_shards"` Hits struct { Total struct { Value int `json:"value"` Relation string `json:"relation"` } `json:"total"` MaxScore float64 `json:"max_score"` Hits []struct { Index string `json:"_index"` Type string `json:"_type"` ID string `json:"_id"` Score float64 `json:"_score"` Source ResellerDeal `json:"_source"` } `json:"hits"` } `json:"hits"` }
type Defaults ¶
type Defaults struct { AppDownloadRepo string `json:"app_download_repo" datastore:"app_download_repo"` AppDownloadBranch string `json:"app_download_branch" datastore:"app_download_branch"` WorkflowDownloadRepo string `json:"workflow_download_repo" datastore:"workflow_download_repo"` WorkflowDownloadBranch string `json:"workflow_download_branch" datastore:"workflow_download_branch"` NotificationWorkflow string `json:"notification_workflow" datastore:"notification_workflow"` DocumentationReference string `json:"documentation_reference" datastore:"documentation_reference"` WorkflowUploadRepo string `json:"workflow_upload_repo" datastore:"workflow_upload_repo"` WorkflowUploadBranch string `json:"workflow_upload_branch" datastore:"workflow_upload_branch"` WorkflowUploadUsername string `json:"workflow_upload_username" datastore:"workflow_upload_username"` WorkflowUploadToken string `json:"workflow_upload_token" datastore:"workflow_upload_token"` TokensEncrypted bool `json:"tokens_encrypted" datastore:"tokens_encrypted"` NewsletterDisabled bool `json:"newsletter" datastore:"newsletter_disabled"` WeeklyRecommendationsDisabled bool `json:"weekly_recommendations" datastore:"weekly_recommendations_disabled"` KmsId string `json:"kms_id" datastore:"kms_id"` }
type DetectionFileInfo ¶
type DetectionResponse ¶
type DetectionResponse struct { Title string `json:"title"` DetectionName string `json:"detection_name"` Category string `json:"category"` OrgId string `json:"org_id"` DetectionInfo []DetectionFileInfo `json:"detection_info"` FolderDisabled bool `json:"folder_disabled"` IsConnectorActive bool `json:"is_connector_active"` DownloadRepo string `json:"download_repo"` }
func GetPublicDetections ¶
func GetPublicDetections() []DetectionResponse
type DisabledHookWrapper ¶
type DisabledRules ¶
type DisabledRules struct { Files []File `json:"files" datastore:"files"` DisabledFolder bool `json:"disabled_folder" datastore:"disabled_folder"` DetectionActive string `json:"detection_active" datastore:"detection_active"` LastActive int64 `json:"last_active" datastore:"last_active"` }
func GetDisabledRules ¶
func GetDisabledRules(ctx context.Context, orgId string) (*DisabledRules, error)
type DockerRequestCheck ¶
type Domain ¶
type Domain struct { Domain string `` /* 216-byte string literal not displayed */ RootDomain string `description:"The root domain, including the TLD" json:"root_domain,omitempty" validate:"omitempty"` Sld string `description:"Second-level domain, e.g. 'windows' for the domain 'windows.net'" json:"sld,omitempty" validate:"omitempty"` Subdomain string `description:"Subdomain, e.g. 'drive' for the domain 'drive.google.com'" json:"subdomain,omitempty" validate:"omitempty"` Tld string `description:"The domain's top-level domain. E.g. the TLD of google.com is 'com'" json:"tld,omitempty" validate:"omitempty"` Valid bool `description:"Whether the domain is valid" json:"valid,omitempty" validate:"omitempty"` }
type EmailAddress ¶
type EmailAddress struct { Email string `description:"Full email address" json:"email" validate:"required"` LocalPart string `description:"Local-part, i.e. before the @" json:"local_part" validate:"required"` Domain Domain `description:"Domain of the email address" json:"domain,omitempty" validate:"omitempty"` }
type EnvWrapper ¶
type EnvironentSearchWrapper ¶
type EnvironentSearchWrapper struct { Took int `json:"took"` TimedOut bool `json:"timed_out"` Shards struct { Total int `json:"total"` Successful int `json:"successful"` Skipped int `json:"skipped"` Failed int `json:"failed"` } `json:"_shards"` Hits struct { Total struct { Value int `json:"value"` Relation string `json:"relation"` } `json:"total"` MaxScore float64 `json:"max_score"` Hits []struct { Index string `json:"_index"` Type string `json:"_type"` ID string `json:"_id"` Score float64 `json:"_score"` Source Environment `json:"_source"` } `json:"hits"` } `json:"hits"` }
type Environment ¶
type Environment struct { Name string `datastore:"name"` Type string `datastore:"type"` Registered bool `datastore:"registered"` Default bool `datastore:"default" json:"default"` Archived bool `datastore:"archived" json:"archived"` Id string `datastore:"id" json:"id"` OrgId string `datastore:"org_id" json:"org_id"` Created int64 `json:"created" datastore:"created"` Edited int64 `json:"edited" datastore:"edited"` Checkin int64 `json:"checkin" datastore:"checkin"` RunningIp string `json:"running_ip" datastore:"running_ip"` Auth string `json:"auth" datastore:"auth"` Queue int `json:"queue" datastore:"queue"` Licensed bool `json:"licensed" datastore:"licensed"` RunType string `json:"run_type" datastore:"run_type"` DataLake LakeConfig `json:"data_lake" datastore:"data_lake"` SuborgDistribution []string `json:"suborg_distribution" datastore:"suborg_distribution"` }
FIXME: DONT FIX ME! If you add JSON object handling, it will break frontend.
func GetEnvironment ¶
func GetEnvironment(ctx context.Context, id, orgId string) (*Environment, error)
func GetEnvironments ¶
func GetEnvironments(ctx context.Context, orgId string) ([]Environment, error)
type EnvironmentSearchWrapper ¶
type EnvironmentSearchWrapper struct { Took int `json:"took"` TimedOut bool `json:"timed_out"` Shards struct { Total int `json:"total"` Successful int `json:"successful"` Skipped int `json:"skipped"` Failed int `json:"failed"` } `json:"_shards"` Hits struct { Total struct { Value int `json:"value"` Relation string `json:"relation"` } `json:"total"` MaxScore float64 `json:"max_score"` Hits []struct { Index string `json:"_index"` Type string `json:"_type"` ID string `json:"_id"` Score float64 `json:"_score"` Source Environment `json:"_source"` } `json:"hits"` } `json:"hits"` }
type ExecRequestSearchWrapper ¶
type ExecRequestSearchWrapper struct { Took int `json:"took"` TimedOut bool `json:"timed_out"` Shards struct { Total int `json:"total"` Successful int `json:"successful"` Skipped int `json:"skipped"` Failed int `json:"failed"` } `json:"_shards"` Hits struct { Total struct { Value int `json:"value"` Relation string `json:"relation"` } `json:"total"` MaxScore float64 `json:"max_score"` Hits []struct { Index string `json:"_index"` Type string `json:"_type"` ID string `json:"_id"` Score float64 `json:"_score"` Source ExecutionRequest `json:"_source"` } `json:"hits"` } `json:"hits"` }
type ExecRequestWrapper ¶
type ExecWrapper ¶
type ExecutionInfo ¶
type ExecutionInfo struct { // These have been configured for cache updates in db-connector.go with 5 hour (300 minutes) timeouts before dumping OrgId string `json:"org_id" datastore:"org_id"` OrgName string `json:"org_name" datastore:"org_name"` LastCleared int64 `json:"last_cleared" datastore:"last_cleared"` DailyStatistics []DailyStatistics `json:"daily_statistics" datastore:"daily_statistics"` OnpremStats []DailyStatistics `json:"onprem_stats,omitempty" datastore:"onprem_stats"` TotalAppExecutions int64 `json:"total_app_executions" datastore:"total_app_executions"` TotalChildAppExecutions int64 `json:"total_child_app_executions" datastore:"total_child_app_executions"` TotalAppExecutionsFailed int64 `json:"total_app_executions_failed" datastore:"total_app_executions_failed"` TotalSubflowExecutions int64 `json:"total_subflow_executions" datastore:"total_subflow_executions"` TotalWorkflowExecutions int64 `json:"total_workflow_executions" datastore:"total_workflow_executions"` TotalWorkflowExecutionsFinished int64 `json:"total_workflow_executions_finished" datastore:"total_workflow_executions_finished"` TotalWorkflowExecutionsFailed int64 `json:"total_workflow_executions_failed" datastore:"total_workflow_executions_failed"` TotalOrgSyncActions int64 `json:"total_org_sync_actions" datastore:"total_org_sync_actions"` TotalCloudExecutions int64 `json:"total_cloud_executions" datastore:"total_cloud_executions"` TotalOnpremExecutions int64 `json:"total_onprem_executions" datastore:"total_onprem_executions"` TotalAIUsage int64 `json:"total_ai_executions" datastore:"total_ai_executions"` MonthlyApiUsage int64 `json:"monthly_api_usage,omitempty" datastore:"monthly_api_usage"` MonthlyChildAppExecutions int64 `json:"monthly_child_app_executions,omitempty" datastore:"monthly_child_app_executions"` MonthlyAppExecutions int64 `json:"monthly_app_executions,omitempty" datastore:"monthly_app_executions"` MonthlyAppExecutionsFailed int64 `json:"monthly_app_executions_failed,omitempty" datastore:"monthly_app_executions_failed"` MonthlySubflowExecutions int64 `json:"monthly_subflow_executions,omitempty" datastore:"monthly_subflow_executions"` MonthlyWorkflowExecutions int64 `json:"monthly_workflow_executions,omitempty" datastore:"monthly_workflow_executions"` MonthlyWorkflowExecutionsFinished int64 `json:"monthly_workflow_executions_finished,omitempty" datastore:"monthly_workflow_executions_finished"` MonthlyWorkflowExecutionsFailed int64 `json:"monthly_workflow_executions_failed,omitempty" datastore:"monthly_workflow_executions_failed"` MonthlyOrgSyncActions int64 `json:"monthly_org_sync_actions,omitempty" datastore:"monthly_org_sync_actions"` MonthlyCloudExecutions int64 `json:"monthly_cloud_executions,omitempty" datastore:"monthly_cloud_executions"` MonthlyOnpremExecutions int64 `json:"monthly_onprem_executions,omitempty" datastore:"monthly_onprem_executions"` MonthlyAIUsage int64 `json:"monthly_ai_executions,omitempty" datastore:"monthly_ai_executions"` WeeklyAppExecutions int64 `json:"weekly_app_executions,omitempty" datastore:"weekly_app_executions"` WeeklyChildAppExecutions int64 `json:"weekly_child_app_executions,omitempty" datastore:"weekly_child_app_executions"` WeeklyAppExecutionsFailed int64 `json:"weekly_app_executions_failed,omitempty" datastore:"weekly_app_executions_failed"` WeeklySubflowExecutions int64 `json:"weekly_subflow_executions,omitempty" datastore:"weekly_subflow_executions"` WeeklyWorkflowExecutions int64 `json:"weekly_workflow_executions,omitempty" datastore:"weekly_workflow_executions"` WeeklyWorkflowExecutionsFinished int64 `json:"weekly_workflow_executions_finished,omitempty" datastore:"weekly_workflow_executions_finished"` WeeklyWorkflowExecutionsFailed int64 `json:"weekly_workflow_executions_failed,omitempty" datastore:"weekly_workflow_executions_failed"` WeeklyOrgSyncActions int64 `json:"weekly_org_sync_actions,omitempty" datastore:"weekly_org_sync_actions"` WeeklyCloudExecutions int64 `json:"weekly_cloud_executions,omitempty" datastore:"weekly_cloud_executions"` WeeklyOnpremExecutions int64 `json:"weekly_onprem_executions,omitempty" datastore:"weekly_onprem_executions"` WeeklyAIUsage int64 `json:"weekly_ai_executions,omitempty" datastore:"weekly_ai_executions"` DailyAppExecutions int64 `json:"daily_app_executions" datastore:"daily_app_executions"` DailyChildAppExecutions int64 `json:"daily_child_app_executions" datastore:"daily_child_app_executions"` DailyAppExecutionsFailed int64 `json:"daily_app_executions_failed" datastore:"daily_app_executions_failed"` DailySubflowExecutions int64 `json:"daily_subflow_executions" datastore:"daily_subflow_executions"` DailyWorkflowExecutions int64 `json:"daily_workflow_executions" datastore:"daily_workflow_executions"` DailyWorkflowExecutionsFinished int64 `json:"daily_workflow_executions_finished" datastore:"daily_workflow_executions_finished"` DailyWorkflowExecutionsFailed int64 `json:"daily_workflow_executions_failed" datastore:"daily_workflow_executions_failed"` DailyOrgSyncActions int64 `json:"daily_org_sync_actions" datastore:"daily_org_sync_actions"` DailyCloudExecutions int64 `json:"daily_cloud_executions" datastore:"daily_cloud_executions"` DailyOnpremExecutions int64 `json:"daily_onprem_executions" datastore:"daily_onprem_executions"` DailyAIUsage int64 `json:"daily_ai_executions" datastore:"daily_ai_executions"` HourlyAppExecutions int64 `json:"hourly_app_executions,omitempty" datastore:"hourly_app_executions"` HourlyChildAppExecutions int64 `json:"hourly_child_app_executions,omitempty" datastore:"hourly_child_app_executions"` HourlyAppExecutionsFailed int64 `json:"hourly_app_executions_failed,omitempty" datastore:"hourly_app_executions_failed"` HourlySubflowExecutions int64 `json:"hourly_subflow_executions,omitempty" datastore:"hourly_subflow_executions"` HourlyWorkflowExecutions int64 `json:"hourly_workflow_executions,omitempty" datastore:"hourly_workflow_executions"` HourlyWorkflowExecutionsFinished int64 `json:"hourly_workflow_executions_finished,omitempty" datastore:"hourly_workflow_executions_finished"` HourlyWorkflowExecutionsFailed int64 `json:"hourly_workflow_executions_failed,omitempty" datastore:"hourly_workflow_executions_failed"` HourlyOrgSyncActions int64 `json:"hourly_org_sync_actions,omitempty" datastore:"hourly_org_sync_actions"` HourlyCloudExecutions int64 `json:"hourly_cloud_executions,omitempty" datastore:"hourly_cloud_executions"` HourlyOnpremExecutions int64 `json:"hourly_onprem_executions,omitempty" datastore:"hourly_onprem_executions"` HourlyAIUsage int64 `json:"hourly_ai_executions,omitempty" datastore:"hourly_ai_executions"` // These are just here in case we get use of them TotalApiUsage int64 `json:"total_api_usage" datastore:"total_api_usage"` DailyApiUsage int64 `json:"daily_api_usage" datastore:"daily_api_usage"` Additions []AdditionalUseConfig `json:"additions,omitempty" datastore:"additions"` LastMonthlyResetMonth int `json:"last_monthly_reset_month" datastore:"last_monthly_reset_month"` }
Used to be related to users, now related to orgs. Not directly, but being updated by org actions
func GetOrgStatistics ¶
func GetOrgStatistics(ctx context.Context, orgId string) (*ExecutionInfo, error)
func HandleIncrement ¶
func HandleIncrement(dataType string, orgStatistics *ExecutionInfo, increment uint) *ExecutionInfo
type ExecutionInfoWrapper ¶
type ExecutionRequest ¶
type ExecutionRequest struct { ExecutionId string `json:"execution_id"` ExecutionArgument string `json:"execution_argument"` ExecutionSource string `json:"execution_source"` WorkflowId string `json:"workflow_id"` Environments []string `json:"environments"` Authorization string `json:"authorization"` Status string `json:"status"` Start string `json:"start"` Type string `json:"type"` Priority int64 `json:"priority" datastore:"priority" yaml:"priority"` // Mapped back to workflowexecutions' priority Authgroup string `json:"authgroup" datastore:"authgroup"` }
type ExecutionRequestWrapper ¶
type ExecutionRequestWrapper struct {
Data []ExecutionRequest `json:"data"`
}
func GetWorkflowQueue ¶
type ExecutionReturn ¶
type ExecutionReturn struct { Success bool `json:"success"` Executions []WorkflowExecution `json:"executions"` Cursor string `json:"cursor"` }
Create struct
type ExecutionSearchWrapper ¶
type ExecutionSearchWrapper struct { Took int `json:"took"` TimedOut bool `json:"timed_out"` Shards struct { Total int `json:"total"` Successful int `json:"successful"` Skipped int `json:"skipped"` Failed int `json:"failed"` } `json:"_shards"` Hits struct { Total struct { Value int `json:"value"` Relation string `json:"relation"` } `json:"total"` MaxScore float64 `json:"max_score"` Hits []struct { Index string `json:"_index"` Type string `json:"_type"` ID string `json:"_id"` Score float64 `json:"_score"` Source WorkflowExecution `json:"_source"` } `json:"hits"` } `json:"hits"` }
type ExecutionStruct ¶
type ExecutionVariableWrapper ¶
type ExecutionVariableWrapper struct { StartNode string `json:"startnode"` Children map[string][]string `json:"children"` Parents map[string][]string `json:"parents""` Visited []string `json:"visited"` Executed []string `json:"executed"` NextActions []string `json:"nextActions"` Environments []string `json:"environments"` Extra int `json:"extra"` }
type External ¶
type External struct { CreatedAt *time.Time `` /* 260-byte string literal not displayed */ MessageID string `` /* 155-byte string literal not displayed */ RouteType string `description:"whether the message was sent or" json:"route_type,omitempty" validate:"omitempty" enum:"sent,received"` Spam *bool `` /* 311-byte string literal not displayed */ SpamFolder *bool `` /* 166-byte string literal not displayed */ ThreadID string `` /* 150-byte string literal not displayed */ }
type ExtraButton ¶
type File ¶
type File struct { Id string `json:"id" datastore:"id"` ReferenceFileId string `json:"reference_file_id" datastore:"reference_file_id"` Type string `json:"type" datastore:"type"` CreatedAt int64 `json:"created_at" datastore:"created_at"` UpdatedAt int64 `json:"updated_at" datastore:"updated_at"` MetaAccessAt int64 `json:"meta_access_at" datastore:"meta_access_at"` DownloadAt int64 `json:"last_downloaded" datastore:"last_downloaded"` Description string `json:"description" datastore:"description"` ExpiresAt string `json:"expires_at" datastore:"expires_at"` Status string `json:"status" datastore:"status"` Filename string `json:"filename" datastore:"filename"` URL string `json:"url" datastore:"org"` OrgId string `json:"org_id" datastore:"org_id"` WorkflowId string `json:"workflow_id" datastore:"workflow_id"` Workflows []string `json:"workflows" datastore:"workflows"` DownloadPath string `json:"download_path" datastore:"download_path"` Md5sum string `json:"md5_sum" datastore:"md5_sum"` Sha256sum string `json:"sha256_sum" datastore:"sha256_sum"` FileSize int64 `json:"filesize" datastore:"filesize"` Duplicate bool `json:"duplicate" datastore:"duplicate"` Subflows []string `json:"subflows" datastore:"subflows"` Tags []string `json:"tags" datastore:"tags"` StorageArea string `json:"storage_area" datastore:"storage_area"` Etag int `json:"etag" datastore:"etag"` ContentType string `json:"content_type" datastore:"content_type"` UpdatedBy string `json:"updated_by" datastore:"updated_by"` CreatedBy string `json:"created_by" datastore:"created_by"` Encrypted bool `json:"encrypted" datastore:"encrypted"` IsEdited bool `json:"isedited" datastore:"isedited"` LastEditor string `json:"lasteditor" datastore:"lasteditor"` OriginalMd5sum string `json:"Originalmd5_sum" datastore:"Originalmd5_sum"` SuborgDistribution []string `json:"suborg_distribution" datastore:"suborg_distribution"` // Category control Namespace string `json:"namespace" datastore:"namespace"` }
func FindSimilarFile ¶
Check OrgId later No deduplication for popular files
func FindSimilarFilename ¶
No deduplication for popular files
type FileList ¶
type FileList struct { Success bool `json:"success"` Reason string `json:"reason"` List []GithubResp `json:"list"` }
type FileResponse ¶
type FileSearchWrapper ¶
type FileSearchWrapper struct { Took int `json:"took"` TimedOut bool `json:"timed_out"` Shards struct { Total int `json:"total"` Successful int `json:"successful"` Skipped int `json:"skipped"` Failed int `json:"failed"` } `json:"_shards"` Hits struct { Total struct { Value int `json:"value"` Relation string `json:"relation"` } `json:"total"` MaxScore float64 `json:"max_score"` Hits []struct { Index string `json:"_index"` Type string `json:"_type"` ID string `json:"_id"` Score float64 `json:"_score"` Source File `json:"_source"` } `json:"hits"` } `json:"hits"` }
type FileWrapper ¶
type FormControl ¶
type FormControl struct { InputMarkdown string `json:"input_markdown" datastore:"input_markdown,noindex"` OutputYields []string `json:"output_yields" datastore:"output_yields"` // Defines the nodes that will YIELD their output to the frontend during execution CleanupActions []string `json:"cleanup_actions" datastore:"cleanup_actions"` // Defines the nodes that will not return any value at the end of a workflow (stored) FormWidth int64 `json:"form_width" datastore:"form_width"` }
type FullEmail ¶
type FullEmail struct { OdataContext string `json:"@odata.context"` OdataEtag string `json:"@odata.etag"` ID string `json:"id"` Createddatetime time.Time `json:"createdDateTime"` Lastmodifieddatetime time.Time `json:"lastModifiedDateTime"` Changekey string `json:"changeKey"` Categories []interface{} `json:"categories"` Receiveddatetime time.Time `json:"receivedDateTime"` Sentdatetime time.Time `json:"sentDateTime"` Hasattachments bool `json:"hasAttachments"` Internetmessageid string `json:"internetMessageId"` Subject string `json:"subject"` Bodypreview string `json:"bodyPreview"` Importance string `json:"importance"` Parentfolderid string `json:"parentFolderId"` Conversationid string `json:"conversationId"` Conversationindex string `json:"conversationIndex"` Isdeliveryreceiptrequested interface{} `json:"isDeliveryReceiptRequested"` Isreadreceiptrequested bool `json:"isReadReceiptRequested"` Isread bool `json:"isRead"` Isdraft bool `json:"isDraft"` Weblink string `json:"webLink"` Inferenceclassification string `json:"inferenceClassification"` Body struct { Contenttype string `json:"contentType"` Content string `json:"content"` } `json:"body"` Sender struct { Emailaddress struct { Name string `json:"name"` Address string `json:"address"` } `json:"emailAddress"` } `json:"sender"` From struct { Emailaddress struct { Name string `json:"name"` Address string `json:"address"` } `json:"emailAddress"` } `json:"from"` Torecipients []struct { Emailaddress struct { Name string `json:"name"` Address string `json:"address"` } `json:"emailAddress"` } `json:"toRecipients"` Ccrecipients []interface{} `json:"ccRecipients"` Bccrecipients []interface{} `json:"bccRecipients"` Replyto []interface{} `json:"replyTo"` Flag struct { Flagstatus string `json:"flagStatus"` } `json:"flag"` Attachments []struct { OdataType string `json:"@odata.type"` OdataMediacontenttype string `json:"@odata.mediaContentType"` ID string `json:"id"` Lastmodifieddatetime time.Time `json:"lastModifiedDateTime"` Name string `json:"name"` Contenttype string `json:"contentType"` Size int `json:"size"` Isinline bool `json:"isInline"` Contentid interface{} `json:"contentId"` Contentlocation interface{} `json:"contentLocation"` Contentbytes string `json:"contentBytes"` } `json:"attachments"` FileIds []string `json:"file_ids"` }
func GetOutlookEmail ¶
func GetOutlookEmail(client *http.Client, maildata MailDataOutlook) ([]FullEmail, error)
type GCPIncident ¶
type GCPIncident struct { Incident struct { Condition struct { ConditionMatchedLog struct { Filter string `json:"filter"` ResourceContainers []string `json:"resourceContainers"` } `json:"conditionMatchedLog"` DisplayName string `json:"displayName"` Name string `json:"name"` } `json:"condition"` ConditionName string `json:"condition_name"` IncidentID string `json:"incident_id"` Metadata struct { SystemLabels struct { } `json:"system_labels"` UserLabels struct { } `json:"user_labels"` } `json:"metadata"` Metric struct { DisplayName string `json:"displayName"` Labels struct { } `json:"labels"` Type string `json:"type"` } `json:"metric"` PolicyName string `json:"policy_name"` Resource struct { Labels struct { FunctionName string `json:"function_name"` ProjectID string `json:"project_id"` Region string `json:"region"` } `json:"labels"` Type string `json:"type"` } `json:"resource"` ResourceID string `json:"resource_id"` ResourceName string `json:"resource_name"` ResourceTypeDisplayName string `json:"resource_type_display_name"` ScopingProjectID string `json:"scoping_project_id"` ScopingProjectNumber int64 `json:"scoping_project_number"` StartedAt int `json:"started_at"` State string `json:"state"` Summary string `json:"summary"` URL string `json:"url"` } `json:"incident"` Version string `json:"version"` }
type GeneratedMitre ¶
type GeneratedMitre struct { Success bool `json:"success"` Timing struct { AnalysisTime float64 `json:"analysis_time"` TimeVariant string `json:"time_variant"` } `json:"timing"` InputLength int `json:"input_length"` TacticsChecked int `json:"tactics_checked"` TechniquesChecked int `json:"techniques_checked"` Tactics []struct { Code string `json:"code"` Confidence float64 `json:"confidence"` ConfidenceVariant string `json:"confidence_variant"` } `json:"tactics"` Techniques []struct { Code string `json:"code"` Confidence float64 `json:"confidence"` ConfidenceVariant string `json:"confidence_variant"` } `json:"techniques"` AnalysisID string `json:"analysis_id"` Reason string `json:"reason"` }
type GithubAuthor ¶
type GithubContributions ¶
type GithubContributions struct { Core ContributionCount `datastore:"core" json:"core"` Workflows ContributionCount `datastore:"workflows" json:"workflows"` Apps ContributionCount `datastore:"apps" json:"apps"` Docs ContributionCount `datastore:"docs" json:"docs"` }
type GithubProfile ¶
type GithubProfile struct { Login string `json:"login"` ID int `json:"id"` NodeID string `json:"node_id"` AvatarURL string `json:"avatar_url"` GravatarID string `json:"gravatar_id"` URL string `json:"url"` HTMLURL string `json:"html_url"` FollowersURL string `json:"followers_url"` FollowingURL string `json:"following_url"` GistsURL string `json:"gists_url"` StarredURL string `json:"starred_url"` SubscriptionsURL string `json:"subscriptions_url"` OrganizationsURL string `json:"organizations_url"` ReposURL string `json:"repos_url"` EventsURL string `json:"events_url"` ReceivedEventsURL string `json:"received_events_url"` Type string `json:"type"` SiteAdmin bool `json:"site_admin"` Name string `json:"name"` Company string `json:"company"` Blog string `json:"blog"` Location string `json:"location"` Email string `json:"email"` Hireable bool `json:"hireable"` Bio string `json:"bio"` TwitterUsername string `json:"twitter_username"` PublicRepos int `json:"public_repos"` PublicGists int `json:"public_gists"` Followers int `json:"followers"` Following int `json:"following"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` PrivateGists int `json:"private_gists"` TotalPrivateRepos int `json:"total_private_repos"` OwnedPrivateRepos int `json:"owned_private_repos"` DiskUsage int `json:"disk_usage"` Collaborators int `json:"collaborators"` TwoFactorAuthentication bool `json:"two_factor_authentication"` Plan struct { Name string `json:"name"` Space int `json:"space"` PrivateRepos int `json:"private_repos"` Collaborators int `json:"collaborators"` } `json:"plan"` Contributions int64 `json:"contributions"` }
func GetGithubProfile ¶
type GithubResp ¶
type GmailAttachment ¶
type GmailHistoryStruct ¶
type GmailHistoryStruct struct { History []struct { ID string `json:"id"` Messages []struct { ID string `json:"id"` ThreadID string `json:"threadId"` } `json:"messages"` MessagesDeleted []struct { Message struct { ID string `json:"id"` ThreadID string `json:"threadId"` LabelIds []string `json:"labelIds"` } `json:"message"` } `json:"messagesDeleted,omitempty"` MessagesAdded []MessageAdded `json:"messagesAdded,omitempty"` } `json:"history"` HistoryID string `json:"historyId"` }
func GetGmailHistory ¶
func GetGmailProfile ¶
type GmailLabel ¶
type GmailLabels ¶
type GmailLabels struct {
Labels []GmailLabel `json:"labels"`
}
type GmailMessageStruct ¶
type GmailMessageStruct struct { ID string `json:"id"` ThreadID string `json:"threadId"` LabelIds []string `json:"labelIds"` Snippet string `json:"snippet"` Payload struct { PartID string `json:"partId"` MessageID string `json:"message_id"` MimeType string `json:"mimeType"` Filename string `json:"filename"` FileMimeType string `json:"file_mimetype"` Sender string `json:"sender"` Subject string `json:"subject"` Recipient string `json:"recipient"` ParsedBody string `json:"parsed_body"` Headers []struct { Name string `json:"name"` Value string `json:"value"` } `json:"headers"` Body struct { Size int `json:"size"` } `json:"body"` Parts []struct { PartID string `json:"partId"` MimeType string `json:"mimeType"` Filename string `json:"filename"` Headers []struct { Name string `json:"name"` Value string `json:"value"` } `json:"headers"` Body struct { AttachmentID string `json:"attachmentId"` Size int `json:"size"` Data string `json:"data"` } `json:"body"` } `json:"parts"` } `json:"payload"` SizeEstimate int `json:"sizeEstimate"` HistoryID string `json:"historyId"` InternalDate string `json:"internalDate"` FileIds []string `json:"file_ids"` Type string `json:"type"` }
func GetGmailMessage ¶
type GmailMessagesStruct ¶
type GmailMessagesStruct struct { Messages []struct { ID string `json:"id"` ThreadID string `json:"threadId"` } `json:"messages"` NextPageToken string `json:"nextPageToken"` ResultSizeEstimate int `json:"resultSizeEstimate"` }
func GetGmailMessages ¶
type GmailProfile ¶
type GmailProfile struct { EmailAddress string `json:"emailAddress"` MessagesTotal int `json:"messagesTotal"` ThreadsTotal int `json:"threadsTotal"` HistoryId string `json:"historyId"` }
func GetGmailUserProfile ¶
type GmailSubscription ¶
type GmailThreadStruct ¶
type GmailThreadStruct struct { ID string `json:"id"` HistoryID string `json:"historyId"` Messages []GmailMessageStruct `json:"messages"` }
func GetGmailThread ¶
type HTTPOutput ¶
type HTTPOutput struct { Success bool `json:"success"` Reason string `json:"reason,omitempty"` Exception string `json:"exception,omitempty"` Details string `json:"details,omitempty"` Status int `json:"status,omitempty"` Url string `json:"url,omitempty"` Body interface{} `json:"body,omitempty"` Headers map[string]string `json:"headers,omitempty"` Cookies map[string]string `json:"cookies,omitempty"` Errors []string `json:"errors,omitempty"` }
func FindHttpBody ¶
func FindHttpBody(fullBody []byte) (HTTPOutput, []byte, error)
type HTTPWrapper ¶
type HTTPWrapper struct { ActionName string `json:"action_name"` URL string `json:"url"` Headers string `json:"headers"` Body string `json:"body"` Method string `json:"method"` RequiresAuthentication bool `json:"requires_authentication"` Oauth2Auth bool `json:"oauth2_auth"` CurlCommand string `json:"curl_command"` Apikey string `json:"apikey"` }
type HandleInfo ¶
type HandleInfo struct { Success bool `json:"success"` Admin string `json:"admin"` Username string `json:"username"` PublicUsername string `json:"public_username"` Name string `json:"name"` ActiveApps []string `json:"active_apps"` Id string `json:"id"` Avatar string `json:"avatar"` Orgs []OrgMini `json:"orgs"` ActiveOrg OrgMini `json:"active_org"` EthInfo EthInfo `json:"eth_info,omitempty"` ChatDisabled bool `json:"chat_disabled"` Interests []Priority `json:"interests"` Priorities []Priority `json:"priorities"` Cookies []SessionCookie `json:"cookies"` AppExecutionsLimit int64 `json:"app_execution_limit"` AppExecutionsUsage int64 `json:"app_execution_usage"` RegionUrl string `json:"region_url"` Support bool `json:"support"` Tutorials []Tutorial `json:"tutorials"` OrgStatus []string `json:"org_status"` HasCardAvailable bool `json:"has_card_available,omitempty"` ActivatedPayasyougo bool `json:"activated_pay_as_you_go,omitempty"` Licensed bool `json:"licensed"` UserGeoInfo UserGeoInfo `json:"user_geo_info,omitempty"` Theme string `json:"theme"` }
type Headers ¶
type Headers struct { Date *time.Time `description:"Date the email was sent in UTC." json:"date,omitempty" validate:"omitempty"` DateOriginalOffset *string `description:"UTC timezone offset of the sender" json:"date_original_offset,omitempty" validate:"omitempty"` Domains []Domain `description:"All domains found in the Received headers" json:"domains,omitempty" validate:"omitempty"` DeliveredTo *EmailAddress `description:"Delivered-to header value" json:"delivered_to,omitempty" validate:"omitempty"` IPs []IP `description:"All IP addresses found in the Received headers" json:"ips,omitempty" validate:"omitempty"` Mailer *string `description:"X-Mailer or User-Agent extracted from headers" json:"mailer,omitempty" validate:"omitempty"` MessageID *string `description:"Message-ID extracted from the header" json:"message_id,omitempty" validate:"omitempty"` References []string `description:"The Message-IDs of the other messages within this chain" json:"references,omitempty" validate:"omitempty"` ReplyTo []Mailbox `description:"Where replies should be delivered to" json:"reply_to,omitempty" validate:"omitempty"` ReturnPath *EmailAddress `` /* 146-byte string literal not displayed */ XOriginatingIP *IP `` /* 158-byte string literal not displayed */ Hops []Hop `description:"List of hops the message took from Sender to Recipient" json:"hops" validate:"required"` }
type HealthCheck ¶
type HealthCheck struct { Success bool `json:"success"` Updated int64 `json:"updated"` Apps AppHealth `json:"apps"` Workflows WorkflowHealth `json:"workflows"` PythonApps AppHealth `json:"python_apps"` }
type HealthCheckDB ¶
type HealthCheckDB struct { Success bool `json:"success"` Updated int64 `json:"updated"` Workflows WorkflowHealth `json:"workflows"` ID string `json:"id"` }
func GetPlatformHealth ¶
type HealthCheckSearchWrapper ¶
type HealthCheckSearchWrapper struct { Took int `json:"took"` TimedOut bool `json:"timed_out"` Shards struct { Total int `json:"total"` Successful int `json:"successful"` Skipped int `json:"skipped"` Failed int `json:"failed"` } `json:"_shards"` Hits struct { Total struct { Value int `json:"value"` Relation string `json:"relation"` } `json:"total"` MaxScore float64 `json:"max_score"` Hits []struct { Index string `json:"_index"` Type string `json:"_type"` ID string `json:"_id"` Score float64 `json:"_score"` Source HealthCheckDB `json:"_source"` } `json:"hits"` } `json:"hits"` }
type Hook ¶
type Hook struct { Id string `json:"id" datastore:"id"` Start string `json:"start" datastore:"start"` Info Info `json:"info" datastore:"info"` Actions []HookAction `json:"actions" datastore:"actions,noindex"` Type string `json:"type" datastore:"type"` Owner string `json:"owner" datastore:"owner"` Status string `json:"status" datastore:"status"` Workflows []string `json:"workflows" datastore:"workflows"` Running bool `json:"running" datastore:"running"` OrgId string `json:"org_id" datastore:"org_id"` Environment string `json:"environment" datastore:"environment"` Auth string `json:"auth" datastore:"auth"` CustomResponse string `json:"custom_response" datastore:"custom_response"` Version string `json:"version" datastore:"version"` VersionTimeout int `json:"version_timeout" datastore:"version_timeout"` }
type HookAction ¶
type HookAction struct { Type string `json:"type" datastore:"type"` Name string `json:"name" datastore:"name"` Id string `json:"id" datastore:"id"` Field string `json:"field" datastore:"field"` }
Actions to be done by webhooks etc Field is the actual field to use from json
type HookWrapper ¶
type Hop ¶
type Hop struct { Index int `description:"Index indicates the order in which a hop occurred from sender to recipient" json:"index" validate:"required"` AuthResults *AuthResults `` /* 370-byte string literal not displayed */ Signature *Signature `` /* 213-byte string literal not displayed */ SPF *SPF `` /* 171-byte string literal not displayed */ Fields []HopField `description:"List of all raw header fields contained within this hop" json:"fields" validate:"required"` }
type HopField ¶
type HopField struct { Name string `description:"The name of the field" json:"name" validate:"required"` Value string `description:"The value contained within the field" json:"value" validate:"required"` Position int `description:"This field's position along the entire list of header fields" json:"position" validate:"required"` }
type IdTokenCheck ¶
type IdTokenCheck struct { Aud string `json:"aud"` Iss string `json:"iss"` Iat int `json:"iat"` Nbf int `json:"nbf"` Exp int `json:"exp"` Aio string `json:"aio"` Nonce string `json:"nonce"` Rh string `json:"rh"` Sub string `json:"sub"` Tid string `json:"tid"` Uti string `json:"uti"` Ver string `json:"ver"` Email string `json:"email"` Org Org `json:"org"` Roles []string `json:"roles"` }
func VerifyIdToken ¶
func VerifyIdToken(ctx context.Context, idToken string) (IdTokenCheck, error)
type IncrementInCache ¶
type InputQuestion ¶
type Inputdata ¶
type Inputdata struct { Message WrappedData `json:"message"` Subscription string `json:"subscription"` }
type LabelStruct ¶
type LakeConfig ¶
type LakeConfig struct { Enabled bool `json:"enabled" datastore:"enabled"` Pipelines []PipelineInfoMini `json:"pipelines" datastore:"pipelines"` }
type LeadInfo ¶
type LeadInfo struct { Contacted bool `json:"contacted,omitempty" datastore:"contacted"` Student bool `json:"student,omitempty" datastore:"student"` Lead bool `json:"lead,omitempty" datastore:"lead"` POV bool `json:"pov,omitempty" datastore:"pov"` TestingShuffle bool `json:"testing_shuffle,omitempty" datastore:"testing_shuffle"` DemoDone bool `json:"demo_done,omitempty" datastore:"demo_done"` Customer bool `json:"customer,omitempty" datastore:"customer"` OpenSource bool `json:"opensource,omitempty" datastore:"opensource"` Internal bool `json:"internal,omitempty" datastore:"internal"` SubOrg bool `json:"sub_org,omitempty" datastore:"sub_org"` OldCustomer bool `json:"old_customer,omitempty" datastore:"old_customer"` OldLead bool `json:"old_lead,omitempty" datastore:"old_lead"` TechPartner bool `json:"tech_partner,omitempty" datastore:"tech_partner"` IntegrationPartner bool `json:"integration_partner,omitempty" datastore:"integration_partner"` DistributionPartner bool `json:"distribution_partner,omitempty" datastore:"distribution_partner"` ServicePartner bool `json:"service_partner,omitempty" datastore:"service_partner"` Creator bool `json:"creator,omitempty" datastore:"creator"` }
type Link ¶
type Link struct { DisplayText string `description:"The text of a hyperlink, if it's not a URL" json:"display_text,omitempty" validate:"omitempty"` DisplayURL *URL `description:"URL the user sees when viewing the message" json:"display_url,omitempty" validate:"omitempty"` HrefURL *URL `` /* 152-byte string literal not displayed */ Mismatched *bool `` /* 127-byte string literal not displayed */ }
type LiveExecutionStatus ¶
type LiveExecutionStatus struct { ID string `json:"id"` Failed int `json:"failed"` Executing int `json:"executing"` Finished int `json:"finished"` Aborted int `json:"aborted"` NotificationCount int `json:"notification_count"` CreatedAt int64 `json:"created_at"` }
type LogRequest ¶
type MailDataOutlook ¶
type MailDataOutlook struct { Value []struct { Subscriptionid string `json:"subscriptionId"` Subscriptionexpirationdatetime string `json:"subscriptionExpirationDateTime"` Changetype string `json:"changeType"` Resource string `json:"resource"` Resourcedata struct { OdataType string `json:"@odata.type"` OdataID string `json:"@odata.id"` OdataEtag string `json:"@odata.etag"` ID string `json:"id"` } `json:"resourceData"` Clientstate string `json:"clientState"` Tenantid string `json:"tenantId"` } `json:"value"` }
type MailDataOutlookList ¶
type MailDataOutlookList struct { OdataContext string `json:"@odata.context"` Value []struct { OdataType string `json:"@odata.type"` OdataMediaContentType string `json:"@odata.mediaContentType"` ID string `json:"id"` LastModifiedDateTime time.Time `json:"lastModifiedDateTime"` Name string `json:"name"` ContentType string `json:"contentType"` Size int `json:"size"` IsInline bool `json:"isInline"` ContentID interface{} `json:"contentId"` ContentLocation interface{} `json:"contentLocation"` ContentBytes string `json:"contentBytes"` } `json:"value"` }
func GetOutlookAttachmentList ¶
func GetOutlookAttachmentList(client *http.Client, emailId string) (MailDataOutlookList, error)
type Mailbox ¶
type Mailbox struct { DisplayName string `description:"Display name" json:"display_name,omitempty" validate:"omitempty"` Email EmailAddress `description:"Email address object" json:"email" validate:"required"` }
type Mailcheck ¶
type Mailcheck struct { Targets []string `json:"targets"` Body string `json:"body"` Subject string `json:"subject"` Type string `json:"type"` EmailApp bool `json:"email_app"` SenderCompany string `json:"sender_company"` WorkflowId string `json:"workflow_id"` ReferenceExecution string `json:"reference_execution"` Authorization string `json:"authorization"` ExecutionType string `json:"execution_type"` Start string `json:"start"` Bcc []string `json:"bcc"` }
type MdmAttachment ¶
type MdmDisplayUrl ¶
type MdmDisplayUrl struct { }
type MdmExternal ¶
type MdmExternal struct { }
type MdmHeaders ¶
type MdmHeaders struct { }
type MdmLink ¶
type MdmLink struct { DisplayText string `json:"ip"` DisplayUrl MdmDisplayUrl `json:"ip"` }
TBD
type MdmMailbox ¶
type MdmMailbox struct { }
type MdmRecipients ¶
type MdmRecipients struct { }
type MdmSubject ¶
type MdmSubject struct { }
type MessageAdded ¶
type MessageAdded struct {
Message MessageAddedMessage `json:"message"`
}
type MessageAddedMessage ¶
type MessageDataModel ¶
type MessageDataModel struct { Attachments []Attachment `description:"Attachments" json:"attachments,omitempty" validate:"omitempty"` Body *Body `description:"Body of the email" json:"body,omitempty" validate:"omitempty"` External *External `description:"Cloud API provider or other external source metadata" json:"external,omitempty" validate:"omitempty"` Headers Headers `description:"The message headers" json:"headers" validate:"required"` Type MessageType `description:"The types of the message from the perspective of the message source" json:"type" validate:"required"` Mailbox *Mailbox `description:"The mailbox we retrieved the message from" json:"mailbox,omitempty" validate:"omitempty"` Recipients Recipients `description:"Recipient objects" json:"recipients" validate:"required"` Sender Mailbox `description:"Sender object" json:"sender" validate:"required"` Subject *Subject `description:"Subject object" json:"subject,omitempty" validate:"omitempty"` Meta Metadata `description:"Metadata" json:"_meta" validate:"required"` Errors []map[string]string `description:"Non-fatal errors while parsing MDM" json:"_errors,omitempty"` }
type MessageType ¶
type Metadata ¶
type Metadata struct { ID string `description:"Message ID" json:"id" format:"uuid4" validate:"required,uuid4"` CanonicalID string `description:"An ID that can be used to group similar messages/campaigns together" json:"canonical_id" validate:"required"` CreatedAt time.Time `description:"Creation time of the data model" json:"created_at" format:"date-time" validate:"required"` SchemaVersion string `description:"Schema version number" json:"schema_version" validate:"required"` }
type MinimizedApps ¶
type ModelLabelParameter ¶
type NewValue ¶
type NewValue struct { OrgId string `json:"org_id" datastore:"org_id"` WorkflowId string `json:"workflow_id" datastore:"workflow_id"` WorkflowExecutionId string `json:"workflow_execution_id" datastore:"workflow_execution_id"` ParameterName string `json:"parameter_name" datastore:"parameter_name"` Value string `json:"value" datastore:"value,noindex"` Created int64 `json:"created" datastore:"created"` Id string `json:"id" datastore:"id"` }
type NewValueSearchWrapper ¶
type NewValueSearchWrapper struct { Took int `json:"took"` TimedOut bool `json:"timed_out"` Shards struct { Total int `json:"total"` Successful int `json:"successful"` Skipped int `json:"skipped"` Failed int `json:"failed"` } `json:"_shards"` Hits struct { Total struct { Value int `json:"value"` Relation string `json:"relation"` } `json:"total"` MaxScore float64 `json:"max_score"` Hits []struct { Index string `json:"_index"` Type string `json:"_type"` ID string `json:"_id"` Score float64 `json:"_score"` Source NewValue `json:"_source"` } `json:"hits"` } `json:"hits"` }
type NodeRelation ¶
type Notification ¶
type Notification struct { Image string `json:"image" datastore:"image"` CreatedAt int64 `json:"created_at" datastore:"created_at"` UpdatedAt int64 `json:"updated_at" datastore:"updated_at"` Title string `json:"title" datastore:"title"` Description string `json:"description" datastore:"description"` OrgId string `json:"org_id" datastore:"org_id"` OrgName string `json:"org_name" datastore:"org_name"` UserId string `json:"user_id" datastore:"user_id"` Tags []string `json:"tags" datastore:"tags"` Amount int `json:"amount" datastore:"amount"` BucketDescription string `json:"bucket_description" datastore:"bucket_description"` Id string `json:"id" datastore:"id"` ReferenceUrl string `json:"reference_url" datastore:"reference_url"` OrgNotificationId string `json:"org_notification_id" datastore:"org_notification_id"` Dismissable bool `json:"dismissable" datastore:"dismissable"` Personal bool `json:"personal" datastore:"personal"` Read bool `json:"read" datastore:"read"` ModifiedBy string `json:"modified_by" datastore:"modified_by"` Ignored bool `json:"ignored" datastore:"ignored"` ExecutionId string `json:"execution_id" datastore:"execution_id"` }
func GetNotification ¶
func GetNotification(ctx context.Context, id string) (*Notification, error)
func GetOrgNotifications ¶
func GetOrgNotifications(ctx context.Context, orgId string) ([]Notification, error)
func GetUserNotifications ¶
func GetUserNotifications(ctx context.Context, userId string) ([]Notification, error)
type NotificationCached ¶
type NotificationCached struct { NotificationId string `json:"notification_id" datastore:"notification_id"` WorkflowId string `json:"workflow_id" datastore:"workflow_id"` LastUpdated int64 `json:"last_updated" datastore:"last_updated"` FirstUpdated int64 `json:"first_updated" datastore:"first_updated"` LastNotificationAttempted string `json:"last_notification_attempted" datastore:"last_notification_attempted"` OriginalNotification string `json:"original_notification" datastore:"original_notification"` Amount int64 `json:"amount" datastore:"amount"` }
type NotificationResponse ¶
type NotificationResponse struct { Success bool `json:"success"` Notifications []Notification `json:"notifications"` }
type NotificationSearchWrapper ¶
type NotificationSearchWrapper struct { Took int `json:"took"` TimedOut bool `json:"timed_out"` Shards struct { Total int `json:"total"` Successful int `json:"successful"` Skipped int `json:"skipped"` Failed int `json:"failed"` } `json:"_shards"` Hits struct { Total struct { Value int `json:"value"` Relation string `json:"relation"` } `json:"total"` MaxScore float64 `json:"max_score"` Hits []struct { Index string `json:"_index"` Type string `json:"_type"` ID string `json:"_id"` Score float64 `json:"_score"` Source Notification `json:"_source"` } `json:"hits"` } `json:"hits"` }
type NotificationWrapper ¶
type Oauth2Openapi ¶
type Oauth2Openapi struct {
AuthorizationCode AuthorizationCode `json:"authorizationCode"`
}
type Oauth2Resp ¶
type Oauth2Resp struct { AccessToken string `json:"access_token" url:"access_token,omitempty"` RefreshToken string `json:"refresh_token" url:"refresh_token,omitempty"` TokenType string `json:"token_type" url:"token_type,omitempty"` Scope string `json:"scope" url:"scope,omitempty"` ExpiresIn int `json:"expires_in" url:"expires_in,omitempty"` ExtExpiresIn int `json:"ext_expires_in" url:"ext_expires_in,omitempty"` }
AuthenticationStore with oauth2
type OauthToken ¶
type OpenidResp ¶
type OpenidUserinfo ¶
type OpenseaAsset ¶
type OpenseaAsset struct { Name string `json:"name" datastore:"name"` Collection string `json:"collection" datastore:"collection"` CollectionURL string `json:"collection_url" datastore:"collection_url"` Image string `json:"image" datastore:"image"` Asset string `json:"asset" datastore:"asset"` AssetLink string `json:"asset_link" datastore:"asset_link"` Polygon bool `json:"polygon" datastore:"polygon"` WorkflowReference string `json:"workflow_reference" datastore:"workflow_reference"` Workflow string `json:"workflow" datastore:"workflow"` Creator string `json:"creator" datastore:"creator"` OwnerUsername string `json:"owner_username" datastore:"owner_username"` Owner string `json:"owner" datastore:"owner"` ID string `json:"id" datastore:"id"` Created int64 `json:"created" datastore:"created"` Edited int64 `json:"edited" datastore:"edited"` }
func GetOpenseaAsset ¶
func GetOpenseaAsset(ctx context.Context, id string) (*OpenseaAsset, error)
func GetOpenseaAssets ¶
func GetOpenseaAssets(ctx context.Context, collectionName string) ([]OpenseaAsset, error)
type OpenseaAssetSearchWrapper ¶
type OpenseaAssetSearchWrapper struct { Took int `json:"took"` TimedOut bool `json:"timed_out"` Shards struct { Total int `json:"total"` Successful int `json:"successful"` Skipped int `json:"skipped"` Failed int `json:"failed"` } `json:"_shards"` Hits struct { Total struct { Value int `json:"value"` Relation string `json:"relation"` } `json:"total"` MaxScore float64 `json:"max_score"` Hits []struct { Index string `json:"_index"` Type string `json:"_type"` ID string `json:"_id"` Score float64 `json:"_score"` Source OpenseaAsset `json:"_source"` } `json:"hits"` } `json:"hits"` }
type OpenseaAssetWrapper ¶
type OrborusExecutionRequest ¶
type OrborusExecutionRequest struct { ExecutionId string `json:"execution_id"` Authorization string `json:"authorization"` HTTPProxy string `json:"http_proxy"` HTTPSProxy string `json:"https_proxy"` BaseUrl string `json:"base_url"` Url string `json:"url"` EnvironmentName string `json:"environment_name"` Timezone string `json:"timezone"` Cleanup string `json:"cleanup"` ShufflePassProxyToApp string `json:"shuffle_pass_proxy_to_app"` Action Action `json:"action"` FullExecution WorkflowExecution `json:"workflow_execution"` WorkerServerUrl string `json:"worker_server_url"` }
BaseUrl = Backend URL Url = Worker URL
type OrborusStats ¶
type OrborusStats struct { Id string `json:"id"` OrgId string `json:"org_id"` Environment string `json:"environment"` OrborusLabel string `json:"orborus_label"` Timestamp int64 `json:"timestamp"` Swarm bool `json:"swarm"` Kubernetes bool `json:"kubernetes"` // Shuffle MaxQueue int `json:"max_queue"` Queue int `json:"queue"` PollTime int `json:"poll_time"` // General MaxCPU int `json:"max_cpu"` CPU int `json:"cpu"` CPUPercent float64 `json:"cpu_percent"` MaxMemory int `json:"max_memory"` Memory int `json:"memory"` MemoryPercent float64 `json:"memory_percent"` MaxDisk int `json:"max_disk"` Disk int `json:"disk"` DiskPercent float64 `json:"disk_percent"` // Docker AppContainers int `json:"app_containers"` WorkerContainers int `json:"worker_containers"` StoppedContainers int `json:"stopped_containers"` TotalContainers int `json:"total_containers"` // New cache mechanics to keep better track of running/not running RunningIp string `json:"running_ip"` Licensed bool `json:"licensed"` DataLake LakeConfig `json:"data_lake" datastore:"data_lake"` }
Parse out CPU, memory and disk. Make struct
type Org ¶
type Org struct { Name string `json:"name" datastore:"name"` Description string `json:"description" datastore:"description"` CompanyType string `json:"company_type" datastore:"company_type"` Image string `json:"image" datastore:"image,noindex"` Id string `json:"id" datastore:"id"` Org string `json:"org" datastore:"org"` Users []User `json:"users" datastore:"users"` Role string `json:"role" datastore:"role"` Roles []string `json:"roles" datastore:"roles"` ActiveApps []string `json:"active_apps" datastore:"active_apps"` CloudSync bool `json:"cloud_sync" datastore:"CloudSync"` CloudSyncActive bool `json:"cloud_sync_active" datastore:"CloudSyncActive"` SyncConfig SyncConfig `json:"sync_config" datastore:"sync_config"` SyncFeatures SyncFeatures `json:"sync_features,omitempty" datastore:"sync_features"` MFARequired bool `json:"mfa_required" datastore:"mfa_required"` SubscriptionUserId string `json:"subscription_user_id" datastore:"subscription_user_id"` Subscriptions []PaymentSubscription `json:"subscriptions" datastore:"subscriptions"` SyncUsage SyncUsage `json:"sync_usage" datastore:"sync_usage"` Created int64 `json:"created" datastore:"created"` Edited int64 `json:"edited" datastore:"edited"` Defaults Defaults `json:"defaults" datastore:"defaults"` Invites []string `json:"invites" datastore:"invites"` ChildOrgs []OrgMini `json:"child_orgs" datastore:"child_orgs"` ManagerOrgs []OrgMini `json:"manager_orgs" datastore:"manager_orgs"` // Multi in case more than one org should be able to control another PartnerInfo PartnerInfo `json:"partner_info" datastore:"partner_info"` SSOConfig SSOConfig `json:"sso_config" datastore:"sso_config"` SecurityFramework Categories `json:"security_framework" datastore:"security_framework,noindex"` Interests []Priority `json:"interests" datastore:"interests"` Priorities []Priority `json:"priorities" datastore:"priorities,noindex"` MainPriority string `json:"main_priority" datastore:"main_priority"` Region string `json:"region" datastore:"region"` RegionUrl string `json:"region_url" datastore:"region_url"` Tutorials []Tutorial `json:"tutorials" datastore:"tutorials"` LeadInfo LeadInfo `json:"lead_info,omitempty" datastore:"lead_info"` OrgAuth OrgAuth `json:"org_auth" datastore:"org_auth"` CreatorId string `json:"creator_id" datastore:"creator_id"` Disabled bool `json:"disabled" datastore:"disabled"` EulaSigned bool `json:"eula_signed" datastore:"eula_signed"` EulaSignedBy string `json:"eula_signed_by" datastore:"eula_signed_by"` Billing Billing `json:"Billing" datastore:"Billing"` CreatorOrg string `json:"creator_org" datastore:"creator_org"` Branding OrgBranding `json:"branding" datastore:"branding"` }
func GetOrg ¶
ListBooks returns a list of books, ordered by title. Handles org grabbing and user / org migrations
func GetOrgByField ¶
func GetWorkflowSuggestions ¶
type OrgAuth ¶
type OrgAuth struct { Token string `json:"token" datastore:"token"` Expires time.Time `json:"expires" datastore:"expires"` }
Authentication overrides that times out Only works for certain features, such as public auth keys Timeout after 24 hours
type OrgBranding ¶
type OrgBranding struct { EnableChat bool `json:"enable_chat" datastore:"enable_chat"` HomeUrl string `json:"home_url" datastore:"home_url"` Theme string `json:"theme" datastore:"theme"` DocumentationLink string `json:"documentation_link" datastore:"documentation_link"` GlobalUser bool `json:"global_user" datastore:"global_user"` // Global user is true when the user is admin of both parent org and suborg. SupportEmail string `json:"support_email" datastore:"support_email"` LogoutUrl string `json:"logout_url" datastore:"logout_url"` BrandColor string `json:"brand_color" datastore:"brand_color"` BrandName string `json:"brand_name" datastore:"brand_name"` }
type OrgMini ¶
type OrgMini struct { Name string `json:"name" datastore:"name"` Id string `json:"id" datastore:"id"` Users []UserMini `json:"users" datastore:"users"` Role string `json:"role" datastore:"role"` ChildOrgs []OrgMini `json:"child_orgs" datastore:"child_orgs"` RegionUrl string `json:"region_url" datastore:"region_url"` // Branding related Image string `json:"image" datastore:"image,noindex"` CreatorOrg string `json:"creator_org" datastore:"creator_org"` Branding OrgBranding `json:"branding" datastore:"branding"` }
Used within a user
func SortOrgList ¶
Sorts an org list in order to make ChildOrgs appear under their parent org
type OrgSearchWrapper ¶
type OrgSearchWrapper struct { Took int `json:"took"` TimedOut bool `json:"timed_out"` Shards struct { Total int `json:"total"` Successful int `json:"successful"` Skipped int `json:"skipped"` Failed int `json:"failed"` } `json:"_shards"` Hits struct { Total struct { Value int `json:"value"` Relation string `json:"relation"` } `json:"total"` MaxScore float64 `json:"max_score"` Hits []struct { Index string `json:"_index"` Type string `json:"_type"` ID string `json:"_id"` Score float64 `json:"_score"` Source Org `json:"_source"` } `json:"hits"` } `json:"hits"` }
type OrgWrapper ¶
type OutlookAttachment ¶
type OutlookAttachment struct { OdataContext string `json:"@odata.context"` OdataType string `json:"@odata.type"` OdataMediaContentType string `json:"@odata.mediaContentType"` ID string `json:"id"` LastModifiedDateTime time.Time `json:"lastModifiedDateTime"` Name string `json:"name"` ContentType string `json:"contentType"` Size int `json:"size"` IsInline bool `json:"isInline"` ContentID interface{} `json:"contentId"` ContentLocation interface{} `json:"contentLocation"` ContentBytes string `json:"contentBytes"` }
func GetOutlookAttachment ¶
type OutlookFolder ¶
type OutlookFolders ¶
type OutlookFolders struct { OdataContext string `json:"@odata.context"` OdataNextLink string `json:"@odata.nextLink"` Value []OutlookFolder `json:"value"` }
func GetGmailFolders ¶
func GetGmailFolders(client *http.Client) (OutlookFolders, error)
type OutlookProfile ¶
type OutlookProfile struct { OdataContext string `json:"@odata.context"` BusinessPhones []string `json:"businessPhones"` DisplayName string `json:"displayName"` GivenName string `json:"givenName"` JobTitle interface{} `json:"jobTitle"` Mail string `json:"mail"` MobilePhone interface{} `json:"mobilePhone"` OfficeLocation interface{} `json:"officeLocation"` PreferredLanguage interface{} `json:"preferredLanguage"` Surname string `json:"surname"` UserPrincipalName string `json:"userPrincipalName"` ID string `json:"id"` }
type OutlookSubscription ¶
type ParsedApiWrapper ¶
type ParsedMessage ¶
type ParsedOpenApi ¶
type ParsedOpenApi struct { Body string `datastore:"body,noindex" json:"body"` ID string `datastore:"id" json:"id,omitempty"` Success bool `datastore:"success,omitempty" json:"success,omitempty"` }
func GetAllOpenApi ¶
func GetAllOpenApi(ctx context.Context) ([]ParsedOpenApi, error)
func GetOpenApiDatastore ¶
func GetOpenApiDatastore(ctx context.Context, id string) (ParsedOpenApi, error)
type ParsedShuffleMail ¶
type ParsedShuffleMail struct { Body struct { URI []string `json:"uri"` Email []string `json:"email"` Domain []string `json:"domain"` ContentHeader struct { } `json:"content_header"` Content string `json:"content"` ContentType string `json:"content_type"` Hash string `json:"hash"` RawBody string `json:"raw_body"` } `json:"body"` Header struct { Subject string `json:"subject"` From string `json:"from"` To []string `json:"to"` Date string `json:"date"` Received []struct { Src string `json:"src"` From []string `json:"from"` By []string `json:"by"` With string `json:"with"` Date string `json:"date"` } `json:"received"` ReceivedDomain []string `json:"received_domain"` ReceivedIP []string `json:"received_ip"` Header struct { } `json:"header"` } `json:"header"` MessageID string `json:"message_id"` EmailFileid string `json:"email_fileid"` AttachmentUids []string `json:"attachment_uids"` }
This is what the structure should be when it's sent into a workflow
type PartnerInfo ¶
type PasswordChange ¶
type PaymentSubscription ¶
type PaymentSubscription struct { Active bool `json:"active" datastore:"active"` Startdate int64 `json:"startdate" datastore:"startdate"` CancellationDate int64 `json:"cancellationdate" datastore:"cancellationdate"` Enddate int64 `json:"enddate" datastore:"enddate"` Name string `json:"name" datastore:"name"` Recurrence string `json:"recurrence" datastore:"recurrence"` Reference string `json:"reference" datastore:"reference"` Level string `json:"level" datastore:"level"` Amount string `json:"amount" datastore:"amount"` Currency string `json:"currency" datastore:"currency"` Limit int64 `json:"limit" datastore:"limit"` Features []string `json:"features" datastore:"features"` Eula string `json:"eula" datastore:"eula,noindex"` EulaSigned bool `json:"eula_signed" datastore:"eula_signed"` EulaSignedBy string `json:"eula_signed_by" datastore:"eula_signed_by"` }
type PersonalInfo ¶
type Pipeline ¶
type Pipeline struct { Name string `json:"name" datastore:"name"` ID string `json:"id" datastore:"id"` Type string `json:"type" datastore:"type"` Command string `json:"command" datastore:"command"` Environment string `json:"environment" datastore:"environment"` WorkflowId string `json:"workflow_id" datastore:"workflow_id"` StartNode string `json:"start_node" datastore:"start_node"` OrgId string `json:"org_id" datastore:"org_id"` Status string `json:"status" datastore:"status"` Errors []string `json:"errors" datastore:"errors"` Url string `json:"url" datastore:"url"` Owner string `json:"owner" datastore:"owner"` PipelineId string `json:"pipeline_id" datastore:"pipeline_id"` TriggerId string `json:"trigger_id" datastore:"trigger_id"` }
type PipelineInfo ¶
type PipelineInfo struct { ID string `json:"id"` Name string `json:"name"` Hidden bool `json:"hidden"` Definition string `json:"definition"` Configured bool `json:"configured"` Package any `json:"package"` Unstoppable bool `json:"unstoppable"` CreatedAt int64 `json:"created_at"` LastModified int64 `json:"last_modified"` StartTime string `json:"start_time"` TotalRuns int `json:"total_runs"` State string `json:"state"` Error string `json:"error"` Diagnostics []any `json:"diagnostics"` Labels []any `json:"labels"` RetryDelay string `json:"retry_delay"` Autostart struct { Created bool `json:"created"` Completed bool `json:"completed"` Failed bool `json:"failed"` } `json:"autostart"` Autodelete struct { Completed bool `json:"completed"` Failed bool `json:"failed"` Stopped bool `json:"stopped"` } `json:"autodelete"` TTL any `json:"ttl"` RemainingTTL any `json:"remaining_ttl"` }
The raw output from pipelines in Tenzir
type PipelineInfoMini ¶
type PipelineInfoWrapper ¶
type PipelineInfoWrapper struct {
Pipelines []PipelineInfo `json:"pipelines"`
}
type PipelineRequest ¶
type PipelineRequest struct { ID string `json:"id"` Name string `json:"name"` Type string `json:"type"` Command string `json:"command"` Environment string `json:"environment"` WorkflowId string `json:"workflow_id"` StartNode string `json:"start_node"` Url string `json:"url"` PipelineId string `json:"pipeline_id"` TriggerId string `json:"trigger_id"` }
type PipelineWrapper ¶
type Priority ¶
type Priority struct { Name string `json:"name" datastore:"name"` Description string `json:"description" datastore:"description"` Type string `json:"type" datastore:"type"` Active bool `json:"active" datastore:"active"` URL string `json:"url" datastore:"url"` Severity int `json:"severity" datastore:"severity"` // 1 = high, 2 = mid, 3 = low Time int64 `json:"time" datastore:"time"` }
type PrizedrawSubmitter ¶
type PrizedrawSubmitter struct { IP string `json:"ip"` ID string `json:"id"` Username string `json:"username"` UserId string `json:"user_id""` Email string `json:"email"` Firstname string `json:"firstname"` Lastname string `json:"lastname"` Twitter string `json:"twitter"` Address string `json:"address"` WinningIds []string `json:"winning_ids"` PreviousWinner bool `json:"previous_winner"` Created int64 `json:"created"` Edited int64 `json:"edited"` }
type PublicProfile ¶
type PublicProfile struct { Public bool `datastore:"public" json:"public"` Self bool `datastore:"self" json:"self"` GithubUsername string `datastore:"github_username" json:"github_username"` GithubUserid string `datastore:"github_userid" json:"github_userid"` GithubAvatar string `datastore:"github_avatar,noindex" json:"github_avatar"` GithubLocation string `datastore:"github_location" json:"github_location"` GithubUrl string `datastore:"github_url" json:"github_url"` GithubBio string `datastore:"github_bio" json:"github_bio"` GithubTwitter string `datastore:"github_twitter" json:"github_twitter"` WorkStatus string `datastore:"work_status" json:"work_status"` Banner string `datastore:"banner" json:"banner"` GithubContributions GithubContributions `datastore:"github_contributions" json:"github_contributions"` ShuffleEarnings string `datastore:"shuffle_earnings" json:"shuffle_earnings"` ShuffleRanking string `datastore:"shuffle_ranking" json:"shuffle_ranking"` Skills []string `json:"skills"` Synonyms []string `json:"synonyms"` Workflows int64 `json:"workflows"` Apps int64 `json:"apps"` SpecializedApps []MinimizedApps `json:"specialized_apps"` Verified bool `json:"verified"` Social []string `json:"social"` }
type QueryInput ¶
type QueryInput struct { // Required Query string `json:"query" datastore:"query,noindex"` // Output helpers Id string `json:"id,omitempty"` OutputFormat string `json:"output_format,omitempty"` // App helpers WorkflowId string `json:"workflow_id"` AppName string `json:"app_name,omitempty"` AppId string `json:"app_id,omitempty"` Category string `json:"category,omitempty"` ActionName string `json:"action_name,omitempty"` Parameters []WorkflowAppActionParameter `json:"parameters,omitempty"` // Optional Input Parameters for more context AppContext []AppContext `json:"app_context,omitempty"` UserId string `json:"user_id,omitempty"` Username string `json:"username,omitempty"` OrgId string `json:"org_id,omitempty"` TimeStarted int64 `json:"time_started,omitempty"` TimeEnded int64 `json:"time_ended,omitempty"` Formatting string `json:"formatting,omitempty"` // For OpenAI assistant with Shuffle labels ThreadId string `json:"thread_id,omitempty"` RunId string `json:"run_id,omitempty"` }
type Recipients ¶
type Recipients struct { Bcc []Mailbox `description:"List of 'bcc' Mailbox objects" json:"bcc,omitempty" validate:"omitempty"` Cc []Mailbox `description:"List of 'cc' Mailbox objects" json:"cc,omitempty" validate:"omitempty"` To []Mailbox `description:"List of 'to' Mailbox objects" json:"to,omitempty" validate:"omitempty"` }
type RecommendAction ¶
type RecommendAction struct { AppName string `json:"app_name"` ActionId string `json:"action_id"` Recommendations []Recommendations `json:"recommendations"` }
type RecommendationAction ¶
type Recommendations ¶
type RegionBody ¶
type RegionChangeHistory ¶
type RegionChangeHistory struct { OrgId string `json:"org_id"` LastAttempt int64 `json:"last_attempt"` }
func GetOrgMoveCache ¶
func GetOrgMoveCache(ctx context.Context, orgId string) (RegionChangeHistory, error)
type RequestResponse ¶
type ResellerDeal ¶
type ResellerDeal struct { ID string `json:"id" datastore:"id"` Name string `json:"name" datastore:"name"` Type string `json:"type" datastore:"type"` Address string `json:"address" datastore:"address"` Country string `json:"country" datastore:"country"` Currency string `json:"currency" datastore:"currency"` Status string `json:"status" datastore:"status"` Value string `json:"value" datastore:"value"` Discount string `json:"discount" datastore:"discount"` ResellerOrg string `json:"reseller_org" datastore:"reseller_org"` Created int64 `json:"created" datastore:"created"` Edited int64 `json:"edited" datastore:"edited"` }
func GetAllDeals ¶
func GetAllDeals(ctx context.Context, orgId string) ([]ResellerDeal, error)
type ResultChecker ¶
type RetStruct ¶
type RetStruct struct { Success bool `json:"success"` SyncFeatures SyncFeatures `json:"sync_features"` SessionKey string `json:"session_key"` IntervalSeconds int64 `json:"interval_seconds"` }
type SAMLResponse ¶
type SAMLResponse struct { XMLName xml.Name `xml:"Response"` Text string `xml:",chardata"` Destination string `xml:"Destination,attr"` ID string `xml:"ID,attr"` IssueInstant string `xml:"IssueInstant,attr"` Version string `xml:"Version,attr"` Saml2p string `xml:"saml2p,attr"` Issuer struct { Text string `xml:",chardata"` Format string `xml:"Format,attr"` Saml2 string `xml:"saml2,attr"` } `xml:"Issuer"` Signature struct { Text string `xml:",chardata"` Ds string `xml:"ds,attr"` SignedInfo struct { Text string `xml:",chardata"` CanonicalizationMethod struct { Text string `xml:",chardata"` Algorithm string `xml:"Algorithm,attr"` } `xml:"CanonicalizationMethod"` SignatureMethod struct { Text string `xml:",chardata"` Algorithm string `xml:"Algorithm,attr"` } `xml:"SignatureMethod"` Reference struct { Text string `xml:",chardata"` URI string `xml:"URI,attr"` Transforms struct { Text string `xml:",chardata"` Transform []struct { Text string `xml:",chardata"` Algorithm string `xml:"Algorithm,attr"` } `xml:"Transform"` } `xml:"Transforms"` DigestMethod struct { Text string `xml:",chardata"` Algorithm string `xml:"Algorithm,attr"` } `xml:"DigestMethod"` DigestValue string `xml:"DigestValue"` } `xml:"Reference"` } `xml:"SignedInfo"` SignatureValue string `xml:"SignatureValue"` KeyInfo struct { Text string `xml:",chardata"` X509Data struct { Text string `xml:",chardata"` X509Certificate string `xml:"X509Certificate"` } `xml:"X509Data"` } `xml:"KeyInfo"` } `xml:"Signature"` Status struct { Text string `xml:",chardata"` Saml2p string `xml:"saml2p,attr"` StatusCode struct { Text string `xml:",chardata"` Value string `xml:"Value,attr"` } `xml:"StatusCode"` } `xml:"Status"` Assertion struct { Text string `xml:",chardata"` ID string `xml:"ID,attr"` IssueInstant string `xml:"IssueInstant,attr"` Version string `xml:"Version,attr"` Saml2 string `xml:"saml2,attr"` Issuer struct { Text string `xml:",chardata"` Format string `xml:"Format,attr"` Saml2 string `xml:"saml2,attr"` } `xml:"Issuer"` Signature struct { Text string `xml:",chardata"` Ds string `xml:"ds,attr"` SignedInfo struct { Text string `xml:",chardata"` CanonicalizationMethod struct { Text string `xml:",chardata"` Algorithm string `xml:"Algorithm,attr"` } `xml:"CanonicalizationMethod"` SignatureMethod struct { Text string `xml:",chardata"` Algorithm string `xml:"Algorithm,attr"` } `xml:"SignatureMethod"` Reference struct { Text string `xml:",chardata"` URI string `xml:"URI,attr"` Transforms struct { Text string `xml:",chardata"` Transform []struct { Text string `xml:",chardata"` Algorithm string `xml:"Algorithm,attr"` } `xml:"Transform"` } `xml:"Transforms"` DigestMethod struct { Text string `xml:",chardata"` Algorithm string `xml:"Algorithm,attr"` } `xml:"DigestMethod"` DigestValue string `xml:"DigestValue"` } `xml:"Reference"` } `xml:"SignedInfo"` SignatureValue string `xml:"SignatureValue"` KeyInfo struct { Text string `xml:",chardata"` X509Data struct { Text string `xml:",chardata"` X509Certificate string `xml:"X509Certificate"` } `xml:"X509Data"` } `xml:"KeyInfo"` } `xml:"Signature"` Subject struct { Text string `xml:",chardata"` Saml2 string `xml:"saml2,attr"` NameID struct { Text string `xml:",chardata"` Format string `xml:"Format,attr"` } `xml:"NameID"` SubjectConfirmation struct { Text string `xml:",chardata"` Method string `xml:"Method,attr"` SubjectConfirmationData struct { Text string `xml:",chardata"` NotOnOrAfter string `xml:"NotOnOrAfter,attr"` Recipient string `xml:"Recipient,attr"` } `xml:"SubjectConfirmationData"` } `xml:"SubjectConfirmation"` } `xml:"Subject"` Conditions struct { Text string `xml:",chardata"` NotBefore string `xml:"NotBefore,attr"` NotOnOrAfter string `xml:"NotOnOrAfter,attr"` Saml2 string `xml:"saml2,attr"` AudienceRestriction struct { Text string `xml:",chardata"` Audience string `xml:"Audience"` } `xml:"AudienceRestriction"` } `xml:"Conditions"` AuthnStatement struct { Text string `xml:",chardata"` AuthnInstant string `xml:"AuthnInstant,attr"` SessionIndex string `xml:"SessionIndex,attr"` Saml2 string `xml:"saml2,attr"` AuthnContext struct { Text string `xml:",chardata"` AuthnContextClassRef string `xml:"AuthnContextClassRef"` } `xml:"AuthnContext"` } `xml:"AuthnStatement"` } `xml:"Assertion"` }
type SPF ¶
type SPF struct { Verdict *string `description:"Verdict of the SPF" json:"verdict" validate:"omitempty"` Server *Domain `description:"Domain of the server that checked the SPF" json:"server,omitempty" validate:"omitempty"` ClientIP *IP `description:"IP of the client the email originated from" json:"client_ip,omitempty" validate:"omitempty"` Designator *string `description:"Email or domain of the designating body" json:"designator,omitempty" validate:"omitempty"` Helo *Domain `description:"Domain of the previous server this message hopped from" json:"helo,omitempty" validate:"omitempty"` Description *string `description:"Verbose description of the SPF verdict" json:"description,omitempty" validate:"omitempty"` }
type SSOConfig ¶
type SSOConfig struct { SSOEntrypoint string `json:"sso_entrypoint" datastore:"sso_entrypoint"` SSOCertificate string `json:"sso_certificate" datastore:"sso_certificate"` OpenIdClientId string `json:"client_id" datastore:"client_id"` OpenIdClientSecret string `json:"client_secret" datastore:"client_secret"` OpenIdAuthorization string `json:"openid_authorization" datastore:"openid_authorization"` OpenIdToken string `json:"openid_token" datastore:"openid_token"` SSORequired bool `json:"SSORequired" datastore:"SSORequired"` AutoProvision bool `json:"auto_provision" datastore:"auto_provision"` RoleRequired bool `json:"role_required" datastore:"role_required"` }
type SSOResponse ¶
type SamlRequest ¶
type SamlRequest struct { XMLName xml.Name `xml:"AuthnRequest"` Text string `xml:",chardata"` Samlp string `xml:"samlp,attr"` Xmlns string `xml:"xmlns,attr"` Saml string `xml:"saml,attr"` AssertionConsumerServiceURL string `xml:"AssertionConsumerServiceURL,attr"` Destination string `xml:"Destination,attr"` ForceAuthn string `xml:"ForceAuthn,attr"` ID string `xml:"ID,attr"` IssueInstant string `xml:"IssueInstant,attr"` ProtocolBinding string `xml:"ProtocolBinding,attr"` Version string `xml:"Version,attr"` Issuer string `xml:"Issuer"` NameIDPolicy struct { Text string `xml:",chardata"` AllowCreate string `xml:"AllowCreate,attr"` Format string `xml:"Format,attr"` } `xml:"NameIDPolicy"` }
type Schedule ¶
type Schedule struct { Name string `json:"name" datastore:"name"` Frequency string `json:"frequency" datastore:"frequency"` ExecutionArgument string `json:"execution_argument" datastore:"execution_argument,noindex"` Id string `json:"id" datastore:"id"` OrgId string `json:"org_id" datastore:"org_id"` Environment string `json:"environment" datastore:"environment"` Start string `json:"start" datastore:"start"` }
type ScheduleApp ¶
type ScheduleApp struct { Foldername string `json:"foldername" datastore:"foldername,noindex"` Name string `json:"name" datastore:"name,noindex"` Id string `json:"id" datastore:"id,noindex"` Description string `json:"description" datastore:"description,noindex"` Action string `json:"action" datastore:"action,noindex"` Config []Appconfig `json:"config,omitempty" datastore:"config,noindex"` }
type ScheduleApps ¶
type ScheduleOld ¶
type ScheduleOld struct { Name string `json:"name" datastore:"name"` Id string `json:"id" datastore:"id"` StartNode string `json:"start_node" datastore:"start_node"` Seconds int `json:"seconds" datastore:"seconds"` WorkflowId string `json:"workflow_id" datastore:"workflow_id", ` Argument string `json:"argument" datastore:"argument"` WrappedArgument string `json:"wrapped_argument" datastore:"wrapped_argument"` AppInfo AppInfo `json:"appinfo" datastore:"appinfo,noindex"` Finished bool `json:"finished" finished:"id"` BaseAppLocation string `json:"base_app_location" datastore:"baseapplocation,noindex"` Translator []Translator `json:"translator,omitempty" datastore:"translator"` Org string `json:"org" datastore:"org"` CreatedBy string `json:"createdby" datastore:"createdby"` Availability string `json:"availability" datastore:"availability"` CreationTime int64 `json:"creationtime" datastore:"creationtime,noindex"` LastModificationtime int64 `json:"lastmodificationtime" datastore:"lastmodificationtime,noindex"` LastRuntime int64 `json:"lastruntime" datastore:"lastruntime,noindex"` Frequency string `json:"frequency" datastore:"frequency,noindex"` Environment string `json:"environment" datastore:"environment"` Status string `json:"status" datastore:"status"` }
func GetAllSchedules ¶
func GetAllSchedules(ctx context.Context, orgId string) ([]ScheduleOld, error)
func GetGcpSchedule ¶
func GetGcpSchedule(ctx context.Context, id string) (*ScheduleOld, error)
func GetSchedule ¶
func GetSchedule(ctx context.Context, schedulename string) (*ScheduleOld, error)
func GetScheduleByWorkflowId ¶
func GetScheduleByWorkflowId(ctx context.Context, workflowId string) (*ScheduleOld, error)
type ScheduleSearchWrapper ¶
type ScheduleSearchWrapper struct { Took int `json:"took"` TimedOut bool `json:"timed_out"` Shards struct { Total int `json:"total"` Successful int `json:"successful"` Skipped int `json:"skipped"` Failed int `json:"failed"` } `json:"_shards"` Hits struct { Total struct { Value int `json:"value"` Relation string `json:"relation"` } `json:"total"` MaxScore float64 `json:"max_score"` Hits []struct { Index string `json:"_index"` Type string `json:"_type"` ID string `json:"_id"` Score float64 `json:"_score"` Source ScheduleOld `json:"_source"` } `json:"hits"` } `json:"hits"` }
type ScheduleWrapper ¶
type Schedules ¶
type Schedules struct { Schedules []ScheduleOld `json:"schedules"` Success bool `json:"success"` }
Returned from /GET /schedules
type SchemaDefinition ¶
type SchemalessOutput ¶
type SchemalessOutput struct { Success bool `json:"success"` Action string `json:"action"` Status int `json:"status,omitempty"` URL string `json:"url,omitempty"` // JSON output. What if it's a list? //Output map[string]interface{} `json:"output"` Output interface{} `json:"output"` // Optional RawResponse interface{} `json:"raw_response,omitempty"` }
type SelectedDetectionRules ¶
type SelectedDetectionRules struct {
SelectedRules []DetectionFileInfo `json:"detection_rules" datastore:"detection_rules"`
}
func GetSelectedRules ¶
func GetSelectedRules(ctx context.Context, TriggerId string) (*SelectedDetectionRules, error)
type SelectedRulesWrapper ¶
type SessionCookie ¶
type SessionWrapper ¶
type SettingsReturn ¶
type ShuffleStorage ¶
type ShuffleStorage struct { GceProject string Dbclient datastore.Client StorageClient storage.Client Environment string CacheDb bool Es opensearch.Client DbType string CloudUrl string BucketName string }
Dumps data from cache to DB for every {dbInterval} action (tried 5, 10, 25)
func GetProject ¶
func GetProject() ShuffleStorage
type Signature ¶
type Signature struct { Type string `description:"The type of signature, derived from the field name" json:"type,omitempty" validate:"omitempty"` Instance string `description:"Instance number of this signature (if ARC)" json:"instance,omitempty" validate:"omitempty"` Version string `description:"Version" json:"version,omitempty" validate:"omitempty"` Algorithm string `description:"Signing algorithm" json:"algorithm,omitempty" validate:"omitempty"` Selector string `description:"Selector" json:"selector,omitempty" validate:"omitempty"` Signature string `description:"Signature of headers and body" json:"signature,omitempty" validate:"omitempty"` BodyHash string `description:"Body Hash" json:"body_hash,omitempty" validate:"omitempty"` Domain string `description:"Domain" json:"domain,omitempty" validate:"omitempty"` Headers string `description:"Header fields signed by the algorithm" json:"headers,omitempty" validate:"omitempty"` }
type SimilarAction ¶
type SingleResult ¶
type SingleResult struct { Success bool `json:"success"` Result string `json:"result"` Id string `json:"id"` Authorization string `json:"authorization"` Errors []string `json:"errors"` Validation TypeValidation `json:"validation"` Parameters []WorkflowAppActionParameter `json:"parameters"` }
func HandleRetValidation ¶
func HandleRetValidation(ctx context.Context, workflowExecution WorkflowExecution, resultAmount int, actionId ...string) SingleResult
Handles the return of a single action
type SingulResult ¶ added in v0.8.67
type SingulStats ¶ added in v0.8.67
type SingulStats struct { Id string `json:"id"` Failed bool `json:"failed"` Result string `json:"result"` ExecutionId string `json:"execution_id"` WorkflowId string `json:"workflow_id"` NotificationWorkflow bool `json:"notification_workflow"` IsGeneratedNotificationWorkflow bool `json:"is_generated_notification_workflow"` OrgId string `json:"org_id"` }
func GetSingulStatByExecutionId ¶ added in v0.8.67
func GetSingulStatByExecutionId(ctx context.Context, executionId string) (SingulStats, error)
func GetSingulStats ¶ added in v0.8.67
func GetSingulStats(ctx context.Context) ([]SingulStats, error)
type SmsBody ¶
type SmsBody struct { Numbers []string `json:"numbers" datastore:"numbers"` Body string `json:"body" datastore:"body"` ReferenceExecution string `json:"reference_execution"` Authorization string `json:"authorization"` WorkflowId string `json:"workflow_id"` ExecutionType string `json:"execution_type"` Start string `json:"start"` }
type SnappStep ¶
type SnappStep struct { Name string `json:"name" yaml:"name"` Category string `json:"category" yaml:"category"` AppName string `json:"app_name" yaml:"app_name"` Environment string `json:"environment" yaml:"environment"` Fields []Valuereplace `json:"fields" yaml:"fields"` }
type StatisticsData ¶
type StatisticsItem ¶
type StatisticsItem struct { Total int64 `json:"total" datastore:"total"` Fieldname string `json:"field_name" datastore:"field_name"` Data []StatisticsData `json:"data" datastore:"data"` OrgId string `json:"org_id" datastore:"org_id"` }
type StructuredCategoryAction ¶
type StructuredCategoryAction struct { Success bool `json:"success"` Action string `json:"action"` Reason string `json:"reason"` WorkflowId string `json:"workflow_id,omitempty"` ExecutionId string `json:"execution_id,omitempty"` Label string `json:"label,omitempty"` Category string `json:"category,omitempty"` Apps []WorkflowApp `json:"apps,omitempty"` Result string `json:"result,omitempty"` ApiDebuggerUrl string `json:"api_debugger_url,omitempty"` AvailableLabels []string `json:"available_labels,omitempty"` ThreadId string `json:"thread_id,omitempty"` RunId string `json:"run_id,omitempty"` MissingFields []string `json:"missing_fields,omitempty"` Translated bool `json:"translated,omitempty"` }
Used for the integrations API to work with AI well
type SubResponse ¶
type SubResponse struct { HistoryId string `json:"historyId"` Expiration string `json:"expiration` }
func MakeGmailSubscription ¶
type SubWrapper ¶
type SubflowData ¶
type SubflowData struct { Success bool `json:"success"` ExecutionId string `json:"execution_id,omitempty"` Authorization string `json:"authorization,omitempty"` Result string `json:"result"` ResultSet bool `json:"result_set,omitempty"` }
Overwriting results fo a subflow trigger
type Subject ¶
type Subject struct {
Subject string `description:"Subject of the email" json:"subject" validate:"required"`
}
type SubscriptionRecipient ¶
type SubscriptionRecipient struct { HistoryId string `json:"history_id"` TriggerId string `json:"trigger_id"` Edited int `json:"edited"` Expiration string `json:"expiration"` LastSync int `json:"last_sync"` WorkflowId string `json:"workflow_id` Startnode string `json:"startnode` IsCloud bool `json:"is_cloud"` EmailAddress string `json:"email_address"` }
Used for Gmail triggers using Pubsub
func GetSubscriptionRecipient ¶
func GetSubscriptionRecipient(ctx context.Context, id string) (*SubscriptionRecipient, error)
type SubscriptionsWrapper ¶
type SubscriptionsWrapper struct { OdataContext string `json:"@odata.context"` Value []OutlookSubscription `json:"value"` }
type Suggestion ¶
type Suggestion struct { Creator string `json:"creator" datastore:"creator"` CreatorId string `json:"creator_id" datastore:"creator_id"` Type string `json:"type" datastore:"type"` Label AppLabelData `json:"label" datastore:"label"` Created int64 `json:"created" datastore:"created"` Edited int64 `json:"edited" datastore:"edited"` SuggestionID string `json:"suggestion_id" datastore:"suggestion_id"` SuggestionBy string `json:"suggestion_by" datastore:"suggestion_by"` Status string `json:"status" datastore:"status"` }
func GetSuggestion ¶
func GetSuggestion(ctx context.Context, id string) (*Suggestion, error)
func GetSuggestions ¶
func GetSuggestions(ctx context.Context, creatorname string) ([]Suggestion, error)
type SyncConfig ¶
type SyncConfig struct { Interval int64 `json:"interval" datastore:"interval"` Apikey string `json:"api_key" datastore:"api_key"` Source string `json:"source" datastore:"source"` WorkflowBackup bool `json:"workflow_backup" datastore:"workflow_backup"` AppBackup bool `json:"app_backup" datastore:"app_backup"` }
type SyncData ¶
type SyncData struct { Active bool `json:"active" datastore:"active"` Type string `json:"type,omitempty" datastore:"type"` Name string `json:"name,omitempty" datastore:"name"` Description string `json:"description,omitempty" datastore:"description"` Usage int64 `json:"usage" datastore:"usage"` Limit int64 `json:"limit" datastore:"limit"` StartDate int64 `json:"start_date,omitempty" datastore:"start_date"` EndDate int64 `json:"end_date,omitempty" datastore:"end_date"` DataCollection int64 `json:"data_collection,omitempty" datastore:"data_collection"` }
type SyncDataUsage ¶
type SyncFeatures ¶
type SyncFeatures struct { Editing bool `json:"editing" datastore:"editing"` MailSent []MailLevel `json:"mail_sent" datastore:"mail_sent"` AppExecutions SyncData `json:"app_executions" datastore:"app_executions"` MultiEnv SyncData `json:"multi_env" datastore:"multi_env"` MultiTenant SyncData `json:"multi_tenant" datastore:"multi_tenant"` MultiRegion SyncData `json:"multi_region" datastore:"multi_region"` Webhook SyncData `json:"webhook" datastore:"webhook"` Schedules SyncData `json:"schedules" datastore:"schedules"` UserInput SyncData `json:"user_input" datastore:"user_input"` SendMail SyncData `json:"send_mail" datastore:"send_mail"` SendSms SyncData `json:"send_sms" datastore:"send_sms"` Updates SyncData `json:"updates" datastore:"updates"` EmailTrigger SyncData `json:"email_trigger" datastore:"email_trigger"` Notifications SyncData `json:"notifications" datastore:"notifications"` Workflows SyncData `json:"workflows" datastore:"workflows"` Autocomplete SyncData `json:"autocomplete" datastore:"autocomplete"` WorkflowExecutions SyncData `json:"workflow_executions" datastore:"workflow_executions"` Authentication SyncData `json:"authentication" datastore:"authentication"` Schedule SyncData `json:"schedule" datastore:"schedule"` Apps SyncData `json:"apps" datastore:"apps"` ShuffleGPT SyncData `json:"shuffle_gpt" datastore:"shuffle_gpt"` }
type SyncKey ¶
type SyncKey struct { Apikey string `json:"api_key"` OrgId string `json:"org_id"` SourceIP string `json:"source_ip"` CreatedAt int64 `json:"created_at"` }
type SyncUsage ¶
type SyncUsage struct { WorkflowExecutions SyncDataUsage `json:"workflow_executions" datastore:"workflow_executions"` Webhook SyncDataUsage `json:"webhook" datastore:"webhook"` Schedules SyncDataUsage `json:"schedules" datastore:"schedules"` UserInput SyncDataUsage `json:"user_input" datastore:"user_input"` SendMail SyncDataUsage `json:"send_mail" datastore:"send_mail"` SendSms SyncDataUsage `json:"send_sms" datastore:"send_sms"` EmailTrigger SyncDataUsage `json:"email_trigger" datastore:"email_trigger"` Autocomplete SyncDataUsage `json:"autocomplete" datastore:"autocomplete"` Authentication SyncDataUsage `json:"authentication" datastore:"authentication"` Schedule SyncDataUsage `json:"schedule" datastore:"schedule"` AppExecutions SyncDataUsage `json:"app_executions" datastore:"app_executions"` Workflows SyncDataUsage `json:"workflows" datastore:"workflows"` MultiTenant SyncDataUsage `json:"multi_tenant" datastore:"multi_tenant"` MultiRegion SyncDataUsage `json:"multi_region" datastore:"multi_region"` MultiEnv SyncDataUsage `json:"multi_env" datastore:"multi_env"` Apps SyncDataUsage `json:"apps" datastore:"apps"` ShuffleGPT SyncDataUsage `json:"shuffle_gpt" datastore:"shuffle_gpt"` }
type TimeWindow ¶
type TimeWindow struct { Duration time.Duration Events []time.Time // contains filtered or unexported fields }
func NewTimeWindow ¶
func NewTimeWindow(duration time.Duration) *TimeWindow
func (*TimeWindow) AddEvent ¶
func (tw *TimeWindow) AddEvent(event time.Time)
func (*TimeWindow) CountEvents ¶
func (tw *TimeWindow) CountEvents(now time.Time) int
type Training ¶
type Training struct { Name string `json:"Name"` Email string `json:"Email"` NumberOfAttendees int `json:"numberOfAttendees"` Message string `json:"Message"` Time string `json:"Time"` Country string `json:"Country"` OrgId string `json:"org_id"` UserId string `json:"user_id"` Username string `json:"username"` ID string `json:"id"` SignupTime int64 `json:"signupTime"` }
type Translator ¶
type Translator struct { Src struct { Name string `json:"name" datastore:"name"` Value string `json:"value" datastore:"value,noindex"` Description string `json:"description" datastore:"description"` Required string `json:"required" datastore:"required"` Type string `json:"type" datastore:"type"` Schema struct { Type string `json:"type" datastore:"type"` } `json:"schema" datastore:"schema"` } `json:"src" datastore:"src"` Dst struct { Name string `json:"name" datastore:"name"` Value string `json:"value" datastore:"value,noindex"` Type string `json:"type" datastore:"type"` Description string `json:"description" datastore:"description"` Required string `json:"required" datastore:"required"` Schema struct { Type string `json:"type" datastore:"type"` } `json:"schema" datastore:"schema"` } `json:"dst" datastore:"dst"` }
type Trigger ¶
type Trigger struct { AppName string `json:"app_name" datastore:"app_name"` Description string `json:"description" datastore:"description,noindex"` LongDescription string `json:"long_description" datastore:"long_description"` Status string `json:"status" datastore:"status"` AppVersion string `json:"app_version" datastore:"app_version"` Errors []string `json:"errors" datastore:"errors"` ID string `json:"id" datastore:"id"` IsValid bool `json:"is_valid" datastore:"is_valid"` IsStartNode bool `json:"isStartNode" datastore:"isStartNode"` Label string `json:"label" datastore:"label"` SmallImage string `json:"small_image" datastore:"small_image,noindex" required:false yaml:"small_image"` LargeImage string `json:"large_image" datastore:"large_image,noindex" yaml:"large_image" required:false` Environment string `json:"environment" datastore:"environment"` TriggerType string `json:"trigger_type" datastore:"trigger_type"` Name string `json:"name" datastore:"name"` Tags []string `json:"tags" datastore:"tags" yaml:"tags"` Parameters []WorkflowAppActionParameter `json:"parameters" datastore: "parameters,noindex"` Position struct { X float64 `json:"x" datastore:"x"` Y float64 `json:"y" datastore:"y"` } `json:"position"` Priority int `json:"priority" datastore:"priority"` SourceWorkflow string `json:"source_workflow" yaml:"source_workflow" datastore:"source_workflow"` ExecutionDelay int64 `json:"execution_delay" yaml:"execution_delay" datastore:"execution_delay"` AppAssociation WorkflowApp `json:"app_association" yaml:"app_association" datastore:"app_association"` ParentControlled bool `json:"parent_controlled" datastore:"parent_controlled"` // If the parent workflow node exists, and shouldn't be editable by child workflow // TODO: make this a predictable field // generated from current ID + workflow ID + orgid as seed ReplacementForTrigger string `json:"replacement_for_trigger" datastore:"replacement_for_trigger"` // If this trigger is a replacement for another trigger }
Added environment for location to execute
type TriggerAuth ¶
type TriggerAuth struct { Id string `json:"id" datastore:"id"` SubscriptionId string `json:"subscriptionId" datastore:"subscriptionId"` Username string `json:"username" datastore:"username,noindex"` Owner string `json:"owner" datastore:"owner"` OrgId string `json:"org_id" datastore:"org_id"` Type string `json:"type" datastore:"type"` Code string `json:"code,omitempty" datastore:"code,noindex"` WorkflowId string `json:"workflow_id" datastore:"workflow_id,noindex"` Start string `json:"start" datastore:"start"` OauthToken OauthToken `json:"oauth_token,omitempty" datastore:"oauth_token"` AssociatedUser string `json:"associated_user" yaml:"associated_user" datastore:"associated_user"` Folders []string `json:"folders" yaml:"folders" datastore:"folders"` }
func GetTriggerAuth ¶
func GetTriggerAuth(ctx context.Context, id string) (*TriggerAuth, error)
type TriggerAuthWrapper ¶
type TypeValidation ¶
type TypeValidation struct { Valid bool `json:"valid" datastore:"valid"` ChangedAt int64 `json:"changed_at" datastore:"changed_at"` LastValid int64 `json:"last_valid" datastore:"last_valid"` ValidationRan bool `json:"validation_ran" datastore:"validation_ran"` NotificationsCreated int64 `json:"notifications_created" datastore:"notifications_created"` // For the last update, which did it WorkflowId string `json:"workflow_id" datastore:"workflow_id"` ExecutionId string `json:"execution_id" datastore:"execution_id"` NodeId string `json:"node_id" datastore:"node_id"` TotalProblems int `json:"total_problems" datastore:"total_problems"` Errors []ValidationProblem `json:"errors" datastore:"errors"` SubflowApps []ValidationProblem `json:"subflow_apps" datastore:"subflow_apps"` }
func GetExecutionValidation ¶
func GetExecutionValidation(ctx context.Context, executionId string) (TypeValidation, error)
type URL ¶
type URL struct { URL string `description:"Full URL" json:"url" validate:"required"` Domain *Domain `description:"Target domain of URL" json:"domain,omitempty" validate:"omitempty"` Fragment string `` /* 151-byte string literal not displayed */ Password string `description:"The password specified before the domain name" json:"password,omitempty" validate:"omitempty"` Path string `description:"Everything after the TLD and before the query parameters" json:"path,omitempty" validate:"omitempty"` Port *int `` /* 160-byte string literal not displayed */ QueryParams string `description:"The query parameters of the href_url" json:"query_params,omitempty" validate:"omitempty"` Scheme string `description:"Protocol for the href_url request, e.g. http" json:"scheme,omitempty" validate:"omitempty"` Username string `description:"The username specified before the domain name of the href_url" json:"username,omitempty" validate:"omitempty"` }
type Usecase ¶
type Usecase struct { Success bool `json:"success"` Name string `json:"name"` Description string `json:"description"` LeftText string `json:"left_text"` RightText string `json:"right_text"` LeftImage string `json:"left_image"` RightImage string `json:"right_image"` Direction string `json:"direction"` Process []struct { Source string `json:"source"` Target string `json:"target"` Description string `json:"description"` Human bool `json:"human"` } `json:"process"` Edited int64 `json:"edited"` EditedBy string `json:"edited_by"` Blogpost string `json:"blogpost"` Video string `json:"video"` Priority string `json:"priority"` WorkflowOutline string `json:"workflow_outline"` ExtraButtons []ExtraButton `json:"extra_buttons"` }
type UsecaseLinks ¶
type UsecaseLinks []struct { Name string `json:"name"` Color string `json:"color"` List []struct { Name string `json:"name" datastore:"name"` Priority int `json:"priority"` Type string `json:"type"` Last string `json:"last"` Items struct { Name string `json:"name"` Items struct { } `json:"items"` } `json:"items,omitempty"` Description string `json:"description,omitempty" datastore:"description,noindex"` Video string `json:"video,omitempty"` Blogpost string `json:"blogpost,omitempty"` ReferenceImage string `json:"reference_image,omitempty"` Matches []Workflow `json:"matches"` Keywords []string `json:"keywords"` KeywordMatches int `json:"keyword_matches"` } `json:"list"` }
type UsecaseMerge ¶
type UsecaseMerge struct { Name string `json:"name"` Id string `json:"id"` Source UsecaseStep `json:"source"` Middle []UsecaseStep `json:"middle"` Destination UsecaseStep `json:"destination"` OrgId string `json:"org_id"` Username string `json:"username"` UserId string `json:"user_id"` Timestamp int64 `json:"timestamp"` SourcePlatform string `json:"source_platform"` }
type UsecaseStep ¶
type UsecaseWrapper ¶
type User ¶
type User struct { Username string `datastore:"Username" json:"username"` Password string `datastore:"password,noindex" password:"password,omitempty"` Session string `datastore:"session" json:"session,omitempty"` Verified bool `datastore:"verified,noindex" json:"verified"` SupportAccess bool `datastore:"support_access" json:"support_access"` PrivateApps []WorkflowApp `datastore:"privateapps" json:"privateapps":` Role string `datastore:"role" json:"role"` Roles []string `datastore:"roles" json:"roles"` VerificationToken string `datastore:"verification_token" json:"verification_token"` ApiKey string `datastore:"apikey" json:"apikey"` ResetReference string `datastore:"reset_reference" json:"reset_reference"` Executions ExecutionInfo `datastore:"executions" json:"executions"` Limits UserLimits `datastore:"limits" json:"limits,omitempty"` MFA MFAInfo `datastore:"mfa_info,noindex" json:"mfa_info"` Authentication []UserAuth `datastore:"authentication,noindex" json:"authentication"` ResetTimeout int64 `datastore:"reset_timeout,noindex" json:"reset_timeout"` Id string `datastore:"id" json:"id"` Orgs []string `datastore:"orgs" json:"orgs"` CreationTime int64 `datastore:"creation_time" json:"creation_time"` ActiveOrg OrgMini `json:"active_org" datastore:"active_org"` Active bool `datastore:"active" json:"active"` FirstSetup bool `datastore:"first_setup" json:"first_setup"` LoginType string `datastore:"login_type" json:"login_type"` GeneratedUsername string `datastore:"generated_username" json:"generated_username"` SessionLogin bool `datastore:"session_login" json:"session_login"` // Whether it's a login with session or API (used to verify access) ValidatedSessionOrgs []string `datastore:"validated_session_orgs" json:"validated_session_orgs"` // Orgs that have been used in the current session for the user UsersLastSession string `datastore:"users_last_session" json:"users_last_session"` Theme string `datastore:"theme" json:"theme"` // Starting web3 integration EthInfo EthInfo `datastore:"eth_info" json:"eth_info"` PublicProfile PublicProfile `datastore:"public_profile" json:"public_profile"` // Tracking logins and such LoginInfo []LoginInfo `datastore:"login_info" json:"login_info"` PersonalInfo PersonalInfo `datastore:"personal_info" json:"personal_info"` Regions []string `datastore:"regions" json:"regions"` UserGeoInfo UserGeoInfo `datastore:"user_geo_info" json:"user_geo_info"` }
func FindGeneratedUser ¶
func HandleApiAuthentication ¶
type UserAuth ¶
type UserAuth struct { Description string `json:"description" datastore:"description" yaml:"description"` Name string `json:"name" datastore:"name" yaml:"name"` Workflows []string `json:"workflows" datastore:"workflows"` Username string `json:"username" datastore:"username"` Fields []UserAuthField `json:"fields" datastore:"fields"` }
Saves some data, not sure what to have here lol
type UserAuthField ¶
type UserGeoInfo ¶
type UserGeoInfo struct { City struct { Name string `datastore:"name" json:"name"` } `datastore:"city" json:"city"` State struct { Name string `datastore:"name" json:"name"` } `datastore:"state" json:"state"` Country struct { Name string `datastore:"name" json:"name"` ISOCode string `datastore:"iso_code" json:"iso_code"` } `datastore:"country" json:"country"` }
func GetUserLocation ¶
func GetUserLocation(ctx context.Context, ip string) (UserGeoInfo, error)
type UserInputResponse ¶
type UserInputResponse struct { Success bool `json:"success"` Source string `json:"source"` Reason string `json:"reason"` Information string `json:"information"` ClickInfo struct { Clicked bool `json:"clicked"` Time int64 `json:"time"` IP string `json:"ip"` User string `json:"user"` Note string `json:"note"` } `json:"click_info"` Subflow struct { Success bool `json:"success"` ExecutionID string `json:"execution_id"` Authorization string `json:"authorization"` } `json:"subflow"` SubflowURL string `json:"subflow_url"` }
type UserLimits ¶
type UserLimits struct { DailyApiUsage int64 `json:"daily_api_usage" datastore:"daily_api_usage"` DailyWorkflowExecutions int64 `json:"daily_workflow_executions" datastore:"daily_workflow_executions"` DailyCloudExecutions int64 `json:"daily_cloud_executions" datastore:"daily_cloud_executions"` DailyTriggers int64 `json:"daily_triggers" datastore:"daily_triggers"` DailyMailUsage int64 `json:"daily_mail_usage" datastore:"daily_mail_usage"` MaxTriggers int64 `json:"max_triggers" datastore:"max_triggers"` MaxWorkflows int64 `json:"max_workflows" datastore:"max_workflows"` }
Limits set for a user so that they can't do a shitload
type UserMini ¶
type UserMini struct { Username string `datastore:"Username" json:"username"` Id string `datastore:"id" json:"id"` Role string `datastore:"role" json:"role"` }
Used to contain users in miniOrg
type UserRequest ¶
type UserSearchWrapper ¶
type UserSearchWrapper struct { Took int `json:"took"` TimedOut bool `json:"timed_out"` Shards struct { Total int `json:"total"` Successful int `json:"successful"` Skipped int `json:"skipped"` Failed int `json:"failed"` } `json:"_shards"` Hits struct { Total struct { Value int `json:"value"` Relation string `json:"relation"` } `json:"total"` MaxScore float64 `json:"max_score"` Hits []struct { Index string `json:"_index"` Type string `json:"_type"` ID string `json:"_id"` Score float64 `json:"_score"` Source User `json:"_source"` } `json:"hits"` } `json:"hits"` }
type UserWrapper ¶
type ValidationProblem ¶
type ValidationProblem struct { Order int `json:"order" datastore:"order"` ActionId string `json:"action_id" datastore:"action_id"` AppId string `json:"app_id" datastore:"app_id"` AppName string `json:"app_name" datastore:"app_name"` Error string `json:"error" datastore:"error"` Type string `json:"type" datastore:"type"` WorkflowId string `json:"workflow_id,omitempty" datastore:"workflow_id"` // Wait for results or not. IF it's waiting for result, then order is swapped in UI Waiting bool `json:"waiting" datastore:"waiting"` }
type Valuereplace ¶
type Valuereplace struct { Key string `json:"key" datastore:"key" yaml:"key"` Value string `json:"value" datastore:"value,noindex" yaml:"value"` }
func TranslateBadFieldFormats ¶
func TranslateBadFieldFormats(fields []Valuereplace) []Valuereplace
Fixes potential decision return or reference problems: {{list_tickets}} -> $list_tickets {{list_tickets[0].description}} -> $list_tickets.#0.description {{ticket.description}} -> $ticket.description
type WidgetMeta ¶
type WidgetMeta struct {
Color string `json:"color" datastore:"color"`
}
type WidgetPoint ¶
type WidgetPoint struct { Key string `json:"key" datastore:"key"` Data []WidgetPointData `json:"data" datastore:"data"` }
type WidgetPointData ¶
type WidgetPointData struct { Key string `json:"key" datastore:"key"` Data int64 `json:"data" datastore:"data"` MetaData WidgetMeta `json:"metadata" datastore:"metadata"` }
type Workflow ¶
type Workflow struct { WorkflowAsCode bool `json:"workflow_as_code" datastore:"workflow_as_code"` Actions []Action `json:"actions" datastore:"actions,noindex"` Branches []Branch `json:"branches" datastore:"branches,noindex"` VisualBranches []Branch `json:"visual_branches" datastore:"visual_branches,noindex"` Triggers []Trigger `json:"triggers" datastore:"triggers,noindex"` Comments []Comment `json:"comments" datastore:"comments,noindex"` Configuration struct { ExitOnError bool `json:"exit_on_error" datastore:"exit_on_error"` StartFromTop bool `json:"start_from_top" datastore:"start_from_top"` SkipNotifications bool `json:"skip_notifications" datastore:"skip_notifications"` } `json:"configuration,omitempty" datastore:"configuration"` Created int64 `json:"created" datastore:"created"` Edited int64 `json:"edited" datastore:"edited"` LastRuntime int64 `json:"last_runtime" datastore:"last_runtime"` DueDate int64 `json:"due_date" datastore:"due_date"` Errors []string `json:"errors,omitempty" datastore:"errors"` Tags []string `json:"tags,omitempty" datastore:"tags"` ID string `json:"id" datastore:"id"` IsValid bool `json:"is_valid" datastore:"is_valid"` Name string `json:"name" datastore:"name"` Description string `json:"description" datastore:"description,noindex"` Start string `json:"start" datastore:"start"` Owner string `json:"owner" datastore:"owner"` Sharing string `json:"sharing" datastore:"sharing"` // Not really used outside of Forms. Image string `json:"image,omitempty" datastore:"image,noindex"` Org []OrgMini `json:"org,omitempty" datastore:"org"` ExecutingOrg OrgMini `json:"execution_org,omitempty" datastore:"execution_org"` OrgId string `json:"org_id,omitempty" datastore:"org_id"` WorkflowVariables []Variable `json:"workflow_variables" datastore:"workflow_variables"` ExecutionVariables []Variable `json:"execution_variables,omitempty" datastore:"execution_variables"` ExecutionEnvironment string `json:"execution_environment" datastore:"execution_environment"` PreviouslySaved bool `json:"previously_saved" datastore:"first_save"` Categories Categories `json:"categories" datastore:"categories"` ExampleArgument string `json:"example_argument" datastore:"example_argument,noindex"` Public bool `json:"public" datastore:"public"` DefaultReturnValue string `json:"default_return_value" datastore:"default_return_value,noindex"` ContactInfo struct { Name string `json:"name" datastore:"name" yaml:"name"` Url string `json:"url" datastore:"url" yaml:"url"` } `json:"contact_info" datastore:"contact_info" yaml:"contact_info" required:false` PublishedId string `json:"published_id" yaml:"published_id"` RevisionId string `json:"revision_id" yaml:"revision_id"` Subflows []Workflow `json:"subflows,omitempty" yaml:"subflows"` UsecaseIds []string `json:"usecase_ids" yaml:"usecase_ids" datastore:"usecase_ids"` InputQuestions []InputQuestion `json:"input_questions" datastore:"input_questions"` FormControl FormControl `json:"form_control" datastore:"form_control"` Blogpost string `json:"blogpost" yaml:"blogpost"` Video string `json:"video" yaml:"video"` Status string `json:"status" datastore:"status"` WorkflowType string `json:"workflow_type" datastore:"workflow_type"` Generated bool `json:"generated" datastore:"generated"` Hidden bool `json:"hidden" datastore:"hidden"` UpdatedBy string `json:"updated_by" datastore:"updated_by"` // Whether it's manually validated or not Validated bool `json:"validated" datastore:"validated"` Validation TypeValidation `json:"validation" datastore:"validation"` // Distribution system for suborg/parentorg ParentWorkflowId string `json:"parentorg_workflow" datastore:"parentorg_workflow"` ChildWorkflowIds []string `json:"childorg_workflow_ids" datastore:"childorg_workflow_ids"` SuborgDistribution []string `json:"suborg_distribution" datastore:"suborg_distribution"` // Config for backup configs // This overrides org settings for the workflow BackupConfig BackupConfig `json:"backup_config" datastore:"backup_config"` AuthGroups []string `json:"auth_groups" datastore:"auth_groups"` }
func ConfigureDetectionWorkflow ¶
FIXME: This is not ready - just a starting point
func FindWorkflowByName ¶
func FixWorkflowPosition ¶
func GetAllWorkflowsByQuery ¶
func GetStandardDestWorkflow ¶
func GetStandardDestWorkflow(app *WorkflowApp, action string, enrich bool) *Workflow
Generates a standard destination workflow that uses: 1. A Startnode mapping $exec 2. An enrichment subflow that maps the data from $exec - A data merger of 1 & 2 - Integration framework with dest app
func GetStaticWorkflowHealth ¶
func GetWorkflow ¶
func ListChildWorkflows ¶
func ListWorkflowRevisions ¶
func SanitizeWorkflow ¶
type WorkflowApp ¶
type WorkflowApp struct { Name string `json:"name" yaml:"name" required:true datastore:"name"` AppVersion string `json:"app_version" yaml:"app_version" required:true datastore:"app_version"` ID string `json:"id" yaml:"id,omitempty" required:false datastore:"id"` Link string `json:"link" yaml:"link" required:false datastore:"link,noindex"` IsValid bool `json:"is_valid" yaml:"is_valid" required:true datastore:"is_valid"` Generated bool `json:"generated" yaml:"generated" required:false datastore:"generated"` Downloaded bool `json:"downloaded" yaml:"downloaded" required:false datastore:"downloaded"` Sharing bool `json:"sharing" yaml:"sharing" required:false datastore:"sharing"` Verified bool `json:"verified" yaml:"verified" required:false datastore:"verified"` Invalid bool `json:"invalid" yaml:"invalid" required:false datastore:"invalid"` Activated bool `json:"activated" yaml:"activated" required:false datastore:"activated"` Tested bool `json:"tested" yaml:"tested" required:false datastore:"tested"` Hash string `json:"hash" datastore:"hash" yaml:"hash"` // api.yaml+dockerfile+src/app.py for apps PrivateID string `json:"private_id" yaml:"private_id" required:false datastore:"private_id"` Environment string `json:"environment" datastore:"environment" required:true yaml:"environment"` SmallImage string `json:"small_image" datastore:"small_image,noindex" required:false yaml:"small_image"` LargeImage string `json:"large_image" datastore:"large_image,noindex" yaml:"large_image" required:false` ContactInfo struct { Name string `json:"name" datastore:"name" yaml:"name"` Url string `json:"url" datastore:"url" yaml:"url"` } `json:"contact_info" datastore:"contact_info" yaml:"contact_info" required:false` FolderMount struct { FolderMount bool `json:"folder_mount" datastore:"folder_mount"` SourceFolder string `json:"source_folder" datastore:"source_folder"` DestinationFolder string `json:"destination_folder" datastore:"destination_folder"` } `json:"folder_mount" datastore:"folder_mount"` Authentication Authentication `json:"authentication" yaml:"authentication" required:false datastore:"authentication"` Actions []WorkflowAppAction `json:"actions" yaml:"actions" required:true datastore:"actions,noindex"` Tags []string `json:"tags" yaml:"tags" required:false datastore:"activated"` Categories []string `json:"categories" yaml:"categories" required:false datastore:"categories"` Created int64 `json:"created" datastore:"created"` Edited int64 `json:"edited" datastore:"edited"` LastRuntime int64 `json:"last_runtime" datastore:"last_runtime"` Versions []AppVersion `json:"versions" datastore:"versions"` LoopVersions []string `json:"loop_versions" datastore:"loop_versions"` Owner string `json:"owner" datastore:"owner" yaml:"owner"` SharingConfig string `json:"sharing_config" yaml:"sharing_config" datastore:"sharing_config"` Public bool `json:"public" datastore:"public"` PublishedId string `json:"published_id" datastore:"published_id"` ChildIds []string `json:"child_ids" datastore:"child_ids"` ReferenceOrg string `json:"reference_org" datastore:"reference_org"` ReferenceUrl string `json:"reference_url" datastore:"reference_url"` ActionFilePath string `json:"action_file_path" datastore:"action_file_path"` Template bool `json:"template" datastore:"template,noindex"` Documentation string `json:"documentation" datastore:"documentation,noindex"` Description string `json:"description" datastore:"description,noindex"` DocumentationDownloadUrl string `json:"documentation_download_url" datastore:"documentation_download_url"` PrimaryUsecases []string `json:"primary_usecases" yaml:"primary_usecases" datastore:"primary_usecases"` SkippedBuild bool `json:"skipped_build" yaml:"skipped_build" required:false datastore:"skipped_build"` ReferenceInfo struct { OnpremBackup bool `json:"onprem_backup" datastore:"onprem_backup"` IsPartner bool `json:"is_partner" datastore:"is_partner"` PartnerContacts string `json:"partner_contacts" datastore:"partner_contacts"` DocumentationUrl string `json:"documentation_url" datastore:"documentation_url"` GithubUrl string `json:"github_url" datastore:"github_url"` Triggers []string `json:"triggers" datastore:"triggers"` } `json:"reference_info" datastore:"reference_info"` Blogpost string `json:"blogpost" yaml:"blogpost" datastore:"blogpost"` Video string `json:"video" yaml:"video" datastore:"video"` CompanyURL string `json:"company_url" datastore:"company_url" required:false yaml:"company_url"` Contributors []string `json:"contributors" datastore:"contributors"` RevisionId string `json:"revision_id" datastore:"revision_id"` Collection string `json:"collection" datastore:"collection"` }
func FindMatchingCategoryApps ¶
func FindMatchingCategoryApps(category string, apps []WorkflowApp, org *Org) []WorkflowApp
func FindRelevantApps ¶
func FindRelevantApps(appname string, apps []WorkflowApp) []WorkflowApp
func FindWorkflowAppByName ¶
func FindWorkflowAppByName(ctx context.Context, appName string) ([]WorkflowApp, error)
func GenerateYaml ¶
func GetAllWorkflowApps ¶
func GetPrioritizedApps ¶
func GetPrioritizedApps(ctx context.Context, user User) ([]WorkflowApp, error)
Gets apps based on a new schema instead of looping everything Primarily made for cloud. Load in this order: 1. Get ORGs' private apps 2. Get USERs' private apps 3. Get PUBLIC apps
func GetSingulApp ¶
func GetSingulApp(sourcepath, appname string) (*WorkflowApp, error)
func GetUserApps ¶
func GetUserApps(ctx context.Context, userId string) ([]WorkflowApp, error)
func UploadAppSpecFiles ¶
func UploadAppSpecFiles(ctx context.Context, client *storage.Client, api WorkflowApp, parsed ParsedOpenApi) (WorkflowApp, error)
type WorkflowAppAction ¶
type WorkflowAppAction struct { Description string `json:"description" datastore:"description,noindex"` ID string `json:"id" datastore:"id" yaml:"id,omitempty"` Name string `json:"name" datastore:"name"` AppID string `json:"app_id" datastore:"app_id"` AppName string `json:"app_name,omitempty" datastore:"app_name"` AppVersion string `json:"app_version,omitempty" datastore:"app_version"` Label string `json:"label" datastore:"label"` NodeType string `json:"node_type" datastore:"node_type"` Environment string `json:"environment" datastore:"environment"` Sharing bool `json:"sharing" datastore:"sharing"` PrivateID string `json:"private_id" datastore:"private_id"` PublicID string `json:"public_id" datastore:"public_id"` Tags []string `json:"tags" datastore:"tags" yaml:"tags"` LargeImage string `json:"large_image" datastore:"large_image"` Authentication []AuthenticationStore `json:"authentication" datastore:"authentication,noindex" yaml:"authentication,omitempty"` Tested bool `json:"tested" datastore:"tested" yaml:"tested"` Parameters []WorkflowAppActionParameter `json:"parameters" datastore: "parameters"` InvalidParameters []WorkflowAppActionParameter `json:"previous_parameters,omitempty" datastore: "previous_parameters,noindex"` ExecutionVariable Variable `json:"execution_variable" datastore:"execution_variables"` Returns struct { Description string `json:"description" datastore:"returns" yaml:"description,omitempty"` Example string `json:"example" datastore:"example,noindex" yaml:"example"` ID string `json:"id" datastore:"id" yaml:"id,omitempty"` Schema SchemaDefinition `json:"schema" datastore:"schema" yaml:"schema"` } `json:"returns" datastore:"returns"` AuthenticationId string `json:"authentication_id" datastore:"authentication_id"` Example string `json:"example,noindex" datastore:"example" yaml:"example"` AuthNotRequired bool `json:"auth_not_required" datastore:"auth_not_required" yaml:"auth_not_required"` SourceWorkflow string `json:"source_workflow" yaml:"source_workflow" datastore:"source_workflow"` RunMagicOutput bool `json:"run_magic_output" datastore:"run_magic_output" yaml:"run_magic_output"` RunMagicInput bool `json:"run_magic_input" datastore:"run_magic_input" yaml:"run_magic_input"` ExecutionDelay int64 `json:"execution_delay" datastore:"execution_delay"` RequiredBodyFields []string `json:"required_body_fields" datastore:"required_body_fields"` CategoryLabel []string `json:"category_label" datastore:"category_label"` ExampleResponse string `json:"example_response" datastore:"example_response"` }
func AddCustomAction ¶
func AddCustomAction(swagger *openapi3.Swagger, api WorkflowApp) (WorkflowAppAction, string)
func GetAutofixAppLabelsCache ¶
func GetAutofixAppLabelsCache(ctx context.Context, app WorkflowApp, label string, keys []string) (WorkflowAppAction, error)
func HandleConnect ¶
func HandleConnect(swagger *openapi3.Swagger, api WorkflowApp, extraParameters []WorkflowAppActionParameter, path *openapi3.PathItem, actualPath string, optionalParameters []WorkflowAppActionParameter) (WorkflowAppAction, string)
func HandleDelete ¶
func HandleDelete(swagger *openapi3.Swagger, api WorkflowApp, extraParameters []WorkflowAppActionParameter, path *openapi3.PathItem, actualPath string, optionalParameters []WorkflowAppActionParameter) (WorkflowAppAction, string)
func HandleGet ¶
func HandleGet(swagger *openapi3.Swagger, api WorkflowApp, extraParameters []WorkflowAppActionParameter, path *openapi3.PathItem, actualPath string, optionalParameters []WorkflowAppActionParameter) (WorkflowAppAction, string)
func HandleHead ¶
func HandleHead(swagger *openapi3.Swagger, api WorkflowApp, extraParameters []WorkflowAppActionParameter, path *openapi3.PathItem, actualPath string, optionalParameters []WorkflowAppActionParameter) (WorkflowAppAction, string)
func HandlePatch ¶
func HandlePatch(swagger *openapi3.Swagger, api WorkflowApp, extraParameters []WorkflowAppActionParameter, path *openapi3.PathItem, actualPath string, optionalParameters []WorkflowAppActionParameter) (WorkflowAppAction, string)
func HandlePost ¶
func HandlePost(swagger *openapi3.Swagger, api WorkflowApp, extraParameters []WorkflowAppActionParameter, path *openapi3.PathItem, actualPath string, optionalParameters []WorkflowAppActionParameter) (WorkflowAppAction, string)
func HandlePut ¶
func HandlePut(swagger *openapi3.Swagger, api WorkflowApp, extraParameters []WorkflowAppActionParameter, path *openapi3.PathItem, actualPath string, optionalParameters []WorkflowAppActionParameter) (WorkflowAppAction, string)
type WorkflowAppActionParameter ¶
type WorkflowAppActionParameter struct { Description string `json:"description" datastore:"description,noindex" yaml:"description"` ID string `json:"id" datastore:"id" yaml:"id,omitempty"` Name string `json:"name" datastore:"name" yaml:"name"` Example string `json:"example" datastore:"example,noindex" yaml:"example"` Value string `json:"value" datastore:"value,noindex" yaml:"value,omitempty"` Multiline bool `json:"multiline" datastore:"multiline" yaml:"multiline"` Multiselect bool `json:"multiselect" datastore:"multiselect" yaml:"multiselect"` Options []string `json:"options" datastore:"options" yaml:"options"` ActionField string `json:"action_field" datastore:"action_field" yaml:"actionfield,omitempty"` Variant string `json:"variant" datastore:"variant" yaml:"variant,omitempty"` Required bool `json:"required" datastore:"required" yaml:"required"` Configuration bool `json:"configuration" datastore:"configuration" yaml:"configuration"` Tags []string `json:"tags" datastore:"tags" yaml:"tags"` Schema SchemaDefinition `json:"schema" datastore:"schema" yaml:"schema"` SkipMulticheck bool `json:"skip_multicheck" datastore:"skip_multicheck" yaml:"skip_multicheck"` ValueReplace []Valuereplace `json:"value_replace" datastore:"value_replace,noindex" yaml:"value_replace,omitempty"` UniqueToggled bool `json:"unique_toggled" datastore:"unique_toggled" yaml:"unique_toggled"` Error string `json:"error" datastore:"error" yaml:"error"` Hidden bool `json:"hidden" datastore:"hidden" yaml:"hidden"` }
type WorkflowExecution ¶
type WorkflowExecution struct { Type string `json:"type" datastore:"type"` Status string `json:"status" datastore:"status"` Start string `json:"start" datastore:"start"` ExecutionArgument string `json:"execution_argument" datastore:"execution_argument,noindex"` ExecutionId string `json:"execution_id" datastore:"execution_id"` ExecutionOrg string `json:"execution_org" datastore:"execution_org"` StartedAt int64 `json:"started_at" datastore:"started_at"` CompletedAt int64 `json:"completed_at" datastore:"completed_at"` WorkflowId string `json:"workflow_id" datastore:"workflow_id"` LastNode string `json:"last_node" datastore:"last_node"` Authorization string `json:"authorization" datastore:"authorization"` Result string `json:"result" datastore:"result,noindex"` ProjectId string `json:"project_id" datastore:"project_id"` Locations []string `json:"locations,omitempty" datastore:"locations"` Workflow Workflow `json:"workflow,omitempty" datastore:"workflow,noindex"` Results []ActionResult `json:"results" datastore:"results,noindex"` ExecutionVariables []Variable `json:"execution_variables,omitempty" datastore:"execution_variables,omitempty"` OrgId string `json:"org_id" datastore:"org_id"` ExecutionSource string `json:"execution_source" datastore:"execution_source"` ExecutionParent string `json:"execution_parent" datastore:"execution_parent"` ExecutionSourceNode string `json:"execution_source_node" yaml:"execution_source_node"` ExecutionSourceAuth string `json:"execution_source_auth" yaml:"execution_source_auth"` SubExecutionCount int64 `json:"sub_execution_count" yaml:"sub_execution_count"` // Max depth to execute subflows in infinite loops (10 by default) Priority int64 `json:"priority" datastore:"priority" yaml:"priority"` // Priority of the execution. Usually manual should be 10, and all other UNDER that. NotificationsCreated int64 `json:"notifications_created" datastore:"notifications_created"` Authgroup string `json:"authgroup" datastore:"authgroup"` Org OrgMini `json:"org" datastore:"-"` }
func Fixexecution ¶
func Fixexecution(ctx context.Context, workflowExecution WorkflowExecution) (WorkflowExecution, bool)
func GetBackendexecution ¶
func GetBackendexecution(ctx context.Context, executionId, authorization string) (WorkflowExecution, error)
func GetUnfinishedExecutions ¶
func GetUnfinishedExecutions(ctx context.Context, workflowId string) ([]WorkflowExecution, error)
func GetWorkflowExecution ¶
func GetWorkflowExecution(ctx context.Context, id string) (*WorkflowExecution, error)
func GetWorkflowExecutionByAuth ¶
func GetWorkflowExecutionByAuth(ctx context.Context, authId string) (*WorkflowExecution, error)
func GetWorkflowRunsBySearch ¶
func GetWorkflowRunsBySearch(ctx context.Context, orgId string, search WorkflowSearch) ([]WorkflowExecution, string, error)
func ParsedExecutionResult ¶
func ParsedExecutionResult(ctx context.Context, workflowExecution WorkflowExecution, actionResult ActionResult, updateParam bool, retries int64) (*WorkflowExecution, bool, error)
Updateparam is a check to see if the execution should be continuously validated
func PrepareSingleAction ¶
func PrepareSingleAction(ctx context.Context, user User, appId string, body []byte, runValidationAction bool, decision ...string) (WorkflowExecution, error)
Body = The action body received from the user to test.
func SanitizeExecution ¶
func SanitizeExecution(workflowExecution WorkflowExecution) WorkflowExecution
type WorkflowHealth ¶
type WorkflowHealth struct { Create bool `json:"create"` Run bool `json:"run"` BackendVersion string `json:"backend_version"` RunFinished bool `json:"run_finished"` // NOTE: This does not represent the actual time execution took, it includes the time took to send an API request for the exeution + get back the results for every action. ExecutionTook float64 `json:"execution_took"` RunStatus string `json:"run_status"` Delete bool `json:"delete"` ExecutionId string `json:"execution_id"` WorkflowId string `json:"workflow_id"` WorkflowValidation bool `json:"workflow_validation"` }
func RunOpsWorkflow ¶
func RunOpsWorkflow(apiKey string, orgId string, cloudRunUrl string) (WorkflowHealth, error)
type WorkflowNodeRelations ¶
type WorkflowNodeRelations struct {
Relations map[string]NodeRelation `json:"node_relations"`
}
type WorkflowSearch ¶
type WorkflowSearch struct { WorkflowId string `json:"workflow_id"` Limit int `json:"limit"` Cursor string `json:"cursor"` Status string `json:"status"` SearchFrom string `json:"start_time"` SearchUntil string `json:"end_time"` IgnoreOrg bool `json:"ignore_org"` SuborgRuns bool `json:"suborg_runs" default:"false"` }
type WorkflowSearchResult ¶
type WorkflowSearchResult struct { Success bool `json:"success"` Runs []WorkflowExecution `json:"runs"` Cursor string `json:"cursor"` }
type WorkflowSearchWrapper ¶
type WorkflowSearchWrapper struct { Took int `json:"took"` TimedOut bool `json:"timed_out"` Shards struct { Total int `json:"total"` Successful int `json:"successful"` Skipped int `json:"skipped"` Failed int `json:"failed"` } `json:"_shards"` Hits struct { Total struct { Value int `json:"value"` Relation string `json:"relation"` } `json:"total"` MaxScore float64 `json:"max_score"` Hits []struct { Index string `json:"_index"` Type string `json:"_type"` ID string `json:"_id"` Score float64 `json:"_score"` Source Workflow `json:"_source"` } `json:"hits"` } `json:"hits"` }