Skip to content

Commit

Permalink
Empty comment means no comment
Browse files Browse the repository at this point in the history
  • Loading branch information
mgoworko committed Oct 16, 2024
1 parent ce844d3 commit 32a5e74
Show file tree
Hide file tree
Showing 10 changed files with 50 additions and 47 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -247,20 +247,17 @@ class ScenarioActivityApiHttpService(
}

private def toDto(scenarioComment: ScenarioComment): Dtos.ScenarioActivityComment = {
scenarioComment match {
case ScenarioComment.Available(comment, lastModifiedByUserName, lastModifiedAt) =>
Dtos.ScenarioActivityComment(
content = Dtos.ScenarioActivityCommentContent.Available(comment),
lastModifiedBy = lastModifiedByUserName.value,
lastModifiedAt = lastModifiedAt,
)
case ScenarioComment.Deleted(deletedByUserName, deletedAt) =>
Dtos.ScenarioActivityComment(
content = Dtos.ScenarioActivityCommentContent.Deleted,
lastModifiedBy = deletedByUserName.value,
lastModifiedAt = deletedAt,
)
val content = scenarioComment match {
case ScenarioComment.Available(comment, _, _) if comment.nonEmpty =>
Dtos.ScenarioActivityCommentContent.Available(comment)
case ScenarioComment.NotAvailable(_, _) | ScenarioComment.Available(_, _, _) =>
Dtos.ScenarioActivityCommentContent.NotAvailable
}
Dtos.ScenarioActivityComment(
content = content,
lastModifiedBy = scenarioComment.lastModifiedByUserName.value,
lastModifiedAt = scenarioComment.lastModifiedAt,
)
}

private def toDto(attachment: ScenarioAttachment): Dtos.ScenarioActivityAttachment = {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -260,7 +260,7 @@ object Dtos {

final case class Available(value: String) extends ScenarioActivityCommentContent

case object Deleted extends ScenarioActivityCommentContent
case object NotAvailable extends ScenarioActivityCommentContent

}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ object Examples {
date = Instant.parse("2024-01-17T14:21:17Z"),
scenarioVersionId = Some(1),
comment = ScenarioActivityComment(
content = ScenarioActivityCommentContent.Deleted,
content = ScenarioActivityCommentContent.NotAvailable,
lastModifiedBy = "John Doe",
lastModifiedAt = Instant.parse("2024-01-18T14:21:17Z")
)
Expand Down Expand Up @@ -193,7 +193,7 @@ object Examples {
date = Instant.parse("2024-01-17T14:21:17Z"),
scenarioVersionId = Some(1),
comment = ScenarioActivityComment(
content = ScenarioActivityCommentContent.Deleted,
content = ScenarioActivityCommentContent.NotAvailable,
lastModifiedBy = "some user",
lastModifiedAt = Instant.parse("2024-01-17T14:21:17Z")
),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ class ActivityService(
scenarioVersionId = Some(ScenarioVersionId.from(scenarioGraphVersionId)),
comment = commentOpt match {
case Some(comment) => ScenarioComment.Available(comment.content, UserName(loggedUser.username), now)
case None => ScenarioComment.Deleted(UserName(loggedUser.username), now)
case None => ScenarioComment.NotAvailable(UserName(loggedUser.username), now)
},
result = DeploymentResult.Success(clock.instant()),
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -218,9 +218,9 @@ class DBProcessRepository(
lastModifiedAt = clock.instant(),
)
case Some(_) | None =>
ScenarioComment.Deleted(
deletedByUserName = UserName(loggedUser.username),
deletedAt = clock.instant(),
ScenarioComment.NotAvailable(
lastModifiedByUserName = UserName(loggedUser.username),
lastModifiedAt = clock.instant(),
)
}
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -261,7 +261,7 @@ class DbScenarioActivityRepository(override protected val dbRef: DbRef, clock: C
scenarioVersion <- scenarioActivity.scenarioVersionId
content <- comment match {
case ScenarioComment.Available(comment, _, _) => Some(comment)
case ScenarioComment.Deleted(_, _) => None
case ScenarioComment.NotAvailable(_, _) => None
}
} yield Legacy.Comment(
id = id,
Expand Down Expand Up @@ -498,14 +498,14 @@ class DbScenarioActivityRepository(override protected val dbRef: DbRef, clock: C
private def comment(scenarioComment: ScenarioComment): Option[String] = {
scenarioComment match {
case ScenarioComment.Available(comment, _, _) => Some(comment.value)
case ScenarioComment.Deleted(_, _) => None
case ScenarioComment.NotAvailable(_, _) => None
}
}

private def lastModifiedByUserName(scenarioComment: ScenarioComment): Option[String] = {
val userName = scenarioComment match {
case ScenarioComment.Available(_, lastModifiedByUserName, _) => lastModifiedByUserName
case ScenarioComment.Deleted(deletedByUserName, _) => deletedByUserName
case ScenarioComment.NotAvailable(deletedByUserName, _) => deletedByUserName
}
Some(userName.value)
}
Expand Down Expand Up @@ -677,9 +677,9 @@ class DbScenarioActivityRepository(override protected val dbRef: DbRef, clock: C
lastModifiedAt = lastModifiedAt.toInstant
)
case None =>
ScenarioComment.Deleted(
deletedByUserName = UserName(lastModifiedByUserName),
deletedAt = lastModifiedAt.toInstant
ScenarioComment.NotAvailable(
lastModifiedByUserName = UserName(lastModifiedByUserName),
lastModifiedAt = lastModifiedAt.toInstant
)
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ class V1_058__UpdateAndAddMissingScenarioActivitiesSpec
date = activities(0).date,
previousScenarioVersionId = None,
scenarioVersionId = Some(ScenarioVersionId(2)),
comment = ScenarioComment.Deleted(UserName("Test User"), activities(0).date)
comment = ScenarioComment.NotAvailable(UserName("Test User"), activities(0).date)
),
ScenarioActivity.ScenarioCreated(
scenarioId = ScenarioId(process.id.value),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,10 @@ import pl.touk.nussknacker.test.config.{WithAccessControlCheckingDesignerConfig,
import pl.touk.nussknacker.test.utils.domain.{ProcessTestData, TestFactory}
import pl.touk.nussknacker.test.utils.scalas.AkkaHttpExtensions.toRequestEntity
import pl.touk.nussknacker.ui.api.description.scenarioActivity.Dtos.Legacy.ProcessActivity
import pl.touk.nussknacker.ui.api.description.scenarioActivity.Dtos.ScenarioActivityCommentContent.{Available, Deleted}
import pl.touk.nussknacker.ui.api.description.scenarioActivity.Dtos.ScenarioActivityCommentContent.{
Available,
NotAvailable
}
import pl.touk.nussknacker.ui.api.description.scenarioActivity.Dtos.{
ScenarioActivities,
ScenarioActivity,
Expand Down Expand Up @@ -732,7 +735,7 @@ class ProcessesResourcesSpec
scenarioVersionId = Some(2L),
comment = Some(
ScenarioActivityComment(
content = Deleted,
content = NotAvailable,
lastModifiedBy = "allpermuser",
lastModifiedAt = activities(1).comment.get.lastModifiedAt
)
Expand Down
28 changes: 14 additions & 14 deletions docs-internal/api/nu-designer-openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4162,7 +4162,7 @@ paths:
scenarioVersionId: 1
comment:
content:
status: DELETED
status: NOT_AVAILABLE
lastModifiedBy: John Doe
lastModifiedAt: '2024-01-18T14:21:17Z'
additionalFields: []
Expand Down Expand Up @@ -4246,7 +4246,7 @@ paths:
scenarioVersionId: 1
comment:
content:
status: DELETED
status: NOT_AVAILABLE
lastModifiedBy: some user
lastModifiedAt: '2024-01-17T14:21:17Z'
additionalFields:
Expand Down Expand Up @@ -4918,14 +4918,6 @@ components:
properties:
status:
type: string
Deleted1:
title: Deleted
type: object
required:
- status
properties:
status:
type: string
Dict:
title: Dict
type: object
Expand Down Expand Up @@ -5961,6 +5953,14 @@ components:
$ref: '#/components/schemas/NodeValidationError'
validationPerformed:
type: boolean
NotAvailable:
title: NotAvailable
type: object
required:
- status
properties:
status:
type: string
Notification:
title: Notification
type: object
Expand Down Expand Up @@ -6356,12 +6356,12 @@ components:
title: ScenarioActivityAttachmentFile
oneOf:
- $ref: '#/components/schemas/Available1'
- $ref: '#/components/schemas/Deleted1'
- $ref: '#/components/schemas/Deleted'
discriminator:
propertyName: status
mapping:
AVAILABLE: '#/components/schemas/Available1'
DELETED: '#/components/schemas/Deleted1'
DELETED: '#/components/schemas/Deleted'
ScenarioActivityComment:
title: ScenarioActivityComment
type: object
Expand All @@ -6381,12 +6381,12 @@ components:
title: ScenarioActivityCommentContent
oneOf:
- $ref: '#/components/schemas/Available'
- $ref: '#/components/schemas/Deleted'
- $ref: '#/components/schemas/NotAvailable'
discriminator:
propertyName: status
mapping:
AVAILABLE: '#/components/schemas/Available'
DELETED: '#/components/schemas/Deleted'
NOT_AVAILABLE: '#/components/schemas/NotAvailable'
ScenarioActivityMetadata:
title: ScenarioActivityMetadata
type: object
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,10 @@ object ScenarioUser {
final case class UserId(value: String)
final case class UserName(value: String)

sealed trait ScenarioComment
sealed trait ScenarioComment {
def lastModifiedByUserName: UserName
def lastModifiedAt: Instant
}

object ScenarioComment {

Expand All @@ -47,9 +50,9 @@ object ScenarioComment {
lastModifiedAt: Instant,
) extends ScenarioComment

final case class Deleted(
deletedByUserName: UserName,
deletedAt: Instant,
final case class NotAvailable(
lastModifiedByUserName: UserName,
lastModifiedAt: Instant,
) extends ScenarioComment

}
Expand Down

0 comments on commit 32a5e74

Please sign in to comment.