M gitsrht/app.py => gitsrht/app.py +2 -0
@@ 27,6 27,7 @@ class GitApp(ScmSrhtFlask):
from gitsrht.blueprints.email import mail
from gitsrht.blueprints.repo import repo
from gitsrht.blueprints.stats import stats
+ from srht.graphql import gql_blueprint
self.register_blueprint(plumbing)
self.register_blueprint(porcelain)
@@ 34,6 35,7 @@ class GitApp(ScmSrhtFlask):
self.register_blueprint(repo)
self.register_blueprint(stats)
self.register_blueprint(webhooks_notify)
+ self.register_blueprint(gql_blueprint)
from gitsrht.repos import object_storage_enabled
if object_storage_enabled:
A gitsrht/default_query.graphql => gitsrht/default_query.graphql +41 -0
@@ 0,0 1,41 @@
+# Welcome to the SourceHut GraphQL explorer!
+# You can use this to run test requests against the GraphQL API.
+# To view the GraphQL schema, expand the button on the bottom of this page.
+# Here's a sample query to get you started:
+query {
+ # Fetch info about the authenticated user (you):
+ me {
+ # Grab their canonical name:
+ canonicalName
+ # And a list of repositories:
+ repositories(filter: { count: 5 }) {
+ # This resource is paginated, so it has a cursor. If you pass this value
+ # into repositories(cursor:"...") in a subsequent request, you'll get the
+ # next page.
+ cursor
+ # These are the actual results. Grab the id, name, and updated fields
+ # from each repository.
+ results {
+ id, name, updated
+ }
+ }
+ }
+
+ # Also fetch the API version. Please note that the GraphQL API is considered
+ # experimental: as long as this returns 0.0.0, the API is subject to change
+ # without notice. Some features may not be working; notably, all write
+ # operations are presently unsupported.
+ version {
+ major, minor, patch
+ }
+
+ # On this page, you have been automatically authorized to make API requests
+ # with your sr.ht login cookie. If you wish to make GraphQL requests outside
+ # of the browser, create a personal access token at https://meta.sr.ht/oauth
+ #
+ # curl \
+ # -H Authorization:"Bearer <your oauth token>" \
+ # -H Content-Type:application/json \
+ # -d '{"query": "{ me { canonicalName } }"}' \
+ # https://git.sr.ht/query
+}
A gitsrht/schema.graphqls => gitsrht/schema.graphqls +1 -0
@@ 0,0 1,1 @@
+../api/graph/schema.graphqls<
\ No newline at end of file