Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1449 commits
Select commit Hold shift + click to select a range
e59e2a7
code refactor
LordofAvernus Jul 4, 2025
6521fc0
Merge pull request #485 from actiontech/fix_cb_query
BugsGuru Jul 4, 2025
316ac5d
fix : 1. CB session expired 2. dms token expired
LordofAvernus Jul 15, 2025
5be5538
remove unused code
LordofAvernus Jul 15, 2025
d6706f8
fix: capturing and returing real err
LordofAvernus Jul 15, 2025
125592f
refactor: rename smartResponseWriter to ResponseInterceptor
LordofAvernus Jul 15, 2025
3947bd8
refactor: support request header cookie replacement with deduplication
LordofAvernus Jul 15, 2025
3bbca1d
feat: add Audit_Enabled field to SQL Config and rule template that ca…
iwanghc Jul 15, 2025
00fea9b
gen swagger: SQL Workbench implements the specified rule template int…
iwanghc Jul 15, 2025
53d12f3
Merge pull request #490 from actiontech/cb_rule_template
Jarvis1105 Jul 15, 2025
8a962e0
Merge pull request #488 from actiontech/fix-cb
winfredLIN Jul 16, 2025
860093e
feat: add cb workbench audit rule template configuration in the data…
iwanghc Jul 17, 2025
1879c93
modify modify the way the cb workbench opens for review and use the e…
iwanghc Jul 17, 2025
6327895
add: add i18n content
iwanghc Jul 17, 2025
ca05460
Merge pull request #492 from actiontech/cb_rule_template
Jarvis1105 Jul 17, 2025
18e50e8
feat: add data export rule template fields to SQLEConfig in db_service
iwanghc Jul 17, 2025
7d120aa
gen swagger: add data export rule template to SQLConfig in db service
iwanghc Jul 17, 2025
267c7b5
Merge pull request #493 from actiontech/cb_rule_template
BugsGuru Jul 17, 2025
207c81d
feat: enhance SQLEConfig by adding DataExportRuleTemplate fields acro…
iwanghc Jul 17, 2025
f3a88a7
add: add i18n content
iwanghc Jul 17, 2025
f5f6c55
Merge pull request #494 from actiontech/cb_rule_template
winfredLIN Jul 18, 2025
3dbc3b6
feat(oauth2): support redirect to original page after login
LordofAvernus Jul 18, 2025
a678197
feat(oauth2): support redirect to original page after login
LordofAvernus Jul 18, 2025
89cf8ee
feat(oauth): extract target path from state for post-login redirect
LordofAvernus Jul 18, 2025
d9dad6c
Merge pull request #495 from actiontech/oauth2_redirect
iwanghc Jul 18, 2025
287a225
feat(service): enhance HTTPS security with custom TLS configuration
BugsGuru Jul 25, 2025
fd845c0
Merge pull request #498 from actiontech/enhance-https-security
Jarvis1105 Jul 25, 2025
e36ee3b
fix: NameOpPermissionManageApprovalTemplate toml
Jarvis1105 Jul 30, 2025
28a55ae
Merge pull request #499 from actiontech/fix_toml
winfredLIN Jul 31, 2025
9935460
feat(permission): add view SQL insight permission
BugsGuru Jul 31, 2025
badd51c
feat(i18nPkg): add stack trace for nil msg error and improve logging
BugsGuru Jul 31, 2025
9d9634b
Merge pull request #500 from actiontech/sql-insight-perm
Jarvis1105 Jul 31, 2025
6b0ecaa
fix: membergroup permission clear
Jarvis1105 Jul 31, 2025
805dc64
fix: duplicate permission in member list
Jarvis1105 Jul 31, 2025
055a9c7
fix: exist by map struct
Jarvis1105 Jul 31, 2025
b3487ae
fix: error return
Jarvis1105 Jul 31, 2025
2079d0e
Merge pull request #501 from actiontech/fix_member_list
iwanghc Jul 31, 2025
90a557e
build: improve tag retrieval and sorting in Makefile
BugsGuru Aug 1, 2025
5349889
Merge pull request #502 from actiontech/fix-build-git-tag
LordofAvernus Aug 1, 2025
654c5db
build: remove leading and trailing spaces from PROJECT_VERSION
BugsGuru Aug 4, 2025
b9b36da
Merge pull request #504 from actiontech/fix-building-project-version
LordofAvernus Aug 4, 2025
950d95b
feat: add dbtype `obmysql` for data export
LordofAvernus Aug 6, 2025
f6ca0d7
Merge pull request #505 from actiontech/feat-dataexport
Jarvis1105 Aug 7, 2025
c3993e0
feat: add i18n for data workflow notify
Jarvis1105 Aug 15, 2025
ad60e92
fix: remove unused param currentUserId
Jarvis1105 Aug 15, 2025
b3892f9
feat: add api for notify content
Jarvis1105 Aug 15, 2025
c275333
feat: definition of model/biz SystemVariable
Jarvis1105 Aug 19, 2025
cccdb87
feat: system variable api definition
Jarvis1105 Aug 19, 2025
e8b0995
feat: system variable update/get service impl
Jarvis1105 Aug 19, 2025
60ec279
fix: swagger api
Jarvis1105 Aug 19, 2025
177854f
fix: swagger api update system variable has no response
Jarvis1105 Aug 19, 2025
32ce3c2
Merge pull request #507 from actiontech/feat_data_workflow_notify
winfredLIN Aug 19, 2025
d40f24c
fix: missing i18n
Jarvis1105 Aug 19, 2025
6009442
fix: notify data export workflow users
Jarvis1105 Aug 19, 2025
7da0e88
Merge pull request #510 from actiontech/opt_data_export_notify
BugsGuru Aug 20, 2025
13bfa37
fix: add system_variable api for rpc
Jarvis1105 Aug 20, 2025
7faf646
fix: swagger change
Jarvis1105 Aug 20, 2025
1ab9cae
fix: NewCbOperationLogUsecase need system variable
Jarvis1105 Aug 20, 2025
57a6c1c
Merge pull request #511 from actiontech/feat_sys_var
winfredLIN Aug 20, 2025
9430e6b
fix: add SystemVariableSSHPrimaryKey SystemVariableWorkflowExpiredHou…
Jarvis1105 Aug 20, 2025
07ab787
fix: error UpdateSystemVariables
Jarvis1105 Aug 20, 2025
0cb2cf9
Merge pull request #512 from actiontech/feat_sys_var_opt
iwanghc Aug 20, 2025
eb4a8f9
fix: add SystemVariableSqlManageRawExpiredHours for system variable
Jarvis1105 Aug 20, 2025
148ef0d
Merge pull request #513 from actiontech/feat_sys_var_sm
winfredLIN Aug 20, 2025
5156355
fix: update system var error
Jarvis1105 Aug 20, 2025
a20718a
fix: remove permission check
Jarvis1105 Aug 21, 2025
12262ab
Revert "fix: remove permission check"
Jarvis1105 Aug 21, 2025
cd3d214
Merge pull request #514 from actiontech/fix_upd_sys_val
BugsGuru Aug 21, 2025
886556c
fix: business tag add fuzz_keyword
Jarvis1105 Aug 25, 2025
4d2a989
fix: list project v2 add fuzz_keyword
Jarvis1105 Aug 25, 2025
d0d9727
fix: list users add fuzz_keyword
Jarvis1105 Aug 25, 2025
3030b72
fix: update swagger
Jarvis1105 Aug 25, 2025
cb514a3
fix(cloudbeaver): optimize cloudbeaver user existence check
BugsGuru Aug 26, 2025
72f5d1b
Merge pull request #519 from actiontech/fix-cb-user-fuzzy-query
Jarvis1105 Aug 27, 2025
5919490
Merge pull request #518 from actiontech/fix_query_like
iwanghc Aug 27, 2025
a24c776
feat: add system for user conf
Jarvis1105 Sep 9, 2025
a410321
feat: swagger update
Jarvis1105 Sep 9, 2025
61f903f
Added github issue report and new feature suggestion templates
LordofAvernus Sep 12, 2025
398f5b7
Create puul request template.md
LordofAvernus Sep 12, 2025
b857bad
Merge pull request #525 from actiontech/issue_template
winfredLIN Sep 12, 2025
238cac3
add rules
LordofAvernus Aug 15, 2025
768ce8a
fix typo
LordofAvernus Sep 12, 2025
06253da
Merge pull request #526 from actiontech/cursor_rule
iwanghc Sep 15, 2025
ebfdcd9
Merge pull request #523 from actiontech/feat_system_prop
BugsGuru Sep 15, 2025
ced4bfc
feat: dms echo proxy odc and get odc url api
Jarvis1105 Sep 28, 2025
4f24f17
fix: rename CloudbeaverController to SqlWorkbenchController
Jarvis1105 Sep 28, 2025
308c02a
feat: define SqlWorkbenchUserCache SqlWorkbenchDatasourceCache model …
Jarvis1105 Sep 28, 2025
a496fee
feat: define SqlWorkbenchOpts
Jarvis1105 Sep 28, 2025
27243e3
feat: add sql workbench client
Jarvis1105 Sep 28, 2025
ec1f176
feat: define sql workbench service
Jarvis1105 Sep 28, 2025
7c2ade1
fix: remove https config
Jarvis1105 Sep 28, 2025
33ae690
fix: remove cookie print
Jarvis1105 Sep 28, 2025
45e9526
fix: code opt extract login
Jarvis1105 Sep 28, 2025
5a163e2
fix: distinct ResetDbServiceByAuth ce/ee
Jarvis1105 Sep 28, 2025
1dd6dd0
fix: remove sql workbench datasource when no dbServices in dms
Jarvis1105 Sep 28, 2025
4cbdee0
fix: remove http.MethodGet condition
Jarvis1105 Sep 28, 2025
a12841e
fix: convertDBType
Jarvis1105 Sep 28, 2025
cdc4e90
fix: GetSqlWorkbenchUserByDMSUserID ErrRecordNotFound
Jarvis1105 Sep 28, 2025
959a25f
Merge pull request #530 from actiontech/feat_odc_merge
LordofAvernus Sep 28, 2025
71b78cc
fix: remove opts EnableHttps
Jarvis1105 Sep 29, 2025
31e3e51
Merge pull request #531 from actiontech/fix_workbench_options
BugsGuru Sep 29, 2025
d55410a
fix: oracle connect failed
Jarvis1105 Sep 29, 2025
a5b9e37
fix: merge code into getUserCookie
Jarvis1105 Sep 29, 2025
41715ed
fix: extract method: buildDatasourceBaseInfo
Jarvis1105 Sep 29, 2025
2320635
Merge pull request #532 from actiontech/fix_oracle_connect_failed
LordofAvernus Sep 29, 2025
f496d0e
fix: odc username remove DMS- prefix
Jarvis1105 Sep 29, 2025
fa2dde9
Merge pull request #533 from actiontech/fix_username
LordofAvernus Sep 29, 2025
f3092dd
feat: add api list all data export workflows
Jarvis1105 Sep 29, 2025
9a79628
feat: swagger api definition
Jarvis1105 Sep 29, 2025
95934ab
fix: update list all data export workflows id
Jarvis1105 Sep 29, 2025
cc7ad82
fix: update list all data export workflows id swagger
Jarvis1105 Sep 29, 2025
45ed562
fix: add project name for list data export workflow
Jarvis1105 Sep 29, 2025
fbe873c
fix: add project name for list data export workflow swagger
Jarvis1105 Sep 29, 2025
91fe659
Merge pull request #534 from actiontech/feat_all_workflow
LordofAvernus Sep 29, 2025
24375ba
feat: add debug logging configuration for GORM
LordofAvernus Oct 10, 2025
658118a
Merge pull request #535 from actiontech/fix_gorm_debug
iwanghc Oct 10, 2025
ff08390
feat: add global data export workflow query interface
iwanghc Oct 24, 2025
c28aaea
gen swagger: add global data export workflow api
iwanghc Oct 24, 2025
03e126c
feat: implement GetGlobalWorkflowsList API and update related data st…
iwanghc Oct 24, 2025
2ac0b6f
feat: add GetUserIncludeDeleted method to UserRepo and corresponding …
iwanghc Oct 24, 2025
f13a5f2
Merge pull request #536 from actiontech/global_data_export_ce
BugsGuru Oct 24, 2025
e153d9a
feat: introduce data export workflow structures and API for listing w…
iwanghc Oct 24, 2025
b10852a
refactor: do not update users cache when get method that include dele…
iwanghc Oct 27, 2025
be2b8f9
refactor: update creater assignment logic in data export workflow met…
iwanghc Oct 27, 2025
49e16c8
Merge pull request #537 from actiontech/global_data_export_ce
winfredLIN Oct 27, 2025
96edd38
feat(notification): enhance data export workflow notification messages
BugsGuru Oct 27, 2025
9009134
Merge pull request #538 from actiontech/update-notification-ce
LordofAvernus Oct 31, 2025
39cfed7
fix: increase default timeout value in HTTP call to 30 minutes
LordofAvernus Oct 31, 2025
a5f45dd
Merge pull request #539 from actiontech/fix-682-ce
winfredLIN Oct 31, 2025
a974109
feat(odc): implement multi-zone ODC session management with caching a…
BugsGuru Nov 4, 2025
d9222a2
fix: enhance SqlWorkbench login functionality to ensure proper UTF-8 …
BugsGuru Nov 7, 2025
0916f7d
Merge pull request #541 from actiontech/fix-odc-ce
iwanghc Nov 14, 2025
7a55b03
chore: update go module dependencies
LordofAvernus Nov 12, 2025
7039b6a
chore: adjust build for cloudbeaver integration
LordofAvernus Nov 12, 2025
b700835
feat: refresh cloudbeaver package artifacts
LordofAvernus Nov 12, 2025
7a7124e
feat: extend cloudbeaver biz workflow
LordofAvernus Nov 12, 2025
dffc3d5
Merge pull request #551 from actiontech/support_cb_25_ce
BugsGuru Nov 27, 2025
6ba6a0d
feat: cb audit add sql type
BugsGuru Nov 24, 2025
4c25e16
feat: add WorkflowExecEnabled field to sql query config
BugsGuru Nov 27, 2025
7b4a495
feat: add WorkflowID to CBOperationLog and implement SaveCbOpLogForWo…
BugsGuru Nov 27, 2025
b045c5d
feat: add getContextSchema method for execution context
BugsGuru Nov 27, 2025
273c929
feat: implement checkWorkflowPermission method to validate user permi…
BugsGuru Nov 27, 2025
bb066cb
feat: add AutoCreateAndExecuteWorkflow method for automated workflow …
BugsGuru Nov 27, 2025
a1c9342
feat: implement workflow execution for non-DQL statements
BugsGuru Nov 27, 2025
9bfadad
feat: update swagger
BugsGuru Nov 27, 2025
cca36a7
feat: refactor getContextSchema to use GraphQL query from CloudBeaver…
BugsGuru Nov 28, 2025
d3c97e3
feat: refactor HTTP request handling in Cloudbeaver and system variab…
BugsGuru Nov 28, 2025
b058833
Merge pull request #552 from actiontech/exec-by-workflow-ce
LordofAvernus Nov 28, 2025
3a72dda
feat: sql workbench audit
Jarvis1105 Nov 28, 2025
018ddb5
feat: add operation log middleware for SQL Workbench and update route…
BugsGuru Nov 28, 2025
15b17d0
feat: enhance SQL query configuration to include ODC query settings
BugsGuru Nov 5, 2025
3c9c0e6
refactor: move Gzip utility functions to a new utils package and upda…
BugsGuru Nov 28, 2025
4f6ab5d
Merge pull request #554 from actiontech/odc-op-log-ce
LordofAvernus Nov 28, 2025
51be7fb
feat: add approval reminder message for data export workflow in Engli…
LordofAvernus Dec 1, 2025
bb03b51
Merge pull request #556 from actiontech/export_workflow_notify
Jarvis1105 Dec 3, 2025
d3b9eba
Merge branch 'main' into feat_sqlworkbench_audit
Jarvis1105 Dec 4, 2025
d8cf708
fix: sql workbench sql audit
Jarvis1105 Dec 4, 2025
39a1bb8
fix: map audit rule level
Jarvis1105 Dec 4, 2025
a61ff09
fix: code opt
Jarvis1105 Dec 4, 2025
b2c0d4f
feat: introduce filter logic and condition grouping for enhanced quer…
LordofAvernus Dec 4, 2025
c7e6e33
refactor: enhance filtering logic for operation logs by consolidating…
LordofAvernus Dec 4, 2025
61c9c18
refactor: biz enhance filtering logic for operation logs by consolida…
LordofAvernus Dec 4, 2025
69ccd38
refactor: update filtering options in various data structures to use …
LordofAvernus Dec 4, 2025
8575bbd
refactor: unify filtering approach across services by implementing Fi…
LordofAvernus Dec 4, 2025
d01c2fc
refactor: implement FilterByOptions across various repositories to st…
LordofAvernus Dec 4, 2025
12b0149
fix: save audit failed operation log
Jarvis1105 Dec 4, 2025
d26304d
feat: enhance DirectAuditParams with InstanceName and SchemaName
BugsGuru Dec 4, 2025
a7defaf
Merge pull request #558 from actiontech/workbench-audit-online
LordofAvernus Dec 5, 2025
f43f393
fix: decode gzip by utils and remove auditSQLReply
Jarvis1105 Dec 5, 2025
938bae1
refactor: enhance role filtering logic by integrating FilterByOptions…
LordofAvernus Dec 5, 2025
cb3763b
Merge pull request #559 from actiontech/support_filter_condition
BugsGuru Dec 5, 2025
c482c42
Merge pull request #553 from actiontech/feat_sqlworkbench_audit
BugsGuru Dec 5, 2025
afeaf58
fix: sql server type error
Jarvis1105 Dec 31, 2025
52b92d4
Merge pull request #563 from actiontech/feat_sql_server
LordofAvernus Dec 31, 2025
ef71314
fix: SQL Workbench is unable to execute SQL
Jan 15, 2026
e3e5107
Merge pull request #566 from actiontech/fix/sql_workbench
LordofAvernus Jan 15, 2026
f863a9a
feat: add operation record management functionality ce
BugsGuru Jan 20, 2026
b6a8b5a
feat: add user permission verification for operation record management
BugsGuru Jan 20, 2026
f70a52f
feat: enhance operation record filtering with user permissions ce
BugsGuru Jan 20, 2026
e223a8a
feat: enhance login operation recording for OAuth2
BugsGuru Jan 22, 2026
d3c0a56
chore: update swagger
BugsGuru Jan 20, 2026
40fa504
Merge pull request #567 from actiontech/refactor-operation-record-ce
iwanghc Jan 29, 2026
7835982
feat: add support for Hive database in Cloudbeaver connection parameters
LordofAvernus Nov 13, 2025
8d0f87e
feat: add support for DM database type in CloudbeaverUsecase
BugsGuru Feb 5, 2026
7d07705
Merge pull request #568 from actiontech/feat-cb-dameng
LordofAvernus Feb 5, 2026
fabdec9
feat: add support for GaussDB database type in CloudbeaverUsecase
BugsGuru Feb 12, 2026
7bedfdb
Merge pull request #569 from actiontech/feat-cb-gaussdb
winfredLIN Feb 12, 2026
be0ae0d
feat: enhance cron task and operation record management
BugsGuru Feb 25, 2026
73b6d6f
fix: failed to get role while role has been deleted
winfredLIN Feb 26, 2026
e7a6fae
feat: add support for Hive and DM database types in constant definitions
BugsGuru Feb 27, 2026
5414648
fix: database type export support check
BugsGuru Feb 27, 2026
1794730
Merge pull request #571 from actiontech/commit/fix469ce
iwanghc Feb 27, 2026
392ff59
Merge pull request #572 from actiontech/feat-data-export-ce
LordofAvernus Feb 27, 2026
ec8fff6
feat: add isExecuteAnyway logic to CloudbeaverUsecase
BugsGuru Feb 2, 2026
dd45b27
fix: update audit failure messages for clarity
BugsGuru Feb 2, 2026
04c8f08
Merge pull request #573 from actiontech/feat-cb-execute-anyway
winfredLIN Feb 27, 2026
7a8dac7
feat: add operation record middleware and related functionality
BugsGuru Feb 26, 2026
e8521c4
Merge pull request #574 from actiontech/feat-operation-record-ce
iwanghc Mar 2, 2026
56372ad
feat: enhance localization for operation records
BugsGuru Mar 5, 2026
7278847
Merge pull request #576 from actiontech/feat-operation-record-ce
winfredLIN Mar 6, 2026
740b52c
feat: add duplicate workflow name validation and localization support
winfredLIN Mar 10, 2026
9fd51a9
Merge pull request #578 from actiontech/commit/optimize-error
BugsGuru Mar 10, 2026
153614c
Add custom HTTP error handler to APIServer
winfredLIN Mar 11, 2026
1f29293
Add localized error messages for SQL Workbench audit functionality in…
winfredLIN Mar 11, 2026
22222a2
Merge pull request #580 from actiontech/commit/optimize-error-feedback
iwanghc Mar 12, 2026
1570732
chore: update swagger binary for API server to 0.33.1
winfredLIN Mar 12, 2026
386e22b
feat: add check for Swagger version compatibility in Makefile
winfredLIN Mar 12, 2026
0694f74
docs: update swagger enum definition use new rule
winfredLIN Mar 12, 2026
89e65f6
docs: make gen swagger
winfredLIN Mar 12, 2026
00caf7a
Merge pull request #582 from actiontech/commit/update-swagger-generator
LordofAvernus Mar 12, 2026
375496f
feat(user): add filtering options for email, phone, status, authentic…
LordofAvernus Jan 6, 2026
7668297
feat(user): enhance fuzzy search functionality to include uid, email,…
LordofAvernus Jan 6, 2026
4c9574a
gen swagger
LordofAvernus Mar 20, 2026
1bc8081
feat(user): update user status filtering to use string enums
LordofAvernus Mar 20, 2026
303ef85
gen swag
LordofAvernus Mar 20, 2026
da2c9ca
Merge pull request #583 from actiontech/support-564
BugsGuru Mar 20, 2026
3b4ea84
feat(api): add company notice time window and admin query
LordofAvernus Mar 20, 2026
22ae481
feat(controller): add company notice query and auth user
LordofAvernus Mar 20, 2026
d0c4c45
feat(biz/ce): extend company notice fields
LordofAvernus Mar 20, 2026
0cfde2c
feat(service): wire company notice time window
LordofAvernus Mar 20, 2026
d8d635a
feat: add start and end time fields to CompanyNotice model
LordofAvernus Mar 18, 2026
8e23cd2
Merge pull request #585 from actiontech/company-notice-ce
iwanghc Mar 20, 2026
7f0dbbc
feat(company-notice): add CreateUserUID to CompanyNotice model and up…
LordofAvernus Mar 20, 2026
6c28d99
Merge pull request #586 from actiontech/company-notice-ce
iwanghc Mar 20, 2026
2292eee
feat(timeutil): add utility functions for UTC time conversion
LordofAvernus Mar 25, 2026
370e24a
Merge pull request #587 from actiontech/fix-company-notice
winfredLIN Mar 25, 2026
ec88ac5
feat(locale): add maintenance time block message for SQL Workbench in…
BugsGuru Mar 26, 2026
a9d474c
feat(sql-query-config): add MaintenancePeriods field to SQLEConfig an…
BugsGuru Mar 26, 2026
0ed1324
feat(maintenance-time): implement maintenance time control logic and …
BugsGuru Mar 26, 2026
f1ef43a
feat(dms): integrate MaintenanceTimeUsecase into DMSService and Cloud…
BugsGuru Mar 26, 2026
0a5fd4a
refactor(api): update swagger definitions and remove DateTime type
BugsGuru Mar 26, 2026
471a36b
Merge pull request #588 from actiontech/feat-maintenace-time-ce
LordofAvernus Mar 27, 2026
3c1dd62
ce feat: enhance Cloudbeaver use case with SQL result masking capabil…
winfredLIN Mar 24, 2026
155719c
ce feat: add masking audit permission and update related localization
winfredLIN Mar 24, 2026
a997a22
refactor: remove masking switch references and introduce masking task…
winfredLIN Mar 24, 2026
105f35e
ce feat: add GetURL method to ProxyTarget for URL retrieval
winfredLIN Mar 24, 2026
92e8cc2
feat: enhance data export workflow with masking configuration and tas…
winfredLIN Mar 24, 2026
9946a04
refactor: remove data masking switch from DBService and update maskin…
winfredLIN Mar 24, 2026
da97f62
ce docs: make swagger
winfredLIN Mar 24, 2026
38ff2dd
ce remove: delete enterprise and community edition data masking files
winfredLIN Mar 24, 2026
722c4bb
ce feat: introduce data masking configuration and sensitive data disc…
winfredLIN Mar 24, 2026
2b4a50c
ce refactor: update API definitions for data masking
winfredLIN Mar 24, 2026
1665b32
ce feat: enhance data masking API with new endpoints and parameters
winfredLIN Mar 25, 2026
af64cea
ce fix: update Swagger definitions and add new task status
winfredLIN Mar 25, 2026
c1bf97d
ce feat: enhance data masking functionality with user-specific config…
winfredLIN Mar 25, 2026
43f36ae
fix: update Swagger definitions and improve sensitive data discovery …
winfredLIN Mar 26, 2026
72f9534
docs: update swagger
winfredLIN Mar 30, 2026
fd8f0c8
chore: update file change prevention pattern in GitHub Actions workflow
winfredLIN Mar 30, 2026
1fcedc6
Merge pull request #589 from actiontech/commit/data-masking
LordofAvernus Apr 2, 2026
a055461
feat: support multi-level approval flow for data export workflow (CE)
LordofAvernus Apr 8, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
54 changes: 54 additions & 0 deletions .cursor/rules/clean-code.mdc
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
---
alwaysApply: true
---
# Clean Code Guidelines

