21 lines
865 B
JavaScript
21 lines
865 B
JavaScript
import { config } from '../config.js'
|
|
import { getDocument, getPortalAccessByCustomerId } from './appwriteAdmin.js'
|
|
|
|
/**
|
|
* Portal-Zugang eines Kunden fuer das Ticketsystem: hasAccess wie beim Login (customers.portalAccessEnabled und ein
|
|
* freigeschaltetes customerPortalAccess-Dokument), dazu der letzte Login. customer = null bei unbekanntem Kunden.
|
|
*/
|
|
export async function getPortalAccessStatus(customerId) {
|
|
const customer = await getDocument(config.collections.customers, customerId).catch((err) => {
|
|
if (err.status === 404) return null
|
|
throw err
|
|
})
|
|
if (!customer) return { customer: null, hasAccess: false, lastLoginAt: null }
|
|
const access = await getPortalAccessByCustomerId(customer.$id)
|
|
return {
|
|
customer,
|
|
hasAccess: Boolean(customer.portalAccessEnabled && access?.enabled),
|
|
lastLoginAt: access?.lastLoginAt || null,
|
|
}
|
|
}
|