Skip to content

Commit

Permalink
chore: move most db files into src
Browse files Browse the repository at this point in the history
  • Loading branch information
eseidel committed Feb 18, 2024
1 parent aad0dda commit f3c22ad
Show file tree
Hide file tree
Showing 33 changed files with 79 additions and 91 deletions.
3 changes: 1 addition & 2 deletions packages/cli/bin/deals_recent.dart
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import 'package:cli/cli.dart';
import 'package:cli/printing.dart';
import 'package:collection/collection.dart';
import 'package:db/transaction.dart';

void main(List<String> args) async {
await runOffline(args, command);
Expand Down Expand Up @@ -105,7 +104,7 @@ Future<void> command(FileSystem fs, ArgResults argResults) async {
final openDeals = <ShipSymbol, List<Transaction>>{};
final ignoredTransactions = <Transaction>[];
final supportedTypes = {AccountingType.fuel, AccountingType.goods};
final transactions = await allTransactions(db);
final transactions = await db.allTransactions();

void recordDeal(List<Transaction> openDeal) {
final deal = SyntheticDeal(openDeal);
Expand Down
5 changes: 2 additions & 3 deletions packages/cli/bin/earning_per_ship.dart
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ import 'package:cli/cache/ship_cache.dart';
import 'package:cli/cli.dart';
import 'package:cli/printing.dart';
import 'package:cli_table/cli_table.dart';
import 'package:db/transaction.dart';
import 'package:intl/intl.dart';

class TransactionSummary {
Expand Down Expand Up @@ -53,7 +52,7 @@ Future<void> command(FileSystem fs, ArgResults argResults) async {

final db = await defaultDatabase();

final shipSymbols = (await uniqueShipSymbolsInTransactions(db)).toList()
final shipSymbols = (await db.uniqueShipSymbolsInTransactions()).toList()
..sort();
final behaviorCache = BehaviorCache.load(fs);

Expand All @@ -77,7 +76,7 @@ Future<void> command(FileSystem fs, ArgResults argResults) async {
final frameCreditPerSecondTotals = <ShipFrameSymbolEnum, double>{};

final startTime = DateTime.timestamp().subtract(lookback);
final transactions = (await transactionsAfter(db, startTime)).where(
final transactions = (await db.transactionsAfter(startTime)).where(
(t) => [AccountingType.goods, AccountingType.fuel].contains(t.accounting),
);

Expand Down
3 changes: 1 addition & 2 deletions packages/cli/bin/earning_rate.dart
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import 'package:cli/cli.dart';
import 'package:cli/printing.dart';
import 'package:db/transaction.dart';

DateTime snapToHour(DateTime time) {
return DateTime.utc(time.year, time.month, time.day, time.hour);
Expand All @@ -15,7 +14,7 @@ Future<void> command(FileSystem fs, ArgResults argResults) async {
// Credits per hour.
final oneDayAgoAsHour =
snapToHour(DateTime.timestamp().subtract(const Duration(hours: 24)));
final transactions = await transactionsAfter(db, oneDayAgoAsHour);
final transactions = await db.transactionsAfter(oneDayAgoAsHour);
final firstTransactionHour = snapToHour(transactions.first.timestamp);

const timeWidth = 5;
Expand Down
3 changes: 1 addition & 2 deletions packages/cli/bin/ramp_delay.dart
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import 'package:cli/cli.dart';
import 'package:db/transaction.dart';

void printRampDelay(Iterable<Transaction> transactions) {
// Walk through all transactions until we find a ship purchase. When we do
Expand Down Expand Up @@ -31,7 +30,7 @@ void printRampDelay(Iterable<Transaction> transactions) {

Future<void> command(FileSystem fs, ArgResults argResults) async {
final db = await defaultDatabase();
final transactions = await allTransactions(db);
final transactions = await db.allTransactions();
printRampDelay(transactions);
await db.close();
}
Expand Down
3 changes: 1 addition & 2 deletions packages/cli/bin/transactions_capital_totals.dart
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import 'package:cli/cli.dart';
import 'package:cli/printing.dart';
import 'package:collection/collection.dart';
import 'package:db/transaction.dart';

String describeTransaction(Transaction t) {
return '${t.timestamp} ${t.tradeSymbol} ${t.quantity} ${t.tradeType} '
Expand All @@ -11,7 +10,7 @@ String describeTransaction(Transaction t) {
Future<void> command(FileSystem fs, ArgResults argResults) async {
final db = await defaultDatabase();
final transactions =
await transactionsWithAccountingType(db, AccountingType.capital);
await db.transactionsWithAccountingType(AccountingType.capital);

final grouped = <String, List<Transaction>>{};
for (final transaction in transactions) {
Expand Down
3 changes: 1 addition & 2 deletions packages/cli/bin/transactions_recent.dart
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import 'package:cli/cli.dart';
import 'package:db/transaction.dart';

String describeTransaction(Transaction t) {
return '${t.timestamp} ${t.tradeSymbol} ${t.quantity} ${t.tradeType} '
Expand All @@ -16,7 +15,7 @@ Future<void> command(FileSystem fs, ArgResults argResults) async {

final db = await defaultDatabase();
final startTime = DateTime.timestamp().subtract(lookback);
final transactions = (await transactionsAfter(db, startTime))
final transactions = (await db.transactionsAfter(startTime))
.where((t) => t.shipSymbol == shipSymbol);
for (final transaction in transactions) {
logger.info(describeTransaction(transaction));
Expand Down
3 changes: 1 addition & 2 deletions packages/cli/bin/transactions_reconcile.dart
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import 'package:cli/cli.dart';
import 'package:cli/printing.dart';
import 'package:db/transaction.dart';

String describeTransaction(Transaction t) {
return '${t.timestamp} ${t.tradeSymbol} ${t.quantity} ${t.tradeType} '
Expand Down Expand Up @@ -36,7 +35,7 @@ Future<void> command(FileSystem fs, ArgResults argResults) async {

final db = await defaultDatabase();
final startTime = DateTime.timestamp().subtract(lookback);
final transactions = (await transactionsAfter(db, startTime)).toList();
final transactions = (await db.transactionsAfter(startTime)).toList();

final lastCredits = transactions.last.agentCredits;
final firstCredits = transactions.first.agentCredits;
Expand Down
3 changes: 1 addition & 2 deletions packages/cli/bin/transactions_repeats.dart
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import 'package:cli/cli.dart';
import 'package:db/transaction.dart';

void printDiffs(List<int> data) {
final diffs = <int>[];
Expand All @@ -11,7 +10,7 @@ void printDiffs(List<int> data) {

Future<void> command(FileSystem fs, ArgResults argResults) async {
final db = await defaultDatabase();
final transactions = await allTransactions(db);
final transactions = await db.allTransactions();
// final marketPrices = MarketPrices.load(fs);
// Walk through all transactions, finding repeats.
final transactionSets = <List<Transaction>>[];
Expand Down
1 change: 0 additions & 1 deletion packages/cli/lib/cache/caches.dart
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,6 @@ export 'package:cli/cache/waypoint_cache.dart';
export 'package:cli/nav/jump_cache.dart';
export 'package:cli/nav/route.dart';
export 'package:cli/nav/system_connectivity.dart';
export 'package:db/construction.dart';
export 'package:file/file.dart';

/// Container for all the caches.
Expand Down
2 changes: 1 addition & 1 deletion packages/cli/lib/cache/charting_cache.dart
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import 'package:cli/cli.dart';
import 'package:cli/config.dart';
import 'package:db/chart.dart';
import 'package:db/src/chart.dart';

/// A snapshot of the charting records.
class ChartingSnapshot {
Expand Down
2 changes: 1 addition & 1 deletion packages/cli/lib/net/queue.dart
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import 'dart:async';

import 'package:cli/logger.dart';
import 'package:db/db.dart';
import 'package:db/queue.dart';
import 'package:db/src/queue.dart';
import 'package:http/http.dart';
import 'package:types/queue.dart';

Expand Down
2 changes: 1 addition & 1 deletion packages/cli/test/cache/charting_cache_test.dart
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import 'package:cli/cache/charting_cache.dart';
import 'package:db/chart.dart';
import 'package:db/src/chart.dart';
import 'package:test/test.dart';
import 'package:types/types.dart';

Expand Down
2 changes: 1 addition & 1 deletion packages/cli/test/extraction_score_test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import 'package:cli/cache/charting_cache.dart';
import 'package:cli/cache/market_cache.dart';
import 'package:cli/cache/systems_cache.dart';
import 'package:cli/extraction_score.dart';
import 'package:db/chart.dart';
import 'package:db/src/chart.dart';
import 'package:mocktail/mocktail.dart';
import 'package:test/test.dart';
import 'package:types/types.dart';
Expand Down
59 changes: 48 additions & 11 deletions packages/db/lib/db.dart
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
import 'package:db/agent.dart';
import 'package:db/chart.dart';
import 'package:db/config.dart';
import 'package:db/construction.dart';
import 'package:db/extraction.dart';
import 'package:db/faction.dart';
import 'package:db/market_listing.dart';
import 'package:db/query.dart';
import 'package:db/queue.dart';
import 'package:db/shipyard_listing.dart';
import 'package:db/survey.dart';
import 'package:db/transaction.dart';
import 'package:db/src/agent.dart';
import 'package:db/src/chart.dart';
import 'package:db/src/construction.dart';
import 'package:db/src/extraction.dart';
import 'package:db/src/faction.dart';
import 'package:db/src/market_listing.dart';
import 'package:db/src/query.dart';
import 'package:db/src/queue.dart';
import 'package:db/src/shipyard_listing.dart';
import 'package:db/src/survey.dart';
import 'package:db/src/transaction.dart';
import 'package:meta/meta.dart';
import 'package:postgres/postgres.dart' as pg;
import 'package:types/types.dart';
Expand Down Expand Up @@ -306,4 +306,41 @@ class Database {
final query = upsertShipyardListingQuery(listing);
await insertOne(query);
}

/// Get unique ship symbols from the transaction table.
Future<Set<ShipSymbol>> uniqueShipSymbolsInTransactions() async {
final result = await connection
.execute('SELECT DISTINCT ship_symbol FROM transaction_');
return result.map((r) => ShipSymbol.fromString(r.first! as String)).toSet();
}

/// Get all transactions from the database.
Future<Iterable<Transaction>> allTransactions() async {
final result = await connection.execute('SELECT * FROM transaction_');
return result.map((r) => r.toColumnMap()).map(transactionFromColumnMap);
}

/// Get all transactions matching accountingType from the database.
Future<Iterable<Transaction>> transactionsWithAccountingType(
AccountingType accountingType,
) async {
final result = await connection.execute(
'SELECT * FROM transaction_ WHERE '
'accounting = @accounting',
parameters: {'accounting': accountingType.name},
);
return result.map((r) => r.toColumnMap()).map(transactionFromColumnMap);
}

/// Get transactions after a given timestamp.
Future<Iterable<Transaction>> transactionsAfter(
DateTime timestamp,
) async {
final result = await connection.execute(
'SELECT * FROM transaction_ WHERE timestamp > @timestamp '
'ORDER BY timestamp',
parameters: {'timestamp': timestamp},
);
return result.map((r) => r.toColumnMap()).map(transactionFromColumnMap);
}
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import 'package:db/query.dart';
import 'package:db/src/query.dart';
import 'package:types/types.dart';

/// Query to get an agent by symbol.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import 'package:db/query.dart';
import 'package:db/src/query.dart';
import 'package:types/types.dart';

/// Query a ship behavior state by symbol.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import 'package:collection/collection.dart';
import 'package:db/query.dart';
import 'package:db/src/query.dart';
import 'package:meta/meta.dart';
import 'package:types/types.dart';

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import 'package:db/query.dart';
import 'package:db/src/query.dart';
import 'package:types/types.dart';

/// Convert a row result into a ConstructionRecord.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import 'package:db/query.dart';
import 'package:db/src/query.dart';
import 'package:types/types.dart';

/// Query to get all extractions.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import 'package:db/query.dart';
import 'package:db/src/query.dart';
import 'package:types/types.dart';

/// Query all factions.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import 'package:db/query.dart';
import 'package:db/src/query.dart';
import 'package:types/types.dart';

/// Lookup a market listing by WaypointSymbol.
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import 'dart:convert';

import 'package:db/query.dart';
import 'package:db/src/query.dart';
import 'package:types/queue.dart';

/// Request queued for later execution.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import 'package:db/query.dart';
import 'package:db/src/query.dart';
import 'package:types/types.dart';

/// Lookup a shipyard listing by WaypointSymbol.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import 'package:db/query.dart';
import 'package:db/src/query.dart';
import 'package:types/types.dart';

/// Convert a row result into a survey.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import 'package:db/db.dart';
import 'package:db/query.dart';
import 'package:db/src/query.dart';
import 'package:types/types.dart';

/// Create the insertion query for a transaction.
Expand Down Expand Up @@ -55,42 +54,3 @@ Transaction transactionFromColumnMap(Map<String, dynamic> values) {
contractId: values['contract_id'] as String?,
);
}

/// Get unique ship symbols from the transaction table.
Future<Set<ShipSymbol>> uniqueShipSymbolsInTransactions(Database db) async {
final result = await db.connection
.execute('SELECT DISTINCT ship_symbol FROM transaction_');
return result.map((r) => ShipSymbol.fromString(r.first! as String)).toSet();
}

/// Get all transactions from the database.
Future<Iterable<Transaction>> allTransactions(Database db) async {
final result = await db.connection.execute('SELECT * FROM transaction_');
return result.map((r) => r.toColumnMap()).map(transactionFromColumnMap);
}

/// Get all transactions matching accountingType from the database.
Future<Iterable<Transaction>> transactionsWithAccountingType(
Database db,
AccountingType accountingType,
) async {
final result = await db.connection.execute(
'SELECT * FROM transaction_ WHERE '
'accounting = @accounting',
parameters: {'accounting': accountingType.name},
);
return result.map((r) => r.toColumnMap()).map(transactionFromColumnMap);
}

/// Get transactions after a given timestamp.
Future<Iterable<Transaction>> transactionsAfter(
Database db,
DateTime timestamp,
) async {
final result = await db.connection.execute(
'SELECT * FROM transaction_ WHERE timestamp > @timestamp '
'ORDER BY timestamp',
parameters: {'timestamp': timestamp},
);
return result.map((r) => r.toColumnMap()).map(transactionFromColumnMap);
}
2 changes: 1 addition & 1 deletion packages/db/test/behavior_test.dart
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import 'package:db/behavior.dart';
import 'package:db/src/behavior.dart';
import 'package:test/test.dart';
import 'package:types/types.dart';

Expand Down
2 changes: 1 addition & 1 deletion packages/db/test/construction_test.dart
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import 'package:db/construction.dart';
import 'package:db/src/construction.dart';
import 'package:test/test.dart';
import 'package:types/types.dart';

Expand Down
2 changes: 1 addition & 1 deletion packages/db/test/db_test.dart
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import 'package:db/db.dart';
import 'package:db/transaction.dart';
import 'package:db/src/transaction.dart';
import 'package:mocktail/mocktail.dart';
import 'package:postgres/postgres.dart' as pg;
import 'package:test/test.dart';
Expand Down
2 changes: 1 addition & 1 deletion packages/db/test/extraction_test.dart
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import 'package:db/extraction.dart';
import 'package:db/src/extraction.dart';
import 'package:test/test.dart';
import 'package:types/types.dart';

Expand Down
2 changes: 1 addition & 1 deletion packages/db/test/faction_test.dart
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import 'package:db/faction.dart';
import 'package:db/src/faction.dart';
import 'package:test/test.dart';
import 'package:types/types.dart';

Expand Down
2 changes: 1 addition & 1 deletion packages/db/test/survey_test.dart
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import 'package:db/survey.dart';
import 'package:db/src/survey.dart';
import 'package:test/test.dart';
import 'package:types/types.dart';

Expand Down
Loading

0 comments on commit f3c22ad

Please sign in to comment.