Skip to content

Commit

Permalink
Codegen queries.py
Browse files Browse the repository at this point in the history
  • Loading branch information
robertaboukhalil committed Nov 9, 2023
1 parent 6d98c9f commit cf259b0
Show file tree
Hide file tree
Showing 22 changed files with 3,096 additions and 2,290 deletions.
11 changes: 8 additions & 3 deletions entities/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -52,15 +52,20 @@ local-tests: ## Run entities tests
$(docker_compose_run) entities bash -c "poetry run pytest -s"
$(MAKE) cerbos-tests

CODEGEN_TO_LINT = database/models/ api/types/ cli/gql_schema.py
DIR_LINT_CODEGEN = database/models/ api/types/
DIR_LINT_GRAPHQL = cli/gql_schema.py
.PHONY: codegen
codegen: ## Update the GQL types used by the CLI
$(docker_compose) exec entities python3 codegen/generator.py api generate --schemafile schema/platformics.yaml --output-prefix .
$(docker_compose_run) $(FOLDER) black $(DIR_LINT_CODEGEN)
$(docker_compose_run) $(FOLDER) ruff check --fix $(DIR_LINT_CODEGEN)

$(docker_compose_run) entities strawberry export-schema api.main:schema > api/schema.graphql
$(docker_compose) exec entities python3 -m sgqlc.introspection --exclude-deprecated --exclude-description http://localhost:8008/graphql api/schema.json
$(docker_compose) exec entities sgqlc-codegen schema api/schema.json cli/gql_schema.py
$(docker_compose_run) $(FOLDER) black $(CODEGEN_TO_LINT)
$(docker_compose_run) $(FOLDER) ruff check --fix $(CODEGEN_TO_LINT)
$(docker_compose_run) $(FOLDER) black $(DIR_LINT_GRAPHQL)
$(docker_compose_run) $(FOLDER) ruff check --fix $(DIR_LINT_GRAPHQL)

$(docker_compose) exec entities gen-erdiagram schema/platformics.yaml > schema/README.md

### CERBOS #############################################
Expand Down
41 changes: 34 additions & 7 deletions entities/api/queries.py
Original file line number Diff line number Diff line change
@@ -1,19 +1,46 @@
import typing
# Auto-generated by running 'make codegen'. Do not edit.
# Make changes to the template codegen/templates/api/queries.py.j2 instead.

import strawberry
from strawberry import relay
from typing import Sequence
from api.files import File, resolve_files
from api.types.sample import Sample, resolve_sample
from api.types.sequencing_read import SequencingRead, resolve_sequencing_read
from api.types.genomic_range import GenomicRange, resolve_genomic_range
from api.types.reference_genome import ReferenceGenome, resolve_reference_genome
from api.types.sequence_alignment_index import SequenceAlignmentIndex, resolve_sequence_alignment_index
from api.types.metadatum import Metadatum, resolve_metadatum
from api.types.metadata_field import MetadataField, resolve_metadata_field
from api.types.metadata_field_project import MetadataFieldProject, resolve_metadata_field_project
from api.types.consensus_genome import ConsensusGenome, resolve_consensus_genome
from api.types.metric_consensus_genome import MetricConsensusGenome, resolve_metric_consensus_genome
from api.types.coverage_viz import CoverageViz, resolve_coverage_viz
from api.types.taxon import Taxon, resolve_taxon
from api.types.upstream_database import UpstreamDatabase, resolve_upstream_database
from api.types.contig import Contig, resolve_contig
from api.files import File, resolve_files


@strawberry.type
class Query:
# Allow queries by node ID
node: relay.Node = relay.node()

# Queries for each entity
samples: typing.Sequence[Sample] = resolve_sample
sequencing_reads: typing.Sequence[SequencingRead] = resolve_sequencing_read
contigs: typing.Sequence[Contig] = resolve_contig
files: typing.Sequence[File] = resolve_files
# Query files
files: Sequence[File] = resolve_files

# Query entities
sample: Sequence[Sample] = resolve_sample
sequencing_read: Sequence[SequencingRead] = resolve_sequencing_read
genomic_range: Sequence[GenomicRange] = resolve_genomic_range
reference_genome: Sequence[ReferenceGenome] = resolve_reference_genome
sequence_alignment_index: Sequence[SequenceAlignmentIndex] = resolve_sequence_alignment_index
metadatum: Sequence[Metadatum] = resolve_metadatum
metadata_field: Sequence[MetadataField] = resolve_metadata_field
metadata_field_project: Sequence[MetadataFieldProject] = resolve_metadata_field_project
consensus_genome: Sequence[ConsensusGenome] = resolve_consensus_genome
metric_consensus_genome: Sequence[MetricConsensusGenome] = resolve_metric_consensus_genome
coverage_viz: Sequence[CoverageViz] = resolve_coverage_viz
taxon: Sequence[Taxon] = resolve_taxon
upstream_database: Sequence[UpstreamDatabase] = resolve_upstream_database
contig: Sequence[Contig] = resolve_contig
39 changes: 36 additions & 3 deletions entities/api/schema.graphql

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit cf259b0

Please sign in to comment.