fivetran / dbt_stripe_source

Fivetran's Stripe source dbt package
https://fivetran.github.io/dbt_stripe_source/
Apache License 2.0
8 stars 29 forks source link

adding column level descriptions #1

Closed erikmag closed 4 years ago

erikmag commented 4 years ago

(base) emagnuson:dbt_stripe_source erikm$ dbt run Running with dbt=0.17.0-rc1 Encountered an error: Compilation Error Invalid sources config given in models/dbt_stripe_source.yml @ sources: {'name': 'stripe', 'loader': 'fivetran', 'loaded_at_field': '_fivetran_synced', 'freshness': {'warn_after': {'count': 72, 'period': 'hour'}, 'error_after': {'count': 168, 'period': 'hour'}}, 'tables': [{'name': 'balance_transaction', 'description': "Balance transactions represent funds moving through your Stripe account. They're created for every type of transaction that comes into or flows out of your Stripe account balance.", 'columns': [{'name': 'id', 'description': 'Unique identifier for the object.', 'tests': ['unique', 'not_null']}, {'name': 'amount', 'description': 'Gross amount of the transaction, in cents.'}, {'name': 'available_on', 'description': None}, {'name': 'created', 'description': 'Timestamp of when the transaction was created.'}, {'name': 'currency', 'description': 'Three-letter ISO currency code, in lowercase.'}, {'name': 'description', 'description': 'An arbitrary string attached to the object. Often useful for displaying to users.'}, {'name': 'exchange_rate', 'description': None}, {'name': 'fee', 'description': 'fees (in cents) paid for this transaction.'}, {'name': 'net', 'description': 'Net amount of the transaction, in cents.'}, {'name': 'source', 'description': 'The Stripe object to which this transaction is related.'}, {'name': 'status', 'description': "If the transaction’s net funds are available in the Stripe balance yet. Either 'available' or 'pending'."}, {'name': 'type', 'description': 'the type of tranaction. Possible values are adjustment, advance, advance_funding, application_fee, application_fee_refund, charge, connect_collection_transfer, issuing_authorization_hold, issuing_authorization_release, issuing_dispute, issuing_transaction, payment, payment_failure_refund, payment_refund, payout, payout_cancel, payout_failure, refund, refund_failure, reserve_transaction, reserved_funds, stripe_fee, stripe_fx_fee, tax_fee, topup, topup_reversal, transfer, transfer_cancel, transfer_failure, or transfer_refund.'}]}, {'name': 'card', 'description': 'details of a credit card that has been saved to the system.', 'columns': [{'name': 'id', 'description': 'Unique identifier for the object.', 'tests': ['unique', 'not_null']}, {'name': 'brand', 'description': 'Card brand. Can be American Express, Diners Club, Discover, JCB, MasterCard, UnionPay, Visa, or Unknown.'}, {'name': 'country', 'description': 'Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you’ve collected.'}, {'name': 'created', 'description': 'Timestamp of when the entry for the card was created'}, {'name': 'customer_id', 'description': 'The customer that this card belongs to. NULL if belongs to an account or recipient.'}, {'name': 'name', 'description': 'Cardholder name'}, {'name': 'recipient', 'description': 'The recipient that this card belongs to. NULL if the card belongs to a customer or account instead.'}]}, {'name': 'charge', 'description': 'To charge a credit or a debit card, you create a Charge object. You can retrieve and refund individual charges as well as list all charges. Charges are identified by a unique, random ID.', 'columns': [{'name': 'id', 'description': 'Unique identifier for the object.', 'tests': ['unique', 'not_null']}, {'name': 'amount', 'description': 'Amount intended to be collected by this payment. A positive integer representing how much to charge in the smallest currency unit (e.g., 100 cents to charge $1.00 or 100 to charge ¥100, a zero-decimal currency)'}, {'name': 'amount_refunded', 'description': 'The amount of the charge, if any, that has been refunded.'}, {'name': 'application_fee_amount', 'description': 'The amount of the application fee (if any) for the charge.'}, {'name': 'balance_transaction_id', 'description': 'ID of the balance transaction that describes the impact of this charge on your account balance (not including refunds or disputes).'}, {'name': 'captured', 'description': 'If the charge was created without capturing, this Boolean represents whether it is still uncaptured or has since been captured.'}, {'name': 'card_id', 'description': 'ID of the card that was charged.'}, {'name': 'created_at', 'description': 'Timestamp of the when the charge took place.'}, {'name': 'customer_id', 'description': 'ID of the customer this charge is for if one exists.'}, {'name': 'description', 'description': 'An arbitrary string attached to the object. Often useful for displaying to users.'}, {'name': 'failure_code', 'description': 'Error code explaining reason for charge failure if available.'}, {'name': 'failure_message', 'description': 'Message to user further explaining reason for charge failure if available.'}, {'name': 'paid', 'description': 'true if the charge succeeded, or was successfully authorized for later capture.'}, {'name': 'payment_intent_id', 'description': 'ID of the PaymentIntent associated with this charge, if one exists.'}, {'name': 'receipt_email', 'description': 'This is the email address that the receipt for this charge was sent to.'}, {'name': 'receipt_number', 'description': 'This is the transaction number that appears on email receipts sent for this charge.'}, {'name': 'refunded', 'description': 'Whether the charge has been fully refunded. If the charge is only partially refunded, this attribute will still be false.'}, {'name': 'status', 'description': 'The status of the payment is either succeeded, pending, or failed.'}]}, {'name': 'customer', 'description': 'Customer objects allow you to perform recurring charges, and to track multiple charges, that are associated with the same customer. The API allows you to create, delete, and update your customers. You can retrieve individual customers as well as a list of all your customers.', 'columns': [{'name': 'id', 'description': 'Unique identifier for the object.', 'tests': ['unique', 'not_null']}, {'name': 'account_balance', 'description': 'Current balance, if any, being stored on the customer. If negative, the customer has credit to apply to their next invoice. If positive, the customer has an amount owed that will be added to their next invoice.'}, {'name': 'created_at', 'description': 'Timestamp of when the customer emtry was created.'}, {'name': 'currency', 'description': 'Three-letter ISO code for the currency the customer can be charged in for recurring billing purposes.'}, {'name': 'default_card_id', 'description': 'ID for the default card used by the cusomter.'}, {'name': 'deliguent', 'description': 'When the customer’s latest invoice is billed by charging automatically, delinquent is true if the invoice’s latest charge is failed. When the customer’s latest invoice is billed by sending an invoice, delinquent is true if the invoice is not paid by its due date.'}, {'name': 'description', 'description': 'An arbitrary string attached to the object. Often useful for displaying to users.'}, {'name': 'email', 'description': 'The customer’s email address.'}, {'name': 'shipping_address_city', 'description': "Attribute of the cusotmer's shipping address."}, {'name': 'shipping_address_country', 'description': "Attribute of the cusotmer's shipping address."}, {'name': 'shipping_address_line_1', 'description': "Attribute of the cusotmer's shipping address."}, {'name': 'shipping_address_line_2', 'description': "Attribute of the cusotmer's shipping address."}, {'name': 'shipping_address_postal_code', 'description': "Attribute of the cusotmer's shipping address."}, {'name': 'shipping_address_state', 'description': "Attribute of the cusotmer's shipping address."}, {'name': 'shipping_name', 'description': "Attribute of the cusotmer's shipping address."}, {'name': 'shipping_phone', 'description': "Attribute of the cusotmer's shipping address."}]}, {'name': 'fee', 'description': 'The details of a fee associated with a balance_transation', 'columns': [{'name': 'balance_transaction_id', 'description': 'ID of the balance transaction entry the fee applies to'}, {'name': 'amount', 'description': 'Amount of the fee, in cents.'}, {'name': 'application', 'description': 'ID of the Connect application that earned the fee.'}, {'name': 'currency', 'description': 'Three-letter ISO currency code, in lowercase.'}, {'name': 'description', 'description': 'An arbitrary string attached to the object. Often useful for displaying to users.'}, {'name': 'type', 'description': 'Type of the fee, can be application_fee, stripe_fee or tax.'}]}, {'name': 'payment_intent', 'description': 'A PaymentIntent guides you through the process of collecting a payment from your customer.', 'columns': [{'name': 'id', 'description': 'Unique identifier for the object.', 'tests': ['unique', 'not_null']}, {'name': 'amount', 'description': 'Amount intended to be collected by this PaymentIntent. A positive integer representing how much to charge in the smallest currency unit (e.g., 100 cents to charge $1.00 or 100 to charge ¥100, a zero-decimal currency)'}, {'name': 'amount_capturable', 'description': 'Amount that can be captured from this PaymentIntent.'}, {'name': 'amount_received', 'description': 'Amount that was collected by this PaymentIntent.'}, {'name': 'application', 'description': 'ID of the Connect application that created the PaymentIntent.'}, {'name': 'application_fee_amount', 'description': 'The amount of the application fee (if any) for the resulting payment.'}, {'name': 'canceled_at', 'description': 'Populated when status is canceled, this is the time at which the PaymentIntent was canceled.'}, {'name': 'cancellation_reason', 'description': 'Reason for cancellation of this PaymentIntent, either user-provided (duplicate, fraudulent, requested_by_customer, or abandoned) or generated by Stripe internally (failed_invoice, void_invoice, or automatic).'}, {'name': 'capture_method', 'description': 'Controls when the funds will be captured from the customer’s account.'}, {'name': 'confirmation_method', 'description': 'Whether confirmed automatically or manualy'}, {'name': 'created', 'description': 'Time at which the object was created.'}, {'name': 'currency', 'description': 'Three-letter ISO currency code, in lowercase.'}, {'name': 'customer_id', 'description': 'ID of the Customer this PaymentIntent belongs to, if one exists.'}, {'name': 'description', 'description': 'An arbitrary string attached to the object. Often useful for displaying to users.'}, {'name': 'payment_method_id', 'description': 'ID of the payment method used in this PaymentIntent.'}, {'name': 'receipt_email', 'description': 'Email address that the receipt for the resulting payment will be sent to.'}, {'name': 'statement_descriptor', 'description': 'For non-card charges, you can use this value as the complete description that appears on your customers’ statements.'}, {'name': 'status', 'description': 'Status of this PaymentIntent, one of requires_payment_method, requires_confirmation, requires_action, processing, requires_capture, canceled, or succeeded.'}]}, {'name': 'payment_method_card', 'description': 'Table with the relationships between a payment methods and a card', 'columns': [{'name': 'payment_method_id', 'description': 'ID of the payment method'}, {'name': 'brand', 'description': 'Card brand. Can be American Express, Diners Club, Discover, JCB, MasterCard, UnionPay, Visa, or Unknown.'}, {'name': 'funding', 'description': 'Card funding type. Can be credit, debit, prepaid, or unknown.'}]}, {'name': 'payment_method', 'description': "PaymentMethod objects represent your customer's payment instruments. They can be used with PaymentIntents to collect payments or saved to Customer objects to store instrument details for future payments.", 'columns': [{'name': 'id', 'description': 'Unique identifier for the object.', 'tests': ['unique', 'not_null']}, {'name': 'created', 'description': 'Time at which the object was created.'}, {'name': 'customer_id', 'description': 'The ID of the Customer to which this PaymentMethod is saved. This will not be set when the PaymentMethod has not been saved to a Customer.'}, {'name': 'type', 'description': 'The type of the PaymentMethod. An additional hash is included on the PaymentMethod with a name matching this value. It contains additional information specific to the PaymentMethod type.'}]}, {'name': 'payout', 'description': 'A Payout object is created when you receive funds from Stripe, or when you initiate a payout to either a bank account or debit card of a connected Stripe account.', 'columns': [{'name': 'id', 'description': 'Unique identifier for the object.', 'tests': ['unique', 'not_null']}, {'name': 'amount', 'description': 'Amount (in cents) to be transferred to your bank account or debit card.'}, {'name': 'arrival_date', 'description': 'Date the payout is expected to arrive in the bank. This factors in delays like weekends or bank holidays.'}, {'name': 'automatic', 'description': 'true if the payout was created by an automated payout schedule, and false if it was requested manually.'}, {'name': 'balance_transaction_id', 'description': 'ID of the balance transaction that describes the impact of this payout on your account balance.'}, {'name': 'created', 'description': 'Time at which the object was created.'}, {'name': 'currency', 'description': 'Three-letter ISO currency code, in lowercase.'}, {'name': 'description', 'description': 'An arbitrary string attached to the object. Often useful for displaying to users.'}, {'name': 'method', 'description': 'The method used to send this payout, which can be standard or instant.'}, {'name': 'source_type', 'description': 'The source balance this payout came from. One of card, fpx, or bank_account.'}, {'name': 'status', 'description': 'Current status of the payout. Can be paid, pending, in_transit, canceled or failed.'}, {'name': 'type', 'description': 'Can be bank_account or card.'}]}, {'name': 'refund', 'description': 'Details of transactions that have been refunded', 'columns': [{'name': 'id', 'description': 'Unique identifier for the object.', 'tests': ['unique', 'not_null']}, {'name': 'amount', 'description': 'Amount, in cents.'}, {'name': 'balance_transaction_id', 'description': 'ID for the balance transaction that describes the impact on your account balance.'}, {'name': 'charge_id', 'description': 'ID of the charge that was refunded.'}, {'name': 'created', 'description': 'Time at which the object was created.'}, {'name': 'currency', 'description': 'Three-letter ISO currency code, in lowercase.'}, {'name': 'description', 'description': 'An arbitrary string attached to the object. Often useful for displaying to users. (Available on non-card refunds only)'}, {'name': 'reason', 'description': 'Reason for the refund, either user-provided (duplicate, fraudulent, or requested_by_customer) or generated by Stripe internally (expired_uncaptured_charge).'}, {'name': 'receipt_number', 'description': 'This is the transaction number that appears on email receipts sent for this refund.'}, {'name': 'status', 'description': 'Status of the refund. For credit card refunds, this can be pending, succeeded, or failed. For other types of refunds, it can be pending, succeeded, failed, or canceled.'}]}]} - at path ['tables'][0]['columns'][2]['description']: None is not of type 'string'