1.6.2 • Published 2 years ago

@8base/apollo-links v1.6.2

Weekly downloads
926
License
MIT
Repository
github
Last release
2 years ago

8base Apollo Links

A collection of Apollo links for more efficient communication with the 8base API.

API

Table of Contents

TokenRefreshLink

Extends ApolloLink

Token Refresh Link renew authentication token when it's expired.

Parameters

  • options TokenRefreshLinkOptions The token refresh link options.
    • options.getRefreshTokenParameters Function Used to refresh token parameters.
    • options.onAuthSuccess Function Callback which is executed when an attempt to refresh authentication is successful.
    • options.onAuthError Function? Callback which is executed when an attempt to refresh authentication fails.

SuccessLink

SuccessLink calls handler on every successful operation.

Parameters

  • successHandler Function success handler.

Handler

Success handler takes the following parameters:

  • operation Operation apollo graphql operation.

Usage

import { ApolloLink } from 'apollo-link';
import { BatchHttpLink } from 'apollo-link-batch-http';
import { getMainDefinition } from 'apollo-utilities';
import {
  AuthLink,
  FileUploadLink,
  SuccessLink,
} from '@8base/apollo-links';

const successHandler = ({ operation }) => {
  console.log(operation.getContext().someUsefulData);
};

const getAuthState = () => ({
  workspaceId: '',
  email: '',
  token: '',
});

const getRefreshTokenParameters = () => ({
  email: '',
  refreshToken: '',
});

const authSuccessHandler = ({ token, refreshToken}) => {
  console.log({ token, refreshToken });
}

const authErrorHandler = () => {
  console.log('Auth error');
}


const links = ApolloLink.from([
  new FileUploadLink(),
  new SuccessLink(successHandler),
  new AuthLink({
    getAuthState: getAuthState,
    getRefreshTokenParameters: getRefreshTokenParameters,
    onAuthSuccess: authSuccessHandler,
    onAuthError: authErrorHandler,
  }),
  ApolloLink.split(
    ({ query }) => {
      const definition = getMainDefinition(query);

      return (
        definition.kind === 'OperationDefinition' &&
        definition.operation === 'subscription'
      );
    },
    new SubscriptionLink({
      uri: 'wss://api-ws.8base.com',
      getAuthState: getAuthState,
      onAuthError: authErrorHandler,
    }),
    new BatchHttpLink({
      uri: 'https://api.8base.com',
    }),
  ),
])
3.1.0-beta.0

2 years ago

3.0.0-beta.1

2 years ago

3.0.0-beta.3

2 years ago

3.0.0-beta.0

3 years ago

2.7.0-beta.0

3 years ago

1.6.2

3 years ago

2.6.6

3 years ago

2.6.3

4 years ago

2.6.2

4 years ago

2.6.5

4 years ago

1.6.1

4 years ago

2.5.0

4 years ago

2.4.0

4 years ago

1.5.0

4 years ago

2.3.0

4 years ago

1.4.5

4 years ago

2.2.0

4 years ago

2.1.0

4 years ago

1.4.4

4 years ago

2.0.2

4 years ago

1.4.3

4 years ago

1.4.2

4 years ago

2.0.1

4 years ago

2.0.0

4 years ago

1.4.0

5 years ago

1.3.2

5 years ago

1.3.1

5 years ago

1.3.0

5 years ago

1.2.9

5 years ago

1.2.8

5 years ago

1.2.7

5 years ago

1.2.6

5 years ago

1.2.5

5 years ago

1.2.4

5 years ago

1.2.3

5 years ago

1.2.2

5 years ago

1.2.1

5 years ago

1.2.0

5 years ago

1.1.5

6 years ago

1.1.4

6 years ago

1.1.3

6 years ago

1.1.2

6 years ago

1.1.1

6 years ago

1.1.0

6 years ago

1.0.1

6 years ago

1.0.0

6 years ago

0.37.2

6 years ago

0.37.1

6 years ago

0.37.0

6 years ago

0.36.6

6 years ago

0.36.5

6 years ago

0.36.4

6 years ago

0.36.3

6 years ago

0.36.2

6 years ago

0.36.1

6 years ago

0.36.0

6 years ago

0.35.1

6 years ago

0.35.0

6 years ago

0.34.0

6 years ago

0.33.1

6 years ago

0.33.0

6 years ago

0.32.3

6 years ago

0.32.2

6 years ago

0.32.1

6 years ago

0.32.0

6 years ago

0.31.2

6 years ago

0.31.1

6 years ago

0.31.0

6 years ago

0.30.0

6 years ago

0.29.2

6 years ago

0.29.1

6 years ago

0.29.0

6 years ago

0.28.5

6 years ago

0.28.4

6 years ago

0.28.3

6 years ago

0.28.2

6 years ago

0.28.1

6 years ago

