Admin: Kunden mit Portal-Passwort für project.webklar.com anlegen.
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -1,5 +1,9 @@
|
||||
import { useState, useEffect, useCallback } from 'react'
|
||||
import { databases, DATABASE_ID, COLLECTIONS, ID, Query, isDemoMode } from '../lib/appwrite'
|
||||
import {
|
||||
createCustomerWithPortalAccess,
|
||||
updateCustomerWithPortalAccess,
|
||||
} from '../lib/customerAdminApi'
|
||||
|
||||
const DEMO_MODE = isDemoMode
|
||||
|
||||
@@ -50,20 +54,18 @@ export function useCustomers() {
|
||||
|
||||
const createCustomer = async (data) => {
|
||||
if (DEMO_MODE) {
|
||||
const newCustomer = { ...data, $id: Date.now().toString() }
|
||||
const { password: _pw, ...rest } = data
|
||||
const newCustomer = { ...rest, $id: Date.now().toString() }
|
||||
setCustomers(prev => [...prev, newCustomer])
|
||||
return { success: true, data: newCustomer }
|
||||
}
|
||||
|
||||
try {
|
||||
const response = await databases.createDocument(
|
||||
DATABASE_ID,
|
||||
COLLECTIONS.CUSTOMERS,
|
||||
ID.unique(),
|
||||
data
|
||||
)
|
||||
setCustomers(prev => [...prev, response])
|
||||
return { success: true, data: response }
|
||||
const { password, ...fields } = data
|
||||
const result = await createCustomerWithPortalAccess({ ...fields, password })
|
||||
const customer = result.customer
|
||||
setCustomers(prev => [...prev, customer])
|
||||
return { success: true, data: customer }
|
||||
} catch (err) {
|
||||
return { success: false, error: err.message }
|
||||
}
|
||||
@@ -71,19 +73,20 @@ export function useCustomers() {
|
||||
|
||||
const updateCustomer = async (id, data) => {
|
||||
if (DEMO_MODE) {
|
||||
setCustomers(prev => prev.map(c => c.$id === id ? { ...c, ...data } : c))
|
||||
const { password: _pw, ...rest } = data
|
||||
setCustomers(prev => prev.map(c => c.$id === id ? { ...c, ...rest } : c))
|
||||
return { success: true }
|
||||
}
|
||||
|
||||
try {
|
||||
const response = await databases.updateDocument(
|
||||
DATABASE_ID,
|
||||
COLLECTIONS.CUSTOMERS,
|
||||
id,
|
||||
data
|
||||
)
|
||||
setCustomers(prev => prev.map(c => c.$id === id ? response : c))
|
||||
return { success: true, data: response }
|
||||
const { password, ...fields } = data
|
||||
const payload = { ...fields }
|
||||
if (password) payload.password = password
|
||||
|
||||
const result = await updateCustomerWithPortalAccess(id, payload)
|
||||
const customer = result.customer
|
||||
setCustomers(prev => prev.map(c => c.$id === id ? customer : c))
|
||||
return { success: true, data: customer }
|
||||
} catch (err) {
|
||||
return { success: false, error: err.message }
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user