Documentation ¶
Index ¶
- Variables
- type Access
- type AccessRequest
- type AccessRequestStatus
- type AccessibleDatasets
- type BigQuery
- type BigQuerySource
- type BigQueryTable
- type BigQueryType
- type BigqueryColumn
- type BigqueryMetadata
- type BigquerySchema
- type Dataproduct
- type Dataset
- type DatasetServices
- type Datasource
- type GCPProject
- type Group
- type GroupStats
- type InsightProduct
- type JoinableView
- type JoinableViewDatasource
- type JoinableViewWithDatasource
- type Keyword
- type MappingService
- type MetabaseMetadata
- type Mutation
- type NadaToken
- type NewAccessRequest
- type NewBigQuery
- type NewDataproduct
- type NewDataset
- type NewDatasetForNewDataproduct
- type NewGrant
- type NewInsightProduct
- type NewJoinableViews
- type NewStory
- type Owner
- type PiiLevel
- type Polly
- type PollyInput
- type ProductArea
- type PseudoDataset
- type Query
- type QueryPolly
- type SearchQuery
- type SearchQueryOld
- type SearchResult
- type SearchResultRow
- type SearchType
- type Session
- type Story
- type SubjectType
- type TableColumn
- type TableMetadata
- type Team
- type UpdateAccessRequest
- type UpdateDataproduct
- type UpdateDataset
- type UpdateKeywords
- type UploadFile
- type UserInfo
Constants ¶
This section is empty.
Variables ¶
View Source
var AllAccessRequestStatus = []AccessRequestStatus{ AccessRequestStatusPending, AccessRequestStatusApproved, AccessRequestStatusDenied, }
View Source
var AllBigQueryType = []BigQueryType{ BigQueryTypeTable, BigQueryTypeView, BigQueryTypeMaterializedView, }
View Source
var AllMappingService = []MappingService{ MappingServiceMetabase, }
View Source
var AllPiiLevel = []PiiLevel{ PiiLevelSensitive, PiiLevelAnonymised, PiiLevelNone, }
View Source
var AllSearchType = []SearchType{ SearchTypeDataproduct, SearchTypeDataset, SearchTypeStory, }
View Source
var AllSubjectType = []SubjectType{ SubjectTypeUser, SubjectTypeGroup, SubjectTypeServiceAccount, }
Functions ¶
This section is empty.
Types ¶
type Access ¶
type Access struct { ID uuid.UUID `json:"id"` Subject string `json:"subject"` Granter string `json:"granter"` Expires *time.Time `json:"expires"` Created time.Time `json:"created"` Revoked *time.Time `json:"revoked"` DatasetID uuid.UUID `json:"datasetID"` AccessRequestID *uuid.UUID `json:"accessRequestID"` }
type AccessRequest ¶
type AccessRequest struct { ID uuid.UUID `json:"id"` DatasetID uuid.UUID `json:"datasetID"` Subject string `json:"subject"` SubjectType SubjectType `json:"subjectType"` Created time.Time `json:"created"` Status AccessRequestStatus `json:"status"` Closed *time.Time `json:"closed"` Expires *time.Time `json:"expires"` Granter *string `json:"granter"` Owner string `json:"owner"` Polly *Polly `json:"polly"` Reason *string `json:"reason"` }
type AccessRequestStatus ¶
type AccessRequestStatus string
const ( AccessRequestStatusPending AccessRequestStatus = "pending" AccessRequestStatusApproved AccessRequestStatus = "approved" AccessRequestStatusDenied AccessRequestStatus = "denied" )
func (AccessRequestStatus) IsValid ¶
func (e AccessRequestStatus) IsValid() bool
func (AccessRequestStatus) MarshalGQL ¶
func (e AccessRequestStatus) MarshalGQL(w io.Writer)
func (AccessRequestStatus) String ¶
func (e AccessRequestStatus) String() string
func (*AccessRequestStatus) UnmarshalGQL ¶
func (e *AccessRequestStatus) UnmarshalGQL(v interface{}) error
type AccessibleDatasets ¶
type BigQuery ¶
type BigQuery struct { ID uuid.UUID DatasetID uuid.UUID ProjectID string `json:"projectID"` Dataset string `json:"dataset"` Table string `json:"table"` TableType BigQueryType `json:"tableType"` LastModified time.Time `json:"lastModified"` Created time.Time `json:"created"` Expires *time.Time `json:"expired"` Description string `json:"description"` PiiTags *string `json:"piiTags"` MissingSince *time.Time `json:"missingSince"` PseudoColumns []string `json:"pseudoColumns"` }
func (BigQuery) IsDatasource ¶
func (BigQuery) IsDatasource()
type BigQuerySource ¶
type BigQueryTable ¶
type BigQueryTable struct { Description string `json:"description"` LastModified time.Time `json:"lastModified"` Name string `json:"name"` Type BigQueryType `json:"type"` }
type BigQueryType ¶
type BigQueryType string
const ( BigQueryTypeTable BigQueryType = "table" BigQueryTypeView BigQueryType = "view" BigQueryTypeMaterializedView BigQueryType = "materialized_view" )
func (BigQueryType) IsValid ¶
func (e BigQueryType) IsValid() bool
func (BigQueryType) MarshalGQL ¶
func (e BigQueryType) MarshalGQL(w io.Writer)
func (BigQueryType) String ¶
func (e BigQueryType) String() string
func (*BigQueryType) UnmarshalGQL ¶
func (e *BigQueryType) UnmarshalGQL(v interface{}) error
type BigqueryColumn ¶
type BigqueryMetadata ¶
type BigquerySchema ¶
type BigquerySchema struct {
Columns []BigqueryColumn
}
type Dataproduct ¶
type Dataproduct struct { ID uuid.UUID `json:"id"` Name string `json:"name"` Created time.Time `json:"created"` LastModified time.Time `json:"lastModified"` Description *string `json:"description"` Slug string `json:"slug"` Owner *Owner `json:"owner"` }
func (Dataproduct) IsSearchResult ¶
func (Dataproduct) IsSearchResult()
type Dataset ¶
type Dataset struct { ID uuid.UUID `json:"id"` DataproductID uuid.UUID `json:"dataproductID"` Name string `json:"name"` Created time.Time `json:"created"` LastModified time.Time `json:"lastModified"` Description *string `json:"description"` Slug string `json:"slug"` Repo *string `json:"repo"` Pii PiiLevel `json:"pii"` Keywords []string `json:"keywords"` Type gensql.DatasourceType AnonymisationDescription *string `json:"anonymisationDescription"` TargetUser *string `json:"targetUser"` }
func (Dataset) IsSearchResult ¶
func (Dataset) IsSearchResult()
type DatasetServices ¶
type DatasetServices struct {
Metabase *string `json:"metabase"`
}
type Datasource ¶
type Datasource interface {
IsDatasource()
}
type GCPProject ¶
type GroupStats ¶
type InsightProduct ¶
type InsightProduct struct { // id of the insight product. ID uuid.UUID `json:"id"` // name of the insight product. Name string `json:"name"` // creator of the insight product. Creator string `json:"creator"` // description of the insight product. Description string `json:"description"` // type of the insight product. Type string `json:"type"` // link to the insight product. Link string `json:"link"` // keywords for the insight product used as tags. Keywords []string `json:"keywords"` // group is the owner group of the insight product Group string `json:"group"` // teamkatalogenURL of the creator TeamkatalogenURL *string `json:"teamkatalogenURL,omitempty"` // Id of the creator's team. TeamID *string `json:"teamID,omitempty"` // created is the timestamp for when the insight product was created Created time.Time `json:"created"` // lastModified is the timestamp for when the insight product was last modified LastModified *time.Time `json:"lastModified,omitempty"` }
InsightProduct contains the metadata of insight product.
type JoinableView ¶
type JoinableViewDatasource ¶
type JoinableViewWithDatasource ¶
type JoinableViewWithDatasource struct { JoinableView PseudoDatasources []JoinableViewDatasource `json:"pseudoDatasources"` }
type MappingService ¶
type MappingService string
const (
MappingServiceMetabase MappingService = "metabase"
)
func (MappingService) IsValid ¶
func (e MappingService) IsValid() bool
func (MappingService) MarshalGQL ¶
func (e MappingService) MarshalGQL(w io.Writer)
func (MappingService) String ¶
func (e MappingService) String() string
func (*MappingService) UnmarshalGQL ¶
func (e *MappingService) UnmarshalGQL(v interface{}) error
type MetabaseMetadata ¶
type NadaToken ¶
type NadaToken struct { // name of team Team string `json:"team"` // nada token for the team Token uuid.UUID `json:"token"` }
NadaToken contains the token of the corresponding team
type NewAccessRequest ¶
type NewAccessRequest struct { DatasetID uuid.UUID `json:"datasetID"` Subject *string `json:"subject"` SubjectType *SubjectType `json:"subjectType"` Owner *string `json:"owner"` Expires *time.Time `json:"expires"` Polly *PollyInput `json:"polly"` }
type NewBigQuery ¶
type NewDataproduct ¶
type NewDataproduct struct { // name of dataproduct Name string `json:"name"` // description of the dataproduct Description *string `json:"description,omitempty"` // owner group email for the dataproduct. Group string `json:"group"` // owner Teamkatalogen URL for the dataproduct. TeamkatalogenURL *string `json:"teamkatalogenURL,omitempty"` // The contact information of the team who owns the dataproduct, which can be slack channel, slack account, email, and so on. TeamContact *string `json:"teamContact,omitempty"` // Id of the team's product area. ProductAreaID *string `json:"productAreaID,omitempty"` // Id of the team. TeamID *string `json:"teamID,omitempty"` Slug *string }
NewDataproduct contains metadata for creating a new dataproduct
type NewDataset ¶
type NewDataset struct { DataproductID uuid.UUID `json:"dataproductID"` Name string `json:"name"` Description *string `json:"description"` Slug *string `json:"slug"` Repo *string `json:"repo"` Pii PiiLevel `json:"pii"` Keywords []string `json:"keywords"` BigQuery NewBigQuery `json:"bigquery"` AnonymisationDescription *string `json:"anonymisationDescription"` GrantAllUsers *bool `json:"grantAllUsers"` TargetUser *string `json:"targetUser"` Metadata BigqueryMetadata PseudoColumns []string `json:"pseudoColumns"` }
type NewDatasetForNewDataproduct ¶
type NewDatasetForNewDataproduct struct { Name string `json:"name"` Description *string `json:"description"` Repo *string `json:"repo"` Pii PiiLevel `json:"pii"` Keywords []string `json:"keywords"` Bigquery NewBigQuery `json:"bigquery"` AnonymisationDescription *string `json:"anonymisationDescription"` GrantAllUsers *bool `json:"grantAllUsers"` TargetUser *string `json:"targetUser"` Metadata BigqueryMetadata }
NewDatasetForNewDataproduct contains metadata for creating a new dataset for a new dataproduct
type NewInsightProduct ¶
type NewInsightProduct struct { // name of the insight product. Name string `json:"name"` // description of the insight product. Description *string `json:"description,omitempty"` // type of the insight product. Type string `json:"type"` // link to the insight product. Link string `json:"link"` // keywords for the story used as tags. Keywords []string `json:"keywords"` // group is the owner group of the insight product Group string `json:"group"` // teamkatalogenURL of the creator TeamkatalogenURL *string `json:"teamkatalogenURL,omitempty"` // Id of the creator's product area. ProductAreaID *string `json:"productAreaID,omitempty"` // Id of the creator's team. TeamID *string `json:"teamID,omitempty"` }
NewInsightProduct contains the metadata and content of insight products.
type NewJoinableViews ¶
type NewJoinableViews struct { // Name is the name of the joinable views which will be used as the name of the dataset in bigquery, which contains all the joinable views Name string `json:"name"` Expires *time.Time `json:"expires"` // DatasetIDs is the IDs of the datasets which are made joinable. DatasetIDs []uuid.UUID `json:"datasetIDs"` }
NewJoinableViews contains metadata for creating joinable views
type NewStory ¶
type NewStory struct { // id of data story. ID *uuid.UUID `json:"id"` // name of the data story. Name string `json:"name"` // description of the data story. Description *string `json:"description"` // keywords for the story used as tags. Keywords []string `json:"keywords"` // teamkatalogenURL of the creator. TeamkatalogenURL *string `json:"teamkatalogenURL"` // Id of the creator's product area. ProductAreaID *string `json:"productAreaID"` // Id of the creator's team. TeamID *string `json:"teamID"` // group is the owner group of the data story. Group string `json:"group"` }
NewStory contains the metadata and content of data stories.
type Polly ¶
type Polly struct { ID uuid.UUID `json:"id"` QueryPolly }
type PollyInput ¶
type PollyInput struct { ID *uuid.UUID `json:"id"` QueryPolly }
type ProductArea ¶
type PseudoDataset ¶
type PseudoDataset struct { // name is the name of the dataset Name string `json:"name"` // datasetID is the id of the dataset DatasetID uuid.UUID `json:"datasetID"` // datasourceID is the id of the bigquery datasource DatasourceID uuid.UUID `json:"datasourceID"` }
PseudoDataset contains information about a pseudo dataset
type QueryPolly ¶
type SearchQuery ¶
type SearchQuery struct { // Freetext search Text *string `json:"text"` // Filter on keyword Keywords []string `json:"keywords"` // Filter on group Groups []string `json:"groups"` //Filter on team_id TeamIDs []string `json:"teamIDs"` // Filter on enabled services Services []MappingService `json:"services"` // Filter on types Types []SearchType `json:"types"` Limit *int `json:"limit"` Offset *int `json:"offset"` }
type SearchQueryOld ¶
type SearchResult ¶
type SearchResult interface {
IsSearchResult()
}
type SearchResultRow ¶
type SearchResultRow struct { Excerpt string `json:"excerpt"` Result SearchResult `json:"result"` Rank float64 `json:"rank"` }
type SearchType ¶
type SearchType string
const ( SearchTypeDataproduct SearchType = "dataproduct" SearchTypeDataset SearchType = "dataset" SearchTypeStory SearchType = "story" )
func (SearchType) IsValid ¶
func (e SearchType) IsValid() bool
func (SearchType) MarshalGQL ¶
func (e SearchType) MarshalGQL(w io.Writer)
func (SearchType) String ¶
func (e SearchType) String() string
func (*SearchType) UnmarshalGQL ¶
func (e *SearchType) UnmarshalGQL(v interface{}) error
type Story ¶
type Story struct { // id of the data story. ID uuid.UUID `json:"id"` // name of the data story. Name string `json:"name"` // creator of the data story. Creator string `json:"creator"` // description of the data story. Description string `json:"description"` // keywords for the story used as tags. Keywords []string `json:"keywords"` // teamkatalogenURL of the creator. TeamkatalogenURL *string `json:"teamkatalogenURL"` // Id of the creator's team. TeamID *string `json:"teamID"` // created is the timestamp for when the data story was created. Created time.Time `json:"created"` // lastModified is the timestamp for when the dataproduct was last modified. LastModified *time.Time `json:"lastModified"` // group is the owner group of the data story. Group string `json:"group"` }
Story contains the metadata and content of data stories.
func (Story) IsSearchResult ¶
func (Story) IsSearchResult()
type SubjectType ¶
type SubjectType string
const ( SubjectTypeUser SubjectType = "user" SubjectTypeGroup SubjectType = "group" SubjectTypeServiceAccount SubjectType = "serviceAccount" )
func StringToSubjectType ¶
func StringToSubjectType(subjectType string) SubjectType
func (SubjectType) IsValid ¶
func (e SubjectType) IsValid() bool
func (SubjectType) MarshalGQL ¶
func (e SubjectType) MarshalGQL(w io.Writer)
func (SubjectType) String ¶
func (e SubjectType) String() string
func (*SubjectType) UnmarshalGQL ¶
func (e *SubjectType) UnmarshalGQL(v interface{}) error
type TableColumn ¶
type TableMetadata ¶
type TableMetadata struct { ID uuid.UUID `json:"id"` Schema []TableColumn `json:"schema"` }
type UpdateAccessRequest ¶
type UpdateDataproduct ¶
type UpdateDataproduct struct { Name string `json:"name"` Description *string `json:"description"` Slug *string `json:"slug"` Pii PiiLevel `json:"pii"` TeamkatalogenURL *string `json:"teamkatalogenURL"` TeamContact *string `json:"teamContact"` ProductAreaID *string `json:"productAreaID"` TeamID *string `json:"teamID"` }
type UpdateDataset ¶
type UpdateDataset struct { Name string `json:"name"` Description *string `json:"description"` Slug *string `json:"slug"` Repo *string `json:"repo"` Pii PiiLevel `json:"pii"` Keywords []string `json:"keywords"` DataproductID *uuid.UUID `json:"dataproductID"` AnonymisationDescription *string `json:"anonymisationDescription"` PiiTags *string `json:"piiTags"` TargetUser *string `json:"targetUser"` PseudoColumns []string `json:"pseudoColumns"` }
type UpdateKeywords ¶
type UploadFile ¶
type UploadFile struct { // path of the file uploaded Path string `json:"path"` // file data File graphql.Upload `json:"file"` }
UploadFile contains path and data of a file
Click to show internal directories.
Click to hide internal directories.