## Constants Over Magic Numbers
- Replace hard-coded values with named constants
- Use descriptive constant names that explain the value's purpose
- Keep constants at the top of the file or in a dedicated constants file

## Meaningful Names
- Variables, functions, and classes should reveal their purpose
- Names should explain why something exists and how it's used
- Avoid abbreviations unless they're universally understood

## Smart Comments
- Don't comment on what the code does - make the code self-documenting
- Use comments to explain why something is done a certain way
- Document APIs, complex algorithms, and non-obvious side effects

## Single Responsibility
- Each function should do exactly one thing
- Functions should be small and focused
- If a function needs a comment to explain what it does, it should be split

## DRY (Don't Repeat Yourself)
- Extract repeated code into reusable functions
- Share common logic through proper abstraction
- Maintain single sources of truth

## Clean Structure
- Keep related code together
- Organize code in a logical hierarchy
- Use consistent file and folder naming conventions

## Encapsulation
- Hide implementation details
- Expose clear interfaces
- Move nested conditionals into well-named functions

## Code Quality Maintenance
- Refactor continuously
- Fix technical debt early
- Leave code cleaner than you found it

## Testing
- Write tests before fixing bugs
- Keep tests readable and maintainable
- Test edge cases and error conditions

## Version Control
- Write clear commit messages
- Make small, focused commits
- Use meaningful branch names
46 changes: 46 additions & 0 deletions .cursor/rules/codequality.mdc
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
---
alwaysApply: true
---
# Code Quality Guidelines

