Documentation
¶
Overview ¶
Package resolver contains the GraphQL resolvers for the stock service. This includesolvers for strains and plasmids, as well as any related types. The resolvers in this package are responsible for handling GraphQL queries and mutations related to stocks, and they interact with the stock service to perform the necessary operations.
Index ¶
- func Slugify(name string) string
- type CollectPublicationResultsParams
- type FetchGeneAnnotationParams
- type FetchPublicationDetailsParams
- type LaunchPublicationFetchersParams
- type MutationResolver
- func (mrs *MutationResolver) AddStrainPhenotype(ctx context.Context, strainID string, input models.AddStrainPhenotypeInput) (*models.Strain, error)
- func (mrs *MutationResolver) CreateContent(ctx context.Context, input *models.CreateContentInput) (*pb.Content, error)
- func (mrs *MutationResolver) CreateGeneGeneralInfo(ctx context.Context, id string, input models.CreateGeneGeneralInfoInput) (*models.GeneGeneralInfo, error)
- func (mrs *MutationResolver) CreateOrder(ctx context.Context, input *models.CreateOrderInput) (*pb.Order, error)
- func (mrs *MutationResolver) CreatePermission(ctx context.Context, input *models.CreatePermissionInput) (*pb.Permission, error)
- func (mrs *MutationResolver) CreatePlasmid(ctx context.Context, input *models.CreatePlasmidInput) (*models.Plasmid, error)
- func (mrs *MutationResolver) CreateRole(ctx context.Context, input *models.CreateRoleInput) (*pb.Role, error)
- func (mrs *MutationResolver) CreateRolePermissionRelationship(ctx context.Context, roleID string, permissionID string) (*pb.Role, error)
- func (mrs *MutationResolver) CreateStrain(ctx context.Context, input *models.CreateStrainInput) (*models.Strain, error)
- func (mrs *MutationResolver) CreateUser(ctx context.Context, input *models.CreateUserInput) (*pb.User, error)
- func (mrs *MutationResolver) CreateUserRoleRelationship(ctx context.Context, userID string, roleID string) (*pb.User, error)
- func (mrs *MutationResolver) DeleteContent(ctx context.Context, id string) (*models.DeleteContent, error)
- func (mrs *MutationResolver) DeletePermission(ctx context.Context, id string) (*models.DeletePermission, error)
- func (mrs *MutationResolver) DeleteRole(ctx context.Context, id string) (*models.DeleteRole, error)
- func (mrs *MutationResolver) DeleteStock(ctx context.Context, id string) (*models.DeleteStock, error)
- func (mrs *MutationResolver) DeleteStrainPhenotype(ctx context.Context, strainID string, input models.DeleteStrainPhenotypeInput) (*models.DeleteStrainPhenotype, error)
- func (mrs *MutationResolver) DeleteUser(ctx context.Context, id string) (*models.DeleteUser, error)
- func (mrs *MutationResolver) Login(ctx context.Context, input *models.LoginInput) (*pb.Auth, error)
- func (mrs *MutationResolver) Logout(ctx context.Context) (*models.Logout, error)
- func (mrs *MutationResolver) UpdateContent(ctx context.Context, input *models.UpdateContentInput) (*pb.Content, error)
- func (mrs *MutationResolver) UpdateGeneGeneralInfo(ctx context.Context, id string, input models.UpdateGeneGeneralInfoInput) (*models.GeneGeneralInfo, error)
- func (mrs *MutationResolver) UpdateOrder(ctx context.Context, id string, input *models.UpdateOrderInput) (*pb.Order, error)
- func (mrs *MutationResolver) UpdatePermission(ctx context.Context, id string, input *models.UpdatePermissionInput) (*pb.Permission, error)
- func (mrs *MutationResolver) UpdatePlasmid(ctx context.Context, id string, input *models.UpdatePlasmidInput) (*models.Plasmid, error)
- func (mrs *MutationResolver) UpdateRole(ctx context.Context, id string, input *models.UpdateRoleInput) (*pb.Role, error)
- func (mrs *MutationResolver) UpdateStrain(ctx context.Context, id string, input *models.UpdateStrainInput) (*models.Strain, error)
- func (mrs *MutationResolver) UpdateStrainPhenotype(ctx context.Context, strainID string, ...) (*models.Strain, error)
- func (mrs *MutationResolver) UpdateUser(ctx context.Context, id string, input *models.UpdateUserInput) (*pb.User, error)
- func (mrs *MutationResolver) UploadFile(ctx context.Context, file graphql.Upload) (*models.ImageFile, error)
- type QueryResolver
- func (qrs *QueryResolver) AllOrthologs(ctx context.Context, gene string) (*models.Gene, error)
- func (qrs *QueryResolver) AllPublications(ctx context.Context, gene string, limit *int, sortBy *string) (*models.NumberOfPublicationsWithGene, error)
- func (qrs *QueryResolver) AllStrains(ctx context.Context, gene string) (*models.Gene, error)
- func (qrs *QueryResolver) Content(ctx context.Context, id string) (*pb.Content, error)
- func (qrs *QueryResolver) ContentBySlug(ctx context.Context, slug string) (*pb.Content, error)
- func (qrs *QueryResolver) Gene(ctx context.Context, geneID string) (*models.Gene, error)
- func (qrs *QueryResolver) GeneGeneralInformation(ctx context.Context, gene string) (*models.GeneGeneralInfo, error)
- func (qrs *QueryResolver) GeneOntologyAnnotation(ctx context.Context, gene string) ([]*models.GOAnnotation, error)
- func (qrs *QueryResolver) GeneralInformation(ctx context.Context, gene string) (*models.Gene, error)
- func (qrs *QueryResolver) GetAssociatedSequnces(ctx context.Context, gene string) (*models.Gene, error)
- func (qrs *QueryResolver) GetLinks(ctx context.Context, gene string) (*models.Gene, error)
- func (qrs *QueryResolver) GetProteinInformation(ctx context.Context, gene string) (*models.Gene, error)
- func (qrs *QueryResolver) GetRefreshToken(ctx context.Context, token string) (*pb.Auth, error)
- func (qrs *QueryResolver) ListContentByNamespace(ctx context.Context, namespace string) ([]*pb.Content, error)
- func (qrs *QueryResolver) ListGeneProductInfo(ctx context.Context, gene string) (*models.Gene, error)
- func (qrs *QueryResolver) ListOrders(ctx context.Context, cursor *int, limit *int, filter *string) (*models.OrderListWithCursor, error)
- func (qrs *QueryResolver) ListOrganisms(ctx context.Context) ([]*models.Organism, error)
- func (qrs *QueryResolver) ListPermissions(ctx context.Context) ([]*pb.Permission, error)
- func (qrs *QueryResolver) ListPhenotypeAssays(ctx context.Context, search string) ([]string, error)
- func (qrs *QueryResolver) ListPhenotypeEnvironments(ctx context.Context, search string) ([]string, error)
- func (qrs *QueryResolver) ListPhenotypes(ctx context.Context, search string) ([]string, error)
- func (qrs *QueryResolver) ListPlasmids(ctx context.Context, cursor *int, limit *int, filter *models.PlasmidListFilter) (*models.PlasmidListWithCursor, error)
- func (qrs *QueryResolver) ListPlasmidsWithAnnotation(ctx context.Context, cursor *int, limit *int, typeArg string, ...) (*models.PlasmidListWithCursor, error)
- func (qrs *QueryResolver) ListPublicationsWithGene(ctx context.Context, gene string) ([]*models.PublicationWithGene, error)
- func (qrs *QueryResolver) ListRecentGenes(ctx context.Context, limit int) ([]*models.Gene, error)
- func (qrs *QueryResolver) ListRecentPlasmids(ctx context.Context, limit int) ([]*models.Plasmid, error)
- func (qrs *QueryResolver) ListRecentPublications(ctx context.Context, limit int) ([]*models.Publication, error)
- func (qrs *QueryResolver) ListRecentStrains(ctx context.Context, limit int) ([]*models.Strain, error)
- func (qrs *QueryResolver) ListRoles(ctx context.Context) ([]*pb.Role, error)
- func (qrs *QueryResolver) ListStrains(ctx context.Context, cursor *int, limit *int, filter *models.StrainListFilter) (*models.StrainListWithCursor, error)
- func (qrs *QueryResolver) ListStrainsWithAnnotation(ctx context.Context, cursor *int, limit *int, typeArg string, ...) (*models.StrainListWithCursor, error)
- func (qrs *QueryResolver) ListStrainsWithGene(ctx context.Context, gene string) ([]*models.Strain, error)
- func (qrs *QueryResolver) ListUsers(ctx context.Context, pagenum string, pagesize string, filter string) (*models.UserList, error)
- func (qrs *QueryResolver) Order(ctx context.Context, id string) (*pb.Order, error)
- func (qrs *QueryResolver) Organism(ctx context.Context, taxonID string) (*models.Organism, error)
- func (qrs *QueryResolver) Permission(ctx context.Context, id string) (*pb.Permission, error)
- func (qrs *QueryResolver) Plasmid(ctx context.Context, id string) (*models.Plasmid, error)
- func (qrs *QueryResolver) Publication(ctx context.Context, id string) (*models.Publication, error)
- func (qrs *QueryResolver) Role(ctx context.Context, id string) (*pb.Role, error)
- func (qrs *QueryResolver) Strain(ctx context.Context, id string) (*models.Strain, error)
- func (qrs *QueryResolver) User(ctx context.Context, id string) (*pb.User, error)
- func (qrs *QueryResolver) UserByEmail(ctx context.Context, email string) (*pb.User, error)
- type Resolver
- func (rrs *Resolver) Auth() generated.AuthResolver
- func (rrs *Resolver) Author() generated.AuthorResolver
- func (rrs *Resolver) Content() generated.ContentResolver
- func (rrs *Resolver) Mutation() generated.MutationResolver
- func (rrs *Resolver) Order() generated.OrderResolver
- func (rrs *Resolver) Organism() generated.OrganismResolver
- func (rrs *Resolver) Permission() generated.PermissionResolver
- func (rrs *Resolver) Plasmid() generated.PlasmidResolver
- func (rrs *Resolver) Query() generated.QueryResolver
- func (rrs *Resolver) Role() generated.RoleResolver
- func (rrs *Resolver) Strain() generated.StrainResolver
- func (rrs *Resolver) User() generated.UserResolver
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type CollectPublicationResultsParams ¶
type CollectPublicationResultsParams struct {
Ctx context.Context
PubChan <-chan *models.PublicationWithGene
ErrChan <-chan error
Logger *logrus.Entry
}
CollectPublicationResultsParams defines the parameters for the collectPublicationResults function.
type FetchGeneAnnotationParams ¶
type FetchGeneAnnotationParams struct {
Ctx context.Context
Client feature.FeatureAnnotationServiceClient
GeneID string
Logger *logrus.Entry
}
FetchGeneAnnotationParams defines the parameters for the fetchGeneAnnotation function.
type FetchPublicationDetailsParams ¶
type FetchPublicationDetailsParams struct {
Ctx context.Context
PubID string
GeneID string // For logging context
Qrs *QueryResolver
FeatClient feature.FeatureAnnotationServiceClient
}
FetchPublicationDetailsParams defines the parameters for the fetchPublicationDetails function.
type LaunchPublicationFetchersParams ¶
type LaunchPublicationFetchersParams struct {
Ctx context.Context
Gene string
PubIDs []string
FeatClient feature.FeatureAnnotationServiceClient
PubChan chan<- *models.PublicationWithGene
ErrChan chan<- error
Sem *concurrency.Semaphore
Wg *sync.WaitGroup
CancelFunc context.CancelFunc
Qrs *QueryResolver
}
LaunchPublicationFetchersParams defines the parameters for the launchPublicationFetchers method.
type MutationResolver ¶
func (*MutationResolver) AddStrainPhenotype ¶
func (mrs *MutationResolver) AddStrainPhenotype( ctx context.Context, strainID string, input models.AddStrainPhenotypeInput, ) (*models.Strain, error)
func (*MutationResolver) CreateContent ¶
func (mrs *MutationResolver) CreateContent( ctx context.Context, input *models.CreateContentInput, ) (*pb.Content, error)
func (*MutationResolver) CreateGeneGeneralInfo ¶
func (mrs *MutationResolver) CreateGeneGeneralInfo( ctx context.Context, id string, input models.CreateGeneGeneralInfoInput, ) (*models.GeneGeneralInfo, error)
func (*MutationResolver) CreateOrder ¶
func (mrs *MutationResolver) CreateOrder( ctx context.Context, input *models.CreateOrderInput, ) (*pb.Order, error)
CreateOrder creates a new stock order.
func (*MutationResolver) CreatePermission ¶
func (mrs *MutationResolver) CreatePermission( ctx context.Context, input *models.CreatePermissionInput, ) (*pb.Permission, error)
func (*MutationResolver) CreatePlasmid ¶
func (mrs *MutationResolver) CreatePlasmid( ctx context.Context, input *models.CreatePlasmidInput, ) (*models.Plasmid, error)
func (*MutationResolver) CreateRole ¶
func (mrs *MutationResolver) CreateRole( ctx context.Context, input *models.CreateRoleInput, ) (*pb.Role, error)
func (*MutationResolver) CreateRolePermissionRelationship ¶
func (*MutationResolver) CreateStrain ¶
func (mrs *MutationResolver) CreateStrain( ctx context.Context, input *models.CreateStrainInput, ) (*models.Strain, error)
func (*MutationResolver) CreateUser ¶
func (mrs *MutationResolver) CreateUser( ctx context.Context, input *models.CreateUserInput, ) (*pb.User, error)
func (*MutationResolver) CreateUserRoleRelationship ¶
func (*MutationResolver) DeleteContent ¶
func (mrs *MutationResolver) DeleteContent( ctx context.Context, id string, ) (*models.DeleteContent, error)
func (*MutationResolver) DeletePermission ¶
func (mrs *MutationResolver) DeletePermission( ctx context.Context, id string, ) (*models.DeletePermission, error)
func (*MutationResolver) DeleteRole ¶
func (mrs *MutationResolver) DeleteRole( ctx context.Context, id string, ) (*models.DeleteRole, error)
func (*MutationResolver) DeleteStock ¶
func (mrs *MutationResolver) DeleteStock( ctx context.Context, id string, ) (*models.DeleteStock, error)
func (*MutationResolver) DeleteStrainPhenotype ¶
func (mrs *MutationResolver) DeleteStrainPhenotype( ctx context.Context, strainID string, input models.DeleteStrainPhenotypeInput, ) (*models.DeleteStrainPhenotype, error)
func (*MutationResolver) DeleteUser ¶
func (mrs *MutationResolver) DeleteUser( ctx context.Context, id string, ) (*models.DeleteUser, error)
func (*MutationResolver) Login ¶
func (mrs *MutationResolver) Login( ctx context.Context, input *models.LoginInput, ) (*pb.Auth, error)
func (*MutationResolver) UpdateContent ¶
func (mrs *MutationResolver) UpdateContent( ctx context.Context, input *models.UpdateContentInput, ) (*pb.Content, error)
func (*MutationResolver) UpdateGeneGeneralInfo ¶
func (mrs *MutationResolver) UpdateGeneGeneralInfo( ctx context.Context, id string, input models.UpdateGeneGeneralInfoInput, ) (*models.GeneGeneralInfo, error)
func (*MutationResolver) UpdateOrder ¶
func (mrs *MutationResolver) UpdateOrder( ctx context.Context, id string, input *models.UpdateOrderInput, ) (*pb.Order, error)
UpdateOrder updates an existing stock order.
func (*MutationResolver) UpdatePermission ¶
func (mrs *MutationResolver) UpdatePermission( ctx context.Context, id string, input *models.UpdatePermissionInput, ) (*pb.Permission, error)
func (*MutationResolver) UpdatePlasmid ¶
func (mrs *MutationResolver) UpdatePlasmid( ctx context.Context, id string, input *models.UpdatePlasmidInput, ) (*models.Plasmid, error)
func (*MutationResolver) UpdateRole ¶
func (mrs *MutationResolver) UpdateRole( ctx context.Context, id string, input *models.UpdateRoleInput, ) (*pb.Role, error)
func (*MutationResolver) UpdateStrain ¶
func (mrs *MutationResolver) UpdateStrain( ctx context.Context, id string, input *models.UpdateStrainInput, ) (*models.Strain, error)
func (*MutationResolver) UpdateStrainPhenotype ¶
func (mrs *MutationResolver) UpdateStrainPhenotype( ctx context.Context, strainID string, target models.UpdateStrainPhenotypeTargetInput, payload models.UpdateStrainPhenotypePayloadInput, ) (*models.Strain, error)
func (*MutationResolver) UpdateUser ¶
func (mrs *MutationResolver) UpdateUser( ctx context.Context, id string, input *models.UpdateUserInput, ) (*pb.User, error)
func (*MutationResolver) UploadFile ¶
type QueryResolver ¶
type QueryResolver struct {
registry.Registry
Dataloaders dataloader.Retriever
Logger *logrus.Entry
}
func (*QueryResolver) AllOrthologs ¶
func (*QueryResolver) AllPublications ¶
func (qrs *QueryResolver) AllPublications( ctx context.Context, gene string, limit *int, sortBy *string, ) (*models.NumberOfPublicationsWithGene, error)
AllPublications is the resolver for the allPublications field.
func (*QueryResolver) AllStrains ¶
func (*QueryResolver) ContentBySlug ¶
func (*QueryResolver) GeneGeneralInformation ¶
func (qrs *QueryResolver) GeneGeneralInformation( ctx context.Context, gene string, ) (*models.GeneGeneralInfo, error)
GeneGeneralInformation is the resolver for the geneGeneralInformation field.
func (*QueryResolver) GeneOntologyAnnotation ¶
func (qrs *QueryResolver) GeneOntologyAnnotation( ctx context.Context, gene string, ) ([]*models.GOAnnotation, error)
func (*QueryResolver) GeneralInformation ¶
func (*QueryResolver) GetAssociatedSequnces ¶
func (qrs *QueryResolver) GetAssociatedSequnces( ctx context.Context, gene string, ) (*models.Gene, error)
GetAssociatedSequnces is the resolver for the getAssociatedSequnces field.
func (*QueryResolver) GetProteinInformation ¶
func (qrs *QueryResolver) GetProteinInformation( ctx context.Context, gene string, ) (*models.Gene, error)
GetProteinInformation is the resolver for the getProteinInformation field.
func (*QueryResolver) GetRefreshToken ¶
func (*QueryResolver) ListContentByNamespace ¶
func (*QueryResolver) ListGeneProductInfo ¶
func (qrs *QueryResolver) ListGeneProductInfo( ctx context.Context, gene string, ) (*models.Gene, error)
ListGeneProductInfo is the resolver for the listGeneProductInfo field.
func (*QueryResolver) ListOrders ¶
func (qrs *QueryResolver) ListOrders( ctx context.Context, cursor *int, limit *int, filter *string, ) (*models.OrderListWithCursor, error)
ListOrders retrieves all orders in the database.
func (*QueryResolver) ListOrganisms ¶
func (*QueryResolver) ListPermissions ¶
func (qrs *QueryResolver) ListPermissions( ctx context.Context, ) ([]*pb.Permission, error)
func (*QueryResolver) ListPhenotypeAssays ¶
func (*QueryResolver) ListPhenotypeEnvironments ¶
func (*QueryResolver) ListPhenotypes ¶
func (*QueryResolver) ListPlasmids ¶
func (qrs *QueryResolver) ListPlasmids( ctx context.Context, cursor *int, limit *int, filter *models.PlasmidListFilter, ) (*models.PlasmidListWithCursor, error)
func (*QueryResolver) ListPlasmidsWithAnnotation ¶
func (qrs *QueryResolver) ListPlasmidsWithAnnotation( ctx context.Context, cursor *int, limit *int, typeArg string, annotation string, ) (*models.PlasmidListWithCursor, error)
func (*QueryResolver) ListPublicationsWithGene ¶
func (qrs *QueryResolver) ListPublicationsWithGene( ctx context.Context, gene string, ) ([]*models.PublicationWithGene, error)
ListPublicationsWithGene fetches all publications associated with a gene ID and includes related genes for each publication. Returns an empty list if gene is not found or has no publications. If any error occurs during fetching of publication details (other than not-found errors), the entire operation fails and no results are returned.
func (*QueryResolver) ListRecentGenes ¶
func (qrs *QueryResolver) ListRecentGenes( ctx context.Context, limit int, ) ([]*models.Gene, error)
ListRecentGenes is the resolver for the listRecentGenes field.
func (*QueryResolver) ListRecentPlasmids ¶
func (qrs *QueryResolver) ListRecentPlasmids( ctx context.Context, limit int, ) ([]*models.Plasmid, error)
ListRecentPlasmids is the resolver for the listRecentPlasmids field.
func (*QueryResolver) ListRecentPublications ¶
func (qrs *QueryResolver) ListRecentPublications( ctx context.Context, limit int, ) ([]*models.Publication, error)
ListRecentPublications is the resolver for the listRecentPublications field.
func (*QueryResolver) ListRecentStrains ¶
func (qrs *QueryResolver) ListRecentStrains( ctx context.Context, limit int, ) ([]*models.Strain, error)
ListRecentStrains is the resolver for the listRecentStrains field.
func (*QueryResolver) ListStrains ¶
func (qrs *QueryResolver) ListStrains( ctx context.Context, cursor *int, limit *int, filter *models.StrainListFilter, ) (*models.StrainListWithCursor, error)
ListStrains resolves the listStrains GraphQL query. It returns a cursor-paginated list of strains, applying any supplied StrainListFilter.
Deduplication and pagination contract ¶
The resolver deduplicates strain records after retrieving them from the backing store. Consequently, the number of items in a single response page may be strictly less than the requested limit, even when additional pages are available. Callers MUST NOT infer end-of-list from receiving fewer items than requested.
Pagination MUST be driven exclusively by the NextCursor field of the returned StrainListWithCursor value:
- NextCursor != 0 — a subsequent page exists; supply its value as the cursor argument on the next request.
- NextCursor == 0 — all pages have been consumed; iteration must stop.
func (*QueryResolver) ListStrainsWithAnnotation ¶
func (qrs *QueryResolver) ListStrainsWithAnnotation( ctx context.Context, cursor *int, limit *int, typeArg string, annotation string, ) (*models.StrainListWithCursor, error)
func (*QueryResolver) ListStrainsWithGene ¶
func (qrs *QueryResolver) ListStrainsWithGene( ctx context.Context, gene string, ) ([]*models.Strain, error)
ListStrainsWithGene is the resolver for the listStrainsWithGene field.
func (*QueryResolver) Permission ¶
func (qrs *QueryResolver) Permission( ctx context.Context, id string, ) (*pb.Permission, error)
func (*QueryResolver) Publication ¶
func (qrs *QueryResolver) Publication( ctx context.Context, id string, ) (*models.Publication, error)
Publication is the resolver for getting an individual publication by ID.
func (*QueryResolver) UserByEmail ¶
type Resolver ¶
func NewResolver ¶
func (*Resolver) Auth ¶
func (rrs *Resolver) Auth() generated.AuthResolver
func (*Resolver) Author ¶
func (rrs *Resolver) Author() generated.AuthorResolver
func (*Resolver) Content ¶
func (rrs *Resolver) Content() generated.ContentResolver
func (*Resolver) Mutation ¶
func (rrs *Resolver) Mutation() generated.MutationResolver
func (*Resolver) Order ¶
func (rrs *Resolver) Order() generated.OrderResolver
func (*Resolver) Organism ¶
func (rrs *Resolver) Organism() generated.OrganismResolver
func (*Resolver) Permission ¶
func (rrs *Resolver) Permission() generated.PermissionResolver
func (*Resolver) Plasmid ¶
func (rrs *Resolver) Plasmid() generated.PlasmidResolver
func (*Resolver) Query ¶
func (rrs *Resolver) Query() generated.QueryResolver
func (*Resolver) Role ¶
func (rrs *Resolver) Role() generated.RoleResolver
func (*Resolver) Strain ¶
func (rrs *Resolver) Strain() generated.StrainResolver
func (*Resolver) User ¶
func (rrs *Resolver) User() generated.UserResolver