5.2.2 • Published 2 months ago

@forrestjs/service-hasura-client v5.2.2

Weekly downloads
-
License
MIT
Repository
github
Last release
2 months ago

Hasura Client for NodeJS

Configuration

forrest.run({
  settings: {
    hasura: {
      endpoint: 'http://localhost:8080',
      secret: 'hasura',
      auth: {
        token: 'token',
        jwt: {
          secret: 'abc',
          roles: ['r1', 'r2'],
          defaultRole: ['r1'],
          session: {
            foo: 'bar'
          }
        },
        fn: async () => ({
          token: 'token',
          ttl: 0
        })
      } 
    }
  }
})

👉 Only one auth setting is supported at any time.

Authorization Token

When you provide this setting, HasuraClient will use it as Authorization: Bearer {token}.

Authorization JWT

[ TO BE IMPLEMENTED ]

When you provide this setting, HasuraClient will calculate the JWT and use it as Authorization: Bearer {jwt}.

Authorization Logic

[ TO BE IMPLEMENTED ]

When you provide this setting you can calculate the authorization token by offering a custom logic.

  • the resulting token key will be used as Authorization: Bearer {token}.
  • the ttl will be used as cache flag:
    • 0 keep forever (until reboot)
    • -1 calculate at every query
    • 1000 keep for 1s (integer value expressed in milliseconds)

Query

const MY_QUERY = `
  query FooBar ($var: String!) {
    resource (
      par: $var
    ) {
      field1
      field2
    }
  }
`;

const myFeature = () => [{
  target: '$START_FEATURE',
  handler: async ({ getContext }) => {
    const hasura = getContext('hasura');
    const res = await hasura.query(MY_QUERY, {
      var: 'foobar'
    });

    console.log(res);
  }
}];

Sql

const myFeature = () => [{
  target: '$START_FEATURE',
  handler: async ({ getContext }) => {
    const hasura = getContext('hasura');
    const res = await hasura.sql(MY_QUERY, {
      var: 'foobar'
    });

    console.log(res);
  }
}];
5.2.2

2 months ago

5.1.1

1 year ago

5.1.0

1 year ago

5.0.6

1 year ago

5.0.5

1 year ago

5.0.4

1 year ago

5.2.1

1 year ago

5.0.3

1 year ago

5.2.0

1 year ago

5.0.2

1 year ago

5.0.1

1 year ago

5.0.0-alpha.39

1 year ago

5.0.0-alpha.37

1 year ago

5.0.0-alpha.38

1 year ago

5.0.0-alpha.35

1 year ago

5.0.0-alpha.36

1 year ago

5.0.0-alpha.33

1 year ago

5.0.0-alpha.34

1 year ago

5.0.0-alpha.40

1 year ago

5.0.0-alpha.31

2 years ago

5.0.0-alpha.32

2 years ago

5.0.0-alpha.30

2 years ago

5.0.0-alpha.28

2 years ago

5.0.0-alpha.29

2 years ago

5.0.0-alpha.26

2 years ago

5.0.0-alpha.27

2 years ago

5.0.0-alpha.25

2 years ago

5.0.0-alpha.9

2 years ago

5.0.0-alpha.19

2 years ago

5.0.0-alpha.17

2 years ago

5.0.0-alpha.18

2 years ago

5.0.0-alpha.15

2 years ago

5.0.0-alpha.16

2 years ago

5.0.0-alpha.13

2 years ago

5.0.0-alpha.14

2 years ago

5.0.0-alpha.11

2 years ago

5.0.0-alpha.12

2 years ago

5.0.0-y.0

2 years ago

5.0.0-alpha.10

2 years ago

5.0.0-alpha.24

2 years ago

5.0.0-alpha.22

2 years ago

5.0.0-alpha.23

2 years ago

5.0.0-alpha.20

2 years ago

5.0.0-alpha.21

2 years ago

5.0.0-alpha.8

2 years ago

5.0.0-alpha.7

2 years ago

5.0.0-alpha.6

2 years ago

5.0.0-alpha.5

2 years ago

5.0.0-alpha.3

2 years ago

5.0.0-alpha.2

2 years ago

5.0.0-alpha.1

2 years ago

5.0.0-alpha.0

2 years ago

4.7.2

2 years ago

4.7.1

2 years ago

4.7.1-alpha.1

2 years ago

4.7.1-alpha.0

2 years ago

4.7.0

2 years ago

4.6.0

2 years ago

4.6.0-alpha.0

2 years ago