AccountSqlDao.sql.stg

62 lines | 1.264 kB Blame History Raw Download
group AccountDaoSql;

accountFields(prefix) ::= <<
    <prefix>id,
    <prefix>external_key,
    <prefix>email,
    <prefix>name,
    <prefix>first_name_length,
    <prefix>phone,
    <prefix>currency,
    <prefix>billing_cycle_day,
    <prefix>payment_provider_name,
    <prefix>created_dt,
    <prefix>updated_dt
>>


create() ::= <<
    INSERT INTO accounts (<accountFields()>)
    VALUES (:id, :externalKey, :email, :name, :firstNameLength, :phone, :currency, :billingCycleDay, :paymentProviderName, :createdDate, :updatedDate);
>>

update() ::= <<
    UPDATE accounts
    SET email = :email, 
        name = :name, 
        first_name_length = :firstNameLength, 
        phone = :phone,
        currency = :currency, 
        billing_cycle_day = :billingCycleDay, 
        payment_provider_name = :paymentProviderName,
        updated_dt = NOW()
    WHERE id = :id;
>>

getAccountByKey() ::= <<
    select <accountFields()>
    from accounts
    where external_key = :externalKey;
>>

getById() ::= <<
    SELECT <accountFields()>
      FROM accounts
     WHERE id = :id;
>>

get() ::= <<
    SELECT <accountFields()>
      FROM accounts;
>>

getIdFromKey() ::= <<
    SELECT id
      FROM accounts
     WHERE external_key = :externalKey;
>>

test() ::= <<
    SELECT 1 FROM accounts;
>>
;