Helper Repositories
riverboat
Riverboat is the job queue used in Openlane based on the riverqueue project.
gqlgen-plugins
gqlgen provides a way to hook into the gqlgen code generation lifecycle. This repo contains several hooks that are used within the core repo gqlgen generation process.
- resolver gen
- bulk gen
- search gen
This hook will override the default generated resolver functions with the templates for CRUD operations.
Creates resolvers to do bulk operations for a schema for both bulk input or a csv file upload input.
Creates search resolvers to search on fields within the ent schema. Fields in the schema that should be searchable by non-admins should include the annotation:
Annotations(
entx.FieldSearchable(),
)
entx
A helper package for working with ent, which includes the following high-level utilities:
- Mixin used for assigning a different ID type than the one generated by
ent(we use ULIDs) - Mixin used for assigning some default columns (
created_at,created_by, etc. - check out themixindirectory for more details) - A vanilla, drop-in, setup for using
entwith our standard tool chainsgqlgen,gqlgenc, and some other helpers - Soft-delete extension with cascade delete functionality added in
- enthistory extension for generating history tables using ent - the plugin will add-on to your existing
entcusage and enumerate over your current schemas to create new "history" schemas containing an inventory of the changes related to the existing tables.
iam
A go library for interacting with OpenFGA - it is comprised of 2 packages, fgax and entfga.
- fgax: wrapper to interact with the OpenFGA go-sdk and client libraries
- entfga: an ent extension to create relationship tuples using ent Hooks
httpsling
The httpsling library simplifies the way you make HTTP requests. It's intended to provide an easy-to-use interface for sending requests and handling responses, reducing the boilerplate code typically associated with the net/http package.
newman
Package that allows you to send emails using different email providers. we are using the Resend provider actively within Openlane projects.
utils
Common utility libraries for working within the openlane ecosystem