chore: migrate to composition API and auth0-spa

This commit is contained in:
2020-01-21 15:51:51 +01:00
parent 565a3aa66e
commit e6c87e2f46
44 changed files with 2489 additions and 1585 deletions
-11
View File
@@ -1,11 +0,0 @@
const webAuth = require("../auth").default;
module.exports = {
includeCredentials: (uri, options) => {
const token = webAuth.accessToken();
if (token) {
options.headers['Authorization'] = 'Bearer ' + token;
}
return fetch(uri, options);
}
};
-37
View File
@@ -1,37 +0,0 @@
module.exports = {
toggleIgnoreBandMutation: `
mutation ToggleIgnoreBand($name: String!) {
ignore: ToggleIgnoreBand(name: $name)
}
`,
toggleIgnoreDanceHallMutation: `
mutation ToggleIgnoreDanceHall($name: String!) {
ignore: ToggleIgnoreDanceHall(name: $name)
}
`,
toggleIgnoreCityMutation: `
mutation ToggleIgnoreCity($name: String!) {
ignore: ToggleIgnoreCity(name: $name)
}
`,
toggleIgnoreMunicipalityMutation: `
mutation ToggleIgnoreMunicipality($name: String!) {
ignore: ToggleIgnoreMunicipality(name: $name)
}
`,
toggleIgnoreStateMutation: `
mutation ToggleIgnoreState($name: String!) {
ignore: ToggleIgnoreState(name: $name)
}
`,
saveOriginMutation: `
mutation SaveOrigin($origin: String!) {
saved: SaveOrigin(origin: $origin)
}
`,
removeOriginMutation: `
mutation RemoveOrigin($origin: String!) {
removed: RemoveOrigin(origin: $origin)
}
`
};
+36 -33
View File
@@ -1,34 +1,37 @@
import { createQuery } from './utils';
import {
toggleIgnoreBandMutation,
toggleIgnoreDanceHallMutation,
toggleIgnoreCityMutation,
toggleIgnoreMunicipalityMutation,
toggleIgnoreStateMutation,
saveOriginMutation,
removeOriginMutation
} from './mutationStrings';
import gql from 'graphql-tag'
/* eslint-disable max-len */
export const toggleIgnoreBand = variables => {
return createQuery(toggleIgnoreBandMutation, variables)
};
export const toggleIgnoreDanceHall = variables => {
return createQuery(toggleIgnoreDanceHallMutation, variables)
};
export const toggleIgnoreCity = variables => {
return createQuery(toggleIgnoreCityMutation, variables)
};
export const toggleIgnoreMunicipality = variables => {
return createQuery(toggleIgnoreMunicipalityMutation, variables)
};
export const toggleIgnoreState = variables => {
return createQuery(toggleIgnoreStateMutation, variables)
};
export const saveOrigin = variables => {
return createQuery(saveOriginMutation, variables)
};
export const removeOrigin = variables => {
return createQuery(removeOriginMutation, variables)
};
/* eslint-enable max-len */
export const toggleIgnoreBand = gql`
mutation ToggleIgnoreBand($name: String!) {
ignore: ToggleIgnoreBand(name: $name)
}
`
export const toggleIgnoreDanceHall = gql`
mutation ToggleIgnoreDanceHall($name: String!) {
ignore: ToggleIgnoreDanceHall(name: $name)
}
`
export const toggleIgnoreCity = gql`
mutation ToggleIgnoreCity($name: String!) {
ignore: ToggleIgnoreCity(name: $name)
}
`
export const toggleIgnoreMunicipality = gql`
mutation ToggleIgnoreMunicipality($name: String!) {
ignore: ToggleIgnoreMunicipality(name: $name)
}
`
export const toggleIgnoreState = gql`
mutation ToggleIgnoreState($name: String!) {
ignore: ToggleIgnoreState(name: $name)
}
`
export const saveOrigin = gql`
mutation SaveOrigin($origin: String!) {
saved: SaveOrigin(origin: $origin)
}
`
export const removeOrigin = gql`
mutation RemoveOrigin($origin: String!) {
removed: RemoveOrigin(origin: $origin)
}
`
+47 -13
View File
@@ -1,14 +1,48 @@
import { createQuery } from './utils';
import {
eventsQuery,
originsQuery,
addressFromLatLngQuery,
filtersQuery,
} from './queryStrings';
import gql from 'graphql-tag'
/* eslint-disable max-len */
export const findEvents = variables => createQuery(eventsQuery, variables);
export const findOrigins = () => createQuery(originsQuery);
export const fetchAddress = variables => createQuery(addressFromLatLngQuery, variables);
export const fetchFilters = () => createQuery(filtersQuery);
/* eslint-enable max-len */
export const findEvents = gql`
query events($range: Range $origins: [String!] $includeOrigins: Boolean!) {
events: Events(range: $range origins: $origins) {
date
time
band {
name
}
danceHall {
name
city
municipality
state
}
extraInfo
distances {
origin
distance
duration
}
}
origins: Origins @include(if: $includeOrigins)
}
`;
export const findOrigins = gql`
query origins {
origins: Origins
}
`;
export const fetchAddress = gql`
query adressFromLatLng($latlng: String!) {
address: AddressFromLatLng(latlng: $latlng)
}
`;
export const fetchFilters = gql`
query {
bands: IgnoredBands
cities: IgnoredCities
states: IgnoredStates
danceHalls: IgnoredDanceHalls
municipalities: IgnoredMunicipalities
}
`;
-50
View File
@@ -1,50 +0,0 @@
export const eventQuery = `
events: Events(range: $range origins: $origins) {
date
time
band {
name
}
danceHall {
name
city
municipality
state
}
extraInfo
distances {
origin
distance
duration
}
}
`;
export const eventsQuery = `
query events($range: Range $origins: [String!] $includeOrigins: Boolean!) {
${eventQuery}
origins: Origins @include(if: $includeOrigins)
}
`;
export const originsQuery = `
query origins {
origins: Origins
}
`;
export const addressFromLatLngQuery = `
query adressFromLatLng($latlng: String!) {
address: AddressFromLatLng(latlng: $latlng)
}
`;
export const filtersQuery = `
query {
bands: IgnoredBands
cities: IgnoredCities
states: IgnoredStates
danceHalls: IgnoredDanceHalls
municipalities: IgnoredMunicipalities
}
`;
-51
View File
@@ -1,51 +0,0 @@
import { execute, makePromise, ApolloLink, Observable } from 'apollo-link';
import { HttpLink } from 'apollo-link-http';
import gql from 'graphql-tag';
const { includeCredentials } = require('./middleware');
import { onError } from 'apollo-link-error';
import { default as webAuth} from '../auth';
const defaultGraphUri = '/query';
const httpLink = new HttpLink({ uri: defaultGraphUri, fetch: includeCredentials, credentials: 'same-origin' });
const errorLink = onError(({ graphQLErrors, networkError, operation, forward }) => {
if (graphQLErrors) {
console.log('GraphQL errors:', graphQLErrors);
// for (let err of graphQLErrors) {
// switch (err.extensions.code) {
// case 'UNAUTHENTICATED':
// // error code is set to UNAUTHENTICATED
// // when AuthenticationError thrown in resolver
//
// // modify the operation context with a new token
// }
// }
}
if (networkError) {
if (networkError.statusCode === 401) {
return new Observable(observer => {
webAuth.checkSession(() => {
const subscriber = {
next: observer.next.bind(observer),
error: observer.error.bind(observer),
complete: observer.complete.bind(observer)
};
// Retry last failed request
forward(operation).subscribe(subscriber);
}, (err) => {
console.log(err);
observer.error(err)
});
});
}
}
}
);
export const createQuery = (query, variables) => { // eslint-disable-line
const operation = {
query: gql(query),
variables: variables
};
return makePromise(execute(ApolloLink.from([errorLink, httpLink]), operation));
};