• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

DaniSomoza / galactic-commander / 12444891208

21 Dec 2024 11:46AM UTC coverage: 52.036% (-13.6%) from 65.587%
12444891208

Pull #11

github

web-flow
Merge 9b5ea0e56 into 4f9f087f0
Pull Request #11: Build units

206 of 789 branches covered (26.11%)

Branch coverage included in aggregate %.

366 of 898 new or added lines in 85 files covered. (40.76%)

10 existing lines in 7 files now uncovered.

1417 of 2330 relevant lines covered (60.82%)

3.82 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

59.09
/packages/game-engine/src/repositories/taskRepository.ts
1
import mongoose from 'mongoose'
2

3
import getTaskModel from '../models/TaskModel'
4✔
4
import {
4✔
5
  ITask,
6
  NEW_PLAYER_TASK_TYPE,
7
  NewPlayerTaskType,
8
  PENDING_TASK_STATUS,
9
  StartBuildUnitsTaskType,
10
  StartResearchTaskType,
11
  TaskType
12
} from '../types/ITask'
13

14
async function getPendingTasks(universeId: mongoose.Types.ObjectId, second: number) {
15
  const taskModel = getTaskModel<TaskType>()
6✔
16
  return taskModel
6✔
17
    .find({
18
      status: PENDING_TASK_STATUS,
19
      universeId,
20
      $or: [{ executeTaskAt: { $lt: second } }, { executeTaskAt: null }]
21
    })
22
    .exec()
23
}
24

25
async function getPendingTasksByType(
26
  universeId: mongoose.Types.ObjectId,
27
  second: number,
28
  type: TaskType
29
) {
30
  const taskModel = getTaskModel<TaskType>()
46✔
31
  return taskModel
46✔
32
    .find({
33
      status: PENDING_TASK_STATUS,
34
      universeId,
35
      type,
36
      $or: [{ executeTaskAt: { $lt: second } }, { executeTaskAt: null }]
37
    })
38
    .exec()
39
}
40

41
async function createPlayerTask(taskData: ITask<NewPlayerTaskType>) {
42
  const NewPlayerTaskModel = getTaskModel<NewPlayerTaskType>()
×
43
  const newPlayerTask = new NewPlayerTaskModel(taskData)
×
44
  return newPlayerTask.save()
×
45
}
46

47
async function createStartResearchTask(taskData: ITask<StartResearchTaskType>) {
NEW
48
  const newStartResearchTaskModel = getTaskModel<StartResearchTaskType>()
×
NEW
49
  const newStartResearchTask = new newStartResearchTaskModel(taskData)
×
NEW
50
  return newStartResearchTask.save()
×
51
}
52

53
async function createStartBuildUnitsTask(taskData: ITask<StartBuildUnitsTaskType>) {
NEW
54
  const newStartBuildUnitsTaskModel = getTaskModel<StartBuildUnitsTaskType>()
×
NEW
55
  const newStartBuildUnitsTask = new newStartBuildUnitsTaskModel(taskData)
×
NEW
56
  return newStartBuildUnitsTask.save()
×
57
}
58

59
async function findNewPlayerTaskByUsername(
60
  username: string,
61
  universeId: mongoose.Types.ObjectId,
62
  status = PENDING_TASK_STATUS
4✔
63
) {
64
  const NewPlayerTaskModel = getTaskModel<NewPlayerTaskType>()
8✔
65
  return NewPlayerTaskModel.findOne({
8✔
66
    type: NEW_PLAYER_TASK_TYPE,
67
    'data.username': username,
68
    universeId,
69
    status
70
  }).exec()
71
}
72

73
async function findTaskById<Type extends TaskType>(taskId: mongoose.Types.ObjectId) {
74
  const NewPlayerTaskModel = getTaskModel<Type>()
14✔
75
  return NewPlayerTaskModel.findById(taskId).exec()
14✔
76
}
77

78
const taskRepository = {
4✔
79
  findTaskById,
80
  createPlayerTask,
81
  createStartResearchTask,
82
  createStartBuildUnitsTask,
83
  getPendingTasks,
84
  getPendingTasksByType,
85
  findNewPlayerTaskByUsername
86
}
87

88
export default taskRepository
4✔
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc