Documentation
¶
Index ¶
- func ConnectENV() (*sql.DB, error)
- func ConnectENVWithOrg(orgId int) (*sql.DB, error)
- func ConnectRDS() (*sql.DB, error)
- func ConnectRDSWithOrg(orgId int) (*sql.DB, error)
- func ContributorColumns() []string
- func ReadContributorColumns() string
- func WriteContributorColumns() string
- type ContributorNotFoundError
- type CreateDatasetParams
- type CreateDatasetReleaseParams
- type DBTX
- type DatasetNotFoundError
- type DatasetReleaseNotFoundError
- type DatasetUserNotFoundError
- type NewContributor
- type OrganizationUserNotFoundError
- type Queries
- func (q *Queries) AddContributor(ctx context.Context, newContributor NewContributor) (*pgdb.Contributor, error)
- func (q *Queries) AddDatasetContributor(ctx context.Context, dataset *pgdb.Dataset, contributor *pgdb.Contributor) (*pgdb.DatasetContributor, error)
- func (q *Queries) AddDatasetRelease(ctx context.Context, release pgdb.DatasetRelease) (*pgdb.DatasetRelease, error)
- func (q *Queries) AddDatasetUser(ctx context.Context, dataset *pgdb.Dataset, user *pgdb.User, role role.Role) (*pgdb.DatasetUser, error)
- func (q *Queries) AddFiles(ctx context.Context, files []pgdb.FileParams) ([]pgdb.File, error)
- func (q *Queries) AddFolder(ctx context.Context, r pgdb.PackageParams) (*pgdb.Package, error)
- func (q *Queries) AddOrganizationUser(ctx context.Context, orgId int64, userId int64, permBit pgdb.DbPermission) (*pgdb.OrganizationUser, error)
- func (q *Queries) AddPackages(ctx context.Context, records []pgdb.PackageParams) ([]pgdb.Package, error)
- func (q *Queries) CreateDataset(ctx context.Context, p CreateDatasetParams) (*pgdb.Dataset, error)
- func (q *Queries) FindContributor(ctx context.Context, search NewContributor) (*pgdb.Contributor, error)
- func (q *Queries) GetByCognitoId(ctx context.Context, id string) (*pgdb.User, error)
- func (q *Queries) GetContributor(ctx context.Context, id int64) (*pgdb.Contributor, error)
- func (q *Queries) GetContributorByEmail(ctx context.Context, email string) (*pgdb.Contributor, error)
- func (q *Queries) GetContributorByOrcid(ctx context.Context, orcid string) (*pgdb.Contributor, error)
- func (q *Queries) GetContributorByUserId(ctx context.Context, userId int64) (*pgdb.Contributor, error)
- func (q *Queries) GetDatasetById(ctx context.Context, id int64) (*pgdb.Dataset, error)
- func (q *Queries) GetDatasetByName(ctx context.Context, name string) (*pgdb.Dataset, error)
- func (q *Queries) GetDatasetByNodeId(ctx context.Context, nodeId string) (*pgdb.Dataset, error)
- func (q *Queries) GetDatasetClaim(ctx context.Context, user *pgdb.User, datasetNodeId string, ...) (*dataset.Claim, error)
- func (q *Queries) GetDatasetContributor(ctx context.Context, datasetId int64, contributorId int64) (*pgdb.DatasetContributor, error)
- func (q *Queries) GetDatasetRelease(ctx context.Context, datasetId int64, label string, marker string) (*pgdb.DatasetRelease, error)
- func (q *Queries) GetDatasetReleaseById(ctx context.Context, id int64) (*pgdb.DatasetRelease, error)
- func (q *Queries) GetDatasetStorageById(ctx context.Context, datasetId int64) (int64, error)
- func (q *Queries) GetDatasetUser(ctx context.Context, dataset *pgdb.Dataset, user *pgdb.User) (*pgdb.DatasetUser, error)
- func (q *Queries) GetDatasets(ctx context.Context, organizationId int) ([]pgdb.Dataset, error)
- func (q *Queries) GetDefaultDataUseAgreement(ctx context.Context, organizationId int) (*pgdb.DataUseAgreement, error)
- func (q *Queries) GetDefaultDatasetStatus(ctx context.Context, organizationId int) (*pgdb.DatasetStatus, error)
- func (q *Queries) GetFeatureFlags(ctx context.Context, organizationId int64) ([]pgdb.FeatureFlags, error)
- func (q *Queries) GetOrganization(ctx context.Context, id int64) (*pgdb.Organization, error)
- func (q *Queries) GetOrganizationByName(ctx context.Context, name string) (*pgdb.Organization, error)
- func (q *Queries) GetOrganizationByNodeId(ctx context.Context, nodeId string) (*pgdb.Organization, error)
- func (q *Queries) GetOrganizationBySlug(ctx context.Context, slug string) (*pgdb.Organization, error)
- func (q *Queries) GetOrganizationClaim(ctx context.Context, userId int64, organizationId int64) (*organization.Claim, error)
- func (q *Queries) GetOrganizationStorageById(ctx context.Context, organizationId int64) (int64, error)
- func (q *Queries) GetOrganizationUser(ctx context.Context, orgId int64, userId int64) (*pgdb.OrganizationUser, error)
- func (q *Queries) GetOrganizationUserById(ctx context.Context, id int64) (*pgdb.OrganizationUser, error)
- func (q *Queries) GetPackageAncestorIds(ctx context.Context, packageId int64) ([]int64, error)
- func (q *Queries) GetPackageByNodeId(ctx context.Context, nodeId string) (*pgdb.Package, error)
- func (q *Queries) GetPackageChildren(ctx context.Context, parent *pgdb.Package, datasetId int, onlyFolders bool) ([]pgdb.Package, error)
- func (q *Queries) GetPackageStorageById(ctx context.Context, packageId int64) (int64, error)
- func (q *Queries) GetTeamClaims(ctx context.Context, userId int64) ([]teamUser.Claim, error)
- func (q *Queries) GetTeamMemberships(ctx context.Context, userId int64) ([]UserTeamMembership, error)
- func (q *Queries) GetTokenByCognitoId(ctx context.Context, id string) (*pgdb.Token, error)
- func (q *Queries) GetUserByCognitoId(ctx context.Context, id string) (*pgdb.User, error)
- func (q *Queries) GetUserById(ctx context.Context, id int64) (*pgdb.User, error)
- func (q *Queries) IncrementDatasetStorage(ctx context.Context, datasetId int64, size int64) error
- func (q *Queries) IncrementOrganizationStorage(ctx context.Context, organizationId int64, size int64) error
- func (q *Queries) IncrementPackageStorage(ctx context.Context, packageId int64, size int64) error
- func (q *Queries) IncrementPackageStorageAncestors(ctx context.Context, parentId int64, size int64) error
- func (q *Queries) SetUpdatedAt(ctx context.Context, datasetId int64, t time.Time) error
- func (q *Queries) ShowSearchPath(loc string)
- func (q *Queries) UpdateBucketForFile(ctx context.Context, uploadId string, bucket string, s3Key string, ...) error
- func (q *Queries) UpdateDatasetRelease(ctx context.Context, release pgdb.DatasetRelease) (*pgdb.DatasetRelease, error)
- func (q *Queries) WithOrg(orgId int) (*Queries, error)
- func (q *Queries) WithTx(tx *sql.Tx) *Queries
- type SQLStore
- type UserTeamMembership
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ConnectENV ¶
ConnectENV returns a DB instance. Used for testing, it requires the following environment variables to be set - POSTGRES_HOST - POSTGRES_PORT (will default to 5432 if missing) - POSTGRES_USER - POSTGRES_PASSWORD - PENNSIEVE_DB - POSTGRES_SSL_MODE (should be set to "disable" if the server is not https, left blank if it is)
func ConnectRDS ¶
ConnectRDS returns a DB instance. The Lambda function leverages IAM roles to gain access to the DB Proxy. The function does NOT set the search_path to the organization schema. Requires following LAMBDA ENV VARIABLES:
- RDS_PROXY_ENDPOINT
- REGION
- ENV
If ENV is set to DOCKER, the call is redirected to ConnectENV()
func ConnectRDSWithOrg ¶
ConnectRDSWithOrg returns a DB instance. The Lambda function leverages IAM roles to gain access to the DB Proxy. The function DOES set the search_path to the organization schema.
func ContributorColumns ¶ added in v1.4.0
func ContributorColumns() []string
func ReadContributorColumns ¶ added in v1.4.0
func ReadContributorColumns() string
func WriteContributorColumns ¶ added in v1.4.0
func WriteContributorColumns() string
Types ¶
type ContributorNotFoundError ¶ added in v1.4.0
type ContributorNotFoundError struct {
// contains filtered or unexported fields
}
func (ContributorNotFoundError) Error ¶ added in v1.4.0
func (e ContributorNotFoundError) Error() string
type CreateDatasetParams ¶ added in v1.4.0
type CreateDatasetParams struct { Name string Description string Status *pgdb.DatasetStatus AutomaticallyProcessPackages bool License string Tags []string DataUseAgreement *pgdb.DataUseAgreement Type datasetType.DatasetType }
type CreateDatasetReleaseParams ¶ added in v1.9.0
type DBTX ¶
type DBTX interface { ExecContext(context.Context, string, ...interface{}) (sql.Result, error) PrepareContext(context.Context, string) (*sql.Stmt, error) QueryContext(context.Context, string, ...interface{}) (*sql.Rows, error) QueryRowContext(context.Context, string, ...interface{}) *sql.Row }
DBTX Default interface with methods that are available for both DB adn TX sessions.
type DatasetNotFoundError ¶ added in v1.4.0
type DatasetNotFoundError struct {
ErrorMessage string
}
func (DatasetNotFoundError) Error ¶ added in v1.4.0
func (e DatasetNotFoundError) Error() string
type DatasetReleaseNotFoundError ¶ added in v1.9.0
type DatasetReleaseNotFoundError struct {
ErrorMessage string
}
func (DatasetReleaseNotFoundError) Error ¶ added in v1.9.0
func (e DatasetReleaseNotFoundError) Error() string
type DatasetUserNotFoundError ¶ added in v1.4.0
type DatasetUserNotFoundError struct {
ErrorMessage string
}
func (DatasetUserNotFoundError) Error ¶ added in v1.4.0
func (e DatasetUserNotFoundError) Error() string
type NewContributor ¶ added in v1.4.0
type OrganizationUserNotFoundError ¶ added in v1.4.0
type OrganizationUserNotFoundError struct {
ErrorMessage string
}
func (OrganizationUserNotFoundError) Error ¶ added in v1.4.0
func (e OrganizationUserNotFoundError) Error() string
type Queries ¶
type Queries struct {
// contains filtered or unexported fields
}
Queries is a struct with a db object that implements the DBTX interface. This means that db can either be a direct DB connection or a TX transaction.
func (*Queries) AddContributor ¶ added in v1.4.0
func (q *Queries) AddContributor(ctx context.Context, newContributor NewContributor) (*pgdb.Contributor, error)
AddContributor will add a Contributor to the Organization's Contributors table.
func (*Queries) AddDatasetContributor ¶ added in v1.4.0
func (q *Queries) AddDatasetContributor(ctx context.Context, dataset *pgdb.Dataset, contributor *pgdb.Contributor) (*pgdb.DatasetContributor, error)
func (*Queries) AddDatasetRelease ¶ added in v1.11.0
func (q *Queries) AddDatasetRelease(ctx context.Context, release pgdb.DatasetRelease) (*pgdb.DatasetRelease, error)
func (*Queries) AddDatasetUser ¶ added in v1.4.0
func (*Queries) AddOrganizationUser ¶ added in v1.4.0
func (q *Queries) AddOrganizationUser(ctx context.Context, orgId int64, userId int64, permBit pgdb.DbPermission) (*pgdb.OrganizationUser, error)
func (*Queries) AddPackages ¶
func (q *Queries) AddPackages(ctx context.Context, records []pgdb.PackageParams) ([]pgdb.Package, error)
AddPackages adds packages to a dataset.
- This call should typically be wrapped in a Transaction as it will run multiple queries.
- Packages can be in different folders, but it is assumed that the folders already exist.
func (*Queries) CreateDataset ¶ added in v1.4.0
func (*Queries) FindContributor ¶ added in v1.4.1
func (q *Queries) FindContributor(ctx context.Context, search NewContributor) (*pgdb.Contributor, error)
FindContributor will search for a contributor by several User Id, Email Address, and ORCID
func (*Queries) GetByCognitoId ¶
GetByCognitoId returns a user from Postgress based on his/her cognito-id This function also returns the preferred org and whether the user is a super-admin.
func (*Queries) GetContributor ¶ added in v1.4.0
GetContributor will get a Contributor by the Contributor Id (not the User Id).
func (*Queries) GetContributorByEmail ¶ added in v1.4.0
func (q *Queries) GetContributorByEmail(ctx context.Context, email string) (*pgdb.Contributor, error)
GetContributorByEmail will get a Contributor by Email Address.
func (*Queries) GetContributorByOrcid ¶ added in v1.4.0
func (q *Queries) GetContributorByOrcid(ctx context.Context, orcid string) (*pgdb.Contributor, error)
GetContributorByOrcid will get a Contributor by ORCID iD.
func (*Queries) GetContributorByUserId ¶ added in v1.4.0
func (q *Queries) GetContributorByUserId(ctx context.Context, userId int64) (*pgdb.Contributor, error)
GetContributorByUserId will get a Contributor by User Id.
func (*Queries) GetDatasetById ¶ added in v1.11.0
GetDatasetById will query workspace datasets by name and return one if found.
func (*Queries) GetDatasetByName ¶ added in v1.4.0
GetDatasetByName will query workspace datasets by name and return one if found.
func (*Queries) GetDatasetByNodeId ¶ added in v1.11.0
GetDatasetByNodeId will query workspace datasets by name and return one if found.
func (*Queries) GetDatasetClaim ¶
func (q *Queries) GetDatasetClaim(ctx context.Context, user *pgdb.User, datasetNodeId string, organizationId int64) (*dataset.Claim, error)
GetDatasetClaim returns the highest role that the user has for a given dataset. This method checks the roles of the dataset, the teams, and the specific user roles.
func (*Queries) GetDatasetContributor ¶ added in v1.4.0
func (*Queries) GetDatasetRelease ¶ added in v1.9.0
func (*Queries) GetDatasetReleaseById ¶ added in v1.11.0
func (*Queries) GetDatasetStorageById ¶
func (*Queries) GetDatasetUser ¶ added in v1.4.0
func (*Queries) GetDatasets ¶
GetDatasets returns all rows in the Upload Record Table
func (*Queries) GetDefaultDataUseAgreement ¶ added in v1.4.0
func (q *Queries) GetDefaultDataUseAgreement(ctx context.Context, organizationId int) (*pgdb.DataUseAgreement, error)
GetDefaultDataUseAgreement will return the default data use agreement for the organization.
func (*Queries) GetDefaultDatasetStatus ¶ added in v1.4.0
func (q *Queries) GetDefaultDatasetStatus(ctx context.Context, organizationId int) (*pgdb.DatasetStatus, error)
GetDefaultDatasetStatus will return the default dataset status for the organization. This is assumed to be the dataset status row with the lowest id number.
func (*Queries) GetFeatureFlags ¶
func (q *Queries) GetFeatureFlags(ctx context.Context, organizationId int64) ([]pgdb.FeatureFlags, error)
GetFeatureFlags returns all rows in the FeatureFlags Table
func (*Queries) GetOrganization ¶
GetOrganization returns a single organization
func (*Queries) GetOrganizationByName ¶ added in v1.4.10
func (q *Queries) GetOrganizationByName(ctx context.Context, name string) (*pgdb.Organization, error)
GetOrganizationByName returns a single organization
func (*Queries) GetOrganizationByNodeId ¶ added in v1.4.9
func (q *Queries) GetOrganizationByNodeId(ctx context.Context, nodeId string) (*pgdb.Organization, error)
GetOrganizationByNodeId returns a single organization
func (*Queries) GetOrganizationBySlug ¶ added in v1.4.10
func (q *Queries) GetOrganizationBySlug(ctx context.Context, slug string) (*pgdb.Organization, error)
GetOrganizationBySlug returns a single organization
func (*Queries) GetOrganizationClaim ¶
func (q *Queries) GetOrganizationClaim(ctx context.Context, userId int64, organizationId int64) (*organization.Claim, error)
GetOrganizationClaim returns an organization claim for a specific user.
func (*Queries) GetOrganizationStorageById ¶
func (*Queries) GetOrganizationUser ¶ added in v1.4.0
func (*Queries) GetOrganizationUserById ¶
func (*Queries) GetPackageAncestorIds ¶ added in v1.4.7
GetPackageAncestorIds returns an array of Package Ids corresponding with the ancestor Package Ids for the provided package.
- resulting array includes requested package Id as first entry
- resulting array includes first folder in dataset as last entry if package is in nested folder
func (*Queries) GetPackageByNodeId ¶
func (*Queries) GetPackageChildren ¶
func (q *Queries) GetPackageChildren(ctx context.Context, parent *pgdb.Package, datasetId int, onlyFolders bool) ([]pgdb.Package, error)
GetPackageChildren Get the children in a package
func (*Queries) GetPackageStorageById ¶
func (*Queries) GetTeamClaims ¶ added in v1.6.0
func (*Queries) GetTeamMemberships ¶ added in v1.6.0
func (*Queries) GetTokenByCognitoId ¶
GetTokenByCognitoId returns a user from Postgress based on his/her cognito-id This function also returns the preferred org and whether the user is a super-admin.
func (*Queries) GetUserByCognitoId ¶
GetUserByCognitoId returns a Pennsieve User based on the cognito id in the token pool.
func (*Queries) GetUserById ¶ added in v1.4.0
GetUserById returns a user from Postgres based on the user's int id This function also returns the preferred org and whether the user is a super-admin.
func (*Queries) IncrementDatasetStorage ¶
IncrementDatasetStorage increases the storage associated with the provided dataset.
func (*Queries) IncrementOrganizationStorage ¶
func (q *Queries) IncrementOrganizationStorage(ctx context.Context, organizationId int64, size int64) error
IncrementOrganizationStorage increases the storage associated with the provided organization.
func (*Queries) IncrementPackageStorage ¶
IncrementPackageStorage increases the storage associated with the provided package.
func (*Queries) IncrementPackageStorageAncestors ¶
func (q *Queries) IncrementPackageStorageAncestors(ctx context.Context, parentId int64, size int64) error
IncrementPackageStorageAncestors increases the storage associated with the parents of the provided package.
func (*Queries) SetUpdatedAt ¶ added in v1.9.1
func (*Queries) ShowSearchPath ¶
func (*Queries) UpdateBucketForFile ¶
func (q *Queries) UpdateBucketForFile(ctx context.Context, uploadId string, bucket string, s3Key string, organizationId int64) error
UpdateBucketForFile updates the storage bucket as part of upload process and sets Status
func (*Queries) UpdateDatasetRelease ¶ added in v1.11.0
func (q *Queries) UpdateDatasetRelease(ctx context.Context, release pgdb.DatasetRelease) (*pgdb.DatasetRelease, error)
type SQLStore ¶
type SQLStore struct { *Queries // contains filtered or unexported fields }
SQLStore provides the Queries interface and a db instance.
func NewSQLStore ¶
NewSQLStore returns a SQLStore object which implements the Queries
type UserTeamMembership ¶ added in v1.5.0
type UserTeamMembership struct { UserId int64 UserEmail string UserNodeId string OrgId int64 OrgName string OrgNodeId string OrgUserPermission pgdb.DbPermission TeamId int64 TeamName string TeamNodeId string TeamPermission pgdb.DbPermission TeamType sql.NullString }