0.10.59 • Published 5 months ago

rsl-api-10-2 v0.10.59

Weekly downloads
-
License
-
Repository
github
Last release
5 months ago

Getting started

Introduction

The rsl-api package is here to assist you in the development of your JavaScript project, providing all the necessary queries, mutations, and types for your project.

Installation

npm install rsl-api

ApolloClient Initialization

Before starting, make sure you correctly initialize your apollo client with the corresponding HttpOptions. This package gives you a simple and efficient way to define your Apollo Client.

For a advanced ApolloClient, please refer to the Apollo Graphql Documentation.

export const initClient = (option: HttpOptions, responseLoggerHandler?: (operation: Operation) => void) : ApolloClient<NormalizedCacheObject>
Parameter valueTypeDescriptionDefault value
httpOptionsHttpOptionsRequired - ApolloClient HttpOptions
responseLoggerHandler(operation: Operation) => voidOptional - Response Logger Handlerundefined

The responseLoggerHandler parameter allow you to handle all executed GraphQL operations.

HttpOptions Configuration

This package also gives you a easy way to get basics HttpOptions if you don't know what to put in.

export const getBaseHttpOptions = (uri: string): HttpOptions => {
  return {
    uri: uri,
    headers: {
      "Content-Type": "application/json",
      "Access-Control-Allow-Origin": "*",
      "Access-Control-Allow-Credentials": true,
    },
  };
};

Example of usage using ReactJS

// apollo/client Package
import { ApolloProvider, useQuery, Operation } from "@apollo/client";

// rsl-api Package
import { initClient, getBaseHttpOptions } from "rsl-api";
import { getCartQuery } from "rsl-api/lib/queries";

// Custom Hooks
import { useSession } from "@hooks";

// Apollo Client HttpOptions
const httpOptions = {
  uri: "https://yourdomain.com/rsl/graphql",
  headers: {
    "Content-Type": "application/json;charset=utf-8",
    "Access-Control-Allow-Origin": "*",
    "Access-Control-Allow-Credentials": true,
  },
};
//or
//const httpOptions = getBaseHttpOptions("https://yourdomain.com/rsl/graphql");

// Apollo Client
const responseLoggerHandler = (operation) => {
  //if url parameter "debug" equal "true", then display the operation in the console
  new URLSearchParams(window.location.search).get("debug") === "true" &&
    console.info(operation);
};

const client = initClient(httpOptions, responseLoggerHandler);

<ApolloProvider client={client}>
  <MyCartComponent />
</ApolloProvider>;

const MyCartComponent = () => {
  const { session } = useSession();
  const { data, error, loading } = useQuery(getCartQuery(), {
    variables: { session: { name: session } },
  });

  if (error) return <div>{error.message}</div>;

  return loading ? (
    <div>Query loading...</div>
  ) : (
    <div>
      {data?.getCart?.cart?.reservations?.map((r, i) => {
        return <div>...</div>;
      })}
    </div>
  );
};

Errors

ErrorTypeSolution
CORSserverEnable CORS from our Infrastructure department
0.10.58

5 months ago

0.9.92

8 months ago

0.10.59

5 months ago

0.10.4

8 months ago

0.10.32

6 months ago

0.10.33

6 months ago

0.10.57

5 months ago

0.10.22

7 months ago

0.9.73

10 months ago

0.9.91

9 months ago

0.9.85

9 months ago

0.9.8

12 months ago

0.8.69

1 year ago

0.8.85

1 year ago

0.8.60

1 year ago

0.8.77

1 year ago

0.8.58

1 year ago

0.8.32

1 year ago

0.8.16

1 year ago

0.8.15

1 year ago

0.7.60

1 year ago

0.7.48

1 year ago

0.6.77

1 year ago

0.6.46

2 years ago

0.6.23

2 years ago

0.5.93

2 years ago

0.5.82

2 years ago

0.5.58

2 years ago

0.6.16

2 years ago

0.6.3

2 years ago

0.4.96

2 years ago

0.5.25

2 years ago

0.4.37

2 years ago

0.4.5

2 years ago

0.3.92

2 years ago

0.0.394

2 years ago

0.0.393

2 years ago

0.0.392

2 years ago

0.0.387

2 years ago

0.0.383

2 years ago