Files
kontextwerk/api/collections/bigCommerceCustomer.yml
2025-10-02 08:54:03 +02:00

279 lines
7.8 KiB
YAML

name: bigCommerceCustomer
# This is just so its easier to reference BigCommerce customer,
# its not intended to be used as a actual reference,
# just so its easier to reference customer in TibiCMS
meta:
label:
de: Kunde
en: Customer
views:
- type: table
columns:
- source: email
filter: true
- source: username
filter: true
- source: bigCommerceId
filter: true
- source: personalRecords.recording
filter:
type: foreignKey
tablist:
activeTab: generalDetails
tabs:
- name: generalDetails
label:
de: Allgemeine Details
en: General Details
subFields:
- source: email
- source: username
- source: bigCommerceId
- name: socialMedia
label:
de: Soziale Medien
en: Social Media
subFields:
- source: socialMediaAccounts
- name: personalRecords
label:
de: Persönliche Daten
en: Personal Records
subFields:
- source: personalRecords
- name: admin
label:
de: Admin
en: Admin
subFields:
- source: currentToken
- source: locked
backup:
active: true
collectionName: backups
subNavigation:
- name: modal
views:
- type: table
columns:
- source: email
defaultCallback: # Standard-Callback-Funktion, die ausgeführt wird, wenn keine andere spezifiziert ist.
eval: | # Der Code wird als JavaScript evaluiert.
//js
(entry) => { // Diese Funktion nimmt den Eintrag (entry) als Argument.
parent.selectEntry(entry) // Die Funktion selectEntry auf dem übergeordneten Objekt wird mit dem Eintrag als Argument aufgerufen.
}
//!js
hooks:
put:
# check and return jwt
update:
type: javascript
file: hooks/customer/put_update.js
get:
read:
type: javascript
file: hooks/customer/get_read.js
permissions:
public:
methods:
get: true
post: false
put: true
delete: false
user:
methods:
get: true
post: false
put: false
delete: false
token:${BIGCOMMERCE_WEBHOOK_TOKEN}:
methods:
get: true
post: true
put: true
delete: true
fields:
- name: bigCommerceId
type: number
meta:
label:
de: BigCommerce ID
en: BigCommerce ID
helperText:
de: Die ID des Kunden in BigCommerce
en: The ID of the customer in BigCommerce
- name: email
type: string
meta:
label:
de: Angehängte E-Mail
en: Attached Email
helperText:
de: Die E-Mail-Adresse des Kunden
en: The email address of the customer
- name: username
type: string
index: [single, unique]
meta:
label:
de: Benutzername
en: Username
helperText:
de: Der Benutzername des Kunden
en: The username of the customer
- name: locked
type: boolean
meta:
label:
de: Gesperrt
en: Locked
helperText:
de: Ob der Kunde gesperrt ist
en: Whether the customer is locked
- name: currentToken
type: string
meta:
label:
de: Aktueller Token
en: Current Token
inputProps:
disabled: true
helperText:
de: Der aktuelle Token des Kunden
en: The current token of the customer
- name: socialMediaAccounts
type: object
meta:
label:
de: Soziale Medien
en: Social Media
helperText:
de: Die sozialen Medien des Kunden
en: The social media of the customer
widget: containerLessObject
subFields:
- name: instagramLink
type: string
meta:
label:
de: Instagram Link
en: Instagram Link
helperText:
de: Der Instagram-Link des Kunden
en: The Instagram link of the customer
- name: facebookLink
type: string
meta:
label:
de: Facebook Link
en: Facebook Link
helperText:
de: Der Facebook-Link des Kunden
en: The Facebook link of the customer
- name: twitterLink
type: string
meta:
label:
de: Twitter Link
en: Twitter Link
helperText:
de: Der Twitter-Link des Kunden
en: The Twitter link of the customer
- name: tiktokLink
type: string
meta:
label:
de: TikTok Link
en: TikTok Link
helperText:
de: Der TikTok-Link des Kunden
en: The TikTok link of the customer
- name: youtubeLink
type: string
meta:
label:
de: YouTube Link
en: YouTube Link
helperText:
de: Der YouTube-Link des Kunden
en: The YouTube link of the customer
- name: personalRecords
type: object[]
meta:
label:
de: Persönliche Daten
en: Personal Records
helperText:
de: Die persönlichen Daten des Kunden
en: The personal records of the customer
subFields:
- name: title
type: string
meta:
label:
de: Titel
en: Title
- name: description
type: string
meta:
label:
de: Beschreibung
en: Description
- name: ageAtRecording
type: number
meta:
label:
de: Alter bei Aufnahme
en: Age at Recording
- name: priority
type: number
meta:
label:
de: Priorität
en: Priority
- name: recording
type: string
meta:
label:
de: Aufnahme
en: Recording
widget: foreignKey
filter:
type: foreignKey
foreign:
collection: medialib
subNavigation: 0
id: id
render:
defaultCollectionViews: true
- name: thumbnail
type: string
meta:
label:
de: Vorschaubild
en: Thumbnail
widget: foreignKey
foreign:
collection: medialib
subNavigation: 0
id: id
render:
defaultCollectionViews: true