Documentation
¶
Index ¶
- func CalculateProjectHierarchyOffset(hierarchy int) int
- func ErrIsUniqueViolation(err error) bool
- func WithTransaction[T any](store Store, fn func(querier ExtendQuerier) (T, error)) (result T, err error)
- type ActionType
- type AlertStatusTypes
- type Artifact
- type AuthorizationFlow
- type Bundle
- type CountProfilesByEntityTypeRow
- type CreateOrganizationParams
- type CreateProfileForEntityParams
- type CreateProfileParams
- type CreateProjectParams
- type CreateProjectWithIDParams
- type CreateProviderParams
- type CreatePullRequestParams
- type CreateRepositoryParams
- type CreateRuleTypeParams
- type CreateSessionStateParams
- type CreateSubscriptionParams
- 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 FindProvidersParams
- type FlushCache
- type FlushCacheParams
- type GetAccessTokenByEnrollmentNonceParams
- type GetAccessTokenByProjectIDParams
- type GetAccessTokenSinceDateParams
- type GetArtifactByIDParams
- type GetArtifactByNameParams
- type GetBundleParams
- type GetChildrenProjectsRow
- type GetFeatureInProjectParams
- type GetInstallationIDByEnrollmentNonceParams
- 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 GetProviderByIDAndProjectParams
- type GetProviderByNameParams
- type GetProviderWebhooksRow
- type GetPullRequestParams
- type GetRepositoryByIDAndProjectParams
- type GetRepositoryByRepoNameParams
- type GetRuleTypeByNameParams
- type GetSubscriptionByProjectBundleParams
- type ListOrganizationsParams
- type ListProfilesByProjectIDAndLabelParams
- type ListProfilesByProjectIDAndLabelRow
- type ListProfilesByProjectIDRow
- type ListProfilesInstantiatingRuleTypeRow
- type ListProvidersByProjectIDPaginatedParams
- type ListRegisteredRepositoriesByProjectIDAndProviderParams
- type ListRepositoriesByProjectIDParams
- type ListRuleEvaluationsByProfileIdParams
- type ListRuleEvaluationsByProfileIdRow
- type ListUsersParams
- type LockIfThresholdNotExceededParams
- type MigrationProfileBackfillLog
- type NullActionType
- type NullAlertStatusTypes
- type NullAuthorizationFlow
- type NullEntities
- type NullEvalStatusTypes
- type NullProviderClass
- type NullProviderType
- type NullRemediationStatusTypes
- type NullSeverity
- type OrphanProjectParams
- type Profile
- type ProfileRow
- type ProfileStatus
- type ProfilesWithEntityProfile
- type Project
- type Provider
- type ProviderAccessToken
- type ProviderClass
- type ProviderGithubAppInstallation
- 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) 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) CreateSubscription(ctx context.Context, arg CreateSubscriptionParams) (Subscription, 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) DeleteInstallationIDByAppID(ctx context.Context, appInstallationID int64) 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) 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) FindProviders(ctx context.Context, arg FindProvidersParams) ([]Provider, error)
- func (q *Queries) FlushCache(ctx context.Context, arg FlushCacheParams) (FlushCache, error)
- func (q *Queries) GetAccessTokenByEnrollmentNonce(ctx context.Context, arg GetAccessTokenByEnrollmentNonceParams) (ProviderAccessToken, 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, arg GetArtifactByIDParams) (Artifact, error)
- func (q *Queries) GetArtifactByName(ctx context.Context, arg GetArtifactByNameParams) (Artifact, error)
- func (q *Queries) GetBundle(ctx context.Context, arg GetBundleParams) (Bundle, error)
- func (q *Queries) GetChildrenProjects(ctx context.Context, id uuid.UUID) ([]GetChildrenProjectsRow, error)
- func (q *Queries) GetFeatureInProject(ctx context.Context, arg GetFeatureInProjectParams) (json.RawMessage, error)
- func (q *Queries) GetInstallationIDByAppID(ctx context.Context, appInstallationID int64) (ProviderGithubAppInstallation, error)
- func (q *Queries) GetInstallationIDByEnrollmentNonce(ctx context.Context, arg GetInstallationIDByEnrollmentNonceParams) (ProviderGithubAppInstallation, error)
- func (q *Queries) GetInstallationIDByProviderID(ctx context.Context, providerID uuid.NullUUID) (ProviderGithubAppInstallation, 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) GetProviderByIDAndProject(ctx context.Context, arg GetProviderByIDAndProjectParams) (Provider, error)
- func (q *Queries) GetProviderByName(ctx context.Context, arg GetProviderByNameParams) (Provider, error)
- func (q *Queries) GetProviderWebhooks(ctx context.Context, providerID uuid.UUID) ([]GetProviderWebhooksRow, 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) GetSubscriptionByProjectBundle(ctx context.Context, arg GetSubscriptionByProjectBundleParams) (Subscription, error)
- func (q *Queries) GetUnclaimedInstallationsByUser(ctx context.Context, ghID sql.NullString) ([]ProviderGithubAppInstallation, 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) GlobalListProvidersByClass(ctx context.Context, class ProviderClass) ([]Provider, error)
- func (q *Queries) ListArtifactsByRepoID(ctx context.Context, repositoryID uuid.NullUUID) ([]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) ListProfilesByProjectIDAndLabel(ctx context.Context, arg ListProfilesByProjectIDAndLabelParams) ([]ListProfilesByProjectIDAndLabelRow, 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) ListRuleTypesByProject(ctx context.Context, projectID uuid.UUID) ([]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) SetCurrentVersion(ctx context.Context, arg SetCurrentVersionParams) 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) UpsertBundle(ctx context.Context, arg UpsertBundleParams) error
- func (q *Queries) UpsertInstallationID(ctx context.Context, arg UpsertInstallationIDParams) (ProviderGithubAppInstallation, 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 SetCurrentVersionParams
- type Severity
- type Store
- type Subscription
- type UpdateLeaseParams
- type UpdateOrganizationParams
- type UpdateProfileParams
- type UpdateProjectMetaParams
- type UpdateProviderParams
- type UpdateRuleTypeParams
- type UpsertAccessTokenParams
- type UpsertArtifactParams
- type UpsertBundleParams
- type UpsertInstallationIDParams
- 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
func WithTransaction ¶ added in v0.0.38
func WithTransaction[T any](store Store, fn func(querier ExtendQuerier) (T, error)) (result T, err error)
WithTransaction wraps an operation in a new DB transaction. Ideally this would be a method of the Store interface, but Go's generics do not allow for generic methods :(
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.NullUUID `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"` ProjectID uuid.UUID `json:"project_id"` ProviderID uuid.UUID `json:"provider_id"` ProviderName string `json:"provider_name"` }
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 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 { ProjectID uuid.UUID `json:"project_id"` Remediate NullActionType `json:"remediate"` Alert NullActionType `json:"alert"` Name string `json:"name"` SubscriptionID uuid.NullUUID `json:"subscription_id"` DisplayName string `json:"display_name"` Labels []string `json:"labels"` }
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"` Class ProviderClass `json:"class"` 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"` ProjectID uuid.UUID `json:"project_id"` Description string `json:"description"` Guidance string `json:"guidance"` Definition json.RawMessage `json:"definition"` SeverityValue Severity `json:"severity_value"` SubscriptionID uuid.NullUUID `json:"subscription_id"` DisplayName string `json:"display_name"` }
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 CreateSubscriptionParams ¶ added in v0.0.37
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.NullUUID `json:"repository_id"` ArtifactID uuid.NullUUID `json:"artifact_id"` PullRequestID uuid.NullUUID `json:"pull_request_id"` ProjectID uuid.NullUUID `json:"project_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 FindProvidersParams ¶ added in v0.0.38
type FindProvidersParams struct { Projects []uuid.UUID `json:"projects"` Trait NullProviderType `json:"trait"` Name sql.NullString `json:"name"` }
type FlushCache ¶ added in v0.0.17
type FlushCache struct { ID uuid.UUID `json:"id"` Entity Entities `json:"entity"` RepositoryID uuid.NullUUID `json:"repository_id"` ArtifactID uuid.NullUUID `json:"artifact_id"` PullRequestID uuid.NullUUID `json:"pull_request_id"` QueuedAt time.Time `json:"queued_at"` ProjectID uuid.NullUUID `json:"project_id"` }
type FlushCacheParams ¶ added in v0.0.17
type GetAccessTokenByEnrollmentNonceParams ¶ added in v0.0.39
type GetAccessTokenByEnrollmentNonceParams struct { ProjectID uuid.UUID `json:"project_id"` EnrollmentNonce sql.NullString `json:"enrollment_nonce"` }
type GetArtifactByIDParams ¶ added in v0.0.43
type GetArtifactByNameParams ¶ added in v0.0.22
type GetBundleParams ¶ added in v0.0.38
type GetChildrenProjectsRow ¶
type GetInstallationIDByEnrollmentNonceParams ¶ added in v0.0.39
type GetInstallationIDByEnrollmentNonceParams struct { ProjectID uuid.NullUUID `json:"project_id"` EnrollmentNonce sql.NullString `json:"enrollment_nonce"` }
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 { Profile Profile `json:"profile"` ProfilesWithEntityProfile ProfilesWithEntityProfile `json:"profiles_with_entity_profile"` }
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 GetProviderByIDAndProjectParams ¶ added in v0.0.48
type GetProviderByNameParams ¶
type GetProviderWebhooksRow ¶ added in v0.0.48
type GetPullRequestParams ¶
type GetRuleTypeByNameParams ¶
type GetSubscriptionByProjectBundleParams ¶ added in v0.0.37
type ListOrganizationsParams ¶
type ListProfilesByProjectIDAndLabelParams ¶ added in v0.0.38
type ListProfilesByProjectIDAndLabelParams struct { ProjectID uuid.UUID `json:"project_id"` IncludeLabels []string `json:"include_labels"` ExcludeLabels []string `json:"exclude_labels"` }
func (*ListProfilesByProjectIDAndLabelParams) LabelsFromFilter ¶ added in v0.0.38
func (lp *ListProfilesByProjectIDAndLabelParams) LabelsFromFilter(filter string)
LabelsFromFilter parses the filter string and populates the IncludeLabels and ExcludeLabels fields
type ListProfilesByProjectIDAndLabelRow ¶ added in v0.0.38
type ListProfilesByProjectIDAndLabelRow struct { Profile Profile `json:"profile"` ProfilesWithEntityProfile ProfilesWithEntityProfile `json:"profiles_with_entity_profile"` }
func (ListProfilesByProjectIDAndLabelRow) GetContextualRules ¶ added in v0.0.40
func (r ListProfilesByProjectIDAndLabelRow) GetContextualRules() pqtype.NullRawMessage
GetContextualRules returns the contextual rules
func (ListProfilesByProjectIDAndLabelRow) GetEntityProfile ¶ added in v0.0.38
func (r ListProfilesByProjectIDAndLabelRow) GetEntityProfile() NullEntities
GetEntityProfile returns the entity profile
func (ListProfilesByProjectIDAndLabelRow) GetProfile ¶ added in v0.0.38
func (r ListProfilesByProjectIDAndLabelRow) GetProfile() Profile
GetProfile returns the profile
type ListProfilesByProjectIDRow ¶
type ListProfilesByProjectIDRow struct { Profile Profile `json:"profile"` ProfilesWithEntityProfile ProfilesWithEntityProfile `json:"profiles_with_entity_profile"` }
func (ListProfilesByProjectIDRow) GetContextualRules ¶ added in v0.0.40
func (r ListProfilesByProjectIDRow) GetContextualRules() pqtype.NullRawMessage
GetContextualRules returns the contextual rules
func (ListProfilesByProjectIDRow) GetEntityProfile ¶ added in v0.0.38
func (r ListProfilesByProjectIDRow) GetEntityProfile() NullEntities
GetEntityProfile returns the entity profile
func (ListProfilesByProjectIDRow) GetProfile ¶ added in v0.0.38
func (r ListProfilesByProjectIDRow) GetProfile() Profile
GetProfile returns the profile
type ListProvidersByProjectIDPaginatedParams ¶ added in v0.0.30
type ListRegisteredRepositoriesByProjectIDAndProviderParams ¶
type ListRegisteredRepositoriesByProjectIDAndProviderParams struct { ProjectID uuid.UUID `json:"project_id"` Provider sql.NullString `json:"provider"` }
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"` RemMetadata pqtype.NullRawMessage `json:"rem_metadata"` 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"` RuleEvaluationID uuid.UUID `json:"rule_evaluation_id"` 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"` RuleTypeSeverityValue Severity `json:"rule_type_severity_value"` RuleTypeID uuid.UUID `json:"rule_type_id"` RuleTypeGuidance string `json:"rule_type_guidance"` RuleTypeDisplayName string `json:"rule_type_display_name"` }
type ListUsersParams ¶
type LockIfThresholdNotExceededParams ¶ added in v0.0.17
type LockIfThresholdNotExceededParams struct { Entity Entities `json:"entity"` RepositoryID uuid.NullUUID `json:"repository_id"` ArtifactID uuid.NullUUID `json:"artifact_id"` PullRequestID uuid.NullUUID `json:"pull_request_id"` ProjectID uuid.UUID `json:"project_id"` Interval string `json:"interval"` }
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 ValidateAlertType ¶ added in v0.0.36
func ValidateAlertType(r string) NullActionType
ValidateAlertType validates the alert type, defaulting to "on" if invalid
func ValidateRemediateType ¶ added in v0.0.36
func ValidateRemediateType(r string) NullActionType
ValidateRemediateType validates the remediate type, defaulting to "off" if invalid
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 NullProviderClass ¶ added in v0.0.38
type NullProviderClass struct { ProviderClass ProviderClass `json:"provider_class"` Valid bool `json:"valid"` // Valid is true if ProviderClass is not NULL }
func (*NullProviderClass) Scan ¶ added in v0.0.38
func (ns *NullProviderClass) 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 sql.NullString `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.NullUUID `json:"provider_id"` SubscriptionID uuid.NullUUID `json:"subscription_id"` DisplayName string `json:"display_name"` Labels []string `json:"labels"` }
type ProfileRow ¶ added in v0.0.38
type ProfileRow interface { GetProfile() Profile GetEntityProfile() NullEntities GetContextualRules() pqtype.NullRawMessage }
ProfileRow is an interface row in the profiles table
type ProfileStatus ¶
type ProfilesWithEntityProfile ¶ added in v0.0.40
type ProfilesWithEntityProfile struct { ID uuid.NullUUID `json:"id"` Entity NullEntities `json:"entity"` ProfileID uuid.NullUUID `json:"profile_id"` ContextualRules pqtype.NullRawMessage `json:"contextual_rules"` CreatedAt sql.NullTime `json:"created_at"` UpdatedAt sql.NullTime `json:"updated_at"` Profid uuid.UUID `json:"profid"` }
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"` Class ProviderClass `json:"class"` }
func (*Provider) CanImplement ¶ added in v0.0.48
func (p *Provider) CanImplement(impl ProviderType) bool
CanImplement returns true if the provider implements the given type.
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"` EnrollmentNonce sql.NullString `json:"enrollment_nonce"` EncryptedAccessToken pqtype.NullRawMessage `json:"encrypted_access_token"` }
type ProviderClass ¶ added in v0.0.38
type ProviderClass string
const ( ProviderClassGithub ProviderClass = "github" ProviderClassGithubApp ProviderClass = "github-app" ProviderClassGhcr ProviderClass = "ghcr" ProviderClassDockerhub ProviderClass = "dockerhub" )
func (*ProviderClass) Scan ¶ added in v0.0.38
func (e *ProviderClass) Scan(src interface{}) error
type ProviderGithubAppInstallation ¶ added in v0.0.37
type ProviderGithubAppInstallation struct { AppInstallationID int64 `json:"app_installation_id"` ProviderID uuid.NullUUID `json:"provider_id"` OrganizationID int64 `json:"organization_id"` EnrollingUserID sql.NullString `json:"enrolling_user_id"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` EnrollmentNonce sql.NullString `json:"enrollment_nonce"` ProjectID uuid.NullUUID `json:"project_id"` IsOrg bool `json:"is_org"` }
type ProviderType ¶
type ProviderType string
const ( ProviderTypeGithub ProviderType = "github" ProviderTypeRest ProviderType = "rest" ProviderTypeGit ProviderType = "git" ProviderTypeOci ProviderType = "oci" ProviderTypeRepoLister ProviderType = "repo-lister" ProviderTypeImageLister ProviderType = "image-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) 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) // Subscriptions -- CreateSubscription(ctx context.Context, arg CreateSubscriptionParams) (Subscription, error) CreateUser(ctx context.Context, identitySubject string) (User, error) DeleteArtifact(ctx context.Context, id uuid.UUID) error DeleteExpiredSessionStates(ctx context.Context) error DeleteInstallationIDByAppID(ctx context.Context, appInstallationID int64) 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 DeleteSessionStateByProjectID(ctx context.Context, arg DeleteSessionStateByProjectIDParams) error DeleteUser(ctx context.Context, id int32) error EnqueueFlush(ctx context.Context, arg EnqueueFlushParams) (FlushCache, error) // FindProviders allows us to take a trait and filter // providers by it. It also optionally takes a name, in case we want to // filter by name as well. FindProviders(ctx context.Context, arg FindProvidersParams) ([]Provider, error) FlushCache(ctx context.Context, arg FlushCacheParams) (FlushCache, error) GetAccessTokenByEnrollmentNonce(ctx context.Context, arg GetAccessTokenByEnrollmentNonceParams) (ProviderAccessToken, 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, arg GetArtifactByIDParams) (Artifact, error) GetArtifactByName(ctx context.Context, arg GetArtifactByNameParams) (Artifact, error) GetBundle(ctx context.Context, arg GetBundleParams) (Bundle, error) GetChildrenProjects(ctx context.Context, id uuid.UUID) ([]GetChildrenProjectsRow, 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) GetInstallationIDByAppID(ctx context.Context, appInstallationID int64) (ProviderGithubAppInstallation, error) GetInstallationIDByEnrollmentNonce(ctx context.Context, arg GetInstallationIDByEnrollmentNonceParams) (ProviderGithubAppInstallation, error) GetInstallationIDByProviderID(ctx context.Context, providerID uuid.NullUUID) (ProviderGithubAppInstallation, 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) GetProviderByIDAndProject(ctx context.Context, arg GetProviderByIDAndProjectParams) (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) // get a list of repos with webhooks belonging to a provider // is used for webhook cleanup during provider deletion GetProviderWebhooks(ctx context.Context, providerID uuid.UUID) ([]GetProviderWebhooksRow, 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) GetSubscriptionByProjectBundle(ctx context.Context, arg GetSubscriptionByProjectBundleParams) (Subscription, error) GetUnclaimedInstallationsByUser(ctx context.Context, ghID sql.NullString) ([]ProviderGithubAppInstallation, error) GetUserByID(ctx context.Context, id int32) (User, error) GetUserBySubject(ctx context.Context, identitySubject string) (User, error) GlobalListProviders(ctx context.Context) ([]Provider, error) GlobalListProvidersByClass(ctx context.Context, class ProviderClass) ([]Provider, error) ListArtifactsByRepoID(ctx context.Context, repositoryID uuid.NullUUID) ([]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) ListProfilesByProjectIDAndLabel(ctx context.Context, arg ListProfilesByProjectIDAndLabelParams) ([]ListProfilesByProjectIDAndLabelRow, 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) ListRuleTypesByProject(ctx context.Context, projectID uuid.UUID) ([]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 SetCurrentVersion(ctx context.Context, arg SetCurrentVersionParams) 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) // Copyright 2024 Stacklok, Inc // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // Bundles -- UpsertBundle(ctx context.Context, arg UpsertBundleParams) error UpsertInstallationID(ctx context.Context, arg UpsertInstallationIDParams) (ProviderGithubAppInstallation, 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) 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) CreateSubscription ¶ added in v0.0.37
func (q *Queries) CreateSubscription(ctx context.Context, arg CreateSubscriptionParams) (Subscription, error)
Subscriptions --
func (*Queries) CreateUser ¶
func (*Queries) DeleteArtifact ¶
func (*Queries) DeleteExpiredSessionStates ¶
func (*Queries) DeleteInstallationIDByAppID ¶ added in v0.0.39
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) 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) FindProviders ¶ added in v0.0.38
FindProviders allows us to take a trait and filter providers by it. It also optionally takes a name, in case we want to filter by name as well.
func (*Queries) FlushCache ¶ added in v0.0.17
func (q *Queries) FlushCache(ctx context.Context, arg FlushCacheParams) (FlushCache, error)
func (*Queries) GetAccessTokenByEnrollmentNonce ¶ added in v0.0.39
func (q *Queries) GetAccessTokenByEnrollmentNonce(ctx context.Context, arg GetAccessTokenByEnrollmentNonceParams) (ProviderAccessToken, 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 (*Queries) GetChildrenProjects ¶
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) GetInstallationIDByAppID ¶ added in v0.0.39
func (*Queries) GetInstallationIDByEnrollmentNonce ¶ added in v0.0.39
func (q *Queries) GetInstallationIDByEnrollmentNonce(ctx context.Context, arg GetInstallationIDByEnrollmentNonceParams) (ProviderGithubAppInstallation, error)
func (*Queries) GetInstallationIDByProviderID ¶ added in v0.0.37
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) GetProviderByIDAndProject ¶ added in v0.0.48
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) GetProviderWebhooks ¶ added in v0.0.48
func (q *Queries) GetProviderWebhooks(ctx context.Context, providerID uuid.UUID) ([]GetProviderWebhooksRow, error)
get a list of repos with webhooks belonging to a provider is used for webhook cleanup during provider deletion
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) GetSubscriptionByProjectBundle ¶ added in v0.0.37
func (q *Queries) GetSubscriptionByProjectBundle(ctx context.Context, arg GetSubscriptionByProjectBundleParams) (Subscription, error)
func (*Queries) GetUnclaimedInstallationsByUser ¶ added in v0.0.40
func (q *Queries) GetUnclaimedInstallationsByUser(ctx context.Context, ghID sql.NullString) ([]ProviderGithubAppInstallation, error)
func (*Queries) GetUserByID ¶
func (*Queries) GetUserBySubject ¶
func (*Queries) GlobalListProviders ¶
func (*Queries) GlobalListProvidersByClass ¶ added in v0.0.38
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) ListProfilesByProjectIDAndLabel ¶ added in v0.0.38
func (q *Queries) ListProfilesByProjectIDAndLabel(ctx context.Context, arg ListProfilesByProjectIDAndLabelParams) ([]ListProfilesByProjectIDAndLabelRow, error)
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) ListRuleTypesByProject ¶ added in v0.0.39
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) SetCurrentVersion ¶ added in v0.0.37
func (q *Queries) SetCurrentVersion(ctx context.Context, arg SetCurrentVersionParams) error
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) UpsertBundle ¶ added in v0.0.37
func (q *Queries) UpsertBundle(ctx context.Context, arg UpsertBundleParams) error
Copyright 2024 Stacklok, Inc
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. Bundles --
func (*Queries) UpsertInstallationID ¶ added in v0.0.38
func (q *Queries) UpsertInstallationID(ctx context.Context, arg UpsertInstallationIDParams) (ProviderGithubAppInstallation, error)
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" RemediationStatusTypesPending RemediationStatusTypes = "pending" )
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 RuleDetailsRemediate struct { ID uuid.UUID `json:"id"` RuleEvalID uuid.UUID `json:"rule_eval_id"` Status RemediationStatusTypes `json:"status"` Details string `json:"details"` LastUpdated time.Time `json:"last_updated"` Metadata json.RawMessage `json:"metadata"` }
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 sql.NullString `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.NullUUID `json:"provider_id"` SubscriptionID uuid.NullUUID `json:"subscription_id"` DisplayName string `json:"display_name"` }
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"` EncryptedRedirect sql.NullString `json:"encrypted_redirect"` }
type SetCurrentVersionParams ¶ added in v0.0.37
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 Subscription ¶ added in v0.0.36
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"` DisplayName string `json:"display_name"` Labels []string `json:"labels"` }
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 UpsertAccessTokenParams struct { ProjectID uuid.UUID `json:"project_id"` Provider string `json:"provider"` EncryptedToken string `json:"encrypted_token"` ExpirationTime time.Time `json:"expiration_time"` OwnerFilter sql.NullString `json:"owner_filter"` EnrollmentNonce sql.NullString `json:"enrollment_nonce"` EncryptedAccessToken pqtype.NullRawMessage `json:"encrypted_access_token"` }
type UpsertArtifactParams ¶
type UpsertArtifactParams struct { RepositoryID uuid.NullUUID `json:"repository_id"` ArtifactName string `json:"artifact_name"` ArtifactType string `json:"artifact_type"` ArtifactVisibility string `json:"artifact_visibility"` ProjectID uuid.UUID `json:"project_id"` ProviderID uuid.UUID `json:"provider_id"` ProviderName string `json:"provider_name"` }
type UpsertBundleParams ¶ added in v0.0.37
type UpsertInstallationIDParams ¶ added in v0.0.38
type UpsertInstallationIDParams struct { OrganizationID int64 `json:"organization_id"` AppInstallationID int64 `json:"app_installation_id"` ProviderID uuid.NullUUID `json:"provider_id"` EnrollingUserID sql.NullString `json:"enrolling_user_id"` EnrollmentNonce sql.NullString `json:"enrollment_nonce"` ProjectID uuid.NullUUID `json:"project_id"` IsOrg bool `json:"is_org"` }
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"` Metadata json.RawMessage `json:"metadata"` }
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
- domain.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
- provider_github_app_installations.sql.go
- providers.sql.go
- pull_requests.sql.go
- querier.go
- repositories.sql.go
- rule_types.sql.go
- session_store.sql.go
- store.go
- subscriptions.sql.go
- users.sql.go
- validators.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. |