## Verify Information
Always verify information before presenting it. Do not make assumptions or speculate without clear evidence.

## File-by-File Changes
Make changes file by file and give me a chance to spot mistakes.

## No Apologies
Never use apologies.

## No Understanding Feedback
Avoid giving feedback about understanding in comments or documentation.

## No Whitespace Suggestions
Don't suggest whitespace changes.

## No Summaries
Don't summarize changes made.

## No Inventions
Don't invent changes other than what's explicitly requested.

## No Unnecessary Confirmations
Don't ask for confirmation of information already provided in the context.

## Preserve Existing Code
Don't remove unrelated code or functionalities. Pay attention to preserving existing structures.

## Single Chunk Edits
Provide all edits in a single chunk instead of multiple-step instructions or explanations for the same file.

## No Implementation Checks
Don't ask the user to verify implementations that are visible in the provided context.

## No Unnecessary Updates
Don't suggest updates or changes to files when there are no actual modifications needed.

## Provide Real File Links
Always provide links to the real files, not x.md.

## No Current Implementation
Don't show or discuss the current implementation unless specifically requested.
48 changes: 48 additions & 0 deletions .cursor/rules/dms/biz.mdc
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
---
description:
globs:
alwaysApply: false
---


#### Biz Layer Implementation Guidelines (`internal/dms/biz/`)
- Use usecase pattern for business logic:
```go
type SomeUsecase struct {
repo Repository
// Other dependencies
}
```
- Define clear domain models:
```go
type DomainModel struct {
UID string
// Domain-specific fields
}
```
- Implement business validation:
```go
func (u *SomeUsecase) validateData(ctx context.Context, data *DomainModel) error {
if err := u.validateBusinessRules(data); err != nil {
return fmt.Errorf("business validation failed: %v", err)
}
return nil
}
```
- Handle state transitions:
```go
func (u *SomeUsecase) UpdateState(ctx context.Context, model *DomainModel, newState State) error {
if !model.CanTransitionTo(newState) {
return pkgErr.ErrInvalidStateTransition
}
// Update state
}
```
- Define repository interfaces:
```go
type DBModelRepository interface {
Create(ctx context.Context, model *DomainModel) error
Update(ctx context.Context, model *DomainModel) error
// Other methods
}
```
69 changes: 69 additions & 0 deletions .cursor/rules/dms/dms-api-standards.mdc
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
---
description: DMS project API architecture, development standards, and implementation guidelines. Apply these rules when working with DMS API code to ensure consistency with existing patterns and maintainability.
globs:
- "internal/apiserver/**/*.go"
- "api/**/*.go"
- "pkg/dms-common/**/*.go"
---

