Browse Source

fix: project name duplicate error (#35)

* feat: update frontend resources

* feat: update jooq model

* fix: project name duplicate error
master
vran 3 years ago
committed by GitHub
parent
commit
1f3aa9e6d9
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 22
      api/src/main/resources/static/index.html
  2. 1
      api/src/main/resources/static/js/269-legacy.85927c51.js.map
  3. 4
      api/src/main/resources/static/js/269-legacy.9f733045.js
  4. 707
      api/src/main/resources/static/js/269-legacy.9f733045.js.map
  5. 1
      api/src/main/resources/static/js/269.8e27371c.js.map
  6. 4
      api/src/main/resources/static/js/269.b0a5577f.js
  7. 423
      api/src/main/resources/static/js/269.b0a5577f.js.map
  8. 1
      api/src/main/resources/static/js/99-legacy.618121ce.js.map
  9. 2
      api/src/main/resources/static/js/99-legacy.6cfcb3aa.js
  10. 94
      api/src/main/resources/static/js/99-legacy.6cfcb3aa.js.map
  11. 2
      api/src/main/resources/static/js/99.79a6a4f8.js
  12. 94
      api/src/main/resources/static/js/99.79a6a4f8.js.map
  13. 1
      api/src/main/resources/static/js/99.c134b829.js.map
  14. 1
      api/src/main/resources/static/js/app-legacy.30c52ca0.js.map
  15. 4
      api/src/main/resources/static/js/app-legacy.3cb9ab8a.js
  16. 409
      api/src/main/resources/static/js/app-legacy.3cb9ab8a.js.map
  17. 1
      api/src/main/resources/static/js/app.16e9daea.js.map
  18. 4
      api/src/main/resources/static/js/app.b56cd27c.js
  19. 409
      api/src/main/resources/static/js/app.b56cd27c.js.map
  20. 3
      core/src/main/java/com/databasir/core/domain/project/service/ProjectService.java
  21. 2
      dao/generated-src/jooq/main/java/com/databasir/dao/Keys.java
  22. 16
      dao/generated-src/jooq/main/java/com/databasir/dao/tables/Project.java
  23. 21
      dao/generated-src/jooq/main/java/com/databasir/dao/tables/pojos/ProjectPojo.java
  24. 72
      dao/generated-src/jooq/main/java/com/databasir/dao/tables/records/ProjectRecord.java
  25. 5
      dao/src/main/java/com/databasir/dao/impl/ProjectDao.java
  26. 20
      dao/src/main/resources/db/migration/V1.2__operation_log.sql
  27. 9
      dao/src/main/resources/db/migration/V1.3__favorite_project.sql
  28. 18
      dao/src/main/resources/db/migration/V1.4__oauth.sql
  29. 85
      dao/src/main/resources/db/migration/V1__init.sql

22
api/src/main/resources/static/index.html

@ -1 +1,21 @@
<!doctype html><html lang=""><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" href="/favicon.ico"><title>databasir-frontend</title><script defer="defer" type="module" src="/js/chunk-vendors.a3ab3c52.js"></script><script defer="defer" type="module" src="/js/app.16e9daea.js"></script><link href="/css/chunk-vendors.8e1003a6.css" rel="stylesheet"><link href="/css/app.757c1ef3.css" rel="stylesheet"><script defer="defer" src="/js/chunk-vendors-legacy.4c3febeb.js" nomodule></script><script defer="defer" src="/js/app-legacy.30c52ca0.js" nomodule></script></head><body><noscript><strong>We're sorry but databasir-frontend doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div></body></html>
<!doctype html>
<html lang="">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1">
<link rel="icon" href="/favicon.ico">
<title>databasir-frontend</title>
<script defer="defer" type="module" src="/js/chunk-vendors.a3ab3c52.js"></script>
<script defer="defer" type="module" src="/js/app.b56cd27c.js"></script>
<link href="/css/chunk-vendors.8e1003a6.css" rel="stylesheet">
<link href="/css/app.757c1ef3.css" rel="stylesheet">
<script defer="defer" src="/js/chunk-vendors-legacy.4c3febeb.js" nomodule></script>
<script defer="defer" src="/js/app-legacy.3cb9ab8a.js" nomodule></script>
</head>
<body>
<noscript><strong>We're sorry but databasir-frontend doesn't work properly without JavaScript enabled. Please enable it
to continue.</strong></noscript>
<div id="app"></div>
</body>
</html>

1
api/src/main/resources/static/js/269-legacy.85927c51.js.map

File diff suppressed because one or more lines are too long

4
api/src/main/resources/static/js/269-legacy.85927c51.js → api/src/main/resources/static/js/269-legacy.9f733045.js

File diff suppressed because one or more lines are too long

707
api/src/main/resources/static/js/269-legacy.9f733045.js.map

File diff suppressed because one or more lines are too long

1
api/src/main/resources/static/js/269.8e27371c.js.map

File diff suppressed because one or more lines are too long

4
api/src/main/resources/static/js/269.8e27371c.js → api/src/main/resources/static/js/269.b0a5577f.js

File diff suppressed because one or more lines are too long

423
api/src/main/resources/static/js/269.b0a5577f.js.map

File diff suppressed because one or more lines are too long

1
api/src/main/resources/static/js/99-legacy.618121ce.js.map

File diff suppressed because one or more lines are too long

2
api/src/main/resources/static/js/99-legacy.618121ce.js → api/src/main/resources/static/js/99-legacy.6cfcb3aa.js

@ -1,2 +1,2 @@
"use strict";(self["webpackChunkdatabasir_frontend"]=self["webpackChunkdatabasir_frontend"]||[]).push([[99],{5430:function(e,t,a){a.d(t,{v:function(){return r}});var n=a(3872),o="/api/v1.0/operation_logs",r=function(e){return n.Z.get(o,{params:e})}},2099:function(e,t,a){a.r(t),a.d(t,{default:function(){return h}});a(8309);var n=a(6252),o=a(3577),r={key:0},u=(0,n.Uk)("成功"),l={key:1},i=(0,n.Uk)("失败"),p={key:0},c={key:1},g={key:1},s={key:1},d={key:1};function f(e,t,a,f,w,m){var P=(0,n.up)("el-table-column"),j=(0,n.up)("el-option"),h=(0,n.up)("el-select"),v=(0,n.up)("el-tag"),y=(0,n.up)("el-link"),b=(0,n.up)("el-table"),k=(0,n.up)("el-main"),L=(0,n.up)("el-pagination"),O=(0,n.up)("el-footer"),D=(0,n.up)("el-container");return(0,n.wg)(),(0,n.j4)(D,null,{default:(0,n.w5)((function(){return[(0,n.Wm)(k,null,{default:(0,n.w5)((function(){return[(0,n.Wm)(b,{data:w.projectOperationLogPageData.data},{default:(0,n.w5)((function(){return[(0,n.Wm)(P,{prop:"id",label:""}),(0,n.Wm)(P,{prop:"operationModule",label:"系统模块"}),(0,n.Wm)(P,{prop:"operatorNickname",label:"操作人"}),(0,n.Wm)(P,{prop:"operationName",label:"操作"}),(0,n.Wm)(P,{label:"状态"},{header:(0,n.w5)((function(){return[(0,n.Wm)(h,{modelValue:w.projectOperationLogPageQuery.isSuccess,"onUpdate:modelValue":t[0]||(t[0]=function(e){return w.projectOperationLogPageQuery.isSuccess=e}),placeholder:"状态",onChange:m.onQuery,clearable:"",size:"small","tag-type":"success"},{default:(0,n.w5)((function(){return[((0,n.wg)(),(0,n.iD)(n.HY,null,(0,n.Ko)([!0,!1],(function(e){return(0,n.Wm)(j,{key:e,label:e?"成功":"失败",value:e},null,8,["label","value"])})),64))]})),_:1},8,["modelValue","onChange"])]})),default:(0,n.w5)((function(e){return[e.row.isSuccess?((0,n.wg)(),(0,n.iD)("span",r,[(0,n.Wm)(v,{type:"success"},{default:(0,n.w5)((function(){return[u]})),_:1})])):((0,n.wg)(),(0,n.iD)("span",l,[(0,n.Wm)(v,{type:"danger"},{default:(0,n.w5)((function(){return[i]})),_:1})]))]})),_:1}),(0,n.Wm)(P,{label:"错误信息"},{default:(0,n.w5)((function(e){return[e.row.isSuccess?((0,n.wg)(),(0,n.iD)("span",p)):((0,n.wg)(),(0,n.iD)("span",c,(0,o.zw)(e.row.operationResponse.errMessage),1))]})),_:1}),(0,n.Wm)(P,{label:"涉及分组"},{default:(0,n.w5)((function(e){return[e.row.involvedGroup?((0,n.wg)(),(0,n.j4)(y,{key:0},{default:(0,n.w5)((function(){return[(0,n.Uk)((0,o.zw)(e.row.involvedGroup.name),1)]})),_:2},1024)):((0,n.wg)(),(0,n.iD)("span",g," - "))]})),_:1}),(0,n.Wm)(P,{label:"涉及项目"},{default:(0,n.w5)((function(e){return[e.row.involvedProject?((0,n.wg)(),(0,n.j4)(y,{key:0},{default:(0,n.w5)((function(){return[(0,n.Uk)((0,o.zw)(e.row.involvedProject.name),1)]})),_:2},1024)):((0,n.wg)(),(0,n.iD)("span",s," - "))]})),_:1}),(0,n.Wm)(P,{label:"涉及用户"},{default:(0,n.w5)((function(e){return[e.row.involvedUser?((0,n.wg)(),(0,n.j4)(y,{key:0},{default:(0,n.w5)((function(){return[(0,n.Uk)((0,o.zw)(e.row.involvedUser.nickname),1)]})),_:2},1024)):((0,n.wg)(),(0,n.iD)("span",d," - "))]})),_:1}),(0,n.Wm)(P,{prop:"createAt",label:"记录时间"})]})),_:1},8,["data"])]})),_:1}),(0,n.Wm)(O,null,{default:(0,n.w5)((function(){return[(0,n.Wm)(L,{layout:"prev, pager, next","hide-on-single-page":!1,currentPage:w.projectOperationLogPageData.number,"page-size":w.projectOperationLogPageData.size,"page-count":w.projectOperationLogPageData.totalPages,onCurrentChange:m.onProjectOperationLogCurrentPageChange},null,8,["currentPage","page-size","page-count","onCurrentChange"])]})),_:1})]})),_:1})}var w=a(5430),m={data:function(){return{projectOperationLogPageData:{data:[],number:1,size:10,totalElements:0,totalPages:1},projectOperationLogPageQuery:{page:0,size:10,isSuccess:null,involveProjectId:null,module:null}}},created:function(){this.fetchProjectOperationLogs()},methods:{fetchProjectOperationLogs:function(e){var t=this;this.projectOperationLogPageQuery.page=e?e-1:null,(0,w.v)(this.projectOperationLogPageQuery).then((function(e){e.errCode||(t.projectOperationLogPageData.data=e.data.content,t.projectOperationLogPageData.number=e.data.number+1,t.projectOperationLogPageData.size=e.data.size,t.projectOperationLogPageData.totalPages=e.data.totalPages,t.projectOperationLogPageData.totalElements=e.data.totalElements)}))},onProjectOperationLogCurrentPageChange:function(e){e&&e-1!=this.projectOperationLogPageQuery.page&&(this.projectOperationLogPageQuery.page=e-1,this.fetchProjectOperationLogs(e))},onQuery:function(){this.fetchProjectOperationLogs()}}},P=a(3744);const j=(0,P.Z)(m,[["render",f]]);var h=j}}]);
//# sourceMappingURL=99-legacy.618121ce.js.map
//# sourceMappingURL=99-legacy.6cfcb3aa.js.map

94
api/src/main/resources/static/js/99-legacy.6cfcb3aa.js.map

File diff suppressed because one or more lines are too long

2
api/src/main/resources/static/js/99.c134b829.js → api/src/main/resources/static/js/99.79a6a4f8.js

@ -1,2 +1,2 @@
"use strict";(self["webpackChunkdatabasir_frontend"]=self["webpackChunkdatabasir_frontend"]||[]).push([[99],{5430:function(e,a,t){t.d(a,{v:function(){return n}});var o=t(3872);const r="/api/v1.0/operation_logs",n=e=>o.Z.get(r,{params:e})},2099:function(e,a,t){t.r(a),t.d(a,{default:function(){return j}});var o=t(6252),r=t(3577);const n={key:0},l=(0,o.Uk)("成功"),p={key:1},u=(0,o.Uk)("失败"),i={key:0},g={key:1},s={key:1},c={key:1},d={key:1};function w(e,a,t,w,m,P){const f=(0,o.up)("el-table-column"),h=(0,o.up)("el-option"),j=(0,o.up)("el-select"),v=(0,o.up)("el-tag"),y=(0,o.up)("el-link"),b=(0,o.up)("el-table"),k=(0,o.up)("el-main"),L=(0,o.up)("el-pagination"),O=(0,o.up)("el-footer"),D=(0,o.up)("el-container");return(0,o.wg)(),(0,o.j4)(D,null,{default:(0,o.w5)((()=>[(0,o.Wm)(k,null,{default:(0,o.w5)((()=>[(0,o.Wm)(b,{data:m.projectOperationLogPageData.data},{default:(0,o.w5)((()=>[(0,o.Wm)(f,{prop:"id",label:""}),(0,o.Wm)(f,{prop:"operationModule",label:"系统模块"}),(0,o.Wm)(f,{prop:"operatorNickname",label:"操作人"}),(0,o.Wm)(f,{prop:"operationName",label:"操作"}),(0,o.Wm)(f,{label:"状态"},{header:(0,o.w5)((()=>[(0,o.Wm)(j,{modelValue:m.projectOperationLogPageQuery.isSuccess,"onUpdate:modelValue":a[0]||(a[0]=e=>m.projectOperationLogPageQuery.isSuccess=e),placeholder:"状态",onChange:P.onQuery,clearable:"",size:"small","tag-type":"success"},{default:(0,o.w5)((()=>[((0,o.wg)(),(0,o.iD)(o.HY,null,(0,o.Ko)([!0,!1],(e=>(0,o.Wm)(h,{key:e,label:e?"成功":"失败",value:e},null,8,["label","value"]))),64))])),_:1},8,["modelValue","onChange"])])),default:(0,o.w5)((e=>[e.row.isSuccess?((0,o.wg)(),(0,o.iD)("span",n,[(0,o.Wm)(v,{type:"success"},{default:(0,o.w5)((()=>[l])),_:1})])):((0,o.wg)(),(0,o.iD)("span",p,[(0,o.Wm)(v,{type:"danger"},{default:(0,o.w5)((()=>[u])),_:1})]))])),_:1}),(0,o.Wm)(f,{label:"错误信息"},{default:(0,o.w5)((e=>[e.row.isSuccess?((0,o.wg)(),(0,o.iD)("span",i)):((0,o.wg)(),(0,o.iD)("span",g,(0,r.zw)(e.row.operationResponse.errMessage),1))])),_:1}),(0,o.Wm)(f,{label:"涉及分组"},{default:(0,o.w5)((e=>[e.row.involvedGroup?((0,o.wg)(),(0,o.j4)(y,{key:0},{default:(0,o.w5)((()=>[(0,o.Uk)((0,r.zw)(e.row.involvedGroup.name),1)])),_:2},1024)):((0,o.wg)(),(0,o.iD)("span",s," - "))])),_:1}),(0,o.Wm)(f,{label:"涉及项目"},{default:(0,o.w5)((e=>[e.row.involvedProject?((0,o.wg)(),(0,o.j4)(y,{key:0},{default:(0,o.w5)((()=>[(0,o.Uk)((0,r.zw)(e.row.involvedProject.name),1)])),_:2},1024)):((0,o.wg)(),(0,o.iD)("span",c," - "))])),_:1}),(0,o.Wm)(f,{label:"涉及用户"},{default:(0,o.w5)((e=>[e.row.involvedUser?((0,o.wg)(),(0,o.j4)(y,{key:0},{default:(0,o.w5)((()=>[(0,o.Uk)((0,r.zw)(e.row.involvedUser.nickname),1)])),_:2},1024)):((0,o.wg)(),(0,o.iD)("span",d," - "))])),_:1}),(0,o.Wm)(f,{prop:"createAt",label:"记录时间"})])),_:1},8,["data"])])),_:1}),(0,o.Wm)(O,null,{default:(0,o.w5)((()=>[(0,o.Wm)(L,{layout:"prev, pager, next","hide-on-single-page":!1,currentPage:m.projectOperationLogPageData.number,"page-size":m.projectOperationLogPageData.size,"page-count":m.projectOperationLogPageData.totalPages,onCurrentChange:P.onProjectOperationLogCurrentPageChange},null,8,["currentPage","page-size","page-count","onCurrentChange"])])),_:1})])),_:1})}var m=t(5430),P={data(){return{projectOperationLogPageData:{data:[],number:1,size:10,totalElements:0,totalPages:1},projectOperationLogPageQuery:{page:0,size:10,isSuccess:null,involveProjectId:null,module:null}}},created(){this.fetchProjectOperationLogs()},methods:{fetchProjectOperationLogs(e){this.projectOperationLogPageQuery.page=e?e-1:null,(0,m.v)(this.projectOperationLogPageQuery).then((e=>{e.errCode||(this.projectOperationLogPageData.data=e.data.content,this.projectOperationLogPageData.number=e.data.number+1,this.projectOperationLogPageData.size=e.data.size,this.projectOperationLogPageData.totalPages=e.data.totalPages,this.projectOperationLogPageData.totalElements=e.data.totalElements)}))},onProjectOperationLogCurrentPageChange(e){e&&e-1!=this.projectOperationLogPageQuery.page&&(this.projectOperationLogPageQuery.page=e-1,this.fetchProjectOperationLogs(e))},onQuery(){this.fetchProjectOperationLogs()}}},f=t(3744);const h=(0,f.Z)(P,[["render",w]]);var j=h}}]);
//# sourceMappingURL=99.c134b829.js.map
//# sourceMappingURL=99.79a6a4f8.js.map

94
api/src/main/resources/static/js/99.79a6a4f8.js.map

File diff suppressed because one or more lines are too long

1
api/src/main/resources/static/js/99.c134b829.js.map

File diff suppressed because one or more lines are too long

1
api/src/main/resources/static/js/app-legacy.30c52ca0.js.map

File diff suppressed because one or more lines are too long

4
api/src/main/resources/static/js/app-legacy.30c52ca0.js → api/src/main/resources/static/js/app-legacy.3cb9ab8a.js

File diff suppressed because one or more lines are too long

409
api/src/main/resources/static/js/app-legacy.3cb9ab8a.js.map

File diff suppressed because one or more lines are too long

1
api/src/main/resources/static/js/app.16e9daea.js.map

File diff suppressed because one or more lines are too long

4
api/src/main/resources/static/js/app.16e9daea.js → api/src/main/resources/static/js/app.b56cd27c.js

File diff suppressed because one or more lines are too long

409
api/src/main/resources/static/js/app.b56cd27c.js.map

File diff suppressed because one or more lines are too long

3
core/src/main/java/com/databasir/core/domain/project/service/ProjectService.java

@ -65,7 +65,7 @@ public class ProjectService {
try {
projectId = projectDao.insertAndReturnId(project);
} catch (DuplicateKeyException e) {
throw DomainErrors.PROJECT_NOT_FOUND.exception();
throw DomainErrors.PROJECT_NAME_DUPLICATE.exception();
}
String newPassword = encryptPassword(request.getDataSource().getPassword()).get();
@ -122,6 +122,7 @@ public class ProjectService {
return Optional.of(Aes.encryptToBase64Data(password, sysKey.getAesKey()));
}
@Transactional
public void delete(Integer projectId) {
projectDao.updateDeletedById(true, projectId);
projectSyncRuleDao.disableAutoSyncByProjectId(projectId);

2
dao/generated-src/jooq/main/java/com/databasir/dao/Keys.java

@ -77,7 +77,7 @@ public class Keys {
public static final UniqueKey<OauthAppRecord> KEY_OAUTH_APP_UK_REGISTRATION_ID = Internal.createUniqueKey(OauthApp.OAUTH_APP, DSL.name("KEY_oauth_app_uk_registration_id"), new TableField[] { OauthApp.OAUTH_APP.REGISTRATION_ID }, true);
public static final UniqueKey<OperationLogRecord> KEY_OPERATION_LOG_PRIMARY = Internal.createUniqueKey(OperationLog.OPERATION_LOG, DSL.name("KEY_operation_log_PRIMARY"), new TableField[] { OperationLog.OPERATION_LOG.ID }, true);
public static final UniqueKey<ProjectRecord> KEY_PROJECT_PRIMARY = Internal.createUniqueKey(Project.PROJECT, DSL.name("KEY_project_PRIMARY"), new TableField[] { Project.PROJECT.ID }, true);
public static final UniqueKey<ProjectRecord> KEY_PROJECT_UK_GROUP_ID_NAME = Internal.createUniqueKey(Project.PROJECT, DSL.name("KEY_project_uk_group_id_name"), new TableField[] { Project.PROJECT.GROUP_ID, Project.PROJECT.NAME }, true);
public static final UniqueKey<ProjectRecord> KEY_PROJECT_UK_GROUP_ID_NAME_DELETED_TOKEN = Internal.createUniqueKey(Project.PROJECT, DSL.name("KEY_project_uk_group_id_name_deleted_token"), new TableField[] { Project.PROJECT.GROUP_ID, Project.PROJECT.NAME, Project.PROJECT.DELETED_TOKEN }, true);
public static final UniqueKey<ProjectSyncRuleRecord> KEY_PROJECT_SYNC_RULE_PRIMARY = Internal.createUniqueKey(ProjectSyncRule.PROJECT_SYNC_RULE, DSL.name("KEY_project_sync_rule_PRIMARY"), new TableField[] { ProjectSyncRule.PROJECT_SYNC_RULE.ID }, true);
public static final UniqueKey<ProjectSyncRuleRecord> KEY_PROJECT_SYNC_RULE_UK_PROJECT_ID = Internal.createUniqueKey(ProjectSyncRule.PROJECT_SYNC_RULE, DSL.name("KEY_project_sync_rule_uk_project_id"), new TableField[] { ProjectSyncRule.PROJECT_SYNC_RULE.PROJECT_ID }, true);
public static final UniqueKey<SysKeyRecord> KEY_SYS_KEY_PRIMARY = Internal.createUniqueKey(SysKey.SYS_KEY, DSL.name("KEY_sys_key_PRIMARY"), new TableField[] { SysKey.SYS_KEY.ID }, true);

16
dao/generated-src/jooq/main/java/com/databasir/dao/tables/Project.java

@ -17,7 +17,7 @@ import org.jooq.ForeignKey;
import org.jooq.Identity;
import org.jooq.Name;
import org.jooq.Record;
import org.jooq.Row6;
import org.jooq.Row7;
import org.jooq.Schema;
import org.jooq.Table;
import org.jooq.TableField;
@ -74,6 +74,12 @@ public class Project extends TableImpl<ProjectRecord> {
*/
public final TableField<ProjectRecord, Boolean> DELETED = createField(DSL.name("deleted"), SQLDataType.BOOLEAN.nullable(false).defaultValue(DSL.inline("0", SQLDataType.BOOLEAN)), this, "");
/**
* The column <code>databasir.project.deleted_token</code>. default is 0, it
* will be set to {id} when deleted
*/
public final TableField<ProjectRecord, Integer> DELETED_TOKEN = createField(DSL.name("deleted_token"), SQLDataType.INTEGER.nullable(false).defaultValue(DSL.inline("0", SQLDataType.INTEGER)), this, "default is 0, it will be set to {id} when deleted");
/**
* The column <code>databasir.project.create_at</code>.
*/
@ -129,7 +135,7 @@ public class Project extends TableImpl<ProjectRecord> {
@Override
public List<UniqueKey<ProjectRecord>> getUniqueKeys() {
return Arrays.asList(Keys.KEY_PROJECT_UK_GROUP_ID_NAME);
return Arrays.asList(Keys.KEY_PROJECT_UK_GROUP_ID_NAME_DELETED_TOKEN);
}
@Override
@ -159,11 +165,11 @@ public class Project extends TableImpl<ProjectRecord> {
}
// -------------------------------------------------------------------------
// Row6 type methods
// Row7 type methods
// -------------------------------------------------------------------------
@Override
public Row6<Integer, String, String, Integer, Boolean, LocalDateTime> fieldsRow() {
return (Row6) super.fieldsRow();
public Row7<Integer, String, String, Integer, Boolean, Integer, LocalDateTime> fieldsRow() {
return (Row7) super.fieldsRow();
}
}

21
dao/generated-src/jooq/main/java/com/databasir/dao/tables/pojos/ProjectPojo.java

@ -21,6 +21,7 @@ public class ProjectPojo implements Serializable {
private String description;
private Integer groupId;
private Boolean deleted;
private Integer deletedToken;
private LocalDateTime createAt;
public ProjectPojo() {}
@ -31,6 +32,7 @@ public class ProjectPojo implements Serializable {
this.description = value.description;
this.groupId = value.groupId;
this.deleted = value.deleted;
this.deletedToken = value.deletedToken;
this.createAt = value.createAt;
}
@ -40,6 +42,7 @@ public class ProjectPojo implements Serializable {
String description,
Integer groupId,
Boolean deleted,
Integer deletedToken,
LocalDateTime createAt
) {
this.id = id;
@ -47,6 +50,7 @@ public class ProjectPojo implements Serializable {
this.description = description;
this.groupId = groupId;
this.deleted = deleted;
this.deletedToken = deletedToken;
this.createAt = createAt;
}
@ -120,6 +124,22 @@ public class ProjectPojo implements Serializable {
this.deleted = deleted;
}
/**
* Getter for <code>databasir.project.deleted_token</code>. default is 0, it
* will be set to {id} when deleted
*/
public Integer getDeletedToken() {
return this.deletedToken;
}
/**
* Setter for <code>databasir.project.deleted_token</code>. default is 0, it
* will be set to {id} when deleted
*/
public void setDeletedToken(Integer deletedToken) {
this.deletedToken = deletedToken;
}
/**
* Getter for <code>databasir.project.create_at</code>.
*/
@ -143,6 +163,7 @@ public class ProjectPojo implements Serializable {
sb.append(", ").append(description);
sb.append(", ").append(groupId);
sb.append(", ").append(deleted);
sb.append(", ").append(deletedToken);
sb.append(", ").append(createAt);
sb.append(")");

72
dao/generated-src/jooq/main/java/com/databasir/dao/tables/records/ProjectRecord.java

@ -11,8 +11,8 @@ import java.time.LocalDateTime;
import org.jooq.Field;
import org.jooq.Record1;
import org.jooq.Record6;
import org.jooq.Row6;
import org.jooq.Record7;
import org.jooq.Row7;
import org.jooq.impl.UpdatableRecordImpl;
@ -20,7 +20,7 @@ import org.jooq.impl.UpdatableRecordImpl;
* This class is generated by jOOQ.
*/
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class ProjectRecord extends UpdatableRecordImpl<ProjectRecord> implements Record6<Integer, String, String, Integer, Boolean, LocalDateTime> {
public class ProjectRecord extends UpdatableRecordImpl<ProjectRecord> implements Record7<Integer, String, String, Integer, Boolean, Integer, LocalDateTime> {
private static final long serialVersionUID = 1L;
@ -94,18 +94,34 @@ public class ProjectRecord extends UpdatableRecordImpl<ProjectRecord> implements
return (Boolean) get(4);
}
/**
* Setter for <code>databasir.project.deleted_token</code>. default is 0, it
* will be set to {id} when deleted
*/
public void setDeletedToken(Integer value) {
set(5, value);
}
/**
* Getter for <code>databasir.project.deleted_token</code>. default is 0, it
* will be set to {id} when deleted
*/
public Integer getDeletedToken() {
return (Integer) get(5);
}
/**
* Setter for <code>databasir.project.create_at</code>.
*/
public void setCreateAt(LocalDateTime value) {
set(5, value);
set(6, value);
}
/**
* Getter for <code>databasir.project.create_at</code>.
*/
public LocalDateTime getCreateAt() {
return (LocalDateTime) get(5);
return (LocalDateTime) get(6);
}
// -------------------------------------------------------------------------
@ -118,17 +134,17 @@ public class ProjectRecord extends UpdatableRecordImpl<ProjectRecord> implements
}
// -------------------------------------------------------------------------
// Record6 type implementation
// Record7 type implementation
// -------------------------------------------------------------------------
@Override
public Row6<Integer, String, String, Integer, Boolean, LocalDateTime> fieldsRow() {
return (Row6) super.fieldsRow();
public Row7<Integer, String, String, Integer, Boolean, Integer, LocalDateTime> fieldsRow() {
return (Row7) super.fieldsRow();
}
@Override
public Row6<Integer, String, String, Integer, Boolean, LocalDateTime> valuesRow() {
return (Row6) super.valuesRow();
public Row7<Integer, String, String, Integer, Boolean, Integer, LocalDateTime> valuesRow() {
return (Row7) super.valuesRow();
}
@Override
@ -157,7 +173,12 @@ public class ProjectRecord extends UpdatableRecordImpl<ProjectRecord> implements
}
@Override
public Field<LocalDateTime> field6() {
public Field<Integer> field6() {
return Project.PROJECT.DELETED_TOKEN;
}
@Override
public Field<LocalDateTime> field7() {
return Project.PROJECT.CREATE_AT;
}
@ -187,7 +208,12 @@ public class ProjectRecord extends UpdatableRecordImpl<ProjectRecord> implements
}
@Override
public LocalDateTime component6() {
public Integer component6() {
return getDeletedToken();
}
@Override
public LocalDateTime component7() {
return getCreateAt();
}
@ -217,7 +243,12 @@ public class ProjectRecord extends UpdatableRecordImpl<ProjectRecord> implements
}
@Override
public LocalDateTime value6() {
public Integer value6() {
return getDeletedToken();
}
@Override
public LocalDateTime value7() {
return getCreateAt();
}
@ -252,19 +283,26 @@ public class ProjectRecord extends UpdatableRecordImpl<ProjectRecord> implements
}
@Override
public ProjectRecord value6(LocalDateTime value) {
public ProjectRecord value6(Integer value) {
setDeletedToken(value);
return this;
}
@Override
public ProjectRecord value7(LocalDateTime value) {
setCreateAt(value);
return this;
}
@Override
public ProjectRecord values(Integer value1, String value2, String value3, Integer value4, Boolean value5, LocalDateTime value6) {
public ProjectRecord values(Integer value1, String value2, String value3, Integer value4, Boolean value5, Integer value6, LocalDateTime value7) {
value1(value1);
value2(value2);
value3(value3);
value4(value4);
value5(value5);
value6(value6);
value7(value7);
return this;
}
@ -282,7 +320,7 @@ public class ProjectRecord extends UpdatableRecordImpl<ProjectRecord> implements
/**
* Create a detached, initialised ProjectRecord
*/
public ProjectRecord(Integer id, String name, String description, Integer groupId, Boolean deleted, LocalDateTime createAt) {
public ProjectRecord(Integer id, String name, String description, Integer groupId, Boolean deleted, Integer deletedToken, LocalDateTime createAt) {
super(Project.PROJECT);
setId(id);
@ -290,6 +328,7 @@ public class ProjectRecord extends UpdatableRecordImpl<ProjectRecord> implements
setDescription(description);
setGroupId(groupId);
setDeleted(deleted);
setDeletedToken(deletedToken);
setCreateAt(createAt);
}
@ -305,6 +344,7 @@ public class ProjectRecord extends UpdatableRecordImpl<ProjectRecord> implements
setDescription(value.getDescription());
setGroupId(value.getGroupId());
setDeleted(value.getDeleted());
setDeletedToken(value.getDeletedToken());
setCreateAt(value.getCreateAt());
}
}

5
dao/src/main/java/com/databasir/dao/impl/ProjectDao.java

@ -31,9 +31,10 @@ public class ProjectDao extends BaseDao<ProjectPojo> {
super(PROJECT, ProjectPojo.class);
}
public int updateDeletedById(boolean b, Integer databaseId) {
public int updateDeletedById(boolean b, Integer projectId) {
return dslContext
.update(PROJECT).set(PROJECT.DELETED, b).where(PROJECT.ID.eq(databaseId))
.update(PROJECT).set(PROJECT.DELETED, b).set(PROJECT.DELETED_TOKEN, projectId)
.where(PROJECT.ID.eq(projectId))
.execute();
}

20
dao/src/main/resources/db/migration/V1.2__operation_log.sql

@ -1,20 +0,0 @@
CREATE TABLE IF NOT EXISTS operation_log
(
id BIGINT PRIMARY KEY AUTO_INCREMENT NOT NULL,
operator_user_id INT NOT NULL COMMENT 'ref to user.id',
operator_username VARCHAR(128) NOT NULL COMMENT 'user.username',
operator_nickname VARCHAR(255) NOT NULL COMMENT 'user.nickname',
operation_module VARCHAR(128) NOT NULL,
operation_code VARCHAR(255) NOT NULL,
operation_name VARCHAR(255) NOT NULL,
operation_response JSON NOT NULL,
is_success BOOLEAN NOT NULL DEFAULT FALSE,
involved_project_id INT DEFAULT NULL COMMENT 'ref to project.id',
involved_group_id INT DEFAULT NULL COMMENT 'ref to group.id',
involved_user_id INT DEFAULT NULL COMMENT 'ref to user.id',
create_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
) CHARSET utf8mb4
COLLATE utf8mb4_unicode_ci;
DROP INDEX uk_name ON `group`;

9
dao/src/main/resources/db/migration/V1.3__favorite_project.sql

@ -1,9 +0,0 @@
CREATE TABLE IF NOT EXISTS user_favorite_project
(
id INT PRIMARY KEY NOT NULL AUTO_INCREMENT,
user_id INT NOT NULL,
project_id INT NOT NULL,
create_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
UNIQUE uk_user_id_project_id (user_id, project_id)
) CHARSET utf8mb4
COLLATE utf8mb4_unicode_ci;

18
dao/src/main/resources/db/migration/V1.4__oauth.sql

@ -1,18 +0,0 @@
CREATE TABLE IF NOT EXISTS oauth_app
(
id INT PRIMARY KEY NOT NULL AUTO_INCREMENT,
registration_id VARCHAR(100) NOT NULL,
app_name VARCHAR(128) NOT NULL,
app_icon VARCHAR(256) NOT NULL DEFAULT '',
app_type VARCHAR(64) NOT NULL COMMENT 'github, gitlab',
client_id VARCHAR(256),
client_secret VARCHAR(256),
auth_url VARCHAR(256),
resource_url VARCHAR(256),
scope VARCHAR(256),
update_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
create_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
UNIQUE uk_registration_id (registration_id)
) CHARSET utf8mb4
COLLATE utf8mb4_unicode_ci COMMENT 'oauth app info';

85
dao/src/main/resources/db/migration/V1__init.sql

@ -1,7 +1,7 @@
CREATE DATABASE IF NOT EXISTS databasir;
USE databasir;
CREATE TABLE sys_key
CREATE TABLE IF NOT EXISTS sys_key
(
id INT PRIMARY KEY AUTO_INCREMENT,
rsa_public_key TEXT NOT NULL,
@ -12,7 +12,7 @@ CREATE TABLE sys_key
) CHARSET utf8mb4
COLLATE utf8mb4_unicode_ci;
CREATE TABLE sys_mail
CREATE TABLE IF NOT EXISTS sys_mail
(
id INT PRIMARY KEY AUTO_INCREMENT,
username TEXT NOT NULL,
@ -24,7 +24,7 @@ CREATE TABLE sys_mail
) CHARSET utf8mb4
COLLATE utf8mb4_unicode_ci;
CREATE TABLE user
CREATE TABLE IF NOT EXISTS user
(
id INT PRIMARY KEY AUTO_INCREMENT,
email VARCHAR(512) NOT NULL,
@ -40,7 +40,7 @@ CREATE TABLE user
) CHARSET utf8mb4
COLLATE utf8mb4_unicode_ci;
CREATE TABLE user_role
CREATE TABLE IF NOT EXISTS user_role
(
id INT PRIMARY KEY AUTO_INCREMENT,
user_id INT NOT NULL,
@ -51,31 +51,31 @@ CREATE TABLE user_role
) CHARSET utf8mb4
COLLATE utf8mb4_unicode_ci;
CREATE TABLE `group`
CREATE TABLE IF NOT EXISTS `group`
(
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(255) NOT NULL,
description VARCHAR(512) NOT NULL,
deleted BOOLEAN NOT NULL DEFAULT FALSE,
update_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
create_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
CONSTRAINT UNIQUE uk_name (name)
create_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
) CHARSET utf8mb4
COLLATE utf8mb4_unicode_ci;
CREATE TABLE `project`
CREATE TABLE IF NOT EXISTS `project`
(
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(255) NOT NULL,
description TEXT NOT NULL,
group_id INT NOT NULL,
deleted BOOLEAN NOT NULL DEFAULT FALSE,
deleted_token INT NOT NULL DEFAULT 0 COMMENT 'default is 0, it will be set to {id} when deleted',
create_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
CONSTRAINT UNIQUE uk_group_id_name (group_id, name)
CONSTRAINT UNIQUE uk_group_id_name_deleted_token (group_id, name, deleted_token)
) CHARSET utf8mb4
COLLATE utf8mb4_unicode_ci;
CREATE TABLE `project_sync_rule`
CREATE TABLE IF NOT EXISTS `project_sync_rule`
(
id INT PRIMARY KEY AUTO_INCREMENT,
project_id INT NOT NULL,
@ -89,7 +89,7 @@ CREATE TABLE `project_sync_rule`
) CHARSET utf8mb4
COLLATE utf8mb4_unicode_ci;
CREATE TABLE `data_source`
CREATE TABLE IF NOT EXISTS `data_source`
(
id INT PRIMARY KEY AUTO_INCREMENT,
project_id INT NOT NULL,
@ -104,7 +104,7 @@ CREATE TABLE `data_source`
) CHARSET utf8mb4
COLLATE utf8mb4_unicode_ci;
CREATE TABLE `data_source_property`
CREATE TABLE IF NOT EXISTS `data_source_property`
(
id INT PRIMARY KEY AUTO_INCREMENT,
data_source_id INT NOT NULL,
@ -115,7 +115,7 @@ CREATE TABLE `data_source_property`
) CHARSET utf8mb4
COLLATE utf8mb4_unicode_ci;
CREATE TABLE database_document
CREATE TABLE IF NOT EXISTS database_document
(
id INT PRIMARY KEY AUTO_INCREMENT,
project_id INT NOT NULL,
@ -129,7 +129,7 @@ CREATE TABLE database_document
) CHARSET utf8mb4
COLLATE utf8mb4_unicode_ci;
CREATE TABLE database_document_history
CREATE TABLE IF NOT EXISTS database_document_history
(
id INT PRIMARY KEY AUTO_INCREMENT,
project_id INT NOT NULL,
@ -142,7 +142,7 @@ CREATE TABLE database_document_history
) CHARSET utf8mb4
COLLATE utf8mb4_unicode_ci;
CREATE TABLE table_document
CREATE TABLE IF NOT EXISTS table_document
(
id INT PRIMARY KEY AUTO_INCREMENT,
@ -155,7 +155,7 @@ CREATE TABLE table_document
) CHARSET utf8mb4
COLLATE utf8mb4_unicode_ci;
CREATE TABLE table_column_document
CREATE TABLE IF NOT EXISTS table_column_document
(
id INT PRIMARY KEY AUTO_INCREMENT,
@ -176,7 +176,7 @@ CREATE TABLE table_column_document
) CHARSET utf8mb4
COLLATE utf8mb4_unicode_ci;
CREATE TABLE table_index_document
CREATE TABLE IF NOT EXISTS table_index_document
(
id INT PRIMARY KEY AUTO_INCREMENT,
@ -191,7 +191,7 @@ CREATE TABLE table_index_document
) CHARSET utf8mb4
COLLATE utf8mb4_unicode_ci;
CREATE TABLE table_trigger_document
CREATE TABLE IF NOT EXISTS table_trigger_document
(
id INT PRIMARY KEY AUTO_INCREMENT,
@ -207,7 +207,7 @@ CREATE TABLE table_trigger_document
) CHARSET utf8mb4
COLLATE utf8mb4_unicode_ci;
CREATE TABLE login
CREATE TABLE IF NOT EXISTS login
(
id INT PRIMARY KEY AUTO_INCREMENT,
user_id INT NOT NULL,
@ -233,3 +233,50 @@ CREATE TABLE IF NOT EXISTS document_remark
INDEX idx_project_id (project_id)
) CHARSET utf8mb4
COLLATE utf8mb4_unicode_ci;
CREATE TABLE IF NOT EXISTS operation_log
(
id BIGINT PRIMARY KEY AUTO_INCREMENT NOT NULL,
operator_user_id INT NOT NULL COMMENT 'ref to user.id',
operator_username VARCHAR(128) NOT NULL COMMENT 'user.username',
operator_nickname VARCHAR(255) NOT NULL COMMENT 'user.nickname',
operation_module VARCHAR(128) NOT NULL,
operation_code VARCHAR(255) NOT NULL,
operation_name VARCHAR(255) NOT NULL,
operation_response JSON NOT NULL,
is_success BOOLEAN NOT NULL DEFAULT FALSE,
involved_project_id INT DEFAULT NULL COMMENT 'ref to project.id',
involved_group_id INT DEFAULT NULL COMMENT 'ref to group.id',
involved_user_id INT DEFAULT NULL COMMENT 'ref to user.id',
create_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
) CHARSET utf8mb4
COLLATE utf8mb4_unicode_ci;
CREATE TABLE IF NOT EXISTS user_favorite_project
(
id INT PRIMARY KEY NOT NULL AUTO_INCREMENT,
user_id INT NOT NULL,
project_id INT NOT NULL,
create_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
UNIQUE uk_user_id_project_id (user_id, project_id)
) CHARSET utf8mb4
COLLATE utf8mb4_unicode_ci;
CREATE TABLE IF NOT EXISTS oauth_app
(
id INT PRIMARY KEY NOT NULL AUTO_INCREMENT,
registration_id VARCHAR(100) NOT NULL,
app_name VARCHAR(128) NOT NULL,
app_icon VARCHAR(256) NOT NULL DEFAULT '',
app_type VARCHAR(64) NOT NULL COMMENT 'github, gitlab',
client_id VARCHAR(256),
client_secret VARCHAR(256),
auth_url VARCHAR(256),
resource_url VARCHAR(256),
scope VARCHAR(256),
update_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
create_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
UNIQUE uk_registration_id (registration_id)
) CHARSET utf8mb4
COLLATE utf8mb4_unicode_ci COMMENT 'oauth app info';

Loading…
Cancel
Save