0.28.0

6 years ago

0.27.1

6 years ago

0.27.0

6 years ago

0.26.0

6 years ago

0.25.1

6 years ago

0.25.0

6 years ago

0.24.0

6 years ago

0.23.1

6 years ago

0.23.0

6 years ago

0.22.0

6 years ago

0.21.4

6 years ago

0.21.3

6 years ago

0.21.2

6 years ago

0.21.1

6 years ago

0.21.0

6 years ago

0.20.4

6 years ago

0.20.3

6 years ago

0.20.2

6 years ago

0.20.1

6 years ago

0.20.0

6 years ago

0.19.6

6 years ago

0.19.5

6 years ago

0.19.4

6 years ago

0.19.3

6 years ago

0.19.2

6 years ago

0.19.1

6 years ago

0.19.0

6 years ago

0.18.7

6 years ago

0.18.6

6 years ago

0.18.5

6 years ago

0.18.4

6 years ago

0.18.3

6 years ago

0.18.2

6 years ago

0.18.1

6 years ago

0.18.0

6 years ago

0.17.2

6 years ago

0.17.1

6 years ago

0.17.0

6 years ago

0.16.10

6 years ago

0.16.9

6 years ago

0.16.8

6 years ago

0.16.7

6 years ago

0.16.6

6 years ago

0.16.5

6 years ago

0.16.4

6 years ago

0.16.3

6 years ago

0.16.2

6 years ago

0.16.1

6 years ago

0.16.0

6 years ago

0.15.4

6 years ago

0.15.3

6 years ago

0.15.2

6 years ago

0.15.1

6 years ago

0.15.0

6 years ago

0.14.4

6 years ago

0.14.3

6 years ago

0.14.2

6 years ago

0.14.1

6 years ago

0.14.0

6 years ago

0.13.0

6 years ago

0.12.0

6 years ago

0.11.3

6 years ago

0.11.2

6 years ago

0.11.1

6 years ago

0.11.0

6 years ago

0.10.5

6 years ago

0.10.4

6 years ago

0.10.3

6 years ago

0.10.2

6 years ago

0.10.1

6 years ago

0.10.0

6 years ago

0.9.2

6 years ago

0.9.1

6 years ago

0.9.0

6 years ago

0.8.5

6 years ago

0.8.4

6 years ago

0.8.3

6 years ago

0.8.2

6 years ago

0.8.1

6 years ago

0.8.0

6 years ago

0.7.3

6 years ago

0.7.2

6 years ago

0.7.1

6 years ago

0.7.0

6 years ago

0.6.12

6 years ago

0.6.11

6 years ago

0.6.10

6 years ago

0.6.9

7 years ago

0.6.8

7 years ago

0.6.7

7 years ago

0.6.6

7 years ago

0.6.5

7 years ago

0.6.4

7 years ago

0.6.3

7 years ago

0.6.2

7 years ago

0.6.1

7 years ago

0.6.0

7 years ago

0.5.10

7 years ago

0.5.9

7 years ago

0.5.8

7 years ago

0.5.7

7 years ago

0.5.6

7 years ago

0.5.5

7 years ago

0.5.4

7 years ago

0.5.3

7 years ago

0.5.2

7 years ago

0.5.1

7 years ago

0.5.0

7 years ago

0.4.27

7 years ago

0.4.26

7 years ago

0.4.25

7 years ago

0.4.24

7 years ago

0.4.23

7 years ago

0.4.22

7 years ago

0.4.21

7 years ago

0.4.20

7 years ago

0.4.19

7 years ago

0.4.18

7 years ago

0.4.16

7 years ago

0.4.15

7 years ago

0.4.14

7 years ago

0.4.13

7 years ago

0.4.11

7 years ago

0.4.10

7 years ago

0.4.9

7 years ago

0.4.8

7 years ago

0.4.7

7 years ago

0.4.6

7 years ago

0.4.5

7 years ago

0.4.4

7 years ago

0.4.3

7 years ago

0.4.2

7 years ago

0.4.1

7 years ago

0.3.8

7 years ago

0.3.7

7 years ago

0.3.6

7 years ago

0.3.5

7 years ago

0.3.4

7 years ago

0.3.3

7 years ago

0.3.1

7 years ago

0.3.0

7 years ago

0.2.8

7 years ago

0.2.7

7 years ago

0.2.6

7 years ago

0.2.5

7 years ago

0.2.4

7 years ago

0.2.3

7 years ago

0.2.2

7 years ago

0.2.1

7 years ago

0.2.0

7 years ago

0.1.8

7 years ago

0.1.7

7 years ago

0.1.6

7 years ago

0.1.5

7 years ago

0.1.4

7 years ago

0.1.3

7 years ago

0.1.2

7 years ago

0.1.0

7 years ago

0.1.1

7 years ago