282 lines
4.1 KiB
Text
282 lines
4.1 KiB
Text
import kotlin.Boolean;
|
|
|
|
CREATE TABLE IF NOT EXISTS BankAccess (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
|
|
domesticBankCode TEXT NOT NULL,
|
|
loginName TEXT NOT NULL,
|
|
password TEXT,
|
|
|
|
bankName TEXT NOT NULL,
|
|
bic TEXT,
|
|
|
|
customerName TEXT NOT NULL,
|
|
userId TEXT,
|
|
|
|
selectedTanMethodIdentifier TEXT,
|
|
|
|
selectedTanMediumIdentifier TEXT,
|
|
|
|
bankingGroup TEXT,
|
|
serverAddress TEXT,
|
|
countryCode TEXT NOT NULL,
|
|
|
|
clientData TEXT,
|
|
|
|
userSetDisplayName TEXT,
|
|
displayIndex INTEGER NOT NULL,
|
|
|
|
iconUrl TEXT,
|
|
|
|
wrongCredentialsEntered INTEGER AS Boolean NOT NULL
|
|
);
|
|
|
|
|
|
insertBank:
|
|
INSERT INTO BankAccess(
|
|
domesticBankCode, loginName, password,
|
|
|
|
bankName, bic,
|
|
|
|
customerName, userId,
|
|
|
|
selectedTanMethodIdentifier,
|
|
|
|
selectedTanMediumIdentifier,
|
|
|
|
bankingGroup,
|
|
serverAddress,
|
|
countryCode,
|
|
|
|
clientData,
|
|
|
|
userSetDisplayName, displayIndex,
|
|
|
|
iconUrl,
|
|
wrongCredentialsEntered
|
|
)
|
|
VALUES(
|
|
?, ?, ?,
|
|
?, ?,
|
|
?, ?,
|
|
?,
|
|
|
|
?,
|
|
|
|
?, ?, ?,
|
|
|
|
?,
|
|
|
|
?, ?,
|
|
|
|
?,
|
|
?
|
|
);
|
|
|
|
|
|
getAllBanks:
|
|
SELECT BankAccess.*
|
|
FROM BankAccess;
|
|
|
|
|
|
|
|
CREATE TABLE IF NOT EXISTS BankAccount (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
|
|
bankId INTEGER NOT NULL,
|
|
|
|
identifier TEXT NOT NULL,
|
|
subAccountNumber TEXT,
|
|
iban TEXT,
|
|
productName TEXT,
|
|
|
|
accountHolderName TEXT NOT NULL,
|
|
type TEXT NOT NULL,
|
|
currency TEXT NOT NULL,
|
|
accountLimit TEXT,
|
|
|
|
isAccountTypeSupportedByApplication INTEGER AS Boolean NOT NULL,
|
|
features TEXT NOT NULL,
|
|
|
|
balance TEXT NOT NULL,
|
|
|
|
serverTransactionsRetentionDays INTEGER,
|
|
lastAccountUpdateTime TEXT,
|
|
retrievedTransactionsFrom TEXT,
|
|
|
|
userSetDisplayName TEXT,
|
|
displayIndex INTEGER NOT NULL,
|
|
|
|
hideAccount INTEGER AS Boolean NOT NULL,
|
|
includeInAutomaticAccountsUpdate INTEGER AS Boolean NOT NULL
|
|
);
|
|
|
|
CREATE INDEX idx_BankAccount_bankId
|
|
ON BankAccount (bankId);
|
|
|
|
|
|
insertBankAccount:
|
|
INSERT INTO BankAccount(
|
|
bankId,
|
|
|
|
identifier, accountHolderName, type,
|
|
iban, subAccountNumber, productName, currency, accountLimit,
|
|
|
|
balance,
|
|
|
|
isAccountTypeSupportedByApplication, features,
|
|
|
|
serverTransactionsRetentionDays, lastAccountUpdateTime, retrievedTransactionsFrom,
|
|
|
|
userSetDisplayName, displayIndex,
|
|
|
|
hideAccount, includeInAutomaticAccountsUpdate
|
|
)
|
|
VALUES(
|
|
?,
|
|
|
|
?, ?, ?,
|
|
?, ?, ?, ?, ?,
|
|
|
|
?,
|
|
|
|
?, ?,
|
|
|
|
?, ?, ?,
|
|
|
|
?, ?,
|
|
|
|
?, ?
|
|
);
|
|
|
|
|
|
getAllBankAccounts:
|
|
SELECT BankAccount.*
|
|
FROM BankAccount;
|
|
|
|
|
|
|
|
CREATE TABLE IF NOT EXISTS TanMethod (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
|
|
bankId INTEGER NOT NULL,
|
|
|
|
displayName TEXT NOT NULL,
|
|
type TEXT NOT NULL,
|
|
identifier TEXT NOT NULL,
|
|
maxTanInputLength INTEGER ,
|
|
allowedTanFormat TEXT NOT NULL,
|
|
|
|
userSetDisplayName TEXT
|
|
);
|
|
|
|
CREATE INDEX idx_TanMethod_bankId
|
|
ON TanMethod (bankId);
|
|
|
|
|
|
insertTanMethod:
|
|
INSERT INTO TanMethod(
|
|
bankId,
|
|
|
|
displayName,
|
|
type,
|
|
identifier,
|
|
maxTanInputLength,
|
|
allowedTanFormat,
|
|
|
|
userSetDisplayName
|
|
)
|
|
VALUES (
|
|
?,
|
|
|
|
?,
|
|
?,
|
|
?,
|
|
?,
|
|
?,
|
|
|
|
?
|
|
);
|
|
|
|
|
|
getAllTanMethods:
|
|
SELECT TanMethod.*
|
|
FROM TanMethod;
|
|
|
|
|
|
|
|
CREATE TABLE IF NOT EXISTS TanMedium (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
|
|
bankId INTEGER NOT NULL,
|
|
|
|
type TEXT NOT NULL,
|
|
mediumName TEXT,
|
|
status TEXT NOT NULL,
|
|
|
|
-- MobilePhone TanMedium
|
|
phoneNumber TEXT,
|
|
concealedPhoneNumber TEXT,
|
|
|
|
-- TanGenerator TanMedium
|
|
cardNumber TEXT,
|
|
cardSequenceNumber TEXT,
|
|
cardType INTEGER,
|
|
validFrom TEXT,
|
|
validTo TEXT,
|
|
|
|
userSetDisplayName TEXT
|
|
);
|
|
|
|
CREATE INDEX idx_TanMedium_bankId
|
|
ON TanMedium (bankId);
|
|
|
|
|
|
insertTanMedium:
|
|
INSERT INTO TanMedium(
|
|
bankId,
|
|
|
|
type,
|
|
mediumName,
|
|
status,
|
|
|
|
phoneNumber,
|
|
concealedPhoneNumber,
|
|
|
|
cardNumber,
|
|
cardSequenceNumber,
|
|
cardType,
|
|
validFrom,
|
|
validTo,
|
|
|
|
userSetDisplayName
|
|
)
|
|
VALUES (
|
|
?,
|
|
|
|
?,
|
|
?,
|
|
?,
|
|
|
|
?,
|
|
?,
|
|
|
|
?,
|
|
?,
|
|
?,
|
|
?,
|
|
?,
|
|
|
|
?
|
|
);
|
|
|
|
|
|
getAllTanMedia:
|
|
SELECT TanMedium.*
|
|
FROM TanMedium;
|
|
|
|
|
|
|
|
-- TODO: find a better place for this cross-cutting concern:
|
|
getLastInsertedId:
|
|
SELECT last_insert_rowid();
|