From b9b1791f156c0358d4629266fc7dbd8f02454a70 Mon Sep 17 00:00:00 2001 From: Jack Golding Date: Tue, 14 Jan 2025 15:33:05 +0000 Subject: [PATCH] fix: Final changes --- .../org/olf/RulesetTemplateController.groovy | 24 +++++++++++++------ .../org/olf/SerialRulesetController.groovy | 1 + .../domain/org/olf/RulesetOwner.groovy | 1 + .../domain/org/olf/RulesetTemplate.groovy | 6 +++++ .../grails-app/domain/org/olf/Serial.groovy | 7 +++--- .../domain/org/olf/SerialRuleset.groovy | 7 ++---- .../update-mod-serials-management-1-2.groovy | 13 +++++++++- .../views/rulesetOwner/_rulesetOwner.gson | 12 ++++++++++ .../rulesetTemplate/_rulesetTemplate.gson | 12 ++++++++++ 9 files changed, 67 insertions(+), 16 deletions(-) create mode 100644 service/grails-app/views/rulesetOwner/_rulesetOwner.gson create mode 100644 service/grails-app/views/rulesetTemplate/_rulesetTemplate.gson diff --git a/service/grails-app/controllers/org/olf/RulesetTemplateController.groovy b/service/grails-app/controllers/org/olf/RulesetTemplateController.groovy index d0f7570..7a74726 100644 --- a/service/grails-app/controllers/org/olf/RulesetTemplateController.groovy +++ b/service/grails-app/controllers/org/olf/RulesetTemplateController.groovy @@ -19,24 +19,34 @@ class RulesetTemplateController extends OkapiTenantAwareController def save() { SerialRuleset.withTransaction { def data = getObjectToBind() + SerialRuleset ruleset = new SerialRuleset(data) activeRulesetCheck(ruleset) diff --git a/service/grails-app/domain/org/olf/RulesetOwner.groovy b/service/grails-app/domain/org/olf/RulesetOwner.groovy index 229ac30..0820db1 100644 --- a/service/grails-app/domain/org/olf/RulesetOwner.groovy +++ b/service/grails-app/domain/org/olf/RulesetOwner.groovy @@ -13,6 +13,7 @@ class RulesetOwner implements MultiTenant { lastUpdated column: 'ro_last_updated' dateCreated column: 'ro_date_created' version column: 'ro_version' + tablePerHierarchy false } static constraints = { diff --git a/service/grails-app/domain/org/olf/RulesetTemplate.groovy b/service/grails-app/domain/org/olf/RulesetTemplate.groovy index 7c5fbe8..b590865 100644 --- a/service/grails-app/domain/org/olf/RulesetTemplate.groovy +++ b/service/grails-app/domain/org/olf/RulesetTemplate.groovy @@ -15,13 +15,18 @@ import org.springframework.validation.Errors import groovy.sql.Sql +// ModelRuleset + @GrailsCompileStatic class RulesetTemplate extends RulesetOwner implements MultiTenant { + String id String name String description String exampleLabel + SerialRuleset serialRuleset + @CategoryId(defaultInternal=true) @Defaults(['Active', 'Closed']) RefdataValue rulesetTemplateStatus @@ -35,6 +40,7 @@ class RulesetTemplate extends RulesetOwner implements MultiTenant { // TODO Remove commented properties before merging - // String id + String id // Date lastUpdated // Date dateCreated String description @@ -39,11 +39,12 @@ class Serial extends RulesetOwner implements MultiTenant { static mappedBy = [ orderLine: 'owner', - recurrence: 'owner' + recurrence: 'owner', + serialRulesets: 'owner' ] static mapping = { - // id column: 's_id', generator: 'uuid2', length: 36 + id column: 's_id', generator: 'uuid2', length: 36 // lastUpdated column: 's_last_updated' // dateCreated column: 's_date_created' serialStatus column: 's_serial_status' diff --git a/service/grails-app/domain/org/olf/SerialRuleset.groovy b/service/grails-app/domain/org/olf/SerialRuleset.groovy index 277f1ff..bc8ef06 100644 --- a/service/grails-app/domain/org/olf/SerialRuleset.groovy +++ b/service/grails-app/domain/org/olf/SerialRuleset.groovy @@ -26,6 +26,8 @@ class SerialRuleset implements MultiTenant { String rulesetNumber String description + RulesetOwner owner + @CategoryId(defaultInternal=true) @Defaults(['Active', 'Draft', 'Deprecated']) RefdataValue rulesetStatus @@ -44,11 +46,6 @@ class SerialRuleset implements MultiTenant { templateConfig: 'owner' ] - static belongsTo = [ - owner: RulesetOwner - // predictedPieceSet: PredictedPieceSet - ] - static mapping = { id column: 'sr_id', generator: 'uuid2', length: 36 lastUpdated column: 'sr_last_updated' diff --git a/service/grails-app/migrations/update-mod-serials-management-1-2.groovy b/service/grails-app/migrations/update-mod-serials-management-1-2.groovy index 4c3fe60..7ac2a1a 100644 --- a/service/grails-app/migrations/update-mod-serials-management-1-2.groovy +++ b/service/grails-app/migrations/update-mod-serials-management-1-2.groovy @@ -14,12 +14,23 @@ databaseChangeLog = { } } - changeSet(author: "Jack-Golding (manual)", id: "20250111-1201-002") { + changeSet(author: "Jack-Golding (manual)", id: "20250111-1201-003") { + dropColumn(columnName: "s_version", tableName: "serial") + } + + changeSet(author: "Jack-Golding (manual)", id: "20250111-1201-004") { createTable(tableName: "ruleset_template") { + column(name: "rt_id", type: "VARCHAR(36)") { constraints(nullable: "false") } column(name: "rt_name", type: "TEXT") { constraints(nullable: "false") } column(name: "rt_description", type: "TEXT") { constraints(nullable: "true") } column(name: "rt_example_label", type: "TEXT") { constraints(nullable: "true") } column(name: "rt_ruleset_template_status", type: "VARCHAR(36)") { constraints(nullable: "false") } } } + + changeSet(author: "Jack-Golding (manual)", id: "20250111-1201-005") { + dropForeignKeyConstraint(baseTableName: "serial_ruleset", constraintName: "serial_ruleset_owner_fk") + } + // Add migrations for old serial data + // Add FK constraint to ruleset owner } \ No newline at end of file diff --git a/service/grails-app/views/rulesetOwner/_rulesetOwner.gson b/service/grails-app/views/rulesetOwner/_rulesetOwner.gson new file mode 100644 index 0000000..deeb6db --- /dev/null +++ b/service/grails-app/views/rulesetOwner/_rulesetOwner.gson @@ -0,0 +1,12 @@ +import groovy.transform.* +import org.olf.RulesetOwner +import groovy.transform.Field +import org.grails.orm.hibernate.cfg.GrailsHibernateUtil + +def should_expand = [] + +@Field RulesetOwner rulesetOwner + +rulesetOwner = GrailsHibernateUtil.unwrapIfProxy(rulesetOwner) as RulesetOwner + +json g.render(rulesetOwner, [expand: should_expand]) diff --git a/service/grails-app/views/rulesetTemplate/_rulesetTemplate.gson b/service/grails-app/views/rulesetTemplate/_rulesetTemplate.gson new file mode 100644 index 0000000..0b65587 --- /dev/null +++ b/service/grails-app/views/rulesetTemplate/_rulesetTemplate.gson @@ -0,0 +1,12 @@ +import groovy.transform.* +import org.olf.RulesetTemplate +import groovy.transform.Field + +def should_expand = [ + 'rulesetTemplateStatus', + 'serialRuleset', +] + +@Field RulesetTemplate rulesetTemplate + +json g.render(rulesetTemplate, [expand: should_expand])