# DMS API Standards

## Framework and Architecture
- Use Echo v4 as the web framework for all HTTP handling
- Maintain Go 1.19+ compatibility
- Follow layered architecture: API -> Service -> Business Logic
- Support both v1 and v2 API versions with proper versioning strategy
- Use JWT authentication with echo-jwt middleware

## API Versioning
- Implement versioned routes: `/v1/dms/`, `/v2/dms/`
- Keep v1 APIs backward compatible
- Introduce new features in v2 first
- Use route groups for version management
- Mark deprecated endpoints with `DeprecatedBy()` function


## Routing Standards
- Organize routes in `router.go` by functional modules
- Use Echo route groups for logical separation
- Apply middleware selectively to specific route groups
- Support RESTful resource patterns: `GET /resource`, `POST /resource`, `PUT /resource/:id`, `DELETE /resource/:id`
- Implement proper HTTP method handling for each endpoint

## Request and Response Handling
- Use `base.GenericResp` for consistent response structure
- Implement proper request validation with validator tags
- Support JSON and form data binding
- Return standardized error codes using `apiError.ErrorCode`
- Include proper HTTP status codes in responses

## Data Models
- Define all API models in `api/dms/service/v1/` and `api/dms/service/v2/`
- Use consistent naming: `{Action}{Resource}Req` for requests, `{Action}{Resource}Reply` for responses
- Include proper JSON tags and validation rules
- Support pagination, filtering, and sorting where appropriate
- Use `UidWithName` struct for common identifier patterns

