forked from potsda.mn/mobilizon
2e72f6faf4
yarn v1 is being deprecated and starts to have some issues Signed-off-by: Thomas Citharel <tcit@tcit.fr>
26 lines
822 B
TypeScript
26 lines
822 B
TypeScript
import { Socket as PhoenixSocket } from "phoenix";
|
|
import { create } from "@framasoft/socket";
|
|
import { createAbsintheSocketLink } from "@framasoft/socket-apollo-link";
|
|
import { AUTH_ACCESS_TOKEN } from "@/constants";
|
|
import { GRAPHQL_API_ENDPOINT } from "@/api/_entrypoint";
|
|
|
|
const httpServer = GRAPHQL_API_ENDPOINT || "http://localhost:4000";
|
|
|
|
const webSocketPrefix = import.meta.env.PROD ? "wss" : "ws";
|
|
const wsEndpoint = `${webSocketPrefix}${httpServer.substring(
|
|
httpServer.indexOf(":")
|
|
)}/graphql_socket`;
|
|
|
|
const phoenixSocket = new PhoenixSocket(wsEndpoint, {
|
|
params: () => {
|
|
const token = localStorage.getItem(AUTH_ACCESS_TOKEN);
|
|
if (token) {
|
|
return { token };
|
|
}
|
|
return {};
|
|
},
|
|
});
|
|
|
|
const absintheSocket = create(phoenixSocket);
|
|
export default createAbsintheSocketLink(absintheSocket);
|