Skip to content

Commit

Permalink
feat(sifrr-api): convert to work with @sifrr/server
Browse files Browse the repository at this point in the history
  • Loading branch information
aadityataparia committed Aug 26, 2019
1 parent bc5845a commit addc846
Show file tree
Hide file tree
Showing 28 changed files with 874 additions and 1,026 deletions.
5 changes: 1 addition & 4 deletions babel.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,7 @@ module.exports = function(api) {
]
];

const plugins = [['@babel/plugin-proposal-class-properties', { loose: true }]];

return {
presets,
plugins
presets
};
};
5 changes: 2 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,7 @@
"homepage": "https://github.com/sifrr/sifrr",
"dependencies": {},
"devDependencies": {
"@babel/plugin-proposal-class-properties": "^7.5.5",
"@sifrr/dev": "^0.0.27",
"@sifrr/dev": "^0.0.28",
"axios": "^0.19.0",
"cache-manager": "^2.10.0",
"graphql": "^14.5.3",
Expand All @@ -58,6 +57,6 @@
"resolutions": {
"@sifrr/server": "file:./packages/server/sifrr-server",
"@sifrr/fetch": "file:./packages/browser/sifrr-fetch",
"@sifrr/dev": "0.0.27"
"@sifrr/dev": "0.0.28"
}
}
3 changes: 1 addition & 2 deletions packages/browser/sifrr-dom/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,7 @@
"dependencies": {},
"peerDependencies": {},
"devDependencies": {
"@babel/plugin-proposal-class-properties": "^7.5.5",
"@sifrr/dev": "^0.0.27",
"@sifrr/dev": "^0.0.28",
"axios": "^0.19.0",
"cache-manager": "^2.10.0",
"graphql": "^14.5.3",
Expand Down
14 changes: 6 additions & 8 deletions packages/browser/sifrr-fetch/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,9 +43,6 @@ window.Sifrr.Fetch = require('@sifrr/fetch');

```js
import Fetch from '@sifrr/fetch';
window.Sifrr = window.Sifrr || {};
window.Sifrr.Fetch = Fetch;

// or
import { Fetch, Socket } from '@sifrr/fetch';
// and use as Sifrr.Fetch or Sifrr.Fetch.Socket
Expand All @@ -56,7 +53,7 @@ import { Fetch, Socket } from '@sifrr/fetch';
```js
// set global.fetch
global.fetch = require('node-fetch);
const SFetch = require('@sifrr/fetch');
const { Fetch } = require('@sifrr/fetch');
// use SFetch.get, post etc,
global.WebSocket = require('isomorphic-ws');
const { Socket } = require('@sifrr/fetch');
Expand All @@ -77,10 +74,11 @@ const { Socket } = require('@sifrr/fetch');
```js
{
loaded, // loaded bytes
total, // total bytes (0 if response doesn't have content length)
percent, // progress precentage
speed, // speed in kbps
value; // chunk value
total, // total bytes (0 if response doesn't have content length)
percent, // progress precentage
speed, // speed in kbps
value,
... // chunk value
}
```

Expand Down
4 changes: 1 addition & 3 deletions packages/browser/sifrr-fetch/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -35,14 +35,12 @@
"dependencies": {},
"peerDependencies": {},
"devDependencies": {
"@babel/plugin-proposal-class-properties": "^7.5.5",
"@sifrr/dev": "^0.0.27",
"@sifrr/dev": "^0.0.28",
"axios": "^0.19.0",
"cache-manager": "^2.10.0",
"graphql": "^14.5.3",
"isomorphic-ws": "^4.0.1",
"loadtest": "^3.0.7",
"node-fetch": "^2.6.0",
"ws": "^7.1.2"
},
"files": [
Expand Down
3 changes: 1 addition & 2 deletions packages/browser/sifrr-route/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,7 @@
},
"peerDependencies": {},
"devDependencies": {
"@babel/plugin-proposal-class-properties": "^7.5.5",
"@sifrr/dev": "^0.0.27",
"@sifrr/dev": "^0.0.28",
"axios": "^0.19.0",
"cache-manager": "^2.10.0",
"graphql": "^14.5.3",
Expand Down
3 changes: 1 addition & 2 deletions packages/browser/sifrr-serviceworker/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,7 @@
"dependencies": {},
"peerDependencies": {},
"devDependencies": {
"@babel/plugin-proposal-class-properties": "^7.5.5",
"@sifrr/dev": "^0.0.27",
"@sifrr/dev": "^0.0.28",
"axios": "^0.19.0",
"cache-manager": "^2.10.0",
"graphql": "^14.5.3",
Expand Down
3 changes: 1 addition & 2 deletions packages/browser/sifrr-storage/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,7 @@
"dependencies": {},
"peerDependencies": {},
"devDependencies": {
"@babel/plugin-proposal-class-properties": "^7.5.5",
"@sifrr/dev": "^0.0.27",
"@sifrr/dev": "^0.0.28",
"axios": "^0.19.0",
"cache-manager": "^2.10.0",
"graphql": "^14.5.3",
Expand Down
3 changes: 1 addition & 2 deletions packages/server/sifrr-api/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,7 @@
"sequelize": "^5.8.6"
},
"devDependencies": {
"@babel/plugin-proposal-class-properties": "^7.5.5",
"@sifrr/dev": "^0.0.27",
"@sifrr/dev": "^0.0.28",
"axios": "^0.19.0",
"cache-manager": "^2.10.0",
"graphql": "^14.5.3",
Expand Down
29 changes: 0 additions & 29 deletions packages/server/sifrr-api/src/api/loadroutes.js

This file was deleted.

5 changes: 1 addition & 4 deletions packages/server/sifrr-api/src/api/reqtovariables.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
const filter = require('../utils/filterobject');

function reqToVariables(req, { allowed = [] } = {}) {
let args = {};
Object.assign(args, req.query, req.body, req.params);

function reqToVariables(args, { allowed = [] } = {}) {
if (allowed.length > 0) args = filter(args, arg => allowed.indexOf(arg) >= 0);

for (let arg in args) {
Expand Down
1 change: 0 additions & 1 deletion packages/server/sifrr-api/src/sifrr.api.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
const SifrrApi = {};
SifrrApi.SequelizeModel = require('./api/ormmodels/sequelize');
SifrrApi.GraphqlExecutor = require('./api/graphqlexecutor');
SifrrApi.loadRoutes = require('./api/loadroutes');
SifrrApi.createSchemaFromModels = require('./api/createschemafrommodels');
SifrrApi.reqToVariables = require('./api/reqtovariables');

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
global.fetch = require('node-fetch');
const { Fetch } = require('@sifrr/fetch');

function getReq(url) {
return page.evaluate(url => {
return Sifrr.Fetch.get(url);
}, PATH + url);
return Fetch.get(PATH + url);
}

describe('GraphqlExecutor', () => {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,8 @@
global.fetch = require('node-fetch');
const { Fetch } = require('@sifrr/fetch');

function request(type, url) {
return page.evaluate(
(url, type) => {
return Sifrr.Fetch[type](url);
},
PATH + url,
type
);
return Fetch[type](PATH + url);
}

describe('SequelizeModel', () => {
Expand Down
4 changes: 2 additions & 2 deletions packages/server/sifrr-api/test/public/config/setup.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
module.exports = (saveSchema = true) => {
global.ENV = process.env.NODE_ENV || process.env.ENV || 'development';

const { createSchemaFromModels, GraphqlExecutor } = require('../../../src/sifrr.api');
const { createSchemaFromModels, GraphqlExecutor } = require('@sifrr/api');
const path = require('path');

const models = require('../models');
Expand All @@ -26,7 +26,7 @@ module.exports = (saveSchema = true) => {
extra: 'scalar Random', // Add scalar Random as we have returnType Random for 'count'
schemaPath: saveSchema ? path.join(__dirname, '../db/schema.graphql') : ''
});
global.etg = new GraphqlExecutor(graphqlSchema);
global.etg = new GraphqlExecutor(global.graphqlSchema);

Object.assign(global, models);
};
69 changes: 31 additions & 38 deletions packages/server/sifrr-api/test/public/graphiql.html
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<!--
* Copyright (c) Facebook, Inc.
* Copyright (c) 2019 GraphQL Contributors
* All rights reserved.
*
* This source code is licensed under the license found in the
Expand Down Expand Up @@ -27,8 +27,6 @@
If you do not want to rely on a CDN, you can host these files locally or
include them directly in your favored resource bunder.
-->
<script src="//cdn.jsdelivr.net/es6-promise/4.0.5/es6-promise.auto.min.js"></script>
<script src="//cdn.jsdelivr.net/fetch/0.9.0/fetch.min.js"></script>
<script src="//cdn.jsdelivr.net/react/15.4.2/react.min.js"></script>
<script src="//cdn.jsdelivr.net/react/15.4.2/react-dom.min.js"></script>

Expand All @@ -37,9 +35,9 @@
copy them directly into your environment, or perhaps include them in your
favored resource bundler.
-->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/graphiql@0.13.0/graphiql.css" />
<script src="https://cdn.jsdelivr.net/npm/graphiql@0.13.0/graphiql.js" charset="utf-8"></script>

<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/graphiql/graphiql.css" />
<script src="https://cdn.jsdelivr.net/npm/graphiql/graphiql.js" charset="utf-8"></script>
<script src="https://cdn.jsdelivr.net/npm/@sifrr/fetch" charset="utf-8"></script>
</head>
<body>
<div id="graphiql">Loading...</div>
Expand All @@ -55,18 +53,21 @@
// Parse the search string to get url parameters.
var search = window.location.search;
var parameters = {};
search.substr(1).split('&').forEach(function (entry) {
var eq = entry.indexOf('=');
if (eq >= 0) {
parameters[decodeURIComponent(entry.slice(0, eq))] =
decodeURIComponent(entry.slice(eq + 1));
}
});
search
.substr(1)
.split('&')
.forEach(function(entry) {
var eq = entry.indexOf('=');
if (eq >= 0) {
parameters[decodeURIComponent(entry.slice(0, eq))] = decodeURIComponent(
entry.slice(eq + 1)
);
}
});
// if variables was provided, try to format it.
if (parameters.variables) {
try {
parameters.variables =
JSON.stringify(JSON.parse(parameters.variables), null, 2);
parameters.variables = JSON.stringify(JSON.parse(parameters.variables), null, 2);
} catch (e) {
// Do nothing, we want to display the invalid JSON as a string, rather
// than present an error.
Expand All @@ -87,36 +88,28 @@
updateURL();
}
function updateURL() {
var newSearch = '?' + Object.keys(parameters).filter(function (key) {
return Boolean(parameters[key]);
}).map(function (key) {
return encodeURIComponent(key) + '=' +
encodeURIComponent(parameters[key]);
}).join('&');
var newSearch =
'?' +
Object.keys(parameters)
.filter(function(key) {
return Boolean(parameters[key]);
})
.map(function(key) {
return encodeURIComponent(key) + '=' + encodeURIComponent(parameters[key]);
})
.join('&');
history.replaceState(null, null, newSearch);
}
// Defines a GraphQL fetcher using the fetch API. You're not required to
// use fetch, and could instead implement graphQLFetcher however you like,
// as long as it returns a Promise or Observable.
function graphQLFetcher(graphQLParams) {
// This example expects a GraphQL server at the path /graphql.
// When working locally, the example expects a GraphQL server at the path /graphql.
// In a PR preview, it connects to the Star Wars API externally.
// Change this to point wherever you host your GraphQL server.
return fetch('/graphql', {
method: 'post',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json',
},
body: JSON.stringify(graphQLParams),
credentials: 'include',
}).then(function (response) {
return response.text();
}).then(function (responseBody) {
try {
return JSON.parse(responseBody);
} catch (error) {
return responseBody;
}
const api = '/graphql';
return Sifrr.Fetch.graphql(api, {
...graphQLParams
});
}
// Render <GraphiQL /> into the body.
Expand Down
4 changes: 2 additions & 2 deletions packages/server/sifrr-api/test/public/models/pet.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
const { sequelize, Sequelize } = require('../sequelize');
const { SequelizeModel } = require('../../../src/sifrr.api');
const { SequelizeModel } = require('@sifrr/api');

class Pet extends SequelizeModel {
static init() {
Expand Down Expand Up @@ -97,7 +97,7 @@ class Pet extends SequelizeModel {

// Add extra attributes to pet connection
this.graphqlConnection.addAttribute('total', {
resolver: (_) => {
resolver: _ => {
return _.source.countPets();
},
returnType: 'Int',
Expand Down
2 changes: 1 addition & 1 deletion packages/server/sifrr-api/test/public/models/user.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
const { sequelize, Sequelize } = require('../sequelize');
const { SequelizeModel } = require('../../../src/sifrr.api');
const { SequelizeModel } = require('@sifrr/api');

class User extends SequelizeModel {
static init() {
Expand Down
12 changes: 6 additions & 6 deletions packages/server/sifrr-api/test/public/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -26,19 +26,19 @@
},
"homepage": "https://github.com/sifrr/sifrr-api-example#readme",
"dependencies": {
"@sifrr/api": "file:../../",
"@sifrr/cli": "file:../../../sifrr-cli",
"body-parser": "^1.18.3",
"@sifrr/server": "file:../../../sifrr-server",
"dataloader-sequelize": "^2.0.1",
"express": "^4.16.4",
"graphql-relay": "^0.6.0",
"graphql-sequelize": "^9.3.1",
"mkdirp": "^0.5.1",
"mysql2": "^1.6.4",
"sequelize": "^5.16.0",
"sequelize-cli": "^5.4.0",
"uWebSockets.js": "uNetworking/uWebSockets.js#v15.11.0"
"sequelize-cli": "^5.4.0"
},
"devDependencies": {
"eslint": "^6.0.1"
},
"resolutions": {
"graphql": "file:../../../../../node_modules/graphql"
}
}

0 comments on commit addc846

Please sign in to comment.