ability to cancel construction and have a portion of the funds returned
[browser-rts.git] / src / repository / training-queue.ts
index 5d2b58cc1dc871b6d8d898582bb9c486a1913dd4..45388c66360787141452d0063122d5bced512c22 100644 (file)
@@ -18,12 +18,9 @@ export type UnitTrainingQueue = {
     due: number;
 };
 
-export const FriendlyUnitNames = new Map<Unit, string>();
-FriendlyUnitNames.set(Unit.SOLDIERS, 'Soldiers');
-FriendlyUnitNames.set(Unit.ATTACKERS, 'Attackers');
-FriendlyUnitNames.set(Unit.DEFENDERS, 'Defenders');
-FriendlyUnitNames.set(Unit.SPECIAL_ATTACKERS, 'Special Attackers');
-FriendlyUnitNames.set(Unit.SPECIAL_DEFENDERS, 'Special Defenders');
+export type UnitTrainingQueueWithName = {
+  display: string;
+} & UnitTrainingQueue;
 
 export class UnitTrainingQueueRepository extends Repository<UnitTrainingQueue> {
     constructor() {
@@ -44,7 +41,7 @@ export class UnitTrainingQueueRepository extends Repository<UnitTrainingQueue> {
         return data;
     }
 
-    list(owner: string): Promise<UnitTrainingQueue[]> {
-        return this.FindAll({owner}).orderBy('due');
+    list(owner: string): Promise<UnitTrainingQueueWithName[]> {
+      return this.db.raw(`select q.*, u.display from unit_training_queue q join units u on u.slug = q.unit_type where owner = ? order by due`, owner);
     }
-}
\ No newline at end of file
+}