## Error Handling
- Implement centralized error handling in controllers
- Use predefined error codes from `apiError` package
- Log errors with appropriate context and stack traces
- Return user-friendly error messages
- Support internationalization for error messages

## Security Implementation
- Enable HTTPS with TLS 1.2+ configuration
- Implement JWT token validation and refresh
- Use role-based access control (RBAC)
- Validate all input parameters and request data
- Implement proper session management and timeout

## Middleware Usage
- Apply authentication middleware to protected routes
- Use compression middleware for response optimization
- Implement logging middleware for request tracking
- Apply rate limiting where necessary
- Use custom middleware for business-specific concerns

## Swagger Documentation Standards
@swagger-documentation-standards.mdc
123 changes: 123 additions & 0 deletions .cursor/rules/dms/dms-development.mdc
Original file line number Diff line number Diff line change
@@ -0,0 +1,123 @@
---
alwaysApply: true
---
# DMS Architecture Standards

## Layered Architecture Design

### API Definition Layer (`api/`)
- Define Request and Response structures
@dms-api-standards.mdc
- Version-controlled API definitions (v1, v2, etc.)

### API Layer (`internal/apiserver/service/route.go`)
- Implement RESTful API design standards
- Handle HTTP requests and responses
- Implement request parameter binding and validation
- Unified error handling and response format
- Route registration and middleware configuration

#### Controller Implementation Guidelines(`internal/apiserver/service/*_controller.go`)
- Use `DMSController` struct for controller implementation
- Include service dependencies and logger in controller struct
- Use swagger annotations for API documentation
@dms-api-standards.mdc
- Follow standard error handling pattern:
```go
func (ctl *DMSController) MethodName(c echo.Context) error {
req := new(aV1.RequestStruct)
err := bindAndValidateReq(c, req)
if nil != err {
return NewErrResp(c, err, apiError.BadRequestErr)
}
// Business logic
return NewOkRespWithReply(c, reply)
}
```


### Service Layer (`internal/dms/service/`)
- Implement business process orchestration without specific business rules
- Handle transaction control and concurrency
- Combine multiple Biz layer interfaces to complete business functions
- Business parameter validation

#### Service Implementation Guidelines
- Use service struct with required dependencies:
```go
type DMSService struct {
// Biz layer dependencies
BusinessUsecase *biz.BusinessUsecase
// Other dependencies
}
```
- Follow standard method signature pattern:
```go
func (d *DMSService) MethodName(ctx context.Context, req *dmsV1.RequestStruct, currentUserUid string) (reply *dmsV1.ReplyStruct, err error)
```
- Handle request transformation:
```go
// Transform API request to biz layer args
args := &biz.SomeStruct{
Field1: req.Field1,
Field2: req.Field2,
}
```
- Proper error handling and wrapping:
```go
if err != nil {
return nil, fmt.Errorf("operation failed: %v", err)
}
```
- Standard response structure:
```go
return &dmsV1.ReplyStruct{
Data: struct {
Field string `json:"field"`
}{Field: value},
}, nil
```

