@daliboru/payload-auth-plugin-fork
Version:
Authentication plugin for Payload CMS
85 lines (83 loc) • 1.93 kB
JavaScript
// src/client/index.ts
import { MissingPayloadAuthBaseURL } from "../core/errors/consoleErrors.js";
import {
forgotPassword,
recoverPassword,
resetPassword
} from "./password.js";
import { refresh } from "./refresh.js";
import { register } from "./register.js";
import { getClientSession, getSession } from "./session.js";
import { signin } from "./signin.js";
import { signout } from "./signout.js";
class AuthClient {
name;
baseURL;
constructor(name, options) {
this.name = name;
if (!options?.payloadBaseURL && !process.env.NEXT_PUBLIC_PAYLOAD_AUTH_URL) {
throw new MissingPayloadAuthBaseURL;
}
this.baseURL = options?.payloadBaseURL ?? process.env.NEXT_PUBLIC_PAYLOAD_AUTH_URL;
}
signin(additionalScope) {
return signin({
name: this.name,
baseURL: this.baseURL,
additionalScope
});
}
register() {
return register({
name: this.name,
baseURL: this.baseURL
});
}
async resetPassword(payload) {
return await resetPassword({
name: this.name,
baseURL: this.baseURL
}, payload);
}
async forgotPassword(payload) {
return await forgotPassword({
name: this.name,
baseURL: this.baseURL
}, payload);
}
async recoverPassword(payload) {
return await recoverPassword({
name: this.name,
baseURL: this.baseURL
}, payload);
}
async getSession({ headers }) {
return await getSession({
name: this.name,
baseURL: this.baseURL,
headers
});
}
async getClientSession() {
return await getClientSession({
name: this.name,
baseURL: this.baseURL
});
}
async signout({ returnTo }) {
return await signout({
name: this.name,
baseURL: this.baseURL,
returnTo
});
}
async refreshSession() {
return await refresh({
name: this.name,
baseURL: this.baseURL
});
}
}
export {
AuthClient
};