Skip to content

Commit fd6fdd7

Browse files
committed
feat: support new operation, work order and scheme APIs
1 parent e4c2c56 commit fd6fdd7

31 files changed

+616
-638
lines changed

src/main/kotlin/com/ctrlhub/core/governance/OrganisationsRouter.kt renamed to src/main/kotlin/com/ctrlhub/core/projects/OrganisationsRouter.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
package com.ctrlhub.core.governance
1+
package com.ctrlhub.core.projects
22

33
import com.ctrlhub.core.Api
44
import com.ctrlhub.core.api.ApiClientException
55
import com.ctrlhub.core.api.ApiException
66
import com.ctrlhub.core.api.response.PaginatedList
7-
import com.ctrlhub.core.governance.response.Organisation
7+
import com.ctrlhub.core.projects.response.Organisation
88
import com.ctrlhub.core.router.Router
99
import com.ctrlhub.core.router.request.RequestParameters
1010
import io.ktor.client.*

src/main/kotlin/com/ctrlhub/core/governance/operations/OperationsRouter.kt renamed to src/main/kotlin/com/ctrlhub/core/projects/operations/OperationsRouter.kt

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,11 @@
1-
package com.ctrlhub.core.governance.operations
1+
package com.ctrlhub.core.projects.operations
22

33
import com.ctrlhub.core.Api
44
import com.ctrlhub.core.api.response.PaginatedList
5-
import com.ctrlhub.core.governance.workorders.WorkOrdersRouter
6-
import com.ctrlhub.core.governance.operations.response.Operation
5+
import com.ctrlhub.core.projects.workorders.WorkOrdersRouter
6+
import com.ctrlhub.core.projects.operations.response.Operation
77
import com.ctrlhub.core.iam.response.User
88
import com.ctrlhub.core.router.Router
9-
import com.ctrlhub.core.router.request.AbstractRequestParameters
10-
import com.ctrlhub.core.router.request.FilterOption
119
import com.ctrlhub.core.router.request.RequestParameters
1210
import io.ktor.client.HttpClient
1311

src/main/kotlin/com/ctrlhub/core/governance/operations/response/Operation.kt renamed to src/main/kotlin/com/ctrlhub/core/projects/operations/response/Operation.kt

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,14 @@
1-
package com.ctrlhub.core.governance.operations.response
1+
package com.ctrlhub.core.projects.operations.response
22

33
import com.ctrlhub.core.api.Assignable
4-
import com.ctrlhub.core.governance.response.Label
4+
import com.ctrlhub.core.projects.response.Label
55
import com.fasterxml.jackson.annotation.JsonCreator
66
import com.fasterxml.jackson.annotation.JsonIgnoreProperties
77
import com.fasterxml.jackson.annotation.JsonProperty
88
import com.github.jasminb.jsonapi.StringIdHandler
99
import com.github.jasminb.jsonapi.annotations.Id
1010
import com.github.jasminb.jsonapi.annotations.Relationship
1111
import com.github.jasminb.jsonapi.annotations.Type
12-
import java.time.LocalDate
1312
import java.time.LocalDateTime
1413

1514
@Type("operations")
@@ -19,8 +18,7 @@ class Operation @JsonCreator constructor(
1918
@JsonProperty("name") var name: String = "",
2019
@JsonProperty("code") var code: String = "",
2120
@JsonProperty("description") var description: String? = "",
22-
@JsonProperty("type") var type: String? = null,
23-
@JsonProperty("scheduled") var scheduledDates: OperationScheduledDates? = null,
21+
@JsonProperty("dates") var dates: OperationDates? = null,
2422

2523
@JsonProperty("labels")
2624
var labels: List<Label> = emptyList(),
@@ -32,11 +30,14 @@ class Operation @JsonCreator constructor(
3230
name = "",
3331
code = "",
3432
description = "",
35-
type = null,
36-
scheduledDates = null,
33+
dates = null,
3734
labels = emptyList()
3835
)
3936
}
37+
@JsonIgnoreProperties(ignoreUnknown = true)
38+
data class OperationDates(
39+
@JsonProperty("scheduled") var scheduled: OperationScheduledDates? = null
40+
)
4041