### Biz Layer (`internal/dms/biz/`)
- Implement core business logic of domain models
- Define domain object behaviors and rules
- Independent of specific storage implementations
- Include business rule validation
- Implement core features like permission verification
@biz.mdc

### Storage Layer (`internal/{module}/storage/`)
- Implement data access interfaces
- Implement DBModelRepository interface,Handle database CRUD operations
- Support multiple storage implementations
- Contains no business logic
@storage.mdc


## Development Standards

### Dependency Principles
- Each layer maintains single responsibility, no cross-layer calls
- Upper layers depend on lower layers, no reverse dependencies
- Isolate dependencies through interfaces
- Follow Clean Code principles

### Testing Requirements
- Write unit tests for all controller methods
- Implement integration tests for complete API flows
- Use `testify` library for assertions and mocking
- Maintain test coverage above 80%
- Test both success and error scenarios

### Logging Standards
- Use structured logging with consistent field naming
- Include essential context fields in all log entries
- Follow proper log level classification for different types of messages
- Ensure logs are searchable and traceable across distributed systems

### Module Development Guidelines
- Each module should follow the layered architecture
- Implement related functionality in corresponding directories
- When adding new APIs, first define interfaces and data structures in the api directory
- Then implement corresponding functionality in each layer
- Maintain module independence and low coupling
Loading