package
0.10.0
Repository: https://github.com/guacsec/guac.git
Documentation: pkg.go.dev

# README

Ent Backend

This contains the RDMS backend powered by Ent.

Developing

Adding new nodes:

go run -mod=mod entgo.io/ent/cmd/ent new --target pkg/assembler/backends/ent/schema <NodeName>

Generating the schema:

go generate pkg/assembler/backends/ent/generate.go

Testing

This package requires a real Postgres db to test against, so it is not included in the normal test suite. To run the tests, you must have a Postgres db running locally and set the ENT_TEST_DATABASE_URL environment variable to the connection string for that db, or use the default: postgresql://localhost/guac_test?sslmode=disable.

For example:

createdb guac_test
go test ./pkg/assembler/backends/ent/backend/

All tests run within a transaction, so they should not leave any data in the db, and each run should start with a clean slate.

Future Work

Supporting other databases

This backend uses Ent, which is compatible with a wide array of SQL database engines, including MySQL/Aurora, Sqlite, Postres, TiDB, etc.

This implementation is currently built against Postgres, but it should be possible to support other databases by adding support for their specific handling of indexes, and compiling in the necessary drivers. https://github.com/ivanvanderbyl/guac/blob/8fcfccf5bc4145a31fac6e8dc50e7e01e006292a/pkg/assembler/backends/ent/backend/backend.go#L12

Bulk Upserting Trees

Both Package and Source trees use multiple tables, which means it would be impossible to upsert using standard upsert semantics.

Here are a few ways we could solve this for performance:

  1. Denormalize the entire tree to single table with nulls for the columns that aren't present, allowing us to upsert all layers of the tree in a single upsert request. This has one limitation that we'd need to know the primary keys which is impossible to return using batch upserts.
  2. Do a presence query first before inserting the nodes that are missing. This isn't strictly an upsert since it's done at the application layer and would require locking other writers.
  3. Generate the primary keys client side using UUIDs (v7 preferrably) and upsert each layer of the tree using BulkCreate() — NOTE: This will break Global Unique IDs unless we prefix everything, which will further complicate DB Indexes. This is only strictly needed to Node/Nodes queries.

Option 3 is probably the easiest to adopt, but we'd need to make that schema change before merging this in, or drop the DB and recreate it with the new schema since there's really no simple way to migrate from ints to uuids.

# Packages

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author

# Functions

