From 9c0045801b1c79e56e0303029d6165a53817fa9a Mon Sep 17 00:00:00 2001 From: "gowthaman.b" Date: Wed, 15 Nov 2023 12:39:24 +0530 Subject: [PATCH] refractor api bit more --- api.http | 12 +++++++----- .../kotlin/com/restapi/controllers/Entities.kt | 17 +++++++++++++++++ .../1.0.2.2__vehicle_queries_upd.sql | 5 +++++ .../dbmigration/1.0.2.3__create_log_entity.sql | 2 ++ .../1.0.2.4__vehicle_queries_upd_2.sql | 5 +++++ .../1.0.2.5__vehicle_queries_upd_3.sql | 5 +++++ .../1.0.2.6__vehicle_queries_upd_4.sql | 5 +++++ .../1.0.2.7__vehicle_queries_upd_7.sql | 5 +++++ .../dbmigration/1.0.2.8__vehicle_approvals.sql | 1 + 9 files changed, 52 insertions(+), 5 deletions(-) create mode 100644 src/main/resources/dbmigration/1.0.2.2__vehicle_queries_upd.sql create mode 100644 src/main/resources/dbmigration/1.0.2.3__create_log_entity.sql create mode 100644 src/main/resources/dbmigration/1.0.2.4__vehicle_queries_upd_2.sql create mode 100644 src/main/resources/dbmigration/1.0.2.5__vehicle_queries_upd_3.sql create mode 100644 src/main/resources/dbmigration/1.0.2.6__vehicle_queries_upd_4.sql create mode 100644 src/main/resources/dbmigration/1.0.2.7__vehicle_queries_upd_7.sql create mode 100644 src/main/resources/dbmigration/1.0.2.8__vehicle_approvals.sql diff --git a/api.http b/api.http index 84b8379..d572542 100644 --- a/api.http +++ b/api.http @@ -5,9 +5,10 @@ Authorization: {{auth-token}} { "data": { - "number": "TN36AS1206" + "number": "KA01HD6667", + "owner": "gowthaman" }, - "uniqueIdentifier": "TN36AS1206" + "uniqueIdentifier": "KA01HD6667" } ### create row, with autogenerated identifier @@ -23,7 +24,7 @@ Authorization: {{auth-token}} } ### get row -GET http://localhost:9001/api/vehicle/TN36BA5009 +GET http://localhost:9001/api/vehicle/TN38BA5009 Authorization: Bearer {{auth-token}} ### query row @@ -39,7 +40,7 @@ Authorization: set-auth-token } ### update field -PATCH http://localhost:9001/api/vehicle/KA03HD6064 +PATCH http://localhost:9001/api/vehicle/KA01MU0556 Content-Type: application/json Authorization: {{auth-token}} @@ -61,4 +62,5 @@ Authorization: set-auth-token } ### delete a row -DELETE http://localhost:9001/api/vehicle/KA03HD6064 \ No newline at end of file +DELETE http://localhost:9001/api/vehicle/KA01MU0556 +Authorization: {{auth-token}} \ No newline at end of file diff --git a/src/main/kotlin/com/restapi/controllers/Entities.kt b/src/main/kotlin/com/restapi/controllers/Entities.kt index 0d4dd2e..678ec56 100644 --- a/src/main/kotlin/com/restapi/controllers/Entities.kt +++ b/src/main/kotlin/com/restapi/controllers/Entities.kt @@ -228,6 +228,13 @@ object Entities { } fun view(it: Context) { + database.save( + AuditLog().apply { + auditType = AuditType.VIEW + entity = it.pathParam("entity") + uniqueIdentifier = it.pathParam("id") + } + ) it.json( database.findDataModelByEntityAndUniqId(it.pathParam("entity"), it.pathParam("id")) ) @@ -332,6 +339,16 @@ object Entities { if (setupEntity != null && !setupEntity.postSaveScript.isNullOrEmpty()) { Scripting.execute(setupEntity.postSaveScript!!, "postSave", dataModel) } + + + database.save( + AuditLog().apply { + auditType = AuditType.CREATE + this.entity = entity + uniqueIdentifier = dataModel.uniqueIdentifier + this.data = dataModel.data + } + ) } private fun isValidDate(f: String) = try { diff --git a/src/main/resources/dbmigration/1.0.2.2__vehicle_queries_upd.sql b/src/main/resources/dbmigration/1.0.2.2__vehicle_queries_upd.sql new file mode 100644 index 0000000..7317f73 --- /dev/null +++ b/src/main/resources/dbmigration/1.0.2.2__vehicle_queries_upd.sql @@ -0,0 +1,5 @@ +delete from sql_model where tenant_id = 'compegence' and sql_id = 'SQL0001'; +insert into sql_model(tenant_id, entity_name, sql_id, sql, created_by, modified_by) +values ('compegence', 'vehicle', 'SQL0001', + 'select sys_pk,deleted_on,current_approval_level,required_approval_levels,deleted,version,created_at,modified_at,deleted_by,approval_status,tags,comments,tenant_id,unique_identifier,entity_name,data,created_by,modified_by from entity_model where created_at >= ?', + 'system', 'system') \ No newline at end of file diff --git a/src/main/resources/dbmigration/1.0.2.3__create_log_entity.sql b/src/main/resources/dbmigration/1.0.2.3__create_log_entity.sql new file mode 100644 index 0000000..dfcd4f8 --- /dev/null +++ b/src/main/resources/dbmigration/1.0.2.3__create_log_entity.sql @@ -0,0 +1,2 @@ +insert into entity_model(name, tenant_id, created_by, modified_by, pre_save_script, post_save_script) +values ('log', 'compegence', 'system', 'system', '', ''); \ No newline at end of file diff --git a/src/main/resources/dbmigration/1.0.2.4__vehicle_queries_upd_2.sql b/src/main/resources/dbmigration/1.0.2.4__vehicle_queries_upd_2.sql new file mode 100644 index 0000000..65b3cc3 --- /dev/null +++ b/src/main/resources/dbmigration/1.0.2.4__vehicle_queries_upd_2.sql @@ -0,0 +1,5 @@ +delete from sql_model where tenant_id = 'compegence' and sql_id = 'SQL0001'; +insert into sql_model(tenant_id, entity_name, sql_id, sql, created_by, modified_by) +values ('compegence', 'vehicle', 'SQL0001', + 'select sys_pk,deleted_on,current_approval_level,required_approval_levels,deleted,version,created_at,modified_at,deleted_by,approval_status,tags,comments,tenant_id,entity_name,data,created_by,modified_by from entity_model where created_at >= ?', + 'system', 'system') \ No newline at end of file diff --git a/src/main/resources/dbmigration/1.0.2.5__vehicle_queries_upd_3.sql b/src/main/resources/dbmigration/1.0.2.5__vehicle_queries_upd_3.sql new file mode 100644 index 0000000..d568530 --- /dev/null +++ b/src/main/resources/dbmigration/1.0.2.5__vehicle_queries_upd_3.sql @@ -0,0 +1,5 @@ +delete from sql_model where tenant_id = 'compegence' and sql_id = 'SQL0001'; +insert into sql_model(tenant_id, entity_name, sql_id, sql, created_by, modified_by) +values ('compegence', 'vehicle', 'SQL0001', + 'select sys_pk,deleted_on,current_approval_level,required_approval_levels,deleted,version,created_at,modified_at,deleted_by,approval_status,tags,comments,tenant_id,data,created_by,modified_by from entity_model where created_at >= ?', + 'system', 'system') \ No newline at end of file diff --git a/src/main/resources/dbmigration/1.0.2.6__vehicle_queries_upd_4.sql b/src/main/resources/dbmigration/1.0.2.6__vehicle_queries_upd_4.sql new file mode 100644 index 0000000..d568530 --- /dev/null +++ b/src/main/resources/dbmigration/1.0.2.6__vehicle_queries_upd_4.sql @@ -0,0 +1,5 @@ +delete from sql_model where tenant_id = 'compegence' and sql_id = 'SQL0001'; +insert into sql_model(tenant_id, entity_name, sql_id, sql, created_by, modified_by) +values ('compegence', 'vehicle', 'SQL0001', + 'select sys_pk,deleted_on,current_approval_level,required_approval_levels,deleted,version,created_at,modified_at,deleted_by,approval_status,tags,comments,tenant_id,data,created_by,modified_by from entity_model where created_at >= ?', + 'system', 'system') \ No newline at end of file diff --git a/src/main/resources/dbmigration/1.0.2.7__vehicle_queries_upd_7.sql b/src/main/resources/dbmigration/1.0.2.7__vehicle_queries_upd_7.sql new file mode 100644 index 0000000..8df29df --- /dev/null +++ b/src/main/resources/dbmigration/1.0.2.7__vehicle_queries_upd_7.sql @@ -0,0 +1,5 @@ +delete from sql_model where tenant_id = 'compegence' and sql_id = 'SQL0001'; +insert into sql_model(tenant_id, entity_name, sql_id, sql, created_by, modified_by) +values ('compegence', 'vehicle', 'SQL0001', + 'select sys_pk,deleted_on,current_approval_level,required_approval_levels,deleted,version,created_at,modified_at,deleted_by,approval_status,tags,comments,tenant_id,created_by,modified_by from entity_model where created_at >= ?', + 'system', 'system') \ No newline at end of file diff --git a/src/main/resources/dbmigration/1.0.2.8__vehicle_approvals.sql b/src/main/resources/dbmigration/1.0.2.8__vehicle_approvals.sql new file mode 100644 index 0000000..51ee7ca --- /dev/null +++ b/src/main/resources/dbmigration/1.0.2.8__vehicle_approvals.sql @@ -0,0 +1 @@ +update entity_model set required_approval_levels = 1 WHERE entity_model.name = 'vehicle' \ No newline at end of file