declastruct-stripe-sdk
Version:
declarative control of stripe constructs, via declastruct
42 lines (41 loc) • 1.22 kB
TypeScript
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;
};
}