Files
vercel__next.js/examples/with-realm-web/lib/RealmClient.js
Steven 4466ba436b chore(examples): use default prettier for examples/templates (#60530)
## Description
This PR ensures that the default prettier config is used for examples
and templates.

This config is compatible with `prettier@3` as well (upgrading prettier
is bigger change that can be a future PR).

## Changes
- Updated `.prettierrc.json` in root with `"trailingComma": "es5"` (will
be needed upgrading to prettier@3)
- Added `examples/.prettierrc.json` with default config (this will
change every example)
- Added `packages/create-next-app/templates/.prettierrc.json` with
default config (this will change every template)

## Related

- Fixes #54402
- Closes #54409
2024-01-11 16:01:44 -07:00

28 lines
932 B
JavaScript

import { Credentials, App } from "realm-web";
const APP_ID = process.env.NEXT_PUBLIC_REALM_APP_ID;
export const REALM_GRAPHQL_ENDPOINT = `https://realm.mongodb.com/api/client/v2.0/app/${APP_ID}/graphql`;
const app = new App({
id: APP_ID,
baseUrl: "https://realm.mongodb.com",
});
export const generateAuthHeader = async () => {
if (!app.currentUser) {
// If no user is logged in, log in an anonymous user
await app.logIn(Credentials.anonymous());
} else {
// An already logged in user's access token might be stale. To guarantee that the token is
// valid, we refresh the user's custom data which also refreshes their access token.
await app.currentUser.refreshCustomData();
}
// Get a valid access token for the current user
const { accessToken } = app.currentUser;
// Set the Authorization header, preserving any other headers
return {
Authorization: `Bearer ${accessToken}`,
};
};