4142
data class OperationScheduledDates(
4243
val start: LocalDateTime? = null,

src/main/kotlin/com/ctrlhub/core/governance/operations/templates/OperationTemplatesRouter.kt renamed to src/main/kotlin/com/ctrlhub/core/projects/operations/templates/OperationTemplatesRouter.kt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
1-
package com.ctrlhub.core.governance.operations.templates
1+
package com.ctrlhub.core.projects.operations.templates
22

33
import com.ctrlhub.core.Api
44
import com.ctrlhub.core.api.response.PaginatedList
5-
import com.ctrlhub.core.governance.operations.OperationsRouter
6-
import com.ctrlhub.core.governance.operations.templates.response.OperationTemplate
5+
import com.ctrlhub.core.projects.operations.OperationsRouter
6+
import com.ctrlhub.core.projects.operations.templates.response.OperationTemplate
77
import com.ctrlhub.core.router.Router
88
import com.ctrlhub.core.router.request.RequestParameters
99
import io.ktor.client.HttpClient
1010

1111
class OperationTemplatesRouter(httpClient: HttpClient) : Router(httpClient) {
1212
suspend fun all(organisationId: String, requestParameters: RequestParameters = RequestParameters()): PaginatedList<OperationTemplate> {
13-
return fetchPaginatedJsonApiResources("/v3/orgs/$organisationId/governance/operation-templates", requestParameters.toMap())
13+
return fetchPaginatedJsonApiResources("/v3/orgs/$organisationId/projects/operation-templates", requestParameters.toMap())
1414
}
1515

1616
suspend fun one(organisationId: String, operationTemplateId: String): OperationTemplate {
17-
return fetchJsonApiResource("/v3/orgs/$organisationId/governance/operation-templates/$operationTemplateId")
17+
return fetchJsonApiResource("/v3/orgs/$organisationId/projects/operation-templates/$operationTemplateId")
1818
}
1919
}
2020

src/main/kotlin/com/ctrlhub/core/governance/operations/templates/response/OperationTemplate.kt renamed to src/main/kotlin/com/ctrlhub/core/projects/operations/templates/response/OperationTemplate.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
package com.ctrlhub.core.governance.operations.templates.response
1+
package com.ctrlhub.core.projects.operations.templates.response
22

3-
import com.ctrlhub.core.governance.response.Label
3+
import com.ctrlhub.core.projects.response.Label
44
import com.fasterxml.jackson.annotation.JsonCreator
55
import com.fasterxml.jackson.annotation.JsonIgnoreProperties
66
import com.fasterxml.jackson.annotation.JsonProperty

src/main/kotlin/com/ctrlhub/core/governance/response/Label.kt renamed to src/main/kotlin/com/ctrlhub/core/projects/response/Label.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.ctrlhub.core.governance.response
1+
package com.ctrlhub.core.projects.response
22

33
import com.fasterxml.jackson.annotation.JsonCreator
44
import com.fasterxml.jackson.annotation.JsonIgnoreProperties

src/main/kotlin/com/ctrlhub/core/governance/response/Organisation.kt renamed to src/main/kotlin/com/ctrlhub/core/projects/response/Organisation.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.ctrlhub.core.governance.response
1+
package com.ctrlhub.core.projects.response
22

33
import com.ctrlhub.core.AbstractNomenclatureEntry
44
import com.ctrlhub.core.serializer.JacksonLocalDateTimeDeserializer

src/main/kotlin/com/ctrlhub/core/governance/schemes/SchemesRouter.kt renamed to src/main/kotlin/com/ctrlhub/core/projects/schemes/SchemesRouter.kt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
package com.ctrlhub.core.governance.schemes
1+
package com.ctrlhub.core.projects.schemes
22

33
import com.ctrlhub.core.Api
44
import com.ctrlhub.core.api.response.PaginatedList
5-
import com.ctrlhub.core.governance.schemes.response.Scheme
6-
import com.ctrlhub.core.governance.workorders.response.WorkOrder
5+
import com.ctrlhub.core.projects.schemes.response.Scheme
6+
import com.ctrlhub.core.projects.workorders.response.WorkOrder
77
import com.ctrlhub.core.iam.response.User
88
import com.ctrlhub.core.router.Router
99
import com.ctrlhub.core.router.request.FilterOption
@@ -38,7 +38,7 @@ class SchemesRouter(httpClient: HttpClient) : Router(httpClient) {
3838
* @return A list of all schemes
3939
*/
4040
suspend fun all(organisationId: String, requestParameters: SchemeRequestParameters = SchemeRequestParameters()): PaginatedList<Scheme> {
41-
return fetchPaginatedJsonApiResources("/v3/orgs/$organisationId/governance/schemes", requestParameters.toMap(), Scheme::class.java,
41+
return fetchPaginatedJsonApiResources("/v3/orgs/$organisationId/projects/schemes", requestParameters.toMap(), Scheme::class.java,
4242
WorkOrder::class.java, User::class.java)
4343
}
4444

@@ -52,7 +52,7 @@ class SchemesRouter(httpClient: HttpClient) : Router(httpClient) {
5252
* @return A single scheme
5353
*/
5454
suspend fun one(organisationId: String, schemeId: String, requestParameters: SchemeRequestParameters = SchemeRequestParameters()) : Scheme {
55-
return fetchJsonApiResource("/v3/orgs/$organisationId/governance/schemes/$schemeId", requestParameters.toMap(), Scheme::class.java, WorkOrder::class.java, User::class.java)
55+
return fetchJsonApiResource("/v3/orgs/$organisationId/projects/schemes/$schemeId", requestParameters.toMap(), Scheme::class.java, WorkOrder::class.java, User::class.java)
5656
}
5757
}
5858

src/main/kotlin/com/ctrlhub/core/governance/schemes/response/Scheme.kt renamed to src/main/kotlin/com/ctrlhub/core/projects/schemes/response/Scheme.kt

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
package com.ctrlhub.core.governance.schemes.response
1+
package com.ctrlhub.core.projects.schemes.response
22

3-
import com.ctrlhub.core.governance.response.Label
4-
import com.ctrlhub.core.governance.workorders.response.WorkOrder
3+
import com.ctrlhub.core.projects.response.Label
4+
import com.ctrlhub.core.projects.workorders.response.WorkOrder
55
import com.fasterxml.jackson.annotation.JsonCreator
66
import com.fasterxml.jackson.annotation.JsonIgnoreProperties
77
import com.fasterxml.jackson.annotation.JsonProperty
@@ -11,6 +11,7 @@ import com.github.jasminb.jsonapi.annotations.Meta
1111
import com.github.jasminb.jsonapi.annotations.Relationship
1212
import com.github.jasminb.jsonapi.annotations.Type
1313
import java.time.LocalDate
14+
import java.time.LocalDateTime
1415

1516
@Type("schemes")
1617
@JsonIgnoreProperties(ignoreUnknown = true)
@@ -19,8 +20,7 @@ class Scheme @JsonCreator constructor(
1920
@JsonProperty("name") var name: String? = "",
2021
@JsonProperty("code") var code: String? = "",
2122
@JsonProperty("description") var description: String? = null,
22-
@JsonProperty("start_date") var startDate: LocalDate? = null,
23-
@JsonProperty("end_date") var endDate: LocalDate? = null,
23+
@JsonProperty("dates") var dates: SchemeDates? = null,
2424

2525
@JsonProperty("labels")
2626
var labels: List<Label> = emptyList(),
@@ -36,12 +36,22 @@ class Scheme @JsonCreator constructor(
3636
name = "",
3737
description = null,
3838
code = "",
39-
startDate = null,
40-
endDate = null,
39+
dates = null,
4140
workOrders = emptyList()
4241
)
4342
}
4443

44+
@JsonIgnoreProperties(ignoreUnknown = true)
45+
data class SchemeDates(
46+
@JsonProperty("anticipated") var anticipated: SchemeAnticipatedDates? = null,
47+
)
48+
49+
@JsonIgnoreProperties(ignoreUnknown = true)
50+
data class SchemeAnticipatedDates(
51+
@JsonProperty("start") var start: LocalDate? = null,
52+
@JsonProperty("end") var end: LocalDateTime? = null
53+
)
54+
4555
@JsonIgnoreProperties(ignoreUnknown = true)
4656
class SchemeMeta @JsonCreator constructor(
4757
@JsonProperty("completeness") var completeness: SchemeCompleteness? = null,

src/main/kotlin/com/ctrlhub/core/governance/workorders/WorkOrdersRouter.kt renamed to src/main/kotlin/com/ctrlhub/core/projects/workorders/WorkOrdersRouter.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
package com.ctrlhub.core.governance.workorders
1+
package com.ctrlhub.core.projects.workorders
22

33
import com.ctrlhub.core.Api
44
import com.ctrlhub.core.api.response.PaginatedList
5-
import com.ctrlhub.core.governance.schemes.SchemesRouter
6-
import com.ctrlhub.core.governance.workorders.response.WorkOrder
5+
import com.ctrlhub.core.projects.schemes.SchemesRouter
6+
import com.ctrlhub.core.projects.workorders.response.WorkOrder
77
import com.ctrlhub.core.router.Router
88
import io.ktor.client.HttpClient
99

0 commit comments

Comments
 (0)