database

package
v0.0.0-...-6a75aed Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 3, 2024 License: MIT Imports: 23 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func InsightProductSQLToGraphql

func InsightProductSQLToGraphql(insightProductSQL *gensql.InsightProduct) *models.InsightProduct

Types

type Hooks

type Hooks struct {
	// contains filtered or unexported fields
}

Hooks satisfies the sqlhook.Hooks interface

func NewHooks

func NewHooks() *Hooks

func (*Hooks) After

func (h *Hooks) After(ctx context.Context, query string, args ...interface{}) (context.Context, error)

After hook will get the timestamp registered on the Before hook and print the elapsed time

func (*Hooks) Before

func (h *Hooks) Before(ctx context.Context, query string, args ...interface{}) (context.Context, error)

Before hook will print the query with it's args and return the context with the timestamp

func (*Hooks) OnError

func (h *Hooks) OnError(ctx context.Context, err error, query string, args ...interface{}) error

type JoinableView

type JoinableView struct {
	ID      uuid.UUID
	Name    string
	Created time.Time
	Expires *time.Time
}

type JoinableViewWithDatasource

type JoinableViewWithDatasource struct {
	JoinableView
	PseudoDatasources []*JoinableViewsDatasource
}

type JoinableViewsDatasource

type JoinableViewsDatasource struct {
	ProjectID  string
	DatasetID  string
	TableID    string
	Accessible bool
	Deleted    bool
}

type Querier

type Querier interface {
	gensql.Querier
	WithTx(tx *sql.Tx) *gensql.Queries
}

type Repo

type Repo struct {
	Querier Querier
	// contains filtered or unexported fields
}

func New

func New(dbConnDSN string, maxIdleConn, maxOpenConn int, eventMgr *event.Manager, log *logrus.Entry, centralDataProject string) (*Repo, error)

func (*Repo) ApproveAccessRequest

func (r *Repo) ApproveAccessRequest(ctx context.Context, id uuid.UUID, granter string) error

func (*Repo) CreateAccessRequestForDataset

func (r *Repo) CreateAccessRequestForDataset(ctx context.Context, datasetID uuid.UUID, pollyDocumentationID uuid.NullUUID, subject, owner string, expires *time.Time) (*models.AccessRequest, error)

func (*Repo) CreateDataproduct

func (r *Repo) CreateDataproduct(ctx context.Context, dp models.NewDataproduct, user *auth.User) (*models.Dataproduct, error)

func (*Repo) CreateDataset

func (r *Repo) CreateDataset(ctx context.Context, ds models.NewDataset, referenceDatasource *models.NewBigQuery, user *auth.User) (*models.Dataset, error)

func (*Repo) CreateInsightProduct

func (r *Repo) CreateInsightProduct(ctx context.Context, creator string,
	newInsightProduct models.NewInsightProduct,
) (*models.InsightProduct, error)

func (*Repo) CreateJoinableViews

func (r *Repo) CreateJoinableViews(ctx context.Context, name, owner string, expires *time.Time, datasourceIDs []uuid.UUID) (string, error)

func (*Repo) CreateMetabaseMetadata

func (r *Repo) CreateMetabaseMetadata(ctx context.Context, metadata models.MetabaseMetadata) error

func (*Repo) CreatePollyDocumentation

func (r *Repo) CreatePollyDocumentation(ctx context.Context, polly models.PollyInput) (models.Polly, error)

func (*Repo) CreateSession

func (r *Repo) CreateSession(ctx context.Context, session *models.Session) error

func (*Repo) CreateStory

func (r *Repo) CreateStory(ctx context.Context, creator string,
	newStory models.NewStory,
) (*models.Story, error)

func (*Repo) DataproductGroupStats

func (r *Repo) DataproductGroupStats(ctx context.Context, limit, offset int) ([]*models.GroupStats, error)

func (*Repo) DataproductKeywords

func (r *Repo) DataproductKeywords(ctx context.Context, prefix string) ([]*models.Keyword, error)

func (*Repo) DeleteAccessRequest

func (r *Repo) DeleteAccessRequest(ctx context.Context, id uuid.UUID) error

func (*Repo) DeleteDataproduct

func (r *Repo) DeleteDataproduct(ctx context.Context, id uuid.UUID) error

func (*Repo) DeleteDataset

func (r *Repo) DeleteDataset(ctx context.Context, id uuid.UUID) error

func (*Repo) DeleteInsightProduct

func (r *Repo) DeleteInsightProduct(ctx context.Context, id uuid.UUID) error

