Files
klz-cables.com/.pnpm-store/v10/files/9b/38b96699912ba95ce1ea63129e11ef654b423b1c734d2541d67ae9a9327c2cd234ea8135cd6cdaece013a56b99deccd83de56ae7741e5a6114233c5614ec53
Marc Mintel 5397309103
Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 20s
Build & Deploy / 🧪 QA (push) Failing after 34s
Build & Deploy / 🏗️ Build (push) Has started running
Build & Deploy / 🚀 Deploy (push) Has been cancelled
Build & Deploy / 🧪 Smoke Test (push) Has been cancelled
Build & Deploy / ⚡ Lighthouse (push) Has been cancelled
Build & Deploy / 🔔 Notify (push) Has been cancelled
fix(products): fix breadcrumbs and product filtering (backport from main)
2026-02-24 16:04:21 +01:00

67 lines
1.5 KiB
Plaintext

'use server';
import { getPayload } from 'payload';
import { setPayloadAuthCookie } from '../utilities/setPayloadAuthCookie.js';
export async function login({
collection,
config,
email,
password,
username
}) {
const payload = await getPayload({
config,
cron: true
});
const authConfig = payload.collections[collection]?.config.auth;
if (!authConfig) {
throw new Error(`No auth config found for collection: ${collection}`);
}
const loginWithUsername = authConfig?.loginWithUsername ?? false;
if (loginWithUsername) {
if (loginWithUsername.allowEmailLogin) {
if (!email && !username) {
throw new Error('Email or username is required.');
}
} else {
if (!username) {
throw new Error('Username is required.');
}
}
} else {
if (!email) {
throw new Error('Email is required.');
}
}
let loginData;
if (loginWithUsername) {
loginData = username ? {
password,
username
} : {
email,
password
};
} else {
loginData = {
email,
password
};
}
const result = await payload.login({
collection,
data: loginData
});
if (result.token) {
await setPayloadAuthCookie({
authConfig,
cookiePrefix: payload.config.cookiePrefix,
token: result.token
});
}
if ('removeTokenFromResponses' in config && config.removeTokenFromResponses) {
delete result.token;
}
return result;
}
//# sourceMappingURL=login.js.map