Documentation
¶
Index ¶
- func CalculateProjectHierarchyOffset(hierarchy int) int
- func ErrIsUniqueViolation(err error) bool
- type ActionType
- type AlertStatusTypes
- type Artifact
- type AuthorizationFlow
- type CountProfilesByEntityTypeRow
- type CreateArtifactParams
- type CreateOrganizationParams
- type CreateProfileForEntityParams
- type CreateProfileParams
- type CreateProjectParams
- type CreateProjectWithIDParams
- type CreateProviderParams
- type CreatePullRequestParams
- type CreateRepositoryParams
- type CreateRuleTypeParams
- type CreateSessionStateParams
- type DBTX
- type DeleteProfileForEntityParams
- type DeleteProfileParams
- type DeleteProjectRow
- type DeleteProviderParams
- type DeletePullRequestParams
- type DeleteRuleInstantiationParams
- type DeleteRuleStatusesForProfileAndRuleTypeParams
- type DeleteSessionStateByProjectIDParams
- type EnqueueFlushParams
- type Entities
- type Entitlement
- type EntityExecutionLock
- type EntityProfile
- type EntityProfileRule
- type EvalStatusTypes
- type ExtendQuerier
- type Feature
- type FlushCache
- type FlushCacheParams
- type GetAccessTokenByProjectIDParams
- type GetAccessTokenSinceDateParams
- type GetArtifactByIDRow
- type GetArtifactByNameParams
- type GetArtifactByNameRow
- type GetChildrenProjectsRow
- type GetEntityProfileByProjectAndNameParams
- type GetEntityProfileByProjectAndNameRow
- type GetFeatureInProjectParams
- type GetParentProjectsUntilParams
- type GetProfileByIDAndLockParams
- type GetProfileByIDParams
- type GetProfileByNameAndLockParams
- type GetProfileByProjectAndIDParams
- type GetProfileByProjectAndIDRow
- type GetProfileForEntityParams
- type GetProfileStatusByIdAndProjectParams
- type GetProfileStatusByIdAndProjectRow
- type GetProfileStatusByNameAndProjectParams
- type GetProfileStatusByNameAndProjectRow
- type GetProfileStatusByProjectRow
- type GetProjectIDBySessionStateRow
- type GetProviderByNameParams
- type GetPullRequestParams
- type GetRepositoryByIDAndProjectParams
- type GetRepositoryByRepoNameParams
- type GetRuleTypeByNameParams
- type ListOrganizationsParams
- type ListProfilesByProjectIDRow
- type ListProfilesInstantiatingRuleTypeRow
- type ListProvidersByProjectIDPaginatedParams
- type ListRegisteredRepositoriesByProjectIDAndProviderParams
- type ListRepositoriesByProjectIDParams
- type ListRuleEvaluationsByProfileIdParams
- type ListRuleEvaluationsByProfileIdRow
- type ListRuleTypesByProviderAndProjectParams
- type ListUsersParams
- type LockIfThresholdNotExceededParams
- type MigrationProfileBackfillLog
- type NullActionType
- type NullAlertStatusTypes
- type NullAuthorizationFlow
- type NullEntities
- type NullEvalStatusTypes
- type NullProviderType
- type NullRemediationStatusTypes
- type NullSeverity
- type OrphanProjectParams
- type Profile
- type ProfileStatus
- type Project
- type Provider
- type ProviderAccessToken
- type ProviderType
- type PullRequest
- type Querier
- type Queries
- func (q *Queries) CountProfilesByEntityType(ctx context.Context) ([]CountProfilesByEntityTypeRow, error)
- func (q *Queries) CountProfilesByName(ctx context.Context, name string) (int64, error)
- func (q *Queries) CountRepositories(ctx context.Context) (int64, error)
- func (q *Queries) CountUsers(ctx context.Context) (int64, error)
- func (q *Queries) CreateArtifact(ctx context.Context, arg CreateArtifactParams) (Artifact, error)
- func (q *Queries) CreateOrganization(ctx context.Context, arg CreateOrganizationParams) (Project, error)
- func (q *Queries) CreateProfile(ctx context.Context, arg CreateProfileParams) (Profile, error)
- func (q *Queries) CreateProfileForEntity(ctx context.Context, arg CreateProfileForEntityParams) (EntityProfile, error)
- func (q *Queries) CreateProject(ctx context.Context, arg CreateProjectParams) (Project, error)
- func (q *Queries) CreateProjectWithID(ctx context.Context, arg CreateProjectWithIDParams) (Project, error)
- func (q *Queries) CreateProvider(ctx context.Context, arg CreateProviderParams) (Provider, error)
- func (q *Queries) CreatePullRequest(ctx context.Context, arg CreatePullRequestParams) (PullRequest, error)
- func (q *Queries) CreateRepository(ctx context.Context, arg CreateRepositoryParams) (Repository, error)
- func (q *Queries) CreateRuleType(ctx context.Context, arg CreateRuleTypeParams) (RuleType, error)
- func (q *Queries) CreateSessionState(ctx context.Context, arg CreateSessionStateParams) (SessionStore, error)
- func (q *Queries) CreateUser(ctx context.Context, identitySubject string) (User, error)
- func (q *Queries) DeleteArtifact(ctx context.Context, id uuid.UUID) error
- func (q *Queries) DeleteExpiredSessionStates(ctx context.Context) error
- func (q *Queries) DeleteOrganization(ctx context.Context, id uuid.UUID) error
- func (q *Queries) DeleteProfile(ctx context.Context, arg DeleteProfileParams) error
- func (q *Queries) DeleteProfileForEntity(ctx context.Context, arg DeleteProfileForEntityParams) error
- func (q *Queries) DeleteProject(ctx context.Context, id uuid.UUID) ([]DeleteProjectRow, error)
- func (q *Queries) DeleteProvider(ctx context.Context, arg DeleteProviderParams) error
- func (q *Queries) DeletePullRequest(ctx context.Context, arg DeletePullRequestParams) error
- func (q *Queries) DeleteRepository(ctx context.Context, id uuid.UUID) error
- func (q *Queries) DeleteRuleInstantiation(ctx context.Context, arg DeleteRuleInstantiationParams) error
- func (q *Queries) DeleteRuleStatusesForProfileAndRuleType(ctx context.Context, arg DeleteRuleStatusesForProfileAndRuleTypeParams) error
- func (q *Queries) DeleteRuleType(ctx context.Context, id uuid.UUID) error
- func (q *Queries) DeleteSessionState(ctx context.Context, id int32) error
- func (q *Queries) DeleteSessionStateByProjectID(ctx context.Context, arg DeleteSessionStateByProjectIDParams) error
- func (q *Queries) DeleteUser(ctx context.Context, id int32) error
- func (q *Queries) EnqueueFlush(ctx context.Context, arg EnqueueFlushParams) (FlushCache, error)
- func (q *Queries) FlushCache(ctx context.Context, arg FlushCacheParams) (FlushCache, error)
- func (q *Queries) GetAccessTokenByProjectID(ctx context.Context, arg GetAccessTokenByProjectIDParams) (ProviderAccessToken, error)
- func (q *Queries) GetAccessTokenByProvider(ctx context.Context, provider string) ([]ProviderAccessToken, error)
- func (q *Queries) GetAccessTokenSinceDate(ctx context.Context, arg GetAccessTokenSinceDateParams) (ProviderAccessToken, error)
- func (q *Queries) GetArtifactByID(ctx context.Context, id uuid.UUID) (GetArtifactByIDRow, error)
- func (q *Queries) GetArtifactByName(ctx context.Context, arg GetArtifactByNameParams) (GetArtifactByNameRow, error)
- func (q *Queries) GetChildrenProjects(ctx context.Context, id uuid.UUID) ([]GetChildrenProjectsRow, error)
- func (q *Queries) GetEntityProfileByProjectAndName(ctx context.Context, arg GetEntityProfileByProjectAndNameParams) ([]GetEntityProfileByProjectAndNameRow, error)
- func (q *Queries) GetFeatureInProject(ctx context.Context, arg GetFeatureInProjectParams) (json.RawMessage, error)
- func (q *Queries) GetOrganization(ctx context.Context, id uuid.UUID) (Project, error)
- func (q *Queries) GetOrganizationByName(ctx context.Context, name string) (Project, error)
- func (q *Queries) GetOrganizationForUpdate(ctx context.Context, name string) (Project, error)
- func (q *Queries) GetParentProjects(ctx context.Context, id uuid.UUID) ([]uuid.UUID, error)
- func (q *Queries) GetParentProjectsUntil(ctx context.Context, arg GetParentProjectsUntilParams) ([]uuid.UUID, error)
- func (q *Queries) GetProfileByID(ctx context.Context, arg GetProfileByIDParams) (Profile, error)
- func (q *Queries) GetProfileByIDAndLock(ctx context.Context, arg GetProfileByIDAndLockParams) (Profile, error)
- func (q *Queries) GetProfileByNameAndLock(ctx context.Context, arg GetProfileByNameAndLockParams) (Profile, error)
- func (q *Queries) GetProfileByProjectAndID(ctx context.Context, arg GetProfileByProjectAndIDParams) ([]GetProfileByProjectAndIDRow, error)
- func (q *Queries) GetProfileForEntity(ctx context.Context, arg GetProfileForEntityParams) (EntityProfile, error)
- func (q *Queries) GetProfileStatusByIdAndProject(ctx context.Context, arg GetProfileStatusByIdAndProjectParams) (GetProfileStatusByIdAndProjectRow, error)
- func (q *Queries) GetProfileStatusByNameAndProject(ctx context.Context, arg GetProfileStatusByNameAndProjectParams) (GetProfileStatusByNameAndProjectRow, error)
- func (q *Queries) GetProfileStatusByProject(ctx context.Context, projectID uuid.UUID) ([]GetProfileStatusByProjectRow, error)
- func (q *Queries) GetProjectByID(ctx context.Context, id uuid.UUID) (Project, error)
- func (q *Queries) GetProjectByName(ctx context.Context, name string) (Project, error)
- func (q *Queries) GetProjectIDBySessionState(ctx context.Context, sessionState string) (GetProjectIDBySessionStateRow, error)
- func (q *Queries) GetProviderByID(ctx context.Context, id uuid.UUID) (Provider, error)
- func (q *Queries) GetProviderByName(ctx context.Context, arg GetProviderByNameParams) (Provider, error)
- func (q *Queries) GetPullRequest(ctx context.Context, arg GetPullRequestParams) (PullRequest, error)
- func (q *Queries) GetPullRequestByID(ctx context.Context, id uuid.UUID) (PullRequest, error)
- func (q *Queries) GetRepositoryByID(ctx context.Context, id uuid.UUID) (Repository, error)
- func (q *Queries) GetRepositoryByIDAndProject(ctx context.Context, arg GetRepositoryByIDAndProjectParams) (Repository, error)
- func (q *Queries) GetRepositoryByRepoID(ctx context.Context, repoID int64) (Repository, error)
- func (q *Queries) GetRepositoryByRepoName(ctx context.Context, arg GetRepositoryByRepoNameParams) (Repository, error)
- func (q *Queries) GetRuleEvaluationByProfileIdAndRuleType(ctx context.Context, profileID uuid.UUID, entityType NullEntities, ...) (ListRuleEvaluationsByProfileIdRow, error)
- func (q *Queries) GetRuleTypeByID(ctx context.Context, id uuid.UUID) (RuleType, error)
- func (q *Queries) GetRuleTypeByName(ctx context.Context, arg GetRuleTypeByNameParams) (RuleType, error)
- func (q *Queries) GetUserByID(ctx context.Context, id int32) (User, error)
- func (q *Queries) GetUserBySubject(ctx context.Context, identitySubject string) (User, error)
- func (q *Queries) GlobalListProviders(ctx context.Context) ([]Provider, error)
- func (q *Queries) GlobalListProvidersByName(ctx context.Context, name string) ([]Provider, error)
- func (q *Queries) ListArtifactsByRepoID(ctx context.Context, repositoryID uuid.UUID) ([]Artifact, error)
- func (q *Queries) ListFlushCache(ctx context.Context) ([]FlushCache, error)
- func (q *Queries) ListNonOrgProjects(ctx context.Context) ([]Project, error)
- func (q *Queries) ListOldOrgProjects(ctx context.Context) ([]Project, error)
- func (q *Queries) ListOrganizations(ctx context.Context, arg ListOrganizationsParams) ([]Project, error)
- func (q *Queries) ListProfilesByProjectID(ctx context.Context, projectID uuid.UUID) ([]ListProfilesByProjectIDRow, error)
- func (q *Queries) ListProfilesInstantiatingRuleType(ctx context.Context, ruleTypeID uuid.UUID) ([]ListProfilesInstantiatingRuleTypeRow, error)
- func (q *Queries) ListProvidersByProjectID(ctx context.Context, projects []uuid.UUID) ([]Provider, error)
- func (q *Queries) ListProvidersByProjectIDPaginated(ctx context.Context, arg ListProvidersByProjectIDPaginatedParams) ([]Provider, error)
- func (q *Queries) ListRegisteredRepositoriesByProjectIDAndProvider(ctx context.Context, ...) ([]Repository, error)
- func (q *Queries) ListRepositoriesByProjectID(ctx context.Context, arg ListRepositoriesByProjectIDParams) ([]Repository, error)
- func (q *Queries) ListRuleEvaluationsByProfileId(ctx context.Context, arg ListRuleEvaluationsByProfileIdParams) ([]ListRuleEvaluationsByProfileIdRow, error)
- func (q *Queries) ListRuleTypesByProviderAndProject(ctx context.Context, arg ListRuleTypesByProviderAndProjectParams) ([]RuleType, error)
- func (q *Queries) ListUsers(ctx context.Context, arg ListUsersParams) ([]User, error)
- func (q *Queries) LockIfThresholdNotExceeded(ctx context.Context, arg LockIfThresholdNotExceededParams) (EntityExecutionLock, error)
- func (q *Queries) OrphanProject(ctx context.Context, arg OrphanProjectParams) (Project, error)
- func (q *Queries) ReleaseLock(ctx context.Context, arg ReleaseLockParams) error
- func (q *Queries) UpdateLease(ctx context.Context, arg UpdateLeaseParams) error
- func (q *Queries) UpdateOrganization(ctx context.Context, arg UpdateOrganizationParams) (Project, error)
- func (q *Queries) UpdateProfile(ctx context.Context, arg UpdateProfileParams) (Profile, error)
- func (q *Queries) UpdateProjectMeta(ctx context.Context, arg UpdateProjectMetaParams) (Project, error)
- func (q *Queries) UpdateProvider(ctx context.Context, arg UpdateProviderParams) error
- func (q *Queries) UpdateRuleType(ctx context.Context, arg UpdateRuleTypeParams) (RuleType, error)
- func (q *Queries) UpsertAccessToken(ctx context.Context, arg UpsertAccessTokenParams) (ProviderAccessToken, error)
- func (q *Queries) UpsertArtifact(ctx context.Context, arg UpsertArtifactParams) (Artifact, error)
- func (q *Queries) UpsertProfileForEntity(ctx context.Context, arg UpsertProfileForEntityParams) (EntityProfile, error)
- func (q *Queries) UpsertPullRequest(ctx context.Context, arg UpsertPullRequestParams) (PullRequest, error)
- func (q *Queries) UpsertRuleDetailsAlert(ctx context.Context, arg UpsertRuleDetailsAlertParams) (uuid.UUID, error)
- func (q *Queries) UpsertRuleDetailsEval(ctx context.Context, arg UpsertRuleDetailsEvalParams) (uuid.UUID, error)
- func (q *Queries) UpsertRuleDetailsRemediate(ctx context.Context, arg UpsertRuleDetailsRemediateParams) (uuid.UUID, error)
- func (q *Queries) UpsertRuleEvaluations(ctx context.Context, arg UpsertRuleEvaluationsParams) (uuid.UUID, error)
- func (q *Queries) UpsertRuleInstantiation(ctx context.Context, arg UpsertRuleInstantiationParams) (EntityProfileRule, error)
- func (q *Queries) WithTx(tx *sql.Tx) *Queries
- type ReleaseLockParams
- type RemediationStatusTypes
- type Repository
- type RuleDetailsAlert
- type RuleDetailsEval
- type RuleDetailsRemediate
- type RuleEvaluation
- type RuleType
- type SQLStore
- type SessionStore
- type Severity
- type Store
- type UpdateLeaseParams
- type UpdateOrganizationParams
- type UpdateProfileParams
- type UpdateProjectMetaParams
- type UpdateProviderParams
- type UpdateRuleTypeParams
- type UpsertAccessTokenParams
- type UpsertArtifactParams
- type UpsertProfileForEntityParams
- type UpsertPullRequestParams
- type UpsertRuleDetailsAlertParams
- type UpsertRuleDetailsEvalParams
- type UpsertRuleDetailsRemediateParams
- type UpsertRuleEvaluationsParams
- type UpsertRuleInstantiationParams
- type User
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CalculateProjectHierarchyOffset ¶
CalculateProjectHierarchyOffset will calculate the offset for the hierarchy in the returned array from GetChildrenProjects and GetParentProjects. This is because the calling project is also returned.
func ErrIsUniqueViolation ¶
ErrIsUniqueViolation returns true if the error is a unique violation
Types ¶
type ActionType ¶
type ActionType string
const ( ActionTypeOn ActionType = "on" ActionTypeOff ActionType = "off" ActionTypeDryRun ActionType = "dry_run" )
func (*ActionType) Scan ¶
func (e *ActionType) Scan(src interface{}) error
type AlertStatusTypes ¶
type AlertStatusTypes string
const ( AlertStatusTypesOn AlertStatusTypes = "on" AlertStatusTypesOff AlertStatusTypes = "off" AlertStatusTypesError AlertStatusTypes = "error" AlertStatusTypesSkipped AlertStatusTypes = "skipped" AlertStatusTypesNotAvailable AlertStatusTypes = "not_available" )
func (*AlertStatusTypes) Scan ¶
func (e *AlertStatusTypes) Scan(src interface{}) error
type Artifact ¶
type Artifact struct { ID uuid.UUID `json:"id"` RepositoryID uuid.UUID `json:"repository_id"` ArtifactName string `json:"artifact_name"` ArtifactType string `json:"artifact_type"` ArtifactVisibility string `json:"artifact_visibility"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` }
type AuthorizationFlow ¶ added in v0.0.35
type AuthorizationFlow string
const ( AuthorizationFlowUserInput AuthorizationFlow = "user_input" AuthorizationFlowOauth2AuthorizationCodeFlow AuthorizationFlow = "oauth2_authorization_code_flow" AuthorizationFlowGithubAppFlow AuthorizationFlow = "github_app_flow" AuthorizationFlowNone AuthorizationFlow = "none" )
func (*AuthorizationFlow) Scan ¶ added in v0.0.35
func (e *AuthorizationFlow) Scan(src interface{}) error
type CreateArtifactParams ¶
type CreateOrganizationParams ¶
type CreateOrganizationParams struct { Name string `json:"name"` Metadata json.RawMessage `json:"metadata"` }
type CreateProfileForEntityParams ¶
type CreateProfileForEntityParams struct { Entity Entities `json:"entity"` ProfileID uuid.UUID `json:"profile_id"` ContextualRules json.RawMessage `json:"contextual_rules"` }
type CreateProfileParams ¶
type CreateProfileParams struct { Provider string `json:"provider"` ProjectID uuid.UUID `json:"project_id"` Remediate NullActionType `json:"remediate"` Alert NullActionType `json:"alert"` Name string `json:"name"` ProviderID uuid.UUID `json:"provider_id"` }
type CreateProjectParams ¶
type CreateProjectParams struct { Name string `json:"name"` ParentID uuid.NullUUID `json:"parent_id"` Metadata json.RawMessage `json:"metadata"` }
type CreateProjectWithIDParams ¶ added in v0.0.27
type CreateProjectWithIDParams struct { ID uuid.UUID `json:"id"` Name string `json:"name"` Metadata json.RawMessage `json:"metadata"` }
type CreateProviderParams ¶
type CreateProviderParams struct { Name string `json:"name"` ProjectID uuid.UUID `json:"project_id"` Implements []ProviderType `json:"implements"` Definition json.RawMessage `json:"definition"` AuthFlows []AuthorizationFlow `json:"auth_flows"` }
type CreatePullRequestParams ¶
type CreateRepositoryParams ¶
type CreateRepositoryParams struct { Provider string `json:"provider"` ProjectID uuid.UUID `json:"project_id"` RepoOwner string `json:"repo_owner"` RepoName string `json:"repo_name"` RepoID int64 `json:"repo_id"` IsPrivate bool `json:"is_private"` IsFork bool `json:"is_fork"` WebhookID sql.NullInt64 `json:"webhook_id"` WebhookUrl string `json:"webhook_url"` DeployUrl string `json:"deploy_url"` CloneUrl string `json:"clone_url"` DefaultBranch sql.NullString `json:"default_branch"` License sql.NullString `json:"license"` ProviderID uuid.UUID `json:"provider_id"` }
type CreateRuleTypeParams ¶
type CreateRuleTypeParams struct { Name string `json:"name"` Provider string `json:"provider"` ProjectID uuid.UUID `json:"project_id"` Description string `json:"description"` Guidance string `json:"guidance"` Definition json.RawMessage `json:"definition"` SeverityValue Severity `json:"severity_value"` ProviderID uuid.UUID `json:"provider_id"` }
type CreateSessionStateParams ¶
type CreateSessionStateParams struct { Provider string `json:"provider"` ProjectID uuid.UUID `json:"project_id"` RemoteUser sql.NullString `json:"remote_user"` SessionState string `json:"session_state"` OwnerFilter sql.NullString `json:"owner_filter"` RedirectUrl sql.NullString `json:"redirect_url"` }
type DeleteProfileForEntityParams ¶ added in v0.0.16
type DeleteProfileParams ¶ added in v0.0.35
type DeleteProjectRow ¶
type DeleteProviderParams ¶
type DeletePullRequestParams ¶
type DeleteRuleInstantiationParams ¶ added in v0.0.16
type DeleteRuleStatusesForProfileAndRuleTypeParams ¶ added in v0.0.16
type EnqueueFlushParams ¶ added in v0.0.17
type Entitlement ¶
type EntityExecutionLock ¶ added in v0.0.17
type EntityExecutionLock struct { ID uuid.UUID `json:"id"` Entity Entities `json:"entity"` LockedBy uuid.UUID `json:"locked_by"` LastLockTime time.Time `json:"last_lock_time"` RepositoryID uuid.UUID `json:"repository_id"` ArtifactID uuid.NullUUID `json:"artifact_id"` PullRequestID uuid.NullUUID `json:"pull_request_id"` }
type EntityProfile ¶
type EntityProfileRule ¶
type EvalStatusTypes ¶
type EvalStatusTypes string
const ( EvalStatusTypesSuccess EvalStatusTypes = "success" EvalStatusTypesFailure EvalStatusTypes = "failure" EvalStatusTypesError EvalStatusTypes = "error" EvalStatusTypesSkipped EvalStatusTypes = "skipped" EvalStatusTypesPending EvalStatusTypes = "pending" )
func (*EvalStatusTypes) Scan ¶
func (e *EvalStatusTypes) Scan(src interface{}) error
type ExtendQuerier ¶
type ExtendQuerier interface { Querier GetRuleEvaluationByProfileIdAndRuleType(ctx context.Context, profileID uuid.UUID, entityType NullEntities, ruleName sql.NullString, entityID uuid.NullUUID, ruleTypeName sql.NullString) (ListRuleEvaluationsByProfileIdRow, error) }
ExtendQuerier extends the Querier interface with custom queries
type FlushCache ¶ added in v0.0.17
type FlushCacheParams ¶ added in v0.0.17
type GetArtifactByIDRow ¶
type GetArtifactByIDRow struct { ID uuid.UUID `json:"id"` RepositoryID uuid.UUID `json:"repository_id"` ArtifactName string `json:"artifact_name"` ArtifactType string `json:"artifact_type"` ArtifactVisibility string `json:"artifact_visibility"` CreatedAt time.Time `json:"created_at"` Provider string `json:"provider"` ProjectID uuid.UUID `json:"project_id"` RepoOwner string `json:"repo_owner"` RepoName string `json:"repo_name"` }
type GetArtifactByNameParams ¶ added in v0.0.22
type GetArtifactByNameRow ¶ added in v0.0.22
type GetArtifactByNameRow struct { ID uuid.UUID `json:"id"` RepositoryID uuid.UUID `json:"repository_id"` ArtifactName string `json:"artifact_name"` ArtifactType string `json:"artifact_type"` ArtifactVisibility string `json:"artifact_visibility"` CreatedAt time.Time `json:"created_at"` Provider string `json:"provider"` ProjectID uuid.UUID `json:"project_id"` RepoOwner string `json:"repo_owner"` RepoName string `json:"repo_name"` }
type GetChildrenProjectsRow ¶
type GetEntityProfileByProjectAndNameParams ¶ added in v0.0.16
type GetEntityProfileByProjectAndNameRow ¶ added in v0.0.16
type GetEntityProfileByProjectAndNameRow struct { ID uuid.UUID `json:"id"` Name string `json:"name"` Provider string `json:"provider"` ProjectID uuid.UUID `json:"project_id"` Remediate NullActionType `json:"remediate"` Alert NullActionType `json:"alert"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` ProviderID uuid.UUID `json:"provider_id"` ID_2 uuid.UUID `json:"id_2"` Entity Entities `json:"entity"` ProfileID uuid.UUID `json:"profile_id"` ContextualRules json.RawMessage `json:"contextual_rules"` CreatedAt_2 time.Time `json:"created_at_2"` UpdatedAt_2 time.Time `json:"updated_at_2"` }
type GetProfileByIDAndLockParams ¶ added in v0.0.35
type GetProfileByIDParams ¶ added in v0.0.35
type GetProfileByNameAndLockParams ¶ added in v0.0.16
type GetProfileByProjectAndIDRow ¶
type GetProfileByProjectAndIDRow struct { ID uuid.UUID `json:"id"` Name string `json:"name"` Provider string `json:"provider"` ProjectID uuid.UUID `json:"project_id"` Remediate NullActionType `json:"remediate"` Alert NullActionType `json:"alert"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` ProviderID uuid.UUID `json:"provider_id"` ID_2 uuid.UUID `json:"id_2"` Entity Entities `json:"entity"` ProfileID uuid.UUID `json:"profile_id"` ContextualRules json.RawMessage `json:"contextual_rules"` CreatedAt_2 time.Time `json:"created_at_2"` UpdatedAt_2 time.Time `json:"updated_at_2"` }
type GetProfileForEntityParams ¶ added in v0.0.16
type GetProjectIDBySessionStateRow ¶ added in v0.0.35
type GetProjectIDBySessionStateRow struct { Provider string `json:"provider"` ProjectID uuid.UUID `json:"project_id"` RemoteUser sql.NullString `json:"remote_user"` OwnerFilter sql.NullString `json:"owner_filter"` RedirectUrl sql.NullString `json:"redirect_url"` }
type GetProviderByNameParams ¶
type GetPullRequestParams ¶
type GetRuleTypeByNameParams ¶
type ListOrganizationsParams ¶
type ListProfilesByProjectIDRow ¶
type ListProfilesByProjectIDRow struct { ID uuid.UUID `json:"id"` Name string `json:"name"` Provider string `json:"provider"` ProjectID uuid.UUID `json:"project_id"` Remediate NullActionType `json:"remediate"` Alert NullActionType `json:"alert"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` ProviderID uuid.UUID `json:"provider_id"` ID_2 uuid.UUID `json:"id_2"` Entity Entities `json:"entity"` ProfileID uuid.UUID `json:"profile_id"` ContextualRules json.RawMessage `json:"contextual_rules"` CreatedAt_2 time.Time `json:"created_at_2"` UpdatedAt_2 time.Time `json:"updated_at_2"` }
type ListProvidersByProjectIDPaginatedParams ¶ added in v0.0.30
type ListRuleEvaluationsByProfileIdParams ¶
type ListRuleEvaluationsByProfileIdParams struct { ProfileID uuid.UUID `json:"profile_id"` EntityType NullEntities `json:"entity_type"` EntityID uuid.NullUUID `json:"entity_id"` RuleTypeName sql.NullString `json:"rule_type_name"` RuleName sql.NullString `json:"rule_name"` }
type ListRuleEvaluationsByProfileIdRow ¶
type ListRuleEvaluationsByProfileIdRow struct { EvalStatus NullEvalStatusTypes `json:"eval_status"` EvalLastUpdated sql.NullTime `json:"eval_last_updated"` EvalDetails sql.NullString `json:"eval_details"` RemStatus NullRemediationStatusTypes `json:"rem_status"` RemDetails sql.NullString `json:"rem_details"` RemLastUpdated sql.NullTime `json:"rem_last_updated"` AlertStatus NullAlertStatusTypes `json:"alert_status"` AlertDetails sql.NullString `json:"alert_details"` AlertMetadata pqtype.NullRawMessage `json:"alert_metadata"` AlertLastUpdated sql.NullTime `json:"alert_last_updated"` RepositoryID uuid.NullUUID `json:"repository_id"` Entity Entities `json:"entity"` RuleName string `json:"rule_name"` RepoName string `json:"repo_name"` RepoOwner string `json:"repo_owner"` Provider string `json:"provider"` RuleTypeName string `json:"rule_type_name"` RuleTypeID uuid.UUID `json:"rule_type_id"` }
type ListUsersParams ¶
type LockIfThresholdNotExceededParams ¶ added in v0.0.17
type MigrationProfileBackfillLog ¶ added in v0.0.29
type NullActionType ¶
type NullActionType struct { ActionType ActionType `json:"action_type"` Valid bool `json:"valid"` // Valid is true if ActionType is not NULL }
func (*NullActionType) Scan ¶
func (ns *NullActionType) Scan(value interface{}) error
Scan implements the Scanner interface.
type NullAlertStatusTypes ¶
type NullAlertStatusTypes struct { AlertStatusTypes AlertStatusTypes `json:"alert_status_types"` Valid bool `json:"valid"` // Valid is true if AlertStatusTypes is not NULL }
func (*NullAlertStatusTypes) Scan ¶
func (ns *NullAlertStatusTypes) Scan(value interface{}) error
Scan implements the Scanner interface.
type NullAuthorizationFlow ¶ added in v0.0.35
type NullAuthorizationFlow struct { AuthorizationFlow AuthorizationFlow `json:"authorization_flow"` Valid bool `json:"valid"` // Valid is true if AuthorizationFlow is not NULL }
func (*NullAuthorizationFlow) Scan ¶ added in v0.0.35
func (ns *NullAuthorizationFlow) Scan(value interface{}) error
Scan implements the Scanner interface.
type NullEntities ¶
type NullEntities struct { Entities Entities `json:"entities"` Valid bool `json:"valid"` // Valid is true if Entities is not NULL }
func (*NullEntities) Scan ¶
func (ns *NullEntities) Scan(value interface{}) error
Scan implements the Scanner interface.
type NullEvalStatusTypes ¶
type NullEvalStatusTypes struct { EvalStatusTypes EvalStatusTypes `json:"eval_status_types"` Valid bool `json:"valid"` // Valid is true if EvalStatusTypes is not NULL }
func (*NullEvalStatusTypes) Scan ¶
func (ns *NullEvalStatusTypes) Scan(value interface{}) error
Scan implements the Scanner interface.
type NullProviderType ¶
type NullProviderType struct { ProviderType ProviderType `json:"provider_type"` Valid bool `json:"valid"` // Valid is true if ProviderType is not NULL }
func (*NullProviderType) Scan ¶
func (ns *NullProviderType) Scan(value interface{}) error
Scan implements the Scanner interface.
type NullRemediationStatusTypes ¶
type NullRemediationStatusTypes struct { RemediationStatusTypes RemediationStatusTypes `json:"remediation_status_types"` Valid bool `json:"valid"` // Valid is true if RemediationStatusTypes is not NULL }
func (*NullRemediationStatusTypes) Scan ¶
func (ns *NullRemediationStatusTypes) Scan(value interface{}) error
Scan implements the Scanner interface.
type NullSeverity ¶ added in v0.0.32
type NullSeverity struct { Severity Severity `json:"severity"` Valid bool `json:"valid"` // Valid is true if Severity is not NULL }
func (*NullSeverity) Scan ¶ added in v0.0.32
func (ns *NullSeverity) Scan(value interface{}) error
Scan implements the Scanner interface.
type OrphanProjectParams ¶ added in v0.0.35
type OrphanProjectParams struct { ID uuid.UUID `json:"id"` Metadata json.RawMessage `json:"metadata"` }
type Profile ¶
type Profile struct { ID uuid.UUID `json:"id"` Name string `json:"name"` Provider string `json:"provider"` ProjectID uuid.UUID `json:"project_id"` Remediate NullActionType `json:"remediate"` Alert NullActionType `json:"alert"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` ProviderID uuid.UUID `json:"provider_id"` }
type ProfileStatus ¶
type Provider ¶
type Provider struct { ID uuid.UUID `json:"id"` Name string `json:"name"` Version string `json:"version"` ProjectID uuid.UUID `json:"project_id"` Implements []ProviderType `json:"implements"` Definition json.RawMessage `json:"definition"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` AuthFlows []AuthorizationFlow `json:"auth_flows"` }
type ProviderAccessToken ¶
type ProviderAccessToken struct { ID int32 `json:"id"` Provider string `json:"provider"` ProjectID uuid.UUID `json:"project_id"` OwnerFilter sql.NullString `json:"owner_filter"` EncryptedToken string `json:"encrypted_token"` ExpirationTime time.Time `json:"expiration_time"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` }
type ProviderType ¶
type ProviderType string
const ( ProviderTypeGithub ProviderType = "github" ProviderTypeRest ProviderType = "rest" ProviderTypeGit ProviderType = "git" ProviderTypeOci ProviderType = "oci" ProviderTypeRepoLister ProviderType = "repo-lister" )
func (*ProviderType) Scan ¶
func (e *ProviderType) Scan(src interface{}) error
type PullRequest ¶
type Querier ¶
type Querier interface { CountProfilesByEntityType(ctx context.Context) ([]CountProfilesByEntityTypeRow, error) CountProfilesByName(ctx context.Context, name string) (int64, error) CountRepositories(ctx context.Context) (int64, error) CountUsers(ctx context.Context) (int64, error) CreateArtifact(ctx context.Context, arg CreateArtifactParams) (Artifact, error) CreateProfile(ctx context.Context, arg CreateProfileParams) (Profile, error) CreateProfileForEntity(ctx context.Context, arg CreateProfileForEntityParams) (EntityProfile, error) CreateProject(ctx context.Context, arg CreateProjectParams) (Project, error) CreateProjectWithID(ctx context.Context, arg CreateProjectWithIDParams) (Project, error) CreateProvider(ctx context.Context, arg CreateProviderParams) (Provider, error) CreatePullRequest(ctx context.Context, arg CreatePullRequestParams) (PullRequest, error) CreateRepository(ctx context.Context, arg CreateRepositoryParams) (Repository, error) CreateRuleType(ctx context.Context, arg CreateRuleTypeParams) (RuleType, error) CreateSessionState(ctx context.Context, arg CreateSessionStateParams) (SessionStore, error) CreateUser(ctx context.Context, identitySubject string) (User, error) DeleteArtifact(ctx context.Context, id uuid.UUID) error DeleteExpiredSessionStates(ctx context.Context) error DeleteProfile(ctx context.Context, arg DeleteProfileParams) error DeleteProfileForEntity(ctx context.Context, arg DeleteProfileForEntityParams) error DeleteProject(ctx context.Context, id uuid.UUID) ([]DeleteProjectRow, error) DeleteProvider(ctx context.Context, arg DeleteProviderParams) error DeletePullRequest(ctx context.Context, arg DeletePullRequestParams) error DeleteRepository(ctx context.Context, id uuid.UUID) error DeleteRuleInstantiation(ctx context.Context, arg DeleteRuleInstantiationParams) error // DeleteRuleStatusesForProfileAndRuleType deletes a rule evaluation // but locks the table before doing so. DeleteRuleStatusesForProfileAndRuleType(ctx context.Context, arg DeleteRuleStatusesForProfileAndRuleTypeParams) error DeleteRuleType(ctx context.Context, id uuid.UUID) error DeleteSessionState(ctx context.Context, id int32) error DeleteSessionStateByProjectID(ctx context.Context, arg DeleteSessionStateByProjectIDParams) error DeleteUser(ctx context.Context, id int32) error EnqueueFlush(ctx context.Context, arg EnqueueFlushParams) (FlushCache, error) FlushCache(ctx context.Context, arg FlushCacheParams) (FlushCache, error) GetAccessTokenByProjectID(ctx context.Context, arg GetAccessTokenByProjectIDParams) (ProviderAccessToken, error) GetAccessTokenByProvider(ctx context.Context, provider string) ([]ProviderAccessToken, error) GetAccessTokenSinceDate(ctx context.Context, arg GetAccessTokenSinceDateParams) (ProviderAccessToken, error) GetArtifactByID(ctx context.Context, id uuid.UUID) (GetArtifactByIDRow, error) GetArtifactByName(ctx context.Context, arg GetArtifactByNameParams) (GetArtifactByNameRow, error) GetChildrenProjects(ctx context.Context, id uuid.UUID) ([]GetChildrenProjectsRow, error) GetEntityProfileByProjectAndName(ctx context.Context, arg GetEntityProfileByProjectAndNameParams) ([]GetEntityProfileByProjectAndNameRow, error) // GetFeatureInProject verifies if a feature is available for a specific project. // It returns the settings for the feature if it is available. GetFeatureInProject(ctx context.Context, arg GetFeatureInProjectParams) (json.RawMessage, error) GetParentProjects(ctx context.Context, id uuid.UUID) ([]uuid.UUID, error) GetParentProjectsUntil(ctx context.Context, arg GetParentProjectsUntilParams) ([]uuid.UUID, error) GetProfileByID(ctx context.Context, arg GetProfileByIDParams) (Profile, error) GetProfileByIDAndLock(ctx context.Context, arg GetProfileByIDAndLockParams) (Profile, error) GetProfileByNameAndLock(ctx context.Context, arg GetProfileByNameAndLockParams) (Profile, error) GetProfileByProjectAndID(ctx context.Context, arg GetProfileByProjectAndIDParams) ([]GetProfileByProjectAndIDRow, error) GetProfileForEntity(ctx context.Context, arg GetProfileForEntityParams) (EntityProfile, error) GetProfileStatusByIdAndProject(ctx context.Context, arg GetProfileStatusByIdAndProjectParams) (GetProfileStatusByIdAndProjectRow, error) GetProfileStatusByNameAndProject(ctx context.Context, arg GetProfileStatusByNameAndProjectParams) (GetProfileStatusByNameAndProjectRow, error) GetProfileStatusByProject(ctx context.Context, projectID uuid.UUID) ([]GetProfileStatusByProjectRow, error) GetProjectByID(ctx context.Context, id uuid.UUID) (Project, error) GetProjectByName(ctx context.Context, name string) (Project, error) GetProjectIDBySessionState(ctx context.Context, sessionState string) (GetProjectIDBySessionStateRow, error) GetProviderByID(ctx context.Context, id uuid.UUID) (Provider, error) // GetProviderByName allows us to get a provider by its name. This takes // into account the project hierarchy, so it will only return the provider // if it exists in the project or any of its ancestors. It'll return the first // provider that matches the name. GetProviderByName(ctx context.Context, arg GetProviderByNameParams) (Provider, error) GetPullRequest(ctx context.Context, arg GetPullRequestParams) (PullRequest, error) GetPullRequestByID(ctx context.Context, id uuid.UUID) (PullRequest, error) // avoid using this, where possible use GetRepositoryByIDAndProject instead GetRepositoryByID(ctx context.Context, id uuid.UUID) (Repository, error) GetRepositoryByIDAndProject(ctx context.Context, arg GetRepositoryByIDAndProjectParams) (Repository, error) GetRepositoryByRepoID(ctx context.Context, repoID int64) (Repository, error) GetRepositoryByRepoName(ctx context.Context, arg GetRepositoryByRepoNameParams) (Repository, error) GetRuleTypeByID(ctx context.Context, id uuid.UUID) (RuleType, error) GetRuleTypeByName(ctx context.Context, arg GetRuleTypeByNameParams) (RuleType, error) GetUserByID(ctx context.Context, id int32) (User, error) GetUserBySubject(ctx context.Context, identitySubject string) (User, error) GlobalListProviders(ctx context.Context) ([]Provider, error) GlobalListProvidersByName(ctx context.Context, name string) ([]Provider, error) ListArtifactsByRepoID(ctx context.Context, repositoryID uuid.UUID) ([]Artifact, error) ListFlushCache(ctx context.Context) ([]FlushCache, error) // ListNonOrgProjects is a query that lists all non-organization projects. // projects have a boolean field is_organization that is set to true if the project is an organization. // this flag is no longer used and will be removed in the future. ListNonOrgProjects(ctx context.Context) ([]Project, error) // ListOrgProjects is a query that lists all organization projects. // projects have a boolean field is_organization that is set to true if the project is an organization. // this flag is no longer used and will be removed in the future. ListOldOrgProjects(ctx context.Context) ([]Project, error) ListProfilesByProjectID(ctx context.Context, projectID uuid.UUID) ([]ListProfilesByProjectIDRow, error) // get profile information that instantiate a rule. This is done by joining the profiles with entity_profiles, then correlating those // with entity_profile_rules. The rule_type_id is used to filter the results. Note that we only really care about the overal profile, // so we only return the profile information. We also should group the profiles so that we don't get duplicates. ListProfilesInstantiatingRuleType(ctx context.Context, ruleTypeID uuid.UUID) ([]ListProfilesInstantiatingRuleTypeRow, error) // ListProvidersByProjectID allows us to list all providers // for a given array of projects. ListProvidersByProjectID(ctx context.Context, projects []uuid.UUID) ([]Provider, error) // ListProvidersByProjectIDPaginated allows us to lits all providers for a given project // with pagination taken into account. In this case, the cursor is the creation date. ListProvidersByProjectIDPaginated(ctx context.Context, arg ListProvidersByProjectIDPaginatedParams) ([]Provider, error) ListRegisteredRepositoriesByProjectIDAndProvider(ctx context.Context, arg ListRegisteredRepositoriesByProjectIDAndProviderParams) ([]Repository, error) ListRepositoriesByProjectID(ctx context.Context, arg ListRepositoriesByProjectIDParams) ([]Repository, error) ListRuleEvaluationsByProfileId(ctx context.Context, arg ListRuleEvaluationsByProfileIdParams) ([]ListRuleEvaluationsByProfileIdRow, error) ListRuleTypesByProviderAndProject(ctx context.Context, arg ListRuleTypesByProviderAndProjectParams) ([]RuleType, error) ListUsers(ctx context.Context, arg ListUsersParams) ([]User, error) // LockIfThresholdNotExceeded is used to lock an entity for execution. It will // attempt to insert or update the entity_execution_lock table only if the // last_lock_time is older than the threshold. If the lock is successful, it // will return the lock record. If the lock is unsuccessful, it will return // NULL. LockIfThresholdNotExceeded(ctx context.Context, arg LockIfThresholdNotExceededParams) (EntityExecutionLock, error) // OrphanProject is a query that sets the parent_id of a project to NULL. OrphanProject(ctx context.Context, arg OrphanProjectParams) (Project, error) // ReleaseLock is used to release a lock on an entity. It will delete the // entity_execution_lock record if the lock is held by the given locked_by // value. ReleaseLock(ctx context.Context, arg ReleaseLockParams) error UpdateLease(ctx context.Context, arg UpdateLeaseParams) error UpdateProfile(ctx context.Context, arg UpdateProfileParams) (Profile, error) UpdateProjectMeta(ctx context.Context, arg UpdateProjectMetaParams) (Project, error) UpdateProvider(ctx context.Context, arg UpdateProviderParams) error UpdateRuleType(ctx context.Context, arg UpdateRuleTypeParams) (RuleType, error) UpsertAccessToken(ctx context.Context, arg UpsertAccessTokenParams) (ProviderAccessToken, error) UpsertArtifact(ctx context.Context, arg UpsertArtifactParams) (Artifact, error) UpsertProfileForEntity(ctx context.Context, arg UpsertProfileForEntityParams) (EntityProfile, error) UpsertPullRequest(ctx context.Context, arg UpsertPullRequestParams) (PullRequest, error) UpsertRuleDetailsAlert(ctx context.Context, arg UpsertRuleDetailsAlertParams) (uuid.UUID, error) UpsertRuleDetailsEval(ctx context.Context, arg UpsertRuleDetailsEvalParams) (uuid.UUID, error) UpsertRuleDetailsRemediate(ctx context.Context, arg UpsertRuleDetailsRemediateParams) (uuid.UUID, error) UpsertRuleEvaluations(ctx context.Context, arg UpsertRuleEvaluationsParams) (uuid.UUID, error) UpsertRuleInstantiation(ctx context.Context, arg UpsertRuleInstantiationParams) (EntityProfileRule, error) }
type Queries ¶
type Queries struct {
// contains filtered or unexported fields
}
func (*Queries) CountProfilesByEntityType ¶
func (q *Queries) CountProfilesByEntityType(ctx context.Context) ([]CountProfilesByEntityTypeRow, error)
func (*Queries) CountProfilesByName ¶ added in v0.0.20
func (*Queries) CountRepositories ¶ added in v0.0.16
func (*Queries) CreateArtifact ¶
func (*Queries) CreateOrganization ¶
func (*Queries) CreateProfile ¶
func (*Queries) CreateProfileForEntity ¶
func (q *Queries) CreateProfileForEntity(ctx context.Context, arg CreateProfileForEntityParams) (EntityProfile, error)
func (*Queries) CreateProject ¶
func (*Queries) CreateProjectWithID ¶ added in v0.0.27
func (*Queries) CreateProvider ¶
func (*Queries) CreatePullRequest ¶
func (q *Queries) CreatePullRequest(ctx context.Context, arg CreatePullRequestParams) (PullRequest, error)
func (*Queries) CreateRepository ¶
func (q *Queries) CreateRepository(ctx context.Context, arg CreateRepositoryParams) (Repository, error)
func (*Queries) CreateRuleType ¶
func (*Queries) CreateSessionState ¶
func (q *Queries) CreateSessionState(ctx context.Context, arg CreateSessionStateParams) (SessionStore, error)
func (*Queries) CreateUser ¶
func (*Queries) DeleteArtifact ¶
func (*Queries) DeleteExpiredSessionStates ¶
func (*Queries) DeleteOrganization ¶
func (*Queries) DeleteProfile ¶
func (q *Queries) DeleteProfile(ctx context.Context, arg DeleteProfileParams) error
func (*Queries) DeleteProfileForEntity ¶ added in v0.0.16
func (q *Queries) DeleteProfileForEntity(ctx context.Context, arg DeleteProfileForEntityParams) error
func (*Queries) DeleteProject ¶
func (*Queries) DeleteProvider ¶
func (q *Queries) DeleteProvider(ctx context.Context, arg DeleteProviderParams) error
func (*Queries) DeletePullRequest ¶
func (q *Queries) DeletePullRequest(ctx context.Context, arg DeletePullRequestParams) error
func (*Queries) DeleteRepository ¶
func (*Queries) DeleteRuleInstantiation ¶ added in v0.0.16
func (q *Queries) DeleteRuleInstantiation(ctx context.Context, arg DeleteRuleInstantiationParams) error
func (*Queries) DeleteRuleStatusesForProfileAndRuleType ¶ added in v0.0.16
func (q *Queries) DeleteRuleStatusesForProfileAndRuleType(ctx context.Context, arg DeleteRuleStatusesForProfileAndRuleTypeParams) error
DeleteRuleStatusesForProfileAndRuleType deletes a rule evaluation but locks the table before doing so.
func (*Queries) DeleteRuleType ¶
func (*Queries) DeleteSessionState ¶
func (*Queries) DeleteSessionStateByProjectID ¶
func (q *Queries) DeleteSessionStateByProjectID(ctx context.Context, arg DeleteSessionStateByProjectIDParams) error
func (*Queries) EnqueueFlush ¶ added in v0.0.17
func (q *Queries) EnqueueFlush(ctx context.Context, arg EnqueueFlushParams) (FlushCache, error)
func (*Queries) FlushCache ¶ added in v0.0.17
func (q *Queries) FlushCache(ctx context.Context, arg FlushCacheParams) (FlushCache, error)
func (*Queries) GetAccessTokenByProjectID ¶
func (q *Queries) GetAccessTokenByProjectID(ctx context.Context, arg GetAccessTokenByProjectIDParams) (ProviderAccessToken, error)
func (*Queries) GetAccessTokenByProvider ¶
func (*Queries) GetAccessTokenSinceDate ¶
func (q *Queries) GetAccessTokenSinceDate(ctx context.Context, arg GetAccessTokenSinceDateParams) (ProviderAccessToken, error)
func (*Queries) GetArtifactByID ¶
func (*Queries) GetArtifactByName ¶ added in v0.0.22
func (q *Queries) GetArtifactByName(ctx context.Context, arg GetArtifactByNameParams) (GetArtifactByNameRow, error)
func (*Queries) GetChildrenProjects ¶
func (*Queries) GetEntityProfileByProjectAndName ¶ added in v0.0.16
func (q *Queries) GetEntityProfileByProjectAndName(ctx context.Context, arg GetEntityProfileByProjectAndNameParams) ([]GetEntityProfileByProjectAndNameRow, error)
func (*Queries) GetFeatureInProject ¶
func (q *Queries) GetFeatureInProject(ctx context.Context, arg GetFeatureInProjectParams) (json.RawMessage, error)
GetFeatureInProject verifies if a feature is available for a specific project. It returns the settings for the feature if it is available.
func (*Queries) GetOrganization ¶
func (*Queries) GetOrganizationByName ¶
func (*Queries) GetOrganizationForUpdate ¶
func (*Queries) GetParentProjects ¶
func (*Queries) GetParentProjectsUntil ¶
func (*Queries) GetProfileByID ¶
func (*Queries) GetProfileByIDAndLock ¶ added in v0.0.16
func (*Queries) GetProfileByNameAndLock ¶ added in v0.0.16
func (*Queries) GetProfileByProjectAndID ¶
func (q *Queries) GetProfileByProjectAndID(ctx context.Context, arg GetProfileByProjectAndIDParams) ([]GetProfileByProjectAndIDRow, error)
func (*Queries) GetProfileForEntity ¶ added in v0.0.16
func (q *Queries) GetProfileForEntity(ctx context.Context, arg GetProfileForEntityParams) (EntityProfile, error)
func (*Queries) GetProfileStatusByIdAndProject ¶
func (q *Queries) GetProfileStatusByIdAndProject(ctx context.Context, arg GetProfileStatusByIdAndProjectParams) (GetProfileStatusByIdAndProjectRow, error)
func (*Queries) GetProfileStatusByNameAndProject ¶
func (q *Queries) GetProfileStatusByNameAndProject(ctx context.Context, arg GetProfileStatusByNameAndProjectParams) (GetProfileStatusByNameAndProjectRow, error)
func (*Queries) GetProfileStatusByProject ¶
func (*Queries) GetProjectByID ¶
func (*Queries) GetProjectByName ¶
func (*Queries) GetProjectIDBySessionState ¶ added in v0.0.35
func (*Queries) GetProviderByID ¶
func (*Queries) GetProviderByName ¶
func (q *Queries) GetProviderByName(ctx context.Context, arg GetProviderByNameParams) (Provider, error)
GetProviderByName allows us to get a provider by its name. This takes into account the project hierarchy, so it will only return the provider if it exists in the project or any of its ancestors. It'll return the first provider that matches the name.
func (*Queries) GetPullRequest ¶
func (q *Queries) GetPullRequest(ctx context.Context, arg GetPullRequestParams) (PullRequest, error)
func (*Queries) GetPullRequestByID ¶ added in v0.0.17
func (*Queries) GetRepositoryByID ¶
avoid using this, where possible use GetRepositoryByIDAndProject instead
func (*Queries) GetRepositoryByIDAndProject ¶
func (q *Queries) GetRepositoryByIDAndProject(ctx context.Context, arg GetRepositoryByIDAndProjectParams) (Repository, error)
func (*Queries) GetRepositoryByRepoID ¶
func (*Queries) GetRepositoryByRepoName ¶
func (q *Queries) GetRepositoryByRepoName(ctx context.Context, arg GetRepositoryByRepoNameParams) (Repository, error)
func (*Queries) GetRuleEvaluationByProfileIdAndRuleType ¶
func (q *Queries) GetRuleEvaluationByProfileIdAndRuleType( ctx context.Context, profileID uuid.UUID, entityType NullEntities, ruleName sql.NullString, entityID uuid.NullUUID, ruleTypeName sql.NullString, ) (ListRuleEvaluationsByProfileIdRow, error)
GetRuleEvaluationByProfileIdAndRuleType returns the rule evaluation for a given profile and its rule name
func (*Queries) GetRuleTypeByID ¶
func (*Queries) GetRuleTypeByName ¶
func (*Queries) GetUserByID ¶
func (*Queries) GetUserBySubject ¶
func (*Queries) GlobalListProviders ¶
func (*Queries) GlobalListProvidersByName ¶ added in v0.0.35
func (*Queries) ListArtifactsByRepoID ¶
func (*Queries) ListFlushCache ¶ added in v0.0.17
func (q *Queries) ListFlushCache(ctx context.Context) ([]FlushCache, error)
func (*Queries) ListNonOrgProjects ¶ added in v0.0.35
ListNonOrgProjects is a query that lists all non-organization projects. projects have a boolean field is_organization that is set to true if the project is an organization. this flag is no longer used and will be removed in the future.
func (*Queries) ListOldOrgProjects ¶ added in v0.0.35
ListOrgProjects is a query that lists all organization projects. projects have a boolean field is_organization that is set to true if the project is an organization. this flag is no longer used and will be removed in the future.
func (*Queries) ListOrganizations ¶
func (*Queries) ListProfilesByProjectID ¶
func (*Queries) ListProfilesInstantiatingRuleType ¶
func (q *Queries) ListProfilesInstantiatingRuleType(ctx context.Context, ruleTypeID uuid.UUID) ([]ListProfilesInstantiatingRuleTypeRow, error)
get profile information that instantiate a rule. This is done by joining the profiles with entity_profiles, then correlating those with entity_profile_rules. The rule_type_id is used to filter the results. Note that we only really care about the overal profile, so we only return the profile information. We also should group the profiles so that we don't get duplicates.
func (*Queries) ListProvidersByProjectID ¶
func (q *Queries) ListProvidersByProjectID(ctx context.Context, projects []uuid.UUID) ([]Provider, error)
ListProvidersByProjectID allows us to list all providers for a given array of projects.
func (*Queries) ListProvidersByProjectIDPaginated ¶ added in v0.0.30
func (q *Queries) ListProvidersByProjectIDPaginated(ctx context.Context, arg ListProvidersByProjectIDPaginatedParams) ([]Provider, error)
ListProvidersByProjectIDPaginated allows us to lits all providers for a given project with pagination taken into account. In this case, the cursor is the creation date.
func (*Queries) ListRegisteredRepositoriesByProjectIDAndProvider ¶
func (q *Queries) ListRegisteredRepositoriesByProjectIDAndProvider(ctx context.Context, arg ListRegisteredRepositoriesByProjectIDAndProviderParams) ([]Repository, error)
func (*Queries) ListRepositoriesByProjectID ¶
func (q *Queries) ListRepositoriesByProjectID(ctx context.Context, arg ListRepositoriesByProjectIDParams) ([]Repository, error)
func (*Queries) ListRuleEvaluationsByProfileId ¶
func (q *Queries) ListRuleEvaluationsByProfileId(ctx context.Context, arg ListRuleEvaluationsByProfileIdParams) ([]ListRuleEvaluationsByProfileIdRow, error)
func (*Queries) ListRuleTypesByProviderAndProject ¶
func (*Queries) LockIfThresholdNotExceeded ¶ added in v0.0.17
func (q *Queries) LockIfThresholdNotExceeded(ctx context.Context, arg LockIfThresholdNotExceededParams) (EntityExecutionLock, error)
LockIfThresholdNotExceeded is used to lock an entity for execution. It will attempt to insert or update the entity_execution_lock table only if the last_lock_time is older than the threshold. If the lock is successful, it will return the lock record. If the lock is unsuccessful, it will return NULL.
func (*Queries) OrphanProject ¶ added in v0.0.35
OrphanProject is a query that sets the parent_id of a project to NULL.
func (*Queries) ReleaseLock ¶ added in v0.0.17
func (q *Queries) ReleaseLock(ctx context.Context, arg ReleaseLockParams) error
ReleaseLock is used to release a lock on an entity. It will delete the entity_execution_lock record if the lock is held by the given locked_by value.
func (*Queries) UpdateLease ¶ added in v0.0.17
func (q *Queries) UpdateLease(ctx context.Context, arg UpdateLeaseParams) error
func (*Queries) UpdateOrganization ¶
func (*Queries) UpdateProfile ¶ added in v0.0.16
func (*Queries) UpdateProjectMeta ¶ added in v0.0.35
func (*Queries) UpdateProvider ¶ added in v0.0.35
func (q *Queries) UpdateProvider(ctx context.Context, arg UpdateProviderParams) error
func (*Queries) UpdateRuleType ¶
func (*Queries) UpsertAccessToken ¶ added in v0.0.33
func (q *Queries) UpsertAccessToken(ctx context.Context, arg UpsertAccessTokenParams) (ProviderAccessToken, error)
func (*Queries) UpsertArtifact ¶
func (*Queries) UpsertProfileForEntity ¶ added in v0.0.16
func (q *Queries) UpsertProfileForEntity(ctx context.Context, arg UpsertProfileForEntityParams) (EntityProfile, error)
func (*Queries) UpsertPullRequest ¶
func (q *Queries) UpsertPullRequest(ctx context.Context, arg UpsertPullRequestParams) (PullRequest, error)
func (*Queries) UpsertRuleDetailsAlert ¶
func (*Queries) UpsertRuleDetailsEval ¶
func (*Queries) UpsertRuleDetailsRemediate ¶
func (*Queries) UpsertRuleEvaluations ¶
func (*Queries) UpsertRuleInstantiation ¶
func (q *Queries) UpsertRuleInstantiation(ctx context.Context, arg UpsertRuleInstantiationParams) (EntityProfileRule, error)
type ReleaseLockParams ¶ added in v0.0.17
type RemediationStatusTypes ¶
type RemediationStatusTypes string
const ( RemediationStatusTypesSuccess RemediationStatusTypes = "success" RemediationStatusTypesFailure RemediationStatusTypes = "failure" RemediationStatusTypesError RemediationStatusTypes = "error" RemediationStatusTypesSkipped RemediationStatusTypes = "skipped" RemediationStatusTypesNotAvailable RemediationStatusTypes = "not_available" )
func (*RemediationStatusTypes) Scan ¶
func (e *RemediationStatusTypes) Scan(src interface{}) error
type Repository ¶
type Repository struct { ID uuid.UUID `json:"id"` Provider string `json:"provider"` ProjectID uuid.UUID `json:"project_id"` RepoOwner string `json:"repo_owner"` RepoName string `json:"repo_name"` RepoID int64 `json:"repo_id"` IsPrivate bool `json:"is_private"` IsFork bool `json:"is_fork"` WebhookID sql.NullInt64 `json:"webhook_id"` WebhookUrl string `json:"webhook_url"` DeployUrl string `json:"deploy_url"` CloneUrl string `json:"clone_url"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` DefaultBranch sql.NullString `json:"default_branch"` License sql.NullString `json:"license"` ProviderID uuid.UUID `json:"provider_id"` }
type RuleDetailsAlert ¶
type RuleDetailsAlert struct { ID uuid.UUID `json:"id"` RuleEvalID uuid.UUID `json:"rule_eval_id"` Status AlertStatusTypes `json:"status"` Details string `json:"details"` Metadata json.RawMessage `json:"metadata"` LastUpdated time.Time `json:"last_updated"` }
type RuleDetailsEval ¶
type RuleDetailsRemediate ¶
type RuleEvaluation ¶
type RuleEvaluation struct { ID uuid.UUID `json:"id"` Entity Entities `json:"entity"` ProfileID uuid.UUID `json:"profile_id"` RuleTypeID uuid.UUID `json:"rule_type_id"` RepositoryID uuid.NullUUID `json:"repository_id"` ArtifactID uuid.NullUUID `json:"artifact_id"` PullRequestID uuid.NullUUID `json:"pull_request_id"` RuleName string `json:"rule_name"` }
type RuleType ¶
type RuleType struct { ID uuid.UUID `json:"id"` Name string `json:"name"` Provider string `json:"provider"` ProjectID uuid.UUID `json:"project_id"` Description string `json:"description"` Guidance string `json:"guidance"` Definition json.RawMessage `json:"definition"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` SeverityValue Severity `json:"severity_value"` ProviderID uuid.UUID `json:"provider_id"` }
type SQLStore ¶
type SQLStore struct { *Queries // contains filtered or unexported fields }
SQLStore provides all functions to execute SQL queries and transactions
func (*SQLStore) BeginTransaction ¶
BeginTransaction begins a new transaction
func (*SQLStore) CheckHealth ¶
CheckHealth checks the health of the database
func (*SQLStore) GetQuerierWithTransaction ¶
func (*SQLStore) GetQuerierWithTransaction(tx *sql.Tx) ExtendQuerier
GetQuerierWithTransaction returns a new Querier with the provided transaction
type SessionStore ¶
type SessionStore struct { ID int32 `json:"id"` Provider string `json:"provider"` ProjectID uuid.UUID `json:"project_id"` Port sql.NullInt32 `json:"port"` OwnerFilter sql.NullString `json:"owner_filter"` SessionState string `json:"session_state"` CreatedAt time.Time `json:"created_at"` RedirectUrl sql.NullString `json:"redirect_url"` RemoteUser sql.NullString `json:"remote_user"` }
type Store ¶
type Store interface { ExtendQuerier CheckHealth() error BeginTransaction() (*sql.Tx, error) GetQuerierWithTransaction(tx *sql.Tx) ExtendQuerier Commit(tx *sql.Tx) error Rollback(tx *sql.Tx) error }
Store provides all functions to execute db queries and transactions
type UpdateLeaseParams ¶ added in v0.0.17
type UpdateOrganizationParams ¶
type UpdateOrganizationParams struct { ID uuid.UUID `json:"id"` Name string `json:"name"` Metadata json.RawMessage `json:"metadata"` }
type UpdateProfileParams ¶ added in v0.0.16
type UpdateProfileParams struct { ID uuid.UUID `json:"id"` ProjectID uuid.UUID `json:"project_id"` Remediate NullActionType `json:"remediate"` Alert NullActionType `json:"alert"` }
type UpdateProjectMetaParams ¶ added in v0.0.35
type UpdateProjectMetaParams struct { ID uuid.UUID `json:"id"` Metadata json.RawMessage `json:"metadata"` }
type UpdateProviderParams ¶ added in v0.0.35
type UpdateProviderParams struct { Implements []ProviderType `json:"implements"` Definition json.RawMessage `json:"definition"` AuthFlows []AuthorizationFlow `json:"auth_flows"` ID uuid.UUID `json:"id"` ProjectID uuid.UUID `json:"project_id"` }
type UpdateRuleTypeParams ¶
type UpsertAccessTokenParams ¶ added in v0.0.33
type UpsertArtifactParams ¶
type UpsertProfileForEntityParams ¶ added in v0.0.16
type UpsertProfileForEntityParams struct { Entity Entities `json:"entity"` ProfileID uuid.UUID `json:"profile_id"` ContextualRules json.RawMessage `json:"contextual_rules"` }
type UpsertPullRequestParams ¶
type UpsertRuleDetailsAlertParams ¶
type UpsertRuleDetailsAlertParams struct { RuleEvalID uuid.UUID `json:"rule_eval_id"` Status AlertStatusTypes `json:"status"` Details string `json:"details"` Metadata json.RawMessage `json:"metadata"` }
type UpsertRuleDetailsEvalParams ¶
type UpsertRuleDetailsEvalParams struct { RuleEvalID uuid.UUID `json:"rule_eval_id"` Status EvalStatusTypes `json:"status"` Details string `json:"details"` }
type UpsertRuleDetailsRemediateParams ¶
type UpsertRuleDetailsRemediateParams struct { RuleEvalID uuid.UUID `json:"rule_eval_id"` Status RemediationStatusTypes `json:"status"` Details string `json:"details"` }
type UpsertRuleEvaluationsParams ¶
type UpsertRuleEvaluationsParams struct { ProfileID uuid.UUID `json:"profile_id"` RepositoryID uuid.NullUUID `json:"repository_id"` ArtifactID uuid.NullUUID `json:"artifact_id"` PullRequestID uuid.NullUUID `json:"pull_request_id"` RuleTypeID uuid.UUID `json:"rule_type_id"` Entity Entities `json:"entity"` RuleName string `json:"rule_name"` }
Source Files
¶
- artifacts.sql.go
- db.go
- entitlements.sql.go
- entity_execution_lock.sql.go
- errors.go
- models.go
- organizations.sql.go
- profile_status.sql.go
- profiles.sql.go
- projects.sql.go
- projects_helpers.go
- provider_access_tokens.sql.go
- providers.sql.go
- pull_requests.sql.go
- querier.go
- repositories.sql.go
- rule_types.sql.go
- session_store.sql.go
- store.go
- users.sql.go
Directories
¶
Path | Synopsis |
---|---|
Package embedded provides a test-only embedded Postgres database for testing queries.
|
Package embedded provides a test-only embedded Postgres database for testing queries. |
Package fixtures contains code for creating DB fixtures and is used in various parts of the code.
|
Package fixtures contains code for creating DB fixtures and is used in various parts of the code. |