As is a pseudo aggregation function for renaming another other functions with custom names.
Asc applies the given fields in ASC order.
Count applies the "count" aggregation function on each group.
Debug enables debug logging on the ent.Driver.
Desc applies the given fields in DESC order.
Driver configures the client driver.
FromContext returns a Client stored inside a context, or nil if there isn't one.
IsConstraintError returns a boolean indicating whether the error is a constraint failure.
IsNotFound returns a boolean indicating whether the error is a not found error.
IsNotLoaded returns a boolean indicating whether the error is a not loaded error.
IsNotSingular returns a boolean indicating whether the error is a not singular error.
IsValidationError returns a boolean indicating whether the error is a validation error.
Log sets the logging function for debug mode.
MaskNotFound masks not found error.
Max applies the "max" aggregation function on the given field of each group.
Mean applies the "mean" aggregation function on the given field of each group.
Min applies the "min" aggregation function on the given field of each group.
NewArtifactClient returns a client for the Artifact from the given config.
NewBillOfMaterialsClient returns a client for the BillOfMaterials from the given config.
NewBuilderClient returns a client for the Builder from the given config.
NewCertificationClient returns a client for the Certification from the given config.
NewCertifyLegalClient returns a client for the CertifyLegal from the given config.
NewCertifyScorecardClient returns a client for the CertifyScorecard from the given config.
NewCertifyVexClient returns a client for the CertifyVex from the given config.
NewCertifyVulnClient returns a client for the CertifyVuln from the given config.
NewClient creates a new client configured with the given options.
NewContext returns a new context with the given Client attached.
NewDependencyClient returns a client for the Dependency from the given config.
NewHashEqualClient returns a client for the HashEqual from the given config.
NewHasMetadataClient returns a client for the HasMetadata from the given config.
NewHasSourceAtClient returns a client for the HasSourceAt from the given config.
NewLicenseClient returns a client for the License from the given config.
NewOccurrenceClient returns a client for the Occurrence from the given config.
NewPackageNameClient returns a client for the PackageName from the given config.
NewPackageVersionClient returns a client for the PackageVersion from the given config.
NewPkgEqualClient returns a client for the PkgEqual from the given config.
NewPointOfContactClient returns a client for the PointOfContact from the given config.
NewSLSAAttestationClient returns a client for the SLSAAttestation from the given config.
NewSourceNameClient returns a client for the SourceName from the given config.
NewTxContext returns a new context with the given Tx attached.
NewVulnEqualClient returns a client for the VulnEqual from the given config.
NewVulnerabilityIDClient returns a client for the VulnerabilityID from the given config.
NewVulnerabilityMetadataClient returns a client for the VulnerabilityMetadata from the given config.
Open opens a database/sql.DB specified by the driver name and the data source name, and returns a new client attached to it.
OpenTxFromContext open transactions from client stored in context.
Sum applies the "sum" aggregation function on the given field of each group.
TxFromContext returns a Tx stored inside a context, or nil if there isn't one.
WithArtifactFilter configures pagination filter.
WithArtifactOrder configures pagination ordering.
WithBillOfMaterialsFilter configures pagination filter.
WithBillOfMaterialsOrder configures pagination ordering.
WithBuilderFilter configures pagination filter.
WithBuilderOrder configures pagination ordering.
WithCertificationFilter configures pagination filter.
WithCertificationOrder configures pagination ordering.
WithCertifyLegalFilter configures pagination filter.
WithCertifyLegalOrder configures pagination ordering.
WithCertifyScorecardFilter configures pagination filter.
WithCertifyScorecardOrder configures pagination ordering.
WithCertifyVexFilter configures pagination filter.
WithCertifyVexOrder configures pagination ordering.
WithCertifyVulnFilter configures pagination filter.
WithCertifyVulnOrder configures pagination ordering.
WithDependencyFilter configures pagination filter.
WithDependencyOrder configures pagination ordering.
WithFixedNodeType sets the Type of the node to a fixed value.
WithHashEqualFilter configures pagination filter.
WithHashEqualOrder configures pagination ordering.
WithHasMetadataFilter configures pagination filter.
WithHasMetadataOrder configures pagination ordering.
WithHasSourceAtFilter configures pagination filter.
WithHasSourceAtOrder configures pagination ordering.
WithLicenseFilter configures pagination filter.
WithLicenseOrder configures pagination ordering.
WithNodeType sets the node Type resolver function (i.e.
WithOccurrenceFilter configures pagination filter.
WithOccurrenceOrder configures pagination ordering.
WithPackageNameFilter configures pagination filter.
WithPackageNameOrder configures pagination ordering.
WithPackageVersionFilter configures pagination filter.
WithPackageVersionOrder configures pagination ordering.
WithPkgEqualFilter configures pagination filter.
WithPkgEqualOrder configures pagination ordering.
WithPointOfContactFilter configures pagination filter.
WithPointOfContactOrder configures pagination ordering.
WithSLSAAttestationFilter configures pagination filter.
WithSLSAAttestationOrder configures pagination ordering.
WithSourceNameFilter configures pagination filter.
WithSourceNameOrder configures pagination ordering.
WithVulnEqualFilter configures pagination filter.
WithVulnEqualOrder configures pagination ordering.
WithVulnerabilityIDFilter configures pagination filter.
WithVulnerabilityIDOrder configures pagination ordering.
WithVulnerabilityMetadataFilter configures pagination filter.
WithVulnerabilityMetadataOrder configures pagination ordering.

# Constants

Operation types.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Node types.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author

# Variables

DefaultArtifactOrder is the default ordering of Artifact.
DefaultBillOfMaterialsOrder is the default ordering of BillOfMaterials.
DefaultBuilderOrder is the default ordering of Builder.
DefaultCertificationOrder is the default ordering of Certification.
DefaultCertifyLegalOrder is the default ordering of CertifyLegal.
DefaultCertifyScorecardOrder is the default ordering of CertifyScorecard.
DefaultCertifyVexOrder is the default ordering of CertifyVex.
DefaultCertifyVulnOrder is the default ordering of CertifyVuln.
DefaultDependencyOrder is the default ordering of Dependency.
DefaultHashEqualOrder is the default ordering of HashEqual.
DefaultHasMetadataOrder is the default ordering of HasMetadata.
DefaultHasSourceAtOrder is the default ordering of HasSourceAt.
DefaultLicenseOrder is the default ordering of License.
DefaultOccurrenceOrder is the default ordering of Occurrence.
DefaultPackageNameOrder is the default ordering of PackageName.
DefaultPackageVersionOrder is the default ordering of PackageVersion.
DefaultPkgEqualOrder is the default ordering of PkgEqual.
DefaultPointOfContactOrder is the default ordering of PointOfContact.
DefaultSLSAAttestationOrder is the default ordering of SLSAAttestation.
DefaultSourceNameOrder is the default ordering of SourceName.
DefaultVulnEqualOrder is the default ordering of VulnEqual.
DefaultVulnerabilityIDOrder is the default ordering of VulnerabilityID.
DefaultVulnerabilityMetadataOrder is the default ordering of VulnerabilityMetadata.
ErrTxStarted is returned when trying to start a new transaction from a transactional client.

# Structs

Artifact is the model entity for the Artifact schema.
ArtifactClient is a client for the Artifact schema.
ArtifactConnection is the connection containing edges to Artifact.
ArtifactCreate is the builder for creating a Artifact entity.
ArtifactCreateBulk is the builder for creating many Artifact entities in bulk.
ArtifactDelete is the builder for deleting a Artifact entity.
ArtifactDeleteOne is the builder for deleting a single Artifact entity.
ArtifactEdge is the edge representation of Artifact.
ArtifactEdges holds the relations/edges for other nodes in the graph.
ArtifactGroupBy is the group-by builder for Artifact entities.
ArtifactMutation represents an operation that mutates the Artifact nodes in the graph.
ArtifactOrder defines the ordering of Artifact.
ArtifactOrderField defines the ordering field of Artifact.
ArtifactQuery is the builder for querying Artifact entities.
ArtifactSelect is the builder for selecting fields of Artifact entities.
ArtifactUpdate is the builder for updating Artifact entities.
ArtifactUpdateOne is the builder for updating a single Artifact entity.
No description provided by the author
ArtifactUpsertBulk is the builder for "upsert"-ing a bulk of Artifact nodes.
No description provided by the author
BillOfMaterials is the model entity for the BillOfMaterials schema.
BillOfMaterialsClient is a client for the BillOfMaterials schema.
BillOfMaterialsConnection is the connection containing edges to BillOfMaterials.
BillOfMaterialsCreate is the builder for creating a BillOfMaterials entity.
BillOfMaterialsCreateBulk is the builder for creating many BillOfMaterials entities in bulk.
BillOfMaterialsDelete is the builder for deleting a BillOfMaterials entity.
BillOfMaterialsDeleteOne is the builder for deleting a single BillOfMaterials entity.
BillOfMaterialsEdge is the edge representation of BillOfMaterials.
BillOfMaterialsEdges holds the relations/edges for other nodes in the graph.
BillOfMaterialsGroupBy is the group-by builder for BillOfMaterials entities.
BillOfMaterialsMutation represents an operation that mutates the BillOfMaterials nodes in the graph.
BillOfMaterialsOrder defines the ordering of BillOfMaterials.
BillOfMaterialsOrderField defines the ordering field of BillOfMaterials.
BillOfMaterialsQuery is the builder for querying BillOfMaterials entities.
BillOfMaterialsSelect is the builder for selecting fields of BillOfMaterials entities.
BillOfMaterialsUpdate is the builder for updating BillOfMaterials entities.
BillOfMaterialsUpdateOne is the builder for updating a single BillOfMaterials entity.
No description provided by the author
BillOfMaterialsUpsertBulk is the builder for "upsert"-ing a bulk of BillOfMaterials nodes.
No description provided by the author
Builder is the model entity for the Builder schema.
BuilderClient is a client for the Builder schema.
BuilderConnection is the connection containing edges to Builder.
BuilderCreate is the builder for creating a Builder entity.
BuilderCreateBulk is the builder for creating many Builder entities in bulk.
BuilderDelete is the builder for deleting a Builder entity.
BuilderDeleteOne is the builder for deleting a single Builder entity.
BuilderEdge is the edge representation of Builder.
BuilderEdges holds the relations/edges for other nodes in the graph.
BuilderGroupBy is the group-by builder for Builder entities.
BuilderMutation represents an operation that mutates the Builder nodes in the graph.
BuilderOrder defines the ordering of Builder.
BuilderOrderField defines the ordering field of Builder.
BuilderQuery is the builder for querying Builder entities.
BuilderSelect is the builder for selecting fields of Builder entities.
BuilderUpdate is the builder for updating Builder entities.
BuilderUpdateOne is the builder for updating a single Builder entity.
No description provided by the author
BuilderUpsertBulk is the builder for "upsert"-ing a bulk of Builder nodes.
No description provided by the author
Certification is the model entity for the Certification schema.
CertificationClient is a client for the Certification schema.
CertificationConnection is the connection containing edges to Certification.
CertificationCreate is the builder for creating a Certification entity.
CertificationCreateBulk is the builder for creating many Certification entities in bulk.
CertificationDelete is the builder for deleting a Certification entity.
CertificationDeleteOne is the builder for deleting a single Certification entity.
CertificationEdge is the edge representation of Certification.
CertificationEdges holds the relations/edges for other nodes in the graph.
CertificationGroupBy is the group-by builder for Certification entities.
CertificationMutation represents an operation that mutates the Certification nodes in the graph.
CertificationOrder defines the ordering of Certification.
CertificationOrderField defines the ordering field of Certification.
CertificationQuery is the builder for querying Certification entities.
CertificationSelect is the builder for selecting fields of Certification entities.
CertificationUpdate is the builder for updating Certification entities.
CertificationUpdateOne is the builder for updating a single Certification entity.
No description provided by the author
CertificationUpsertBulk is the builder for "upsert"-ing a bulk of Certification nodes.
No description provided by the author
CertifyLegal is the model entity for the CertifyLegal schema.
CertifyLegalClient is a client for the CertifyLegal schema.
CertifyLegalConnection is the connection containing edges to CertifyLegal.
CertifyLegalCreate is the builder for creating a CertifyLegal entity.
CertifyLegalCreateBulk is the builder for creating many CertifyLegal entities in bulk.
CertifyLegalDelete is the builder for deleting a CertifyLegal entity.
CertifyLegalDeleteOne is the builder for deleting a single CertifyLegal entity.
CertifyLegalEdge is the edge representation of CertifyLegal.
CertifyLegalEdges holds the relations/edges for other nodes in the graph.
CertifyLegalGroupBy is the group-by builder for CertifyLegal entities.
CertifyLegalMutation represents an operation that mutates the CertifyLegal nodes in the graph.
CertifyLegalOrder defines the ordering of CertifyLegal.
CertifyLegalOrderField defines the ordering field of CertifyLegal.
CertifyLegalQuery is the builder for querying CertifyLegal entities.
CertifyLegalSelect is the builder for selecting fields of CertifyLegal entities.
CertifyLegalUpdate is the builder for updating CertifyLegal entities.
CertifyLegalUpdateOne is the builder for updating a single CertifyLegal entity.
No description provided by the author
CertifyLegalUpsertBulk is the builder for "upsert"-ing a bulk of CertifyLegal nodes.
No description provided by the author
CertifyScorecard is the model entity for the CertifyScorecard schema.
CertifyScorecardClient is a client for the CertifyScorecard schema.
CertifyScorecardConnection is the connection containing edges to CertifyScorecard.
CertifyScorecardCreate is the builder for creating a CertifyScorecard entity.
CertifyScorecardCreateBulk is the builder for creating many CertifyScorecard entities in bulk.
CertifyScorecardDelete is the builder for deleting a CertifyScorecard entity.
CertifyScorecardDeleteOne is the builder for deleting a single CertifyScorecard entity.
CertifyScorecardEdge is the edge representation of CertifyScorecard.
CertifyScorecardEdges holds the relations/edges for other nodes in the graph.
CertifyScorecardGroupBy is the group-by builder for CertifyScorecard entities.
CertifyScorecardMutation represents an operation that mutates the CertifyScorecard nodes in the graph.
CertifyScorecardOrder defines the ordering of CertifyScorecard.
CertifyScorecardOrderField defines the ordering field of CertifyScorecard.
CertifyScorecardQuery is the builder for querying CertifyScorecard entities.
CertifyScorecardSelect is the builder for selecting fields of CertifyScorecard entities.
CertifyScorecardUpdate is the builder for updating CertifyScorecard entities.
CertifyScorecardUpdateOne is the builder for updating a single CertifyScorecard entity.
No description provided by the author
CertifyScorecardUpsertBulk is the builder for "upsert"-ing a bulk of CertifyScorecard nodes.
No description provided by the author
CertifyVex is the model entity for the CertifyVex schema.
CertifyVexClient is a client for the CertifyVex schema.
CertifyVexConnection is the connection containing edges to CertifyVex.
CertifyVexCreate is the builder for creating a CertifyVex entity.
CertifyVexCreateBulk is the builder for creating many CertifyVex entities in bulk.
CertifyVexDelete is the builder for deleting a CertifyVex entity.
CertifyVexDeleteOne is the builder for deleting a single CertifyVex entity.
CertifyVexEdge is the edge representation of CertifyVex.
CertifyVexEdges holds the relations/edges for other nodes in the graph.
CertifyVexGroupBy is the group-by builder for CertifyVex entities.
CertifyVexMutation represents an operation that mutates the CertifyVex nodes in the graph.
CertifyVexOrder defines the ordering of CertifyVex.
CertifyVexOrderField defines the ordering field of CertifyVex.
CertifyVexQuery is the builder for querying CertifyVex entities.
CertifyVexSelect is the builder for selecting fields of CertifyVex entities.
CertifyVexUpdate is the builder for updating CertifyVex entities.
CertifyVexUpdateOne is the builder for updating a single CertifyVex entity.
No description provided by the author
CertifyVexUpsertBulk is the builder for "upsert"-ing a bulk of CertifyVex nodes.
No description provided by the author
CertifyVuln is the model entity for the CertifyVuln schema.
CertifyVulnClient is a client for the CertifyVuln schema.
CertifyVulnConnection is the connection containing edges to CertifyVuln.
CertifyVulnCreate is the builder for creating a CertifyVuln entity.
CertifyVulnCreateBulk is the builder for creating many CertifyVuln entities in bulk.
CertifyVulnDelete is the builder for deleting a CertifyVuln entity.
CertifyVulnDeleteOne is the builder for deleting a single CertifyVuln entity.
CertifyVulnEdge is the edge representation of CertifyVuln.
CertifyVulnEdges holds the relations/edges for other nodes in the graph.
CertifyVulnGroupBy is the group-by builder for CertifyVuln entities.
CertifyVulnMutation represents an operation that mutates the CertifyVuln nodes in the graph.
CertifyVulnOrder defines the ordering of CertifyVuln.
CertifyVulnOrderField defines the ordering field of CertifyVuln.
CertifyVulnQuery is the builder for querying CertifyVuln entities.
CertifyVulnSelect is the builder for selecting fields of CertifyVuln entities.
CertifyVulnUpdate is the builder for updating CertifyVuln entities.
CertifyVulnUpdateOne is the builder for updating a single CertifyVuln entity.
No description provided by the author
CertifyVulnUpsertBulk is the builder for "upsert"-ing a bulk of CertifyVuln nodes.
No description provided by the author
Client is the client that holds all ent builders.
ConstraintError returns when trying to create/update one or more entities and one or more of their constraints failed.
Dependency is the model entity for the Dependency schema.
DependencyClient is a client for the Dependency schema.
DependencyConnection is the connection containing edges to Dependency.
DependencyCreate is the builder for creating a Dependency entity.
DependencyCreateBulk is the builder for creating many Dependency entities in bulk.
DependencyDelete is the builder for deleting a Dependency entity.
DependencyDeleteOne is the builder for deleting a single Dependency entity.
DependencyEdge is the edge representation of Dependency.
DependencyEdges holds the relations/edges for other nodes in the graph.
DependencyGroupBy is the group-by builder for Dependency entities.
DependencyMutation represents an operation that mutates the Dependency nodes in the graph.
DependencyOrder defines the ordering of Dependency.
DependencyOrderField defines the ordering field of Dependency.
DependencyQuery is the builder for querying Dependency entities.
DependencySelect is the builder for selecting fields of Dependency entities.
DependencyUpdate is the builder for updating Dependency entities.
DependencyUpdateOne is the builder for updating a single Dependency entity.
No description provided by the author
DependencyUpsertBulk is the builder for "upsert"-ing a bulk of Dependency nodes.
No description provided by the author
HashEqual is the model entity for the HashEqual schema.
HashEqualClient is a client for the HashEqual schema.
HashEqualConnection is the connection containing edges to HashEqual.
HashEqualCreate is the builder for creating a HashEqual entity.
HashEqualCreateBulk is the builder for creating many HashEqual entities in bulk.
HashEqualDelete is the builder for deleting a HashEqual entity.
HashEqualDeleteOne is the builder for deleting a single HashEqual entity.
HashEqualEdge is the edge representation of HashEqual.
HashEqualEdges holds the relations/edges for other nodes in the graph.
HashEqualGroupBy is the group-by builder for HashEqual entities.
HashEqualMutation represents an operation that mutates the HashEqual nodes in the graph.
HashEqualOrder defines the ordering of HashEqual.
HashEqualOrderField defines the ordering field of HashEqual.
HashEqualQuery is the builder for querying HashEqual entities.
HashEqualSelect is the builder for selecting fields of HashEqual entities.
HashEqualUpdate is the builder for updating HashEqual entities.
HashEqualUpdateOne is the builder for updating a single HashEqual entity.
No description provided by the author
HashEqualUpsertBulk is the builder for "upsert"-ing a bulk of HashEqual nodes.
No description provided by the author
HasMetadata is the model entity for the HasMetadata schema.
HasMetadataClient is a client for the HasMetadata schema.
HasMetadataConnection is the connection containing edges to HasMetadata.
HasMetadataCreate is the builder for creating a HasMetadata entity.
HasMetadataCreateBulk is the builder for creating many HasMetadata entities in bulk.
HasMetadataDelete is the builder for deleting a HasMetadata entity.
HasMetadataDeleteOne is the builder for deleting a single HasMetadata entity.
HasMetadataEdge is the edge representation of HasMetadata.
HasMetadataEdges holds the relations/edges for other nodes in the graph.
HasMetadataGroupBy is the group-by builder for HasMetadata entities.
HasMetadataMutation represents an operation that mutates the HasMetadata nodes in the graph.
HasMetadataOrder defines the ordering of HasMetadata.
HasMetadataOrderField defines the ordering field of HasMetadata.
HasMetadataQuery is the builder for querying HasMetadata entities.
HasMetadataSelect is the builder for selecting fields of HasMetadata entities.
HasMetadataUpdate is the builder for updating HasMetadata entities.
HasMetadataUpdateOne is the builder for updating a single HasMetadata entity.
No description provided by the author
HasMetadataUpsertBulk is the builder for "upsert"-ing a bulk of HasMetadata nodes.
No description provided by the author
HasSourceAt is the model entity for the HasSourceAt schema.
HasSourceAtClient is a client for the HasSourceAt schema.
HasSourceAtConnection is the connection containing edges to HasSourceAt.
HasSourceAtCreate is the builder for creating a HasSourceAt entity.
HasSourceAtCreateBulk is the builder for creating many HasSourceAt entities in bulk.
HasSourceAtDelete is the builder for deleting a HasSourceAt entity.
HasSourceAtDeleteOne is the builder for deleting a single HasSourceAt entity.
HasSourceAtEdge is the edge representation of HasSourceAt.
HasSourceAtEdges holds the relations/edges for other nodes in the graph.
HasSourceAtGroupBy is the group-by builder for HasSourceAt entities.
HasSourceAtMutation represents an operation that mutates the HasSourceAt nodes in the graph.
HasSourceAtOrder defines the ordering of HasSourceAt.
HasSourceAtOrderField defines the ordering field of HasSourceAt.
HasSourceAtQuery is the builder for querying HasSourceAt entities.
HasSourceAtSelect is the builder for selecting fields of HasSourceAt entities.
HasSourceAtUpdate is the builder for updating HasSourceAt entities.
HasSourceAtUpdateOne is the builder for updating a single HasSourceAt entity.
No description provided by the author
HasSourceAtUpsertBulk is the builder for "upsert"-ing a bulk of HasSourceAt nodes.
No description provided by the author
License is the model entity for the License schema.
LicenseClient is a client for the License schema.
LicenseConnection is the connection containing edges to License.
LicenseCreate is the builder for creating a License entity.
LicenseCreateBulk is the builder for creating many License entities in bulk.
LicenseDelete is the builder for deleting a License entity.
LicenseDeleteOne is the builder for deleting a single License entity.
LicenseEdge is the edge representation of License.
LicenseEdges holds the relations/edges for other nodes in the graph.
LicenseGroupBy is the group-by builder for License entities.
LicenseMutation represents an operation that mutates the License nodes in the graph.
LicenseOrder defines the ordering of License.
LicenseOrderField defines the ordering field of License.
LicenseQuery is the builder for querying License entities.
LicenseSelect is the builder for selecting fields of License entities.
LicenseUpdate is the builder for updating License entities.
LicenseUpdateOne is the builder for updating a single License entity.
No description provided by the author
LicenseUpsertBulk is the builder for "upsert"-ing a bulk of License nodes.
No description provided by the author
NotFoundError returns when trying to fetch a specific entity and it was not found in the database.
NotLoadedError returns when trying to get a node that was not loaded by the query.
NotSingularError returns when trying to fetch a singular entity and more then one was found in the database.
Occurrence is the model entity for the Occurrence schema.
OccurrenceClient is a client for the Occurrence schema.
OccurrenceConnection is the connection containing edges to Occurrence.
OccurrenceCreate is the builder for creating a Occurrence entity.
OccurrenceCreateBulk is the builder for creating many Occurrence entities in bulk.
OccurrenceDelete is the builder for deleting a Occurrence entity.
OccurrenceDeleteOne is the builder for deleting a single Occurrence entity.
OccurrenceEdge is the edge representation of Occurrence.
OccurrenceEdges holds the relations/edges for other nodes in the graph.
OccurrenceGroupBy is the group-by builder for Occurrence entities.
OccurrenceMutation represents an operation that mutates the Occurrence nodes in the graph.
OccurrenceOrder defines the ordering of Occurrence.
OccurrenceOrderField defines the ordering field of Occurrence.
OccurrenceQuery is the builder for querying Occurrence entities.
OccurrenceSelect is the builder for selecting fields of Occurrence entities.
OccurrenceUpdate is the builder for updating Occurrence entities.
OccurrenceUpdateOne is the builder for updating a single Occurrence entity.
No description provided by the author
OccurrenceUpsertBulk is the builder for "upsert"-ing a bulk of Occurrence nodes.
No description provided by the author
PackageName is the model entity for the PackageName schema.
PackageNameClient is a client for the PackageName schema.
PackageNameConnection is the connection containing edges to PackageName.
PackageNameCreate is the builder for creating a PackageName entity.
PackageNameCreateBulk is the builder for creating many PackageName entities in bulk.
PackageNameDelete is the builder for deleting a PackageName entity.
PackageNameDeleteOne is the builder for deleting a single PackageName entity.
PackageNameEdge is the edge representation of PackageName.
PackageNameEdges holds the relations/edges for other nodes in the graph.
PackageNameGroupBy is the group-by builder for PackageName entities.
PackageNameMutation represents an operation that mutates the PackageName nodes in the graph.
PackageNameOrder defines the ordering of PackageName.
PackageNameOrderField defines the ordering field of PackageName.
PackageNameQuery is the builder for querying PackageName entities.
PackageNameSelect is the builder for selecting fields of PackageName entities.
PackageNameUpdate is the builder for updating PackageName entities.
PackageNameUpdateOne is the builder for updating a single PackageName entity.
No description provided by the author
PackageNameUpsertBulk is the builder for "upsert"-ing a bulk of PackageName nodes.
No description provided by the author
PackageVersion is the model entity for the PackageVersion schema.
PackageVersionClient is a client for the PackageVersion schema.
PackageVersionConnection is the connection containing edges to PackageVersion.
PackageVersionCreate is the builder for creating a PackageVersion entity.
PackageVersionCreateBulk is the builder for creating many PackageVersion entities in bulk.
PackageVersionDelete is the builder for deleting a PackageVersion entity.
PackageVersionDeleteOne is the builder for deleting a single PackageVersion entity.
PackageVersionEdge is the edge representation of PackageVersion.
PackageVersionEdges holds the relations/edges for other nodes in the graph.
PackageVersionGroupBy is the group-by builder for PackageVersion entities.
PackageVersionMutation represents an operation that mutates the PackageVersion nodes in the graph.
PackageVersionOrder defines the ordering of PackageVersion.
PackageVersionOrderField defines the ordering field of PackageVersion.
PackageVersionQuery is the builder for querying PackageVersion entities.
PackageVersionSelect is the builder for selecting fields of PackageVersion entities.
PackageVersionUpdate is the builder for updating PackageVersion entities.
PackageVersionUpdateOne is the builder for updating a single PackageVersion entity.
No description provided by the author
PackageVersionUpsertBulk is the builder for "upsert"-ing a bulk of PackageVersion nodes.
No description provided by the author
PkgEqual is the model entity for the PkgEqual schema.
PkgEqualClient is a client for the PkgEqual schema.
PkgEqualConnection is the connection containing edges to PkgEqual.
PkgEqualCreate is the builder for creating a PkgEqual entity.
PkgEqualCreateBulk is the builder for creating many PkgEqual entities in bulk.
PkgEqualDelete is the builder for deleting a PkgEqual entity.
PkgEqualDeleteOne is the builder for deleting a single PkgEqual entity.
PkgEqualEdge is the edge representation of PkgEqual.
PkgEqualEdges holds the relations/edges for other nodes in the graph.
PkgEqualGroupBy is the group-by builder for PkgEqual entities.
PkgEqualMutation represents an operation that mutates the PkgEqual nodes in the graph.
PkgEqualOrder defines the ordering of PkgEqual.
PkgEqualOrderField defines the ordering field of PkgEqual.
PkgEqualQuery is the builder for querying PkgEqual entities.
PkgEqualSelect is the builder for selecting fields of PkgEqual entities.
PkgEqualUpdate is the builder for updating PkgEqual entities.
PkgEqualUpdateOne is the builder for updating a single PkgEqual entity.
No description provided by the author
PkgEqualUpsertBulk is the builder for "upsert"-ing a bulk of PkgEqual nodes.
No description provided by the author
PointOfContact is the model entity for the PointOfContact schema.
PointOfContactClient is a client for the PointOfContact schema.
PointOfContactConnection is the connection containing edges to PointOfContact.
PointOfContactCreate is the builder for creating a PointOfContact entity.
PointOfContactCreateBulk is the builder for creating many PointOfContact entities in bulk.
PointOfContactDelete is the builder for deleting a PointOfContact entity.
PointOfContactDeleteOne is the builder for deleting a single PointOfContact entity.
PointOfContactEdge is the edge representation of PointOfContact.
PointOfContactEdges holds the relations/edges for other nodes in the graph.
PointOfContactGroupBy is the group-by builder for PointOfContact entities.
PointOfContactMutation represents an operation that mutates the PointOfContact nodes in the graph.
PointOfContactOrder defines the ordering of PointOfContact.
PointOfContactOrderField defines the ordering field of PointOfContact.
PointOfContactQuery is the builder for querying PointOfContact entities.
PointOfContactSelect is the builder for selecting fields of PointOfContact entities.
PointOfContactUpdate is the builder for updating PointOfContact entities.
PointOfContactUpdateOne is the builder for updating a single PointOfContact entity.
No description provided by the author
PointOfContactUpsertBulk is the builder for "upsert"-ing a bulk of PointOfContact nodes.
No description provided by the author
SLSAAttestation is the model entity for the SLSAAttestation schema.
SLSAAttestationClient is a client for the SLSAAttestation schema.
SLSAAttestationConnection is the connection containing edges to SLSAAttestation.
SLSAAttestationCreate is the builder for creating a SLSAAttestation entity.
SLSAAttestationCreateBulk is the builder for creating many SLSAAttestation entities in bulk.
SLSAAttestationDelete is the builder for deleting a SLSAAttestation entity.
SLSAAttestationDeleteOne is the builder for deleting a single SLSAAttestation entity.
SLSAAttestationEdge is the edge representation of SLSAAttestation.
SLSAAttestationEdges holds the relations/edges for other nodes in the graph.
SLSAAttestationGroupBy is the group-by builder for SLSAAttestation entities.
SLSAAttestationMutation represents an operation that mutates the SLSAAttestation nodes in the graph.
SLSAAttestationOrder defines the ordering of SLSAAttestation.
SLSAAttestationOrderField defines the ordering field of SLSAAttestation.
SLSAAttestationQuery is the builder for querying SLSAAttestation entities.
SLSAAttestationSelect is the builder for selecting fields of SLSAAttestation entities.
SLSAAttestationUpdate is the builder for updating SLSAAttestation entities.
SLSAAttestationUpdateOne is the builder for updating a single SLSAAttestation entity.
No description provided by the author
SLSAAttestationUpsertBulk is the builder for "upsert"-ing a bulk of SLSAAttestation nodes.
No description provided by the author
SourceName is the model entity for the SourceName schema.
SourceNameClient is a client for the SourceName schema.
SourceNameConnection is the connection containing edges to SourceName.
SourceNameCreate is the builder for creating a SourceName entity.
SourceNameCreateBulk is the builder for creating many SourceName entities in bulk.
SourceNameDelete is the builder for deleting a SourceName entity.
SourceNameDeleteOne is the builder for deleting a single SourceName entity.
SourceNameEdge is the edge representation of SourceName.
SourceNameEdges holds the relations/edges for other nodes in the graph.
SourceNameGroupBy is the group-by builder for SourceName entities.
SourceNameMutation represents an operation that mutates the SourceName nodes in the graph.
SourceNameOrder defines the ordering of SourceName.
SourceNameOrderField defines the ordering field of SourceName.
SourceNameQuery is the builder for querying SourceName entities.
SourceNameSelect is the builder for selecting fields of SourceName entities.
SourceNameUpdate is the builder for updating SourceName entities.
SourceNameUpdateOne is the builder for updating a single SourceName entity.
No description provided by the author
SourceNameUpsertBulk is the builder for "upsert"-ing a bulk of SourceName nodes.
No description provided by the author
Tx is a transactional client that is created by calling Client.Tx().
ValidationError returns when validating a field or edge fails.
VulnEqual is the model entity for the VulnEqual schema.
VulnEqualClient is a client for the VulnEqual schema.
VulnEqualConnection is the connection containing edges to VulnEqual.
VulnEqualCreate is the builder for creating a VulnEqual entity.
VulnEqualCreateBulk is the builder for creating many VulnEqual entities in bulk.
VulnEqualDelete is the builder for deleting a VulnEqual entity.
VulnEqualDeleteOne is the builder for deleting a single VulnEqual entity.
VulnEqualEdge is the edge representation of VulnEqual.
VulnEqualEdges holds the relations/edges for other nodes in the graph.
VulnEqualGroupBy is the group-by builder for VulnEqual entities.
VulnEqualMutation represents an operation that mutates the VulnEqual nodes in the graph.
VulnEqualOrder defines the ordering of VulnEqual.
VulnEqualOrderField defines the ordering field of VulnEqual.
VulnEqualQuery is the builder for querying VulnEqual entities.
VulnEqualSelect is the builder for selecting fields of VulnEqual entities.
VulnEqualUpdate is the builder for updating VulnEqual entities.
VulnEqualUpdateOne is the builder for updating a single VulnEqual entity.
No description provided by the author
VulnEqualUpsertBulk is the builder for "upsert"-ing a bulk of VulnEqual nodes.
No description provided by the author
VulnerabilityID is the model entity for the VulnerabilityID schema.
VulnerabilityIDClient is a client for the VulnerabilityID schema.
VulnerabilityIDConnection is the connection containing edges to VulnerabilityID.
VulnerabilityIDCreate is the builder for creating a VulnerabilityID entity.
VulnerabilityIDCreateBulk is the builder for creating many VulnerabilityID entities in bulk.
VulnerabilityIDDelete is the builder for deleting a VulnerabilityID entity.
VulnerabilityIDDeleteOne is the builder for deleting a single VulnerabilityID entity.
VulnerabilityIDEdge is the edge representation of VulnerabilityID.
VulnerabilityIDEdges holds the relations/edges for other nodes in the graph.
VulnerabilityIDGroupBy is the group-by builder for VulnerabilityID entities.
VulnerabilityIDMutation represents an operation that mutates the VulnerabilityID nodes in the graph.
VulnerabilityIDOrder defines the ordering of VulnerabilityID.
VulnerabilityIDOrderField defines the ordering field of VulnerabilityID.
VulnerabilityIDQuery is the builder for querying VulnerabilityID entities.
VulnerabilityIDSelect is the builder for selecting fields of VulnerabilityID entities.
VulnerabilityIDUpdate is the builder for updating VulnerabilityID entities.
VulnerabilityIDUpdateOne is the builder for updating a single VulnerabilityID entity.
No description provided by the author
VulnerabilityIDUpsertBulk is the builder for "upsert"-ing a bulk of VulnerabilityID nodes.
No description provided by the author
VulnerabilityMetadata is the model entity for the VulnerabilityMetadata schema.
VulnerabilityMetadataClient is a client for the VulnerabilityMetadata schema.
VulnerabilityMetadataConnection is the connection containing edges to VulnerabilityMetadata.
VulnerabilityMetadataCreate is the builder for creating a VulnerabilityMetadata entity.
VulnerabilityMetadataCreateBulk is the builder for creating many VulnerabilityMetadata entities in bulk.
VulnerabilityMetadataDelete is the builder for deleting a VulnerabilityMetadata entity.
VulnerabilityMetadataDeleteOne is the builder for deleting a single VulnerabilityMetadata entity.
VulnerabilityMetadataEdge is the edge representation of VulnerabilityMetadata.
VulnerabilityMetadataEdges holds the relations/edges for other nodes in the graph.
VulnerabilityMetadataGroupBy is the group-by builder for VulnerabilityMetadata entities.
VulnerabilityMetadataMutation represents an operation that mutates the VulnerabilityMetadata nodes in the graph.
VulnerabilityMetadataOrder defines the ordering of VulnerabilityMetadata.
VulnerabilityMetadataOrderField defines the ordering field of VulnerabilityMetadata.
VulnerabilityMetadataQuery is the builder for querying VulnerabilityMetadata entities.
VulnerabilityMetadataSelect is the builder for selecting fields of VulnerabilityMetadata entities.
VulnerabilityMetadataUpdate is the builder for updating VulnerabilityMetadata entities.
VulnerabilityMetadataUpdateOne is the builder for updating a single VulnerabilityMetadata entity.
No description provided by the author
VulnerabilityMetadataUpsertBulk is the builder for "upsert"-ing a bulk of VulnerabilityMetadata nodes.
No description provided by the author

# Interfaces

No description provided by the author
Noder wraps the basic Node method.
No description provided by the author

# Type aliases

AggregateFunc applies an aggregation step on the group-by traversal/selector.
ArtifactPaginateOption enables pagination customization.
Artifacts is a parsable slice of Artifact.
BillOfMaterialsPaginateOption enables pagination customization.
BillOfMaterialsSlice is a parsable slice of BillOfMaterials.
BuilderPaginateOption enables pagination customization.
Builders is a parsable slice of Builder.
CertificationPaginateOption enables pagination customization.
Certifications is a parsable slice of Certification.
CertifyLegalPaginateOption enables pagination customization.
CertifyLegals is a parsable slice of CertifyLegal.
CertifyScorecardPaginateOption enables pagination customization.
CertifyScorecards is a parsable slice of CertifyScorecard.
CertifyVexes is a parsable slice of CertifyVex.
CertifyVexPaginateOption enables pagination customization.
CertifyVulnPaginateOption enables pagination customization.
CertifyVulns is a parsable slice of CertifyVuln.
No description provided by the author
No description provided by the author
Dependencies is a parsable slice of Dependency.
DependencyPaginateOption enables pagination customization.
HashEqualPaginateOption enables pagination customization.
HashEquals is a parsable slice of HashEqual.
HasMetadataPaginateOption enables pagination customization.
HasMetadataSlice is a parsable slice of HasMetadata.
HasSourceAtPaginateOption enables pagination customization.
HasSourceAts is a parsable slice of HasSourceAt.
ent aliases to avoid import conflicts in user's code.
ent aliases to avoid import conflicts in user's code.
ent aliases to avoid import conflicts in user's code.
LicensePaginateOption enables pagination customization.
Licenses is a parsable slice of License.
ent aliases to avoid import conflicts in user's code.
ent aliases to avoid import conflicts in user's code.
ent aliases to avoid import conflicts in user's code.
NodeOption allows configuring the Noder execution using functional options.
OccurrencePaginateOption enables pagination customization.
Occurrences is a parsable slice of Occurrence.
ent aliases to avoid import conflicts in user's code.
No description provided by the author
Common entgql types.
OrderFunc applies an ordering on the sql selector.
PackageNamePaginateOption enables pagination customization.
PackageNames is a parsable slice of PackageName.
PackageVersionPaginateOption enables pagination customization.
PackageVersions is a parsable slice of PackageVersion.
PkgEqualPaginateOption enables pagination customization.
PkgEquals is a parsable slice of PkgEqual.
PointOfContactPaginateOption enables pagination customization.
PointOfContacts is a parsable slice of PointOfContact.
ent aliases to avoid import conflicts in user's code.
ent aliases to avoid import conflicts in user's code.
ent aliases to avoid import conflicts in user's code.
ent aliases to avoid import conflicts in user's code.
ent aliases to avoid import conflicts in user's code.
No description provided by the author
No description provided by the author
SLSAAttestationPaginateOption enables pagination customization.
SLSAAttestations is a parsable slice of SLSAAttestation.
SourceNamePaginateOption enables pagination customization.
SourceNames is a parsable slice of SourceName.
ent aliases to avoid import conflicts in user's code.
ent aliases to avoid import conflicts in user's code.
ent aliases to avoid import conflicts in user's code.
VulnEqualPaginateOption enables pagination customization.
VulnEquals is a parsable slice of VulnEqual.
VulnerabilityIDPaginateOption enables pagination customization.
VulnerabilityIDs is a parsable slice of VulnerabilityID.
VulnerabilityMetadataPaginateOption enables pagination customization.
VulnerabilityMetadataSlice is a parsable slice of VulnerabilityMetadata.