func (*Repo) DeleteMetabaseMetadata

func (r *Repo) DeleteMetabaseMetadata(ctx context.Context, datasetID uuid.UUID) error

func (*Repo) DeleteNadaToken

func (r *Repo) DeleteNadaToken(ctx context.Context, team string) error

func (*Repo) DeleteRestrictedMetabaseMetadata

func (r *Repo) DeleteRestrictedMetabaseMetadata(ctx context.Context, datasetID uuid.UUID) error

func (*Repo) DeleteSession

func (r *Repo) DeleteSession(ctx context.Context, token string) error

func (*Repo) DeleteStory

func (r *Repo) DeleteStory(ctx context.Context, id uuid.UUID) error

func (*Repo) DenyAccessRequest

func (r *Repo) DenyAccessRequest(ctx context.Context, id uuid.UUID, granter string, reason *string) error

func (*Repo) GetAccessRequest

func (r *Repo) GetAccessRequest(ctx context.Context, id uuid.UUID) (*models.AccessRequest, error)

func (*Repo) GetAccessToDataset

func (r *Repo) GetAccessToDataset(ctx context.Context, id uuid.UUID) (*models.Access, error)

func (*Repo) GetAccessiblePseudoDatasourcesByUser

func (r *Repo) GetAccessiblePseudoDatasourcesByUser(ctx context.Context, subjectsAsOwner []string, subjectsAsAccesser []string) ([]*models.PseudoDataset, error)

func (*Repo) GetAllMetabaseMetadata

func (r *Repo) GetAllMetabaseMetadata(ctx context.Context) ([]*models.MetabaseMetadata, error)

func (*Repo) GetBigqueryDatasource

func (r *Repo) GetBigqueryDatasource(ctx context.Context, datasetID uuid.UUID, isReference bool) (models.BigQuery, error)

func (*Repo) GetBigqueryDatasources

func (r *Repo) GetBigqueryDatasources(ctx context.Context) ([]gensql.DatasourceBigquery, error)

func (*Repo) GetDB

func (repo *Repo) GetDB() *sql.DB

func (*Repo) GetDashboard

func (r *Repo) GetDashboard(ctx context.Context, id string) (string, error)

func (*Repo) GetDataproduct

func (r *Repo) GetDataproduct(ctx context.Context, id uuid.UUID) (*models.Dataproduct, error)

func (*Repo) GetDataproductByTeam

func (r *Repo) GetDataproductByTeam(ctx context.Context, teamID string) ([]*models.Dataproduct, error)

func (*Repo) GetDataproducts

func (r *Repo) GetDataproducts(ctx context.Context, limit, offset int) ([]*models.Dataproduct, error)

func (*Repo) GetDataproductsByGroups

func (r *Repo) GetDataproductsByGroups(ctx context.Context, groups []string) ([]*models.Dataproduct, error)

func (*Repo) GetDataproductsByUserAccess

func (r *Repo) GetDataproductsByUserAccess(ctx context.Context, user string) ([]*models.Dataproduct, error)

func (*Repo) GetDataset

func (r *Repo) GetDataset(ctx context.Context, id uuid.UUID) (*models.Dataset, error)

func (*Repo) GetDatasetMappings

func (r *Repo) GetDatasetMappings(ctx context.Context, datasetID uuid.UUID) ([]models.MappingService, error)

func (*Repo) GetDatasetMetadata

func (r *Repo) GetDatasetMetadata(ctx context.Context, id uuid.UUID) ([]*models.TableColumn, error)

func (*Repo) GetDatasetPiiTags

func (r *Repo) GetDatasetPiiTags(ctx context.Context, id uuid.UUID) (map[string]string, error)

func (*Repo) GetDatasetsByMapping

func (r *Repo) GetDatasetsByMapping(ctx context.Context, service models.MappingService, limit, offset int) ([]*models.Dataset, error)

func (*Repo) GetDatasetsByMetabase

func (r *Repo) GetDatasetsByMetabase(ctx context.Context, limit, offset int) ([]*models.Dataset, error)

func (*Repo) GetDatasetsByUserAccess

func (r *Repo) GetDatasetsByUserAccess(ctx context.Context, user string) ([]*models.Dataset, error)

func (*Repo) GetDatasetsForOwner

func (r *Repo) GetDatasetsForOwner(ctx context.Context, userGroups []string) ([]*models.Dataset, error)

func (*Repo) GetDatasetsInDataproduct

func (r *Repo) GetDatasetsInDataproduct(ctx context.Context, id uuid.UUID) ([]*models.Dataset, error)

func (*Repo) GetInsightProduct

func (r *Repo) GetInsightProduct(ctx context.Context, id uuid.UUID) (*models.InsightProduct, error)

func (*Repo) GetInsightProducts

func (r *Repo) GetInsightProducts(ctx context.Context) ([]*models.InsightProduct, error)

func (*Repo) GetInsightProductsByGroups

func (r *Repo) GetInsightProductsByGroups(ctx context.Context, groups []string) ([]*models.InsightProduct, error)

func (*Repo) GetInsightProductsByTeam

func (r *Repo) GetInsightProductsByTeam(ctx context.Context, teamID string) ([]*models.InsightProduct, error)

func (*Repo) GetJoinableViewWithDatasource

func (r *Repo) GetJoinableViewWithDatasource(ctx context.Context, joinableViewID uuid.UUID, user *auth.User) (*JoinableViewWithDatasource, error)

func (*Repo) GetJoinableViewsForReferenceAndUser

func (r *Repo) GetJoinableViewsForReferenceAndUser(ctx context.Context, user string, pseudoDatasetID uuid.UUID) ([]gensql.GetJoinableViewsForReferenceAndUserRow, error)

func (*Repo) GetJoinableViewsForUser

func (r *Repo) GetJoinableViewsForUser(ctx context.Context, user string) ([]*JoinableView, error)

func (*Repo) GetJoinableViewsToBeDeletedWithRefDatasource

func (r *Repo) GetJoinableViewsToBeDeletedWithRefDatasource(ctx context.Context) ([]gensql.GetJoinableViewsToBeDeletedWithRefDatasourceRow, error)

func (*Repo) GetJoinableViewsWithReference

func (r *Repo) GetJoinableViewsWithReference(ctx context.Context) ([]gensql.GetJoinableViewsWithReferenceRow, error)

func (*Repo) GetMetabaseMetadata

func (r *Repo) GetMetabaseMetadata(ctx context.Context, datasetID uuid.UUID, includeDeleted bool) (*models.MetabaseMetadata, error)

func (*Repo) GetNadaToken

func (r *Repo) GetNadaToken(ctx context.Context, team string) (uuid.UUID, error)

func (*Repo) GetNadaTokens

func (r *Repo) GetNadaTokens(ctx context.Context) (map[string]string, error)

func (*Repo) GetNadaTokensForTeams

func (r *Repo) GetNadaTokensForTeams(ctx context.Context, teams []string) ([]*models.NadaToken, error)

func (*Repo) GetOpenMetabaseTablesInSameBigQueryDataset

func (r *Repo) GetOpenMetabaseTablesInSameBigQueryDataset(ctx context.Context, projectID, dataset string) ([]string, error)

func (*Repo) GetOwnerGroupOfDataset

func (r *Repo) GetOwnerGroupOfDataset(ctx context.Context, datasetID uuid.UUID) (string, error)

func (*Repo) GetPollyDocumentation

func (r *Repo) GetPollyDocumentation(ctx context.Context, accessID uuid.UUID) (*models.Polly, error)

func (*Repo) GetPseudoDatasourcesToDelete

func (r *Repo) GetPseudoDatasourcesToDelete(ctx context.Context) ([]*models.BigQuery, error)

func (*Repo) GetSession

func (r *Repo) GetSession(ctx context.Context, token string) (*models.Session, error)

func (*Repo) GetStories

func (r *Repo) GetStories(ctx context.Context) ([]*models.Story, error)

func (*Repo) GetStoriesByGroups

func (r *Repo) GetStoriesByGroups(ctx context.Context, groups []string) ([]*models.Story, error)

func (*Repo) GetStoriesByTeam

func (r *Repo) GetStoriesByTeam(ctx context.Context, teamID string) ([]*models.Story, error)

func (*Repo) GetStory

func (r *Repo) GetStory(ctx context.Context, id uuid.UUID) (*models.Story, error)

func (*Repo) GetTeamFromToken

func (r *Repo) GetTeamFromToken(ctx context.Context, token uuid.UUID) (string, error)

func (*Repo) GetTeamProjects

func (r *Repo) GetTeamProjects(ctx context.Context) ([]gensql.TeamProject, error)

func (*Repo) GetUnrevokedExpiredAccess

func (r *Repo) GetUnrevokedExpiredAccess(ctx context.Context) ([]*models.Access, error)

func (*Repo) GrantAccessToDataset

func (r *Repo) GrantAccessToDataset(ctx context.Context, datasetID uuid.UUID, expires *time.Time, subject, granter string) (*models.Access, error)

func (*Repo) KeywordsSortedByPopularity

func (r *Repo) KeywordsSortedByPopularity(ctx context.Context) ([]*models.Keyword, error)

func (*Repo) ListAccessRequestsForDataset

func (r *Repo) ListAccessRequestsForDataset(ctx context.Context, datasetID uuid.UUID) ([]*models.AccessRequest, error)

func (*Repo) ListAccessRequestsForOwner

func (r *Repo) ListAccessRequestsForOwner(ctx context.Context, owners []string) ([]*models.AccessRequest, error)

func (*Repo) ListAccessToDataset

func (r *Repo) ListAccessToDataset(ctx context.Context, datasetID uuid.UUID) ([]*models.Access, error)

func (*Repo) ListActiveAccessToDataset

func (r *Repo) ListActiveAccessToDataset(ctx context.Context, datasetID uuid.UUID) ([]*models.Access, error)

func (*Repo) MakeBigQueryUrlForJoinableViewDataset

func (r *Repo) MakeBigQueryUrlForJoinableViewDataset(name string) string

func (*Repo) MapDataset

func (r *Repo) MapDataset(ctx context.Context, datasetID uuid.UUID, services []models.MappingService) error

func (*Repo) Metrics

func (r *Repo) Metrics() []prometheus.Collector

func (*Repo) RestoreMetabaseMetadata

func (r *Repo) RestoreMetabaseMetadata(ctx context.Context, datasetID uuid.UUID) error

func (*Repo) RevokeAccessToDataset

func (r *Repo) RevokeAccessToDataset(ctx context.Context, id uuid.UUID) error

func (*Repo) RotateNadaToken

func (r *Repo) RotateNadaToken(ctx context.Context, team string) error

func (*Repo) Search

func (r *Repo) Search(ctx context.Context, query *models.SearchQuery) ([]*models.SearchResultRow, error)

func (*Repo) SetDatasourceDeleted

func (r *Repo) SetDatasourceDeleted(ctx context.Context, id uuid.UUID) error

func (*Repo) SetJoinableViewDeleted

func (r *Repo) SetJoinableViewDeleted(ctx context.Context, id uuid.UUID) error

func (*Repo) SetPermissionGroupMetabaseMetadata

func (r *Repo) SetPermissionGroupMetabaseMetadata(ctx context.Context, datasetID uuid.UUID, groupID int) error

func (*Repo) SoftDeleteMetabaseMetadata

func (r *Repo) SoftDeleteMetabaseMetadata(ctx context.Context, datasetID uuid.UUID) error

func (*Repo) UpdateAccessRequest

func (r *Repo) UpdateAccessRequest(ctx context.Context, id uuid.UUID, pollyID uuid.NullUUID, owner string, expires *time.Time) (*models.AccessRequest, error)

func (*Repo) UpdateBigqueryDatasource

func (r *Repo) UpdateBigqueryDatasource(ctx context.Context, id uuid.UUID, schema json.RawMessage,
	lastModified, expires time.Time, description string, pseudoColumns []string,
) error

func (*Repo) UpdateBigqueryDatasourceMissing

func (r *Repo) UpdateBigqueryDatasourceMissing(ctx context.Context, datasetID uuid.UUID) error

func (*Repo) UpdateDataproduct

func (r *Repo) UpdateDataproduct(ctx context.Context, id uuid.UUID, new models.UpdateDataproduct) (*models.Dataproduct, error)

func (*Repo) UpdateDataset

func (r *Repo) UpdateDataset(ctx context.Context, id uuid.UUID, new models.UpdateDataset) (*models.Dataset, error)

func (*Repo) UpdateInsightProductMetadata

func (r *Repo) UpdateInsightProductMetadata(ctx context.Context, id uuid.UUID, name string,
	description string, keywords []string, teamkatalogenURL *string, productAreaID *string, teamID *string,
	insightProductType string, link string) (
	*models.InsightProduct, error,
)

func (*Repo) UpdateKeywords

func (r *Repo) UpdateKeywords(ctx context.Context, updateInfo models.UpdateKeywords) error

func (*Repo) UpdateStoryMetadata

func (r *Repo) UpdateStoryMetadata(ctx context.Context, id uuid.UUID, name string, description string, keywords []string, teamkatalogenURL *string, productAreaID *string, teamID *string, group string) (
	*models.Story, error,
)

func (*Repo) UpdateTeamProjectsCache

func (r *Repo) UpdateTeamProjectsCache(ctx context.Context, teamProjects map[string]string) error

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL