OPIS INTERFEJSÓW
Interfejs HTTP
Dokumentacja interfejsu HTTP (API) Sigma Casino została stworzona z wykorzystaniem narzędzia OpenAPI. Można ją przeglądać wczytując plik konfiguracyjny openapi.yaml w narzędziu Swagger Editor.
Interfejs JDBC
Poniższa lista dokumentuje wszelkie kwerendy wywoływane przez aplikację za pomocą JDBC wraz ze ścieżkami, do których przynależą:
-
/account
SELECT balance FROM users WHERE user_id = ?; SELECT * FROM ( SELECT 'transaction' as operation, transaction_id, date, amount FROM deposits_withdrawals WHERE user_id = ? UNION SELECT 'horses' as operation, horses_id, date, bet FROM horses WHERE user_id = ? UNION SELECT 'roulette' as operation, roulette_id, date, bet FROM roulette WHERE user_id = ? ) ORDER BY date DESC LIMIT 50;
-
/login
SELECT user_id, username, salt, password_hash FROM users WHERE email = ?;
-
/register
SELECT user_id FROM users WHERE username = ? OR email = ?; INSERT INTO users (username, salt, email, password_hash) VALUES (?, ?, ?, ?);
-
/account/reset_password
SELECT salt, password_hash FROM users WHERE user_id = ?; UPDATE users SET password_hash = ? WHERE user_id = ?;
-
/games/horses
SELECT * FROM horses WHERE horses_id = ?; SELECT balance FROM users WHERE user_id = ?; INSERT INTO horses (user_id, date, bet, guess, times, bezier_curves) VALUES (?,NOW(),?,?,?,?) RETURNING horses_id; UPDATE users SET balance = balance + ? WHERE user_id = ?;
-
/games/roulette
SELECT * FROM roulette WHERE roulette_id = ?; SELECT balance FROM users WHERE user_id = ?; INSERT INTO roulette (user_id, date, bet, guess, result) VALUES (?,NOW(),?,?,?) RETURNING roulette_id; UPDATE users SET balance = balance + ? WHERE user_id = ?;
-
/account/deposit
INSERT INTO deposits_withdrawals (user_id, stripe_id, date, amount) VALUES (?, ?, NOW(), ?); UPDATE users SET balance = balance + ? WHERE user_id = ?;
-
/account/withdraw
INSERT INTO deposits_withdrawals (user_id, stripe_id, date, amount) VALUES (?, ?, NOW(), ?); UPDATE users SET balance = balance + ? WHERE user_id = ?;
Interfejs płatności Stripe
Interfejs Stripe został zaimplementowany zgodnie z dokumentacją dostępną na stronie Stripe API. Do wykonywania żądań wykorzystano oficjalną bibliotekę Stripe do języka Java. Opis wykorzystywanych funkcjonalności został również uwzględniony w wygenerowanych JavaDocs oraz na diagramach sekwencji UML.