use SQLDelight, remove ApiApps access from KeychainProvider

This commit is contained in:
Vincent Breitmoser
2018-06-15 19:46:55 +02:00
parent 59c9f52e85
commit d133b732e5
30 changed files with 628 additions and 962 deletions

View File

@@ -0,0 +1,19 @@
CREATE TABLE IF NOT EXISTS api_allowed_keys (
_id INTEGER PRIMARY KEY AUTOINCREMENT,
key_id INTEGER,
package_name TEXT NOT NULL,
UNIQUE (key_id, package_name),
FOREIGN KEY (package_name) REFERENCES api_apps (package_name) ON DELETE CASCADE
);
insertAllowedKey:
INSERT INTO api_allowed_keys (package_name, key_id) VALUES (?, ?);
deleteByPackageName:
DELETE FROM api_allowed_keys
WHERE package_name = ?;
getAllowedKeys:
SELECT key_id
FROM api_allowed_keys
WHERE package_name = ?;

View File

@@ -4,5 +4,23 @@ CREATE TABLE IF NOT EXISTS api_apps (
package_signature BLOB
);
getAllowedKeys:
SELECT
insertApiApp:
INSERT INTO api_apps (package_name, package_signature) VALUES (?, ?);
selectAll:
SELECT *
FROM api_apps;
selectByPackageName:
SELECT *
FROM api_apps
WHERE package_name = ?;
deleteByPackageName:
DELETE FROM api_apps
WHERE package_name = ?;
getCertificate:
SELECT package_signature
FROM api_apps
WHERE package_name = ?;