Current state of graphql implementation. Some things are broken. Focused on getting progress from deluge linked with requests and requested torrents. Warning! the payload size of this action is 1MB pr second. This also heavily dependes on un-tracked changes in both delugeClient and the frontend for the visualization.
This commit is contained in:
		| @@ -24,7 +24,7 @@ const allowedOrigins = ['https://kevinmidboe.com', 'http://localhost:8080']; | |||||||
| app.use(bodyParser.urlencoded({ extended: true })); | app.use(bodyParser.urlencoded({ extended: true })); | ||||||
|  |  | ||||||
| /* Decode the Authorization header if provided */ | /* Decode the Authorization header if provided */ | ||||||
| router.use(tokenToUser); | app.use(tokenToUser); | ||||||
|  |  | ||||||
| // TODO: Should have a separate middleware/router for handling headers. | // TODO: Should have a separate middleware/router for handling headers. | ||||||
| router.use((req, res, next) => { | router.use((req, res, next) => { | ||||||
| @@ -67,7 +67,7 @@ const roots = { hello: () => 'Hello world!' }; | |||||||
|  |  | ||||||
| app.use('/graphql', graphqlHTTP({ | app.use('/graphql', graphqlHTTP({ | ||||||
|   schema: schema.schema, |   schema: schema.schema, | ||||||
|   graphiql: process.env.NODE_ENV === 'development' |   graphiql: true | ||||||
| })) | })) | ||||||
|  |  | ||||||
|  |  | ||||||
|   | |||||||
| @@ -1,5 +1,6 @@ | |||||||
| const graphql = require("graphql"); | const graphql = require("graphql"); | ||||||
| const establishedDatabase = require('src/database/database'); | const establishedDatabase = require('src/database/database'); | ||||||
|  | const fetch = require('node-fetch'); | ||||||
|  |  | ||||||
|  |  | ||||||
| const TorrentType = new graphql.GraphQLObjectType({ | const TorrentType = new graphql.GraphQLObjectType({ | ||||||
| @@ -7,8 +8,7 @@ const TorrentType = new graphql.GraphQLObjectType({ | |||||||
|   fields: { |   fields: { | ||||||
|     magnet: { type: graphql.GraphQLString }, |     magnet: { type: graphql.GraphQLString }, | ||||||
|     torrent_name: { type: graphql.GraphQLString}, |     torrent_name: { type: graphql.GraphQLString}, | ||||||
|     tmdb_id: { type: graphql.GraphQLString }, |     tmdb_id: { type: graphql.GraphQLString } | ||||||
|     date_added: { type: graphql.GraphQLString } |  | ||||||
|   } |   } | ||||||
| }); | }); | ||||||
|  |  | ||||||
| @@ -25,16 +25,79 @@ const RequestType = new graphql.GraphQLObjectType({ | |||||||
|     date: { type: graphql.GraphQLString }, |     date: { type: graphql.GraphQLString }, | ||||||
|     status: { type: graphql.GraphQLString }, |     status: { type: graphql.GraphQLString }, | ||||||
|     user_agent: { type: graphql.GraphQLString }, |     user_agent: { type: graphql.GraphQLString }, | ||||||
|     type: { type: graphql.GraphQLString }, |     type: { type: graphql.GraphQLString } | ||||||
|  |   } | ||||||
|  | }); | ||||||
|  |  | ||||||
|  | const RequestsType = new graphql.GraphQLObjectType({ | ||||||
|  |   name: 'Requests', | ||||||
|  |   type: graphql.GraphQLList(RequestType), | ||||||
|  |   resolve: (root, args, context, info) => { | ||||||
|  |     return establishedDatabase.all("SELECT * FROM requests;") | ||||||
|  |       .catch(error => console.error("something went wrong fetching 'all' query. Error:", error)) | ||||||
|  |   } | ||||||
|  | }) | ||||||
|  |  | ||||||
|  | const ProgressType = new graphql.GraphQLObjectType({ | ||||||
|  |   name: 'TorrentProgress', | ||||||
|  |   fields: { | ||||||
|  |     eta: { type: graphql.GraphQLInt }, | ||||||
|  |     finished: { type: graphql.GraphQLBoolean }, | ||||||
|  |     key: { type: graphql.GraphQLString }, | ||||||
|  |     name: { type: graphql.GraphQLString }, | ||||||
|  |     progress: { type: graphql.GraphQLFloat }, | ||||||
|  |     state: { type: graphql.GraphQLString }, | ||||||
|     Torrent: { |     Torrent: { | ||||||
|       required: true, |  | ||||||
|       type: TorrentType, |       type: TorrentType, | ||||||
|       resolve(parentValue, args) { |       resolve(parent) { | ||||||
|         return establishedDatabase.get('select * from requested_torrent where tmdb_id = (?);', [parentValue.id]) |         console.log('prante: ', parent.name) | ||||||
|  |         console.log(parent.name.slice(0,10)) | ||||||
|  |         return establishedDatabase.get(`select magnet, torrent_name, tmdb_id from requested_torrent where torrent_name like (?);`, [parent.name.slice(0, 10) + '%']) | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     Requested: { | ||||||
|  |       type: graphql.GraphQLList(RequestType), | ||||||
|  |       // resolve: () => fetch('https://api.kevinmidboe.com/api/v2/request?page=1/').then(resp => resp.json()) | ||||||
|  |       // .then(data => { | ||||||
|  |       //   // console.log('data', data) | ||||||
|  |       //   return data.results | ||||||
|  |       // }) | ||||||
|  |       resolve: (parent) => { | ||||||
|  |         return establishedDatabase.all("SELECT * FROM requests;") | ||||||
|       } |       } | ||||||
|     } |     } | ||||||
|   } |   } | ||||||
| }); | }) | ||||||
|  |  | ||||||
|  |  | ||||||
|  | const TorrentsRequestedType = new graphql.GraphQLObjectType({ | ||||||
|  |   name: 'TorrentsRequested', | ||||||
|  |   fields: { | ||||||
|  |     magnet: { type: graphql.GraphQLString }, | ||||||
|  |     torrent_name: { type: graphql.GraphQLString }, | ||||||
|  |     tmdb_id: { type: graphql.GraphQLString }, | ||||||
|  |     date_added: { type: graphql.GraphQLString }, | ||||||
|  |     Request: { | ||||||
|  |       type: RequestType, | ||||||
|  |       // resolve: () => fetch('https://api.kevinmidboe.com/api/v2/request?page=1/').then(resp => resp.json()) | ||||||
|  |       // .then(data => { | ||||||
|  |       //   return data.results | ||||||
|  |       // }) | ||||||
|  |       resolve(parentValue, args) { | ||||||
|  |         return establishedDatabase.get('select * from requests where id = (?);', [parentValue.tmdb_id]) | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     Progress: { | ||||||
|  |       type: ProgressType, | ||||||
|  |       resolve(parentValue, args) { | ||||||
|  |         return fetch('http://localhost:5000/') | ||||||
|  |           .then(resp => resp.json()) | ||||||
|  |           // .then(data => { console.log('data', data); return data.filter(download => download.name === parentValue.torrent_name) }) | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | }) | ||||||
|  |  | ||||||
|  |  | ||||||
| // create a graphql query to select all and by id | // create a graphql query to select all and by id | ||||||
| var queryType = new graphql.GraphQLObjectType({ | var queryType = new graphql.GraphQLObjectType({ | ||||||
| @@ -48,11 +111,25 @@ var queryType = new graphql.GraphQLObjectType({ | |||||||
|                   .catch(error => console.error("something went wrong fetching 'all' query. Error:", error)) |                   .catch(error => console.error("something went wrong fetching 'all' query. Error:", error)) | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         DownloadingRequests: { |         Progress: { | ||||||
|           type: graphql.GraphQLList(RequestType), |           type: graphql.GraphQLList(ProgressType), | ||||||
|           resolve: (root, args, context, info) => { |           resolve: (root, args, context, info) => { | ||||||
|             return establishedDatabase.all("SELECT * FROM requests;") |             console.log('user', context.loggedInUser) | ||||||
|               .then(data => data.filter(request => { if (request.id === '83666') { console.log('request', request, root);}; return request })) |             return fetch('http://localhost:5000') | ||||||
|  |               .then(resp => resp.json()) | ||||||
|  |           } | ||||||
|  |         }, | ||||||
|  |         ProgressRequested: { | ||||||
|  |           type: graphql.GraphQLList(ProgressType), | ||||||
|  |           resolve: (root, args, context, info) => { | ||||||
|  |             console.log('root & args', root, args) | ||||||
|  |           } | ||||||
|  |         }, | ||||||
|  |         TorrentsRequested: { | ||||||
|  |           type: graphql.GraphQLList(TorrentsRequestedType), | ||||||
|  |           resolve: (root, args, context, info) => { | ||||||
|  |             return establishedDatabase.all("SELECT * FROM requested_torrent;") | ||||||
|  |               .then(data => data.filter(request => { if (request.tmdb_id === '83666') { console.log('request', request, root);}; return request })) | ||||||
|               .catch(error => console.error("something went wrong fetching 'all' query. Error:", error)) |               .catch(error => console.error("something went wrong fetching 'all' query. Error:", error)) | ||||||
|           } |           } | ||||||
|         }, |         }, | ||||||
| @@ -84,7 +161,7 @@ var queryType = new graphql.GraphQLObjectType({ | |||||||
|         Torrents: { |         Torrents: { | ||||||
|           type: graphql.GraphQLList(TorrentType), |           type: graphql.GraphQLList(TorrentType), | ||||||
|           resolve: (root, {id}, context, info) => { |           resolve: (root, {id}, context, info) => { | ||||||
|             console.log('parent', parent) |             // console.log('parent', parent) | ||||||
|             return establishedDatabase.all("SELECT * FROM requested_torrent") |             return establishedDatabase.all("SELECT * FROM requested_torrent") | ||||||
|               .catch(error => console.error(`something went wrong fetching all torrents. Error: ${ error }`)) |               .catch(error => console.error(`something went wrong fetching all torrents. Error: ${ error }`)) | ||||||
|           } |           } | ||||||
| @@ -97,7 +174,7 @@ var queryType = new graphql.GraphQLObjectType({ | |||||||
|             } |             } | ||||||
|           }, |           }, | ||||||
|           resolve: (parent, {id}, context, info) => { |           resolve: (parent, {id}, context, info) => { | ||||||
|             console.log('searcing from parent', parent) |             // console.log('searcing from parent', parent) | ||||||
|             return establishedDatabase.get("SELECT * FROM requested_torrent WHERE tmdb_id = (?);", [id]) |             return establishedDatabase.get("SELECT * FROM requested_torrent WHERE tmdb_id = (?);", [id]) | ||||||
|           } |           } | ||||||
|         } |         } | ||||||
|   | |||||||
| @@ -989,7 +989,7 @@ abbrev@1.0.x: | |||||||
|   resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.0.9.tgz#91b4792588a7738c25f35dd6f63752a2f8776135" |   resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.0.9.tgz#91b4792588a7738c25f35dd6f63752a2f8776135" | ||||||
|   integrity sha1-kbR5JYinc4wl813W9jdSovh3YTU= |   integrity sha1-kbR5JYinc4wl813W9jdSovh3YTU= | ||||||
|  |  | ||||||
| accepts@~1.3.5: | accepts@^1.3.7, accepts@~1.3.5: | ||||||
|   version "1.3.7" |   version "1.3.7" | ||||||
|   resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd" |   resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd" | ||||||
|   integrity sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA== |   integrity sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA== | ||||||
| @@ -1086,6 +1086,14 @@ ansi-styles@^3.2.0, ansi-styles@^3.2.1: | |||||||
|   dependencies: |   dependencies: | ||||||
|     color-convert "^1.9.0" |     color-convert "^1.9.0" | ||||||
|  |  | ||||||
|  | anymatch@^1.3.0: | ||||||
|  |   version "1.3.2" | ||||||
|  |   resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.2.tgz#553dcb8f91e3c889845dfdba34c77721b90b9d7a" | ||||||
|  |   integrity sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA== | ||||||
|  |   dependencies: | ||||||
|  |     micromatch "^2.1.5" | ||||||
|  |     normalize-path "^2.0.0" | ||||||
|  |  | ||||||
| anymatch@^2.0.0: | anymatch@^2.0.0: | ||||||
|   version "2.0.0" |   version "2.0.0" | ||||||
|   resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" |   resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" | ||||||
| @@ -1200,7 +1208,7 @@ assign-symbols@^1.0.0: | |||||||
|   resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" |   resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" | ||||||
|   integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= |   integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= | ||||||
|  |  | ||||||
| async-each@^1.0.1: | async-each@^1.0.0, async-each@^1.0.1: | ||||||
|   version "1.0.3" |   version "1.0.3" | ||||||
|   resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf" |   resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf" | ||||||
|   integrity sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ== |   integrity sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ== | ||||||
| @@ -1487,6 +1495,11 @@ bytes@3.0.0: | |||||||
|   resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" |   resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" | ||||||
|   integrity sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg= |   integrity sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg= | ||||||
|  |  | ||||||
|  | bytes@3.1.0: | ||||||
|  |   version "3.1.0" | ||||||
|  |   resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" | ||||||
|  |   integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg== | ||||||
|  |  | ||||||
| cache-base@^1.0.1: | cache-base@^1.0.1: | ||||||
|   version "1.0.1" |   version "1.0.1" | ||||||
|   resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" |   resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" | ||||||
| @@ -1603,6 +1616,22 @@ charenc@~0.0.1: | |||||||
|   resolved "https://registry.yarnpkg.com/charenc/-/charenc-0.0.2.tgz#c0a1d2f3a7092e03774bfa83f14c0fc5790a8667" |   resolved "https://registry.yarnpkg.com/charenc/-/charenc-0.0.2.tgz#c0a1d2f3a7092e03774bfa83f14c0fc5790a8667" | ||||||
|   integrity sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc= |   integrity sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc= | ||||||
|  |  | ||||||
|  | chokidar@^1.7.0: | ||||||
|  |   version "1.7.0" | ||||||
|  |   resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468" | ||||||
|  |   integrity sha1-eY5ol3gVHIB2tLNg5e3SjNortGg= | ||||||
|  |   dependencies: | ||||||
|  |     anymatch "^1.3.0" | ||||||
|  |     async-each "^1.0.0" | ||||||
|  |     glob-parent "^2.0.0" | ||||||
|  |     inherits "^2.0.1" | ||||||
|  |     is-binary-path "^1.0.0" | ||||||
|  |     is-glob "^2.0.0" | ||||||
|  |     path-is-absolute "^1.0.0" | ||||||
|  |     readdirp "^2.0.0" | ||||||
|  |   optionalDependencies: | ||||||
|  |     fsevents "^1.0.0" | ||||||
|  |  | ||||||
| chokidar@^2.0.4: | chokidar@^2.0.4: | ||||||
|   version "2.1.8" |   version "2.1.8" | ||||||
|   resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917" |   resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917" | ||||||
| @@ -1797,7 +1826,7 @@ content-disposition@0.5.2: | |||||||
|   resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.2.tgz#0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4" |   resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.2.tgz#0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4" | ||||||
|   integrity sha1-DPaLud318r55YcOoUXjLhdunjLQ= |   integrity sha1-DPaLud318r55YcOoUXjLhdunjLQ= | ||||||
|  |  | ||||||
| content-type@~1.0.4: | content-type@^1.0.4, content-type@~1.0.4: | ||||||
|   version "1.0.4" |   version "1.0.4" | ||||||
|   resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" |   resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" | ||||||
|   integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== |   integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== | ||||||
| @@ -2503,6 +2532,24 @@ expand-range@^1.8.1: | |||||||
|   dependencies: |   dependencies: | ||||||
|     fill-range "^2.1.0" |     fill-range "^2.1.0" | ||||||
|  |  | ||||||
|  | express-graphql@^0.9.0: | ||||||
|  |   version "0.9.0" | ||||||
|  |   resolved "https://registry.yarnpkg.com/express-graphql/-/express-graphql-0.9.0.tgz#00fd8552f866bac5c9a4612b2c4c82076107b3c2" | ||||||
|  |   integrity sha512-wccd9Lb6oeJ8yHpUs/8LcnGjFUUQYmOG9A5BNLybRdCzGw0PeUrtBxsIR8bfiur6uSW4OvPkVDoYH06z6/N9+w== | ||||||
|  |   dependencies: | ||||||
|  |     accepts "^1.3.7" | ||||||
|  |     content-type "^1.0.4" | ||||||
|  |     http-errors "^1.7.3" | ||||||
|  |     raw-body "^2.4.1" | ||||||
|  |  | ||||||
|  | express-reload@^1.2.0: | ||||||
|  |   version "1.2.0" | ||||||
|  |   resolved "https://registry.yarnpkg.com/express-reload/-/express-reload-1.2.0.tgz#3c59734bc7508732e71e1d4e78cf116d582b676f" | ||||||
|  |   integrity sha512-WS2xq7kOtspghADAzUSFMfHrqTtooXLeIg4Nxni5w/Qw5eOa5zic+T6glkWIs4oMCnnOq9d4k99g+bcbr+Z9bw== | ||||||
|  |   dependencies: | ||||||
|  |     chokidar "^1.7.0" | ||||||
|  |     debug "^2.6.8" | ||||||
|  |  | ||||||
| express@~4.16.0: | express@~4.16.0: | ||||||
|   version "4.16.4" |   version "4.16.4" | ||||||
|   resolved "https://registry.yarnpkg.com/express/-/express-4.16.4.tgz#fddef61926109e24c515ea97fd2f1bdbf62df12e" |   resolved "https://registry.yarnpkg.com/express/-/express-4.16.4.tgz#fddef61926109e24c515ea97fd2f1bdbf62df12e" | ||||||
| @@ -2837,7 +2884,7 @@ fs.realpath@^1.0.0: | |||||||
|   resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" |   resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" | ||||||
|   integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= |   integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= | ||||||
|  |  | ||||||
| fsevents@^1.2.7: | fsevents@^1.0.0, fsevents@^1.2.7: | ||||||
|   version "1.2.9" |   version "1.2.9" | ||||||
|   resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.9.tgz#3f5ed66583ccd6f400b5a00db6f7e861363e388f" |   resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.9.tgz#3f5ed66583ccd6f400b5a00db6f7e861363e388f" | ||||||
|   integrity sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw== |   integrity sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw== | ||||||
| @@ -3031,6 +3078,13 @@ graceful-fs@^4.0.0, graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6: | |||||||
|   resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423" |   resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423" | ||||||
|   integrity sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ== |   integrity sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ== | ||||||
|  |  | ||||||
|  | graphql@^14.5.8: | ||||||
|  |   version "14.5.8" | ||||||
|  |   resolved "https://registry.yarnpkg.com/graphql/-/graphql-14.5.8.tgz#504f3d3114cb9a0a3f359bbbcf38d9e5bf6a6b3c" | ||||||
|  |   integrity sha512-MMwmi0zlVLQKLdGiMfWkgQD7dY/TUKt4L+zgJ/aR0Howebod3aNgP5JkgvAULiR2HPVZaP2VEElqtdidHweLkg== | ||||||
|  |   dependencies: | ||||||
|  |     iterall "^1.2.2" | ||||||
|  |  | ||||||
| growl@1.10.5, "growl@~> 1.10.0": | growl@1.10.5, "growl@~> 1.10.0": | ||||||
|   version "1.10.5" |   version "1.10.5" | ||||||
|   resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e" |   resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e" | ||||||
| @@ -3195,6 +3249,17 @@ http-errors@1.6.3, http-errors@~1.6.2, http-errors@~1.6.3: | |||||||
|     setprototypeof "1.1.0" |     setprototypeof "1.1.0" | ||||||
|     statuses ">= 1.4.0 < 2" |     statuses ">= 1.4.0 < 2" | ||||||
|  |  | ||||||
|  | http-errors@1.7.3, http-errors@^1.7.3: | ||||||
|  |   version "1.7.3" | ||||||
|  |   resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06" | ||||||
|  |   integrity sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw== | ||||||
|  |   dependencies: | ||||||
|  |     depd "~1.1.2" | ||||||
|  |     inherits "2.0.4" | ||||||
|  |     setprototypeof "1.1.1" | ||||||
|  |     statuses ">= 1.5.0 < 2" | ||||||
|  |     toidentifier "1.0.0" | ||||||
|  |  | ||||||
| "http-parser-js@>=0.4.0 <0.4.11": | "http-parser-js@>=0.4.0 <0.4.11": | ||||||
|   version "0.4.10" |   version "0.4.10" | ||||||
|   resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.4.10.tgz#92c9c1374c35085f75db359ec56cc257cbb93fa4" |   resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.4.10.tgz#92c9c1374c35085f75db359ec56cc257cbb93fa4" | ||||||
| @@ -3216,7 +3281,7 @@ iconv-lite@0.4.23: | |||||||
|   dependencies: |   dependencies: | ||||||
|     safer-buffer ">= 2.1.2 < 3" |     safer-buffer ">= 2.1.2 < 3" | ||||||
|  |  | ||||||
| iconv-lite@^0.4.17, iconv-lite@^0.4.4: | iconv-lite@0.4.24, iconv-lite@^0.4.17, iconv-lite@^0.4.4: | ||||||
|   version "0.4.24" |   version "0.4.24" | ||||||
|   resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" |   resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" | ||||||
|   integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== |   integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== | ||||||
| @@ -3248,7 +3313,7 @@ inflight@^1.0.4: | |||||||
|     once "^1.3.0" |     once "^1.3.0" | ||||||
|     wrappy "1" |     wrappy "1" | ||||||
|  |  | ||||||
| inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.1, inherits@~2.0.3: | inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.1, inherits@~2.0.3: | ||||||
|   version "2.0.4" |   version "2.0.4" | ||||||
|   resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" |   resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" | ||||||
|   integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== |   integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== | ||||||
| @@ -3724,6 +3789,11 @@ istanbul@^0.4.5: | |||||||
|     which "^1.1.1" |     which "^1.1.1" | ||||||
|     wordwrap "^1.0.0" |     wordwrap "^1.0.0" | ||||||
|  |  | ||||||
|  | iterall@^1.2.2: | ||||||
|  |   version "1.2.2" | ||||||
|  |   resolved "https://registry.yarnpkg.com/iterall/-/iterall-1.2.2.tgz#92d70deb8028e0c39ff3164fdbf4d8b088130cd7" | ||||||
|  |   integrity sha512-yynBb1g+RFUPY64fTrFv7nsjRrENBQJaX2UL+2Szc9REFrSNm1rpSXHGzhmAy7a9uv3vlvgBlXnf9RqmPH1/DA== | ||||||
|  |  | ||||||
| js-levenshtein@^1.1.3: | js-levenshtein@^1.1.3: | ||||||
|   version "1.1.6" |   version "1.1.6" | ||||||
|   resolved "https://registry.yarnpkg.com/js-levenshtein/-/js-levenshtein-1.1.6.tgz#c6cee58eb3550372df8deb85fad5ce66ce01d59d" |   resolved "https://registry.yarnpkg.com/js-levenshtein/-/js-levenshtein-1.1.6.tgz#c6cee58eb3550372df8deb85fad5ce66ce01d59d" | ||||||
| @@ -3809,7 +3879,7 @@ jsonparse@^1.2.0: | |||||||
|   resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" |   resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" | ||||||
|   integrity sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA= |   integrity sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA= | ||||||
|  |  | ||||||
| jsonwebtoken@^8.0.1: | jsonwebtoken@^8.2.0: | ||||||
|   version "8.5.1" |   version "8.5.1" | ||||||
|   resolved "https://registry.yarnpkg.com/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz#00e71e0b8df54c2121a1f26137df2280673bcc0d" |   resolved "https://registry.yarnpkg.com/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz#00e71e0b8df54c2121a1f26137df2280673bcc0d" | ||||||
|   integrity sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w== |   integrity sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w== | ||||||
| @@ -4207,7 +4277,7 @@ methods@^1.1.1, methods@^1.1.2, methods@~1.1.2: | |||||||
|   resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" |   resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" | ||||||
|   integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= |   integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= | ||||||
|  |  | ||||||
| micromatch@^2.3.11: | micromatch@^2.1.5, micromatch@^2.3.11: | ||||||
|   version "2.3.11" |   version "2.3.11" | ||||||
|   resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" |   resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" | ||||||
|   integrity sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU= |   integrity sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU= | ||||||
| @@ -4562,7 +4632,7 @@ normalize-package-data@^2.3.2: | |||||||
|     semver "2 || 3 || 4 || 5" |     semver "2 || 3 || 4 || 5" | ||||||
|     validate-npm-package-license "^3.0.1" |     validate-npm-package-license "^3.0.1" | ||||||
|  |  | ||||||
| normalize-path@^2.0.1, normalize-path@^2.1.1: | normalize-path@^2.0.0, normalize-path@^2.0.1, normalize-path@^2.1.1: | ||||||
|   version "2.1.1" |   version "2.1.1" | ||||||
|   resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" |   resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" | ||||||
|   integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= |   integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= | ||||||
| @@ -5259,6 +5329,16 @@ raw-body@2.3.3: | |||||||
|     iconv-lite "0.4.23" |     iconv-lite "0.4.23" | ||||||
|     unpipe "1.0.0" |     unpipe "1.0.0" | ||||||
|  |  | ||||||
|  | raw-body@^2.4.1: | ||||||
|  |   version "2.4.1" | ||||||
|  |   resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.1.tgz#30ac82f98bb5ae8c152e67149dac8d55153b168c" | ||||||
|  |   integrity sha512-9WmIKF6mkvA0SLmA2Knm9+qj89e+j1zqgyn8aXGd7+nAduPoqgI9lO57SAZNn/Byzo5P7JhXTyg9PzaJbH73bA== | ||||||
|  |   dependencies: | ||||||
|  |     bytes "3.1.0" | ||||||
|  |     http-errors "1.7.3" | ||||||
|  |     iconv-lite "0.4.24" | ||||||
|  |     unpipe "1.0.0" | ||||||
|  |  | ||||||
| raw-body@~1.1.0: | raw-body@~1.1.0: | ||||||
|   version "1.1.7" |   version "1.1.7" | ||||||
|   resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-1.1.7.tgz#1d027c2bfa116acc6623bca8f00016572a87d425" |   resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-1.1.7.tgz#1d027c2bfa116acc6623bca8f00016572a87d425" | ||||||
| @@ -5366,7 +5446,7 @@ readable-stream@~2.1.0: | |||||||
|     string_decoder "~0.10.x" |     string_decoder "~0.10.x" | ||||||
|     util-deprecate "~1.0.1" |     util-deprecate "~1.0.1" | ||||||
|  |  | ||||||
| readdirp@^2.2.1: | readdirp@^2.0.0, readdirp@^2.2.1: | ||||||
|   version "2.2.1" |   version "2.2.1" | ||||||
|   resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" |   resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" | ||||||
|   integrity sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ== |   integrity sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ== | ||||||
| @@ -5593,7 +5673,7 @@ request-promise@^4.2: | |||||||
|     stealthy-require "^1.1.1" |     stealthy-require "^1.1.1" | ||||||
|     tough-cookie "^2.3.3" |     tough-cookie "^2.3.3" | ||||||
|  |  | ||||||
| request@^2.85.0, request@^2.86.0, request@^2.87.0: | request@^2.86.0, request@^2.87.0: | ||||||
|   version "2.88.0" |   version "2.88.0" | ||||||
|   resolved "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef" |   resolved "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef" | ||||||
|   integrity sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg== |   integrity sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg== | ||||||
| @@ -5813,6 +5893,11 @@ setprototypeof@1.1.0: | |||||||
|   resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" |   resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" | ||||||
|   integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ== |   integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ== | ||||||
|  |  | ||||||
|  | setprototypeof@1.1.1: | ||||||
|  |   version "1.1.1" | ||||||
|  |   resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683" | ||||||
|  |   integrity sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw== | ||||||
|  |  | ||||||
| shebang-command@^1.2.0: | shebang-command@^1.2.0: | ||||||
|   version "1.2.0" |   version "1.2.0" | ||||||
|   resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" |   resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" | ||||||
| @@ -6017,7 +6102,7 @@ static-extend@^0.1.1: | |||||||
|     define-property "^0.2.5" |     define-property "^0.2.5" | ||||||
|     object-copy "^0.1.0" |     object-copy "^0.1.0" | ||||||
|  |  | ||||||
| "statuses@>= 1.4.0 < 2": | "statuses@>= 1.4.0 < 2", "statuses@>= 1.5.0 < 2": | ||||||
|   version "1.5.0" |   version "1.5.0" | ||||||
|   resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" |   resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" | ||||||
|   integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= |   integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= | ||||||
| @@ -6402,6 +6487,11 @@ to-through@^2.0.0: | |||||||
|   dependencies: |   dependencies: | ||||||
|     through2 "^2.0.3" |     through2 "^2.0.3" | ||||||
|  |  | ||||||
|  | toidentifier@1.0.0: | ||||||
|  |   version "1.0.0" | ||||||
|  |   resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" | ||||||
|  |   integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw== | ||||||
|  |  | ||||||
| tough-cookie@^2.3.3: | tough-cookie@^2.3.3: | ||||||
|   version "2.5.0" |   version "2.5.0" | ||||||
|   resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" |   resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user