UNPKG

declastruct-stripe-sdk

Version:

declarative control of stripe constructs, via declastruct

42 lines (41 loc) 1.22 kB
import { DomainEntity, DomainLiteral } from 'domain-objects'; /** * .what = a declarative structure which represents a Stripe Customer */ export interface DeclaredStripeCustomer { /** * the public stripe customer id of this customer */ id?: string; /** * the email address of the customer * * note * - stripe does not enforce this to be a unique key * - however, to create a pit-of-success, this is used as the unique key with declastruct, since it is the only non-id field that we can search on */ email: string; /** * then name of the customer, if set */ name: null | string; /** * a description of the customer, if set */ description: null | string; /** * then phone of the customer, if set */ phone: null | string; /** * metadata that the customer was tagged with */ metadata: null | Record<string, string>; } export declare class DeclaredStripeCustomer extends DomainEntity<DeclaredStripeCustomer> implements DeclaredStripeCustomer { static primary: readonly ["id"]; static unique: readonly ["email"]; static nested: { metadata: typeof DomainLiteral; }; }