@@ -13,6 +13,7 @@ object SubmissionPersistence {
13
13
14
14
case object CreateSubmission extends Command
15
15
case class UpdateSubmissionStatus (id : SubmissionId , status : SubmissionStatus ) extends Command
16
+ case class AddSubmissionFileName (id : SubmissionId , fileName : String ) extends Command
16
17
case class GetSubmissionById (id : SubmissionId ) extends Command
17
18
case object GetLatestSubmission extends Command
18
19
@@ -40,6 +41,12 @@ object SubmissionPersistence {
40
41
}
41
42
42
43
SubmissionState (submissions.updated(i, updatedSub))
44
+
45
+ case SubmissionFileNameAdded (id, name) =>
46
+ val sub = submissions.find(_.id == id).getOrElse(Submission ())
47
+ val index = submissions.indexOf(sub)
48
+ val updated = sub.copy(fileName = name)
49
+ SubmissionState (submissions.updated(index, updated))
43
50
}
44
51
}
45
52
@@ -83,6 +90,17 @@ class SubmissionPersistence(institutionId: String, period: String) extends HmdaP
83
90
sender() ! None
84
91
}
85
92
93
+ case AddSubmissionFileName (id, name) =>
94
+ if (state.submissions.map(_.id).contains(id)) {
95
+ persist(SubmissionFileNameAdded (id, name)) { e =>
96
+ updateState(e)
97
+ sender() ! Some (Submission (id, fileName = name))
98
+ }
99
+ } else {
100
+ log.warning(s " Submission does not exist. Could not add filename for submission with id $id" )
101
+ sender() ! None
102
+ }
103
+
86
104
case GetSubmissionById (id) =>
87
105
val submission = state.submissions.find(s => s.id == id).getOrElse(Submission (SubmissionId (), Failed (" No submission found" ), 0L , 0L ))
88
106
sender() ! submission
0 commit comments