CSC/ECE 517-GH-2401-Rest-GraphQL-Endpoints: Difference between revisions

From Expertiza_Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
=About=
The project involves developing API endpoints for GitHub GraphQL queries and GitHub REST queries and to integrate these endpoints into the Python Flask framework, enabling the publication of these queries as accessible API endpoints via URLs. We have implemented endpoints for 4 query elements: comment, contributions, profiles and time_range_contributions. Each element contains multiple queries and each query has a separate endpoints for both GraphQL and REST API implemented.  
The project involves developing API endpoints for GitHub GraphQL queries and GitHub REST queries and to integrate these endpoints into the Python Flask framework, enabling the publication of these queries as accessible API endpoints via URLs. We have implemented endpoints for 4 query elements: comment, contributions, profiles and time_range_contributions. Each element contains multiple queries and each query has a separate endpoints for both GraphQL and REST API implemented.  
=Setup=
=Endpoints=
Below are the queries with their respective endpoints:
Below are the queries with their respective endpoints:
 
1. Comments:
== 1. Comments: ==




2. Contributions:
== 2. Contributions: ==


a. User Gists:
=== a. User Gists: ===


GraphQL Endpoint: '/api/graphql/user-gists/<username>'
GraphQL Endpoint: '/api/graphql/user-gists/<username>'
Line 13: Line 21:
REST Endpoint: '/api/rest/user-gists/<username>'
REST Endpoint: '/api/rest/user-gists/<username>'


b. User Issues:
=== b. User Issues: ===
   
   
GraphQL Endpoint: '/api/graphql/user-issues/<username>'
GraphQL Endpoint: '/api/graphql/user-issues/<username>'
Line 19: Line 27:
REST Endpoint: '/api/rest/user-issues/<username>'
REST Endpoint: '/api/rest/user-issues/<username>'


c. User Pull Requests:
=== c. User Pull Requests: ===
   
   
GraphQL Endpoint: '/api/graphql/user-pull-requests/<username>'
GraphQL Endpoint: '/api/graphql/user-pull-requests/<username>'
Line 25: Line 33:
REST Endpoint: '/api/rest/user-pull-requests/<username>/<repo>'
REST Endpoint: '/api/rest/user-pull-requests/<username>/<repo>'


d. User Repositories:
=== d. User Repositories: ===
   
   
GraphQL Endpoint: '/api/graphql/user-repositories/<username>'
GraphQL Endpoint: '/api/graphql/user-repositories/<username>'
Line 31: Line 39:
REST Endpoint: '/api/rest/user-repositories/<username>'
REST Endpoint: '/api/rest/user-repositories/<username>'


e. User Repository Discussions:
=== e. User Repository Discussions: ===
   
   
GraphQL Endpoint: '/api/graphql/user-repository-discussions/<username>'
GraphQL Endpoint: '/api/graphql/user-repository-discussions/<username>'
Line 38: Line 46:




3. Profiles:
== 3. Profiles: ==




4. Time Range Contributions:
== 4. Time Range Contributions: ==

Revision as of 18:19, 24 March 2024

About

The project involves developing API endpoints for GitHub GraphQL queries and GitHub REST queries and to integrate these endpoints into the Python Flask framework, enabling the publication of these queries as accessible API endpoints via URLs. We have implemented endpoints for 4 query elements: comment, contributions, profiles and time_range_contributions. Each element contains multiple queries and each query has a separate endpoints for both GraphQL and REST API implemented.

Setup

Endpoints

Below are the queries with their respective endpoints:

1. Comments:

2. Contributions:

a. User Gists:

GraphQL Endpoint: '/api/graphql/user-gists/<username>'

REST Endpoint: '/api/rest/user-gists/<username>'

b. User Issues:

GraphQL Endpoint: '/api/graphql/user-issues/<username>'

REST Endpoint: '/api/rest/user-issues/<username>'

c. User Pull Requests:

GraphQL Endpoint: '/api/graphql/user-pull-requests/<username>'

REST Endpoint: '/api/rest/user-pull-requests/<username>/<repo>'

d. User Repositories:

GraphQL Endpoint: '/api/graphql/user-repositories/<username>'

REST Endpoint: '/api/rest/user-repositories/<username>'

e. User Repository Discussions:

GraphQL Endpoint: '/api/graphql/user-repository-discussions/<username>'

REST Endpoint: '/api/rest/repository-discussions/<username>/<repo>'


3. Profiles:

4. Time Range Contributions: