diff options
| author | Fuwn <[email protected]> | 2022-03-24 02:58:05 -0700 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2022-03-24 02:58:05 -0700 |
| commit | 1834a78fe87713cd2ef62d3c7aa916668bdaad95 (patch) | |
| tree | d39073c0159fc679a26cfddc87e3052647502799 /src | |
| parent | Merge branch 'main' of https://github.com/senpy-club/graphql-api (diff) | |
| download | graphql-api-1834a78fe87713cd2ef62d3c7aa916668bdaad95.tar.xz graphql-api-1834a78fe87713cd2ef62d3c7aa916668bdaad95.zip | |
feat: support for anime boys
Diffstat (limited to 'src')
| -rw-r--r-- | src/datasources/senpy.js | 12 | ||||
| -rw-r--r-- | src/resolvers.js | 7 | ||||
| -rw-r--r-- | src/schema.js | 15 |
3 files changed, 30 insertions, 4 deletions
diff --git a/src/datasources/senpy.js b/src/datasources/senpy.js index 0c3b8b6..869ec97 100644 --- a/src/datasources/senpy.js +++ b/src/datasources/senpy.js @@ -17,14 +17,26 @@ module.exports = class SenpyAPI extends RESTDataSource { return this.get("random"); } + async getBoysRandom() { + return this.get("boys/random"); + } + async getLanguages() { return this.get("languages"); } + async getBoysLanguages() { + return this.get("boys/languages"); + } + async getLanguage(language) { return this.get(`language/${language}`); } + async getBoysLanguage(language) { + return this.get(`boys/language/${language}`); + } + async getMe() { return this.get("me"); } diff --git a/src/resolvers.js b/src/resolvers.js index 2bfa56f..3077ea3 100644 --- a/src/resolvers.js +++ b/src/resolvers.js @@ -12,5 +12,12 @@ module.exports = { me: async (_source, {}, { dataSources }) => { return dataSources.senpyAPI.getMe(); }, + boys: async (_source, {}, { dataSources }) => { + return { + random: dataSources.senpyAPI.getBoysRandom(), + languages: dataSources.senpyAPI.getBoysLanguages(), + language: ({ language }) => dataSources.senpyAPI.getBoysLanguage(language), + }; + }, }, }; diff --git a/src/schema.js b/src/schema.js index 6509671..b535db9 100644 --- a/src/schema.js +++ b/src/schema.js @@ -9,11 +9,18 @@ module.exports = gql` type Me { ip: String! } + + type Boys { + random: Random! + languages: [String!]! + language(language: String!): [String!]! + } type Query { - random: Random - languages: [String] - language(language: String!): [String] - me: Me + random: Random! + languages: [String!]! + language(language: String!): [String!]! + me: Me! + boys: Boys! } `; |