├── .idea ├── compiler.xml ├── encodings.xml ├── libraries │ ├── Maven__ch_qos_logback_logback_classic_1_1_11.xml │ ├── Maven__ch_qos_logback_logback_core_1_1_11.xml │ ├── Maven__com_alibaba_druid_1_1_10.xml │ ├── Maven__com_alibaba_druid_spring_boot_starter_1_1_10.xml │ ├── Maven__com_alibaba_fastjson_1_2_46.xml │ ├── Maven__com_fasterxml_classmate_1_3_4.xml │ ├── Maven__com_fasterxml_jackson_core_jackson_annotations_2_8_0.xml │ ├── Maven__com_fasterxml_jackson_core_jackson_core_2_8_10.xml │ ├── Maven__com_fasterxml_jackson_core_jackson_databind_2_8_10.xml │ ├── Maven__com_github_jsqlparser_jsqlparser_1_4.xml │ ├── Maven__com_google_protobuf_protobuf_java_2_6_0.xml │ ├── Maven__com_jayway_jsonpath_json_path_2_2_0.xml │ ├── Maven__com_microsoft_sqlserver_sqljdbc4_4_1.xml │ ├── Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml │ ├── Maven__commons_beanutils_commons_beanutils_1_9_3.xml │ ├── Maven__commons_codec_commons_codec_1_10.xml │ ├── Maven__commons_collections_commons_collections_3_2_2.xml │ ├── Maven__javax_validation_validation_api_1_1_0_Final.xml │ ├── Maven__junit_junit_4_12.xml │ ├── Maven__mysql_mysql_connector_java_8_0_11.xml │ ├── Maven__net_minidev_accessors_smart_1_1.xml │ ├── Maven__net_minidev_json_smart_2_2_1.xml │ ├── Maven__net_sf_ehcache_ehcache_core_2_5_3.xml │ ├── Maven__org_apache_commons_commons_lang3_3_8_1.xml │ ├── Maven__org_apache_httpcomponents_httpclient_4_5_5.xml │ ├── Maven__org_apache_httpcomponents_httpclient_4_5_8.xml │ ├── Maven__org_apache_httpcomponents_httpcore_4_4_9.xml │ ├── Maven__org_apache_shiro_shiro_core_1_3_2.xml │ ├── Maven__org_apache_shiro_shiro_ehcache_1_3_2.xml │ ├── Maven__org_apache_shiro_shiro_spring_1_3_2.xml │ ├── Maven__org_apache_shiro_shiro_web_1_3_2.xml │ ├── Maven__org_apache_tomcat_embed_tomcat_embed_core_8_5_27.xml │ ├── Maven__org_apache_tomcat_embed_tomcat_embed_el_8_5_27.xml │ ├── Maven__org_apache_tomcat_embed_tomcat_embed_websocket_8_5_27.xml │ ├── Maven__org_apache_tomcat_tomcat_annotations_api_8_5_27.xml │ ├── Maven__org_apache_tomcat_tomcat_jdbc_8_5_27.xml │ ├── Maven__org_apache_tomcat_tomcat_juli_8_5_27.xml │ ├── Maven__org_aspectj_aspectjweaver_1_8_13.xml │ ├── Maven__org_aspectj_aspectjweaver_1_8_3.xml │ ├── Maven__org_assertj_assertj_core_2_6_0.xml │ ├── Maven__org_hamcrest_hamcrest_core_1_3.xml │ ├── Maven__org_hamcrest_hamcrest_library_1_3.xml │ ├── Maven__org_hibernate_hibernate_validator_5_3_6_Final.xml │ ├── Maven__org_jboss_logging_jboss_logging_3_3_1_Final.xml │ ├── Maven__org_mockito_mockito_core_1_10_19.xml │ ├── Maven__org_mybatis_mybatis_3_4_5.xml │ ├── Maven__org_mybatis_mybatis_spring_1_3_1.xml │ ├── Maven__org_mybatis_spring_boot_mybatis_spring_boot_autoconfigure_1_3_1.xml │ ├── Maven__org_mybatis_spring_boot_mybatis_spring_boot_starter_1_3_1.xml │ ├── Maven__org_objenesis_objenesis_2_1.xml │ ├── Maven__org_ow2_asm_asm_5_0_3.xml │ ├── Maven__org_projectlombok_lombok_1_16_20.xml │ ├── Maven__org_skyscreamer_jsonassert_1_4_0.xml │ ├── Maven__org_slf4j_jcl_over_slf4j_1_7_25.xml │ ├── Maven__org_slf4j_jul_to_slf4j_1_7_25.xml │ ├── Maven__org_slf4j_log4j_over_slf4j_1_7_25.xml │ ├── Maven__org_slf4j_slf4j_api_1_7_25.xml │ ├── Maven__org_springframework_boot_spring_boot_1_5_10_RELEASE.xml │ ├── Maven__org_springframework_boot_spring_boot_1_5_19_RELEASE.xml │ ├── Maven__org_springframework_boot_spring_boot_autoconfigure_1_5_10_RELEASE.xml │ ├── Maven__org_springframework_boot_spring_boot_starter_1_5_10_RELEASE.xml │ ├── Maven__org_springframework_boot_spring_boot_starter_jdbc_1_5_10_RELEASE.xml │ ├── Maven__org_springframework_boot_spring_boot_starter_logging_1_5_10_RELEASE.xml │ ├── Maven__org_springframework_boot_spring_boot_starter_test_1_5_10_RELEASE.xml │ ├── Maven__org_springframework_boot_spring_boot_starter_tomcat_1_5_10_RELEASE.xml │ ├── Maven__org_springframework_boot_spring_boot_starter_web_1_5_10_RELEASE.xml │ ├── Maven__org_springframework_boot_spring_boot_test_1_5_10_RELEASE.xml │ ├── Maven__org_springframework_boot_spring_boot_test_autoconfigure_1_5_10_RELEASE.xml │ ├── Maven__org_springframework_spring_aop_4_3_14_RELEASE.xml │ ├── Maven__org_springframework_spring_beans_4_3_14_RELEASE.xml │ ├── Maven__org_springframework_spring_context_4_3_14_RELEASE.xml │ ├── Maven__org_springframework_spring_core_4_3_14_RELEASE.xml │ ├── Maven__org_springframework_spring_expression_4_3_14_RELEASE.xml │ ├── Maven__org_springframework_spring_jdbc_5_1_9_RELEASE.xml │ ├── Maven__org_springframework_spring_test_4_3_14_RELEASE.xml │ ├── Maven__org_springframework_spring_tx_4_3_14_RELEASE.xml │ ├── Maven__org_springframework_spring_web_4_3_14_RELEASE.xml │ ├── Maven__org_springframework_spring_webmvc_4_3_14_RELEASE.xml │ └── Maven__org_yaml_snakeyaml_1_17.xml ├── misc.xml ├── modules.xml ├── uiDesigner.xml ├── vcs.xml └── workspace.xml ├── README.md ├── kb-dms-backend ├── .gitignore ├── contract │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── bin │ │ └── kong │ │ └── dms │ │ └── contract │ │ ├── common │ │ ├── BaseResponse.java │ │ ├── BaseSearch.java │ │ ├── GenericResponse.java │ │ ├── PaginationResponse.java │ │ ├── ResponseState.java │ │ └── SearchListAndCountDO.java │ │ ├── config │ │ └── response │ │ │ ├── DatasourceForSearchResponse.java │ │ │ ├── DatasourcePermissionMemberResponse.java │ │ │ ├── DbResponse.java │ │ │ └── TableResponse.java │ │ ├── permission │ │ └── response │ │ │ └── SqlOptionsResponse.java │ │ ├── statistics │ │ └── response │ │ │ ├── GeneralBizCountResponse.java │ │ │ └── GeneralMonthTimelineResponse.java │ │ ├── user │ │ ├── entity │ │ │ └── RequestUserInfo.java │ │ └── request │ │ │ ├── LoginRequest.java │ │ │ ├── RegisterRequest.java │ │ │ ├── SqlEditorShareRequest.java │ │ │ └── UpdateUserInfoRequest.java │ │ └── utils │ │ └── SqlExeRequest.java ├── core │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── bin │ │ └── kong │ │ └── dms │ │ └── core │ │ ├── config │ │ └── ThreadPoolConfig.java │ │ ├── constants │ │ ├── CookieConstants.java │ │ ├── ResponseConstants.java │ │ └── UserInfoConstants.java │ │ ├── dynamicdatasource │ │ ├── DynamicDataExeUtils.java │ │ ├── DynamicDataSourceContextHolder.java │ │ ├── DynamicDataSourceUtils.java │ │ ├── DynamicSqlOptionTypeEntity.java │ │ ├── DynamicSqlOptionTypeWithDruidControl.java │ │ └── DynamicSqlSyntaxCheck.java │ │ ├── entity │ │ ├── MetaIndexEntity.java │ │ ├── Result.java │ │ ├── SqlExeResult.java │ │ ├── TableColumnAndIndexEntity.java │ │ ├── TableFieldEntity.java │ │ ├── TableIndexEntity.java │ │ └── TableInfoEntity.java │ │ ├── enums │ │ ├── BusGroupStatusEnum.java │ │ ├── DataSourceStatusEnum.java │ │ ├── DatasourceSearchTypeEnum.java │ │ ├── DatasourceTypeEnum.java │ │ ├── GroupSearchTypeEnum.java │ │ ├── SqlEditorActiveStatusEnum.java │ │ ├── SqlEditorOpenStatusEnum.java │ │ ├── SqlEditorStatusEnum.java │ │ ├── SqlExeRecordStatusEnum.java │ │ ├── SqlExeResultCountTypeForStatisticsEnum.java │ │ ├── SqlExeResultSearchByEnum.java │ │ ├── SqlExeResultSearchTypeEnum.java │ │ ├── SqlExeResultStatusEnum.java │ │ ├── SqlOptionTypeEnum.java │ │ ├── SqlOptionTypeEnumForPermission.java │ │ ├── SqlQuerySwitchEnum.java │ │ ├── SqlSyntaxCheckResultEnum.java │ │ └── SqlSyntaxErrorCountTypeForStatisticsEnum.java │ │ ├── exception │ │ ├── UserNotExistException.java │ │ └── UserStatusException.java │ │ ├── mybatis │ │ ├── DataSourceConfig.java │ │ └── MybatisConfigDms.java │ │ └── utils │ │ ├── DbUtils.java │ │ ├── HttpUtils.java │ │ ├── PPAesUtils.java │ │ └── PPStringUtils.java ├── dao │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── bin │ │ │ └── kong │ │ │ └── dms │ │ │ └── dao │ │ │ └── mapper │ │ │ ├── config │ │ │ ├── CfAdminConfigMapper.java │ │ │ ├── CfBusGroupMapper.java │ │ │ ├── CfBusGroupOwnersMapper.java │ │ │ ├── CfBusGroupUsersMapper.java │ │ │ ├── CfDatasourceMapper.java │ │ │ ├── CfDatasourceOwnersMapper.java │ │ │ ├── CfDatasourcePermissionMemberMapper.java │ │ │ └── CfDatasourcePermissionSqlOptionsMapper.java │ │ │ ├── join │ │ │ ├── BusGroupJoinOwnerMapper.java │ │ │ ├── DatasourceJoinGroupJoinOwnerMapper.java │ │ │ ├── DatasourceJoinGroupMapper.java │ │ │ └── SqlEditorTabJoinDatasourceMapper.java │ │ │ ├── result │ │ │ ├── RsSqlExeRecordMapper.java │ │ │ └── RsSqlExeResultMapper.java │ │ │ ├── statistics │ │ │ ├── StSqlExeBizTotalMapper.java │ │ │ ├── StSqlExeResultCountDayMapper.java │ │ │ ├── StSqlExeResultCountTimelineMapper.java │ │ │ ├── StSqlSyntaxErrorCountDayMapper.java │ │ │ └── StSqlSyntaxErrorCountTimelineMapper.java │ │ │ └── user │ │ │ ├── UsActiveSqlEditorTabMapper.java │ │ │ ├── UsFavoriteDatasourceMapper.java │ │ │ ├── UsFavoriteDbMapper.java │ │ │ ├── UsFavoriteGroupMapper.java │ │ │ ├── UsFavoriteTableMapper.java │ │ │ ├── UsSqlEditorTabMapper.java │ │ │ └── UserInfoMapper.java │ │ └── resources │ │ ├── generatorConfig.xml │ │ └── mybatis │ │ ├── configMapping │ │ ├── CfAdminConfigMapper.xml │ │ ├── CfBusGroupMapper.xml │ │ ├── CfBusGroupOwnersMapper.xml │ │ ├── CfBusGroupUsersMapper.xml │ │ ├── CfDatasourceMapper.xml │ │ ├── CfDatasourceOwnersMapper.xml │ │ ├── CfDatasourcePermissionMemberMapper.xml │ │ └── CfDatasourcePermissionSqlOptionsMapper.xml │ │ ├── joinMapping │ │ ├── BusGroupJoinOwnerMapper.xml │ │ ├── DatasourceJoinGroupJoinOwnerMapper.xml │ │ ├── DatasourceJoinGroupMapper.xml │ │ └── SqlEditorTabJoinDatasourceMapper.xml │ │ ├── resultMapping │ │ ├── RsSqlExeRecordMapper.xml │ │ └── RsSqlExeResultMapper.xml │ │ ├── statisticsMapping │ │ ├── StSqlExeBizTotalMapper.xml │ │ ├── StSqlExeResultCountDayMapper.xml │ │ ├── StSqlExeResultCountTimelineMapper.xml │ │ ├── StSqlSyntaxErrorCountDayMapper.xml │ │ └── StSqlSyntaxErrorCountTimelineMapper.xml │ │ └── userMapping │ │ ├── UsActiveSqlEditorTabMapper.xml │ │ ├── UsFavoriteDatasourceMapper.xml │ │ ├── UsFavoriteDbMapper.xml │ │ ├── UsFavoriteGroupMapper.xml │ │ ├── UsFavoriteTableMapper.xml │ │ ├── UsSqlEditorTabMapper.xml │ │ └── UserInfoMapper.xml ├── model │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── bin │ │ └── kong │ │ └── dms │ │ └── model │ │ ├── config │ │ ├── entity │ │ │ ├── CfAdminConfig.java │ │ │ ├── CfBusGroup.java │ │ │ ├── CfBusGroupOwners.java │ │ │ ├── CfBusGroupUsers.java │ │ │ ├── CfDatasource.java │ │ │ ├── CfDatasourceOwners.java │ │ │ ├── CfDatasourcePermissionMember.java │ │ │ └── CfDatasourcePermissionSqlOptions.java │ │ └── search │ │ │ ├── AdminSearch.java │ │ │ ├── BusGroupSearch.java │ │ │ ├── BusGroupUsersSearch.java │ │ │ └── DatasourceSearch.java │ │ ├── join │ │ ├── entity │ │ │ ├── BusGroupJoinOwner.java │ │ │ ├── DatasourceJoinGroup.java │ │ │ ├── DatasourceJoinGroupJoinOwner.java │ │ │ ├── DdlOptionJoinTask.java │ │ │ └── SqlEditorTabJoinDatasource.java │ │ └── search │ │ │ ├── BusGroupJoinOwnerSearch.java │ │ │ ├── DatasourceJoinGroupJoinOwnerSearch.java │ │ │ ├── DatasourceJoinGroupSearch.java │ │ │ ├── DdlOptionsJoinTaskSearch.java │ │ │ └── SqlEditorTabJoinDatasourceSearch.java │ │ ├── result │ │ ├── entity │ │ │ ├── RsSqlExeRecord.java │ │ │ └── RsSqlExeResult.java │ │ └── search │ │ │ ├── SqlExeResultForStatisticsSearch.java │ │ │ └── SqlExeResultSearch.java │ │ ├── statistics │ │ ├── entity │ │ │ ├── StSqlExeBizTotal.java │ │ │ ├── StSqlExeResultCountDay.java │ │ │ ├── StSqlExeResultCountTimeline.java │ │ │ ├── StSqlSyntaxErrorCountDay.java │ │ │ └── StSqlSyntaxErrorCountTimeline.java │ │ └── search │ │ │ ├── StSqlExeResultCountDaySearch.java │ │ │ ├── StSqlExeResultCountTimelineSearch.java │ │ │ ├── StSqlSyntaxErrorCountDaySearch.java │ │ │ └── StSqlSyntaxErrorCountTimelineSearch.java │ │ └── user │ │ ├── entity │ │ ├── UsActiveSqlEditorTab.java │ │ ├── UsFavoriteDatasource.java │ │ ├── UsFavoriteDb.java │ │ ├── UsFavoriteGroup.java │ │ ├── UsFavoriteTable.java │ │ ├── UsSqlEditorTab.java │ │ ├── UserInfo.java │ │ └── UserInfoDTO.java │ │ └── search │ │ └── SqlEditorTabSearch.java ├── pom.xml └── server │ ├── .gitignore │ ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── bin │ │ │ └── kong │ │ │ └── dms │ │ │ └── sever │ │ │ ├── SeverApplication.java │ │ │ ├── config │ │ │ └── ShiroConfig.java │ │ │ ├── controller │ │ │ ├── common │ │ │ │ └── BaseController.java │ │ │ ├── config │ │ │ │ ├── AdminController.java │ │ │ │ ├── BusGroupController.java │ │ │ │ ├── BusGroupOwnersController.java │ │ │ │ ├── BusGroupUsersController.java │ │ │ │ ├── DatasourceController.java │ │ │ │ ├── DatasourceOwnersController.java │ │ │ │ ├── DatasourcePermissionMemberController.java │ │ │ │ └── DatasourcePermissionSqlOptionsController.java │ │ │ ├── permission │ │ │ │ └── PermissionController.java │ │ │ ├── result │ │ │ │ └── SqlExeResultController.java │ │ │ ├── statistics │ │ │ │ └── GeneralStatisticsController.java │ │ │ ├── user │ │ │ │ ├── ActiveSqlEditorTabController.java │ │ │ │ ├── LoginController.java │ │ │ │ ├── RegisterController.java │ │ │ │ ├── SqlEditorTabController.java │ │ │ │ ├── UserFavoriteController.java │ │ │ │ └── UserInfoController.java │ │ │ └── utils │ │ │ │ ├── SqlEditorUtilsController.java │ │ │ │ └── SqlExeController.java │ │ │ ├── filter │ │ │ └── UrlFilter.java │ │ │ ├── job │ │ │ ├── SqlExeResultCountForDayJob.java │ │ │ ├── SqlExeResultCountForTimelineJob.java │ │ │ ├── SqlExeSyntaxErrorCountForDayJob.java │ │ │ └── SqlExeSyntaxErrorCountForTimelineJob.java │ │ │ ├── runner │ │ │ └── DataSourceInitRunner.java │ │ │ ├── service │ │ │ ├── ISqlExeService.java │ │ │ ├── ISqlOptionsTypePermissionService.java │ │ │ ├── IStSqlExeBizTotalService.java │ │ │ └── impl │ │ │ │ ├── SqlExeServiceImpl.java │ │ │ │ ├── SqlOptionsTypePermissionServiceImpl.java │ │ │ │ └── StSqlExeBizTotalServiceImpl.java │ │ │ └── shiro │ │ │ ├── MyCredentialsMatcher.java │ │ │ ├── MyExceptionHandler.java │ │ │ ├── MyShiroRealm.java │ │ │ └── PaoSessionManager.java │ └── resources │ │ ├── application-dev.yml │ │ ├── application.yml │ │ ├── banner.txt │ │ ├── db │ │ ├── 1_database.sql │ │ ├── 2_tables.sql │ │ └── 3_init_data.sql │ │ ├── logback-spring.xml │ │ └── static │ │ ├── index.html │ │ └── static │ │ ├── css │ │ ├── app.a75ebbd0f55ebb297798f6129fc54248.css │ │ └── app.a75ebbd0f55ebb297798f6129fc54248.css.map │ │ ├── fonts │ │ ├── flUhRq6tzZclQEJ-Vdg-IuiaDsNa.c38ebd3.woff │ │ ├── flUhRq6tzZclQEJ-Vdg-IuiaDsNcIhQ8tQ.8a9a261.woff2 │ │ ├── materialdesignicons-webfont.3ac50b5.ttf │ │ ├── materialdesignicons-webfont.7ec5dab.woff2 │ │ ├── materialdesignicons-webfont.a0d13d1.woff │ │ ├── materialdesignicons-webfont.a32fa1f.eot │ │ ├── mdi.5d43a6f.woff │ │ └── mdi.6536e40.woff2 │ │ ├── img │ │ ├── 1024_index.png │ │ ├── banzhuan.png │ │ ├── budaoshi.png │ │ ├── budaoshi_logo.png │ │ ├── ceshi.png │ │ ├── code_general.png │ │ ├── code_man.png │ │ ├── cto.png │ │ ├── gongtou.png │ │ ├── jack.png │ │ ├── jiayou.png │ │ ├── keji.png │ │ ├── login_bg.fb07b0e.jpg │ │ ├── login_bg.jpg │ │ ├── louyou.png │ │ ├── ppd_logo.png │ │ ├── se.png │ │ ├── shanghai.png │ │ ├── shengqi.png │ │ ├── vip.png │ │ ├── xu.png │ │ ├── zhangjun.png │ │ ├── zhiliang.png │ │ └── zhiliang_01.png │ │ ├── js │ │ ├── 0.adcbbedf1bc97e8c5a86.js │ │ ├── 0.adcbbedf1bc97e8c5a86.js.map │ │ ├── 1.17872d9c9558aa7b47a8.js │ │ ├── 1.17872d9c9558aa7b47a8.js.map │ │ ├── 2.f9dfc16198ee234c2eb8.js │ │ ├── 2.f9dfc16198ee234c2eb8.js.map │ │ ├── 3.c32696bce67f93ff9efe.js │ │ ├── 3.c32696bce67f93ff9efe.js.map │ │ ├── 4.cd83619a6b427be7d142.js │ │ ├── 4.cd83619a6b427be7d142.js.map │ │ ├── 5.a638a404fc2f3fb94a64.js │ │ ├── 5.a638a404fc2f3fb94a64.js.map │ │ ├── 6.8f273453121ae60f153f.js │ │ ├── 6.8f273453121ae60f153f.js.map │ │ ├── 7.5526581747961aef2581.js │ │ ├── 7.5526581747961aef2581.js.map │ │ ├── 8.3a774218aaed1aec2b73.js │ │ ├── 8.3a774218aaed1aec2b73.js.map │ │ ├── app.efe01cc3dc95d8a05618.js │ │ ├── app.efe01cc3dc95d8a05618.js.map │ │ ├── manifest.34de0bce1187b89041d6.js │ │ ├── manifest.34de0bce1187b89041d6.js.map │ │ ├── vendor.5404de12be6487c3db8e.js │ │ └── vendor.5404de12be6487c3db8e.js.map │ │ └── robin.ico │ └── test │ └── java │ └── com │ └── bin │ └── kong │ └── dms │ └── sever │ └── SeverApplicationTests.java ├── kb-dms-web ├── .babelrc ├── .editorconfig ├── .gitignore ├── .postcssrc.js ├── README.md ├── build │ ├── build.js │ ├── check-versions.js │ ├── logo.png │ ├── utils.js │ ├── vue-loader.conf.js │ ├── webpack.base.conf.js │ ├── webpack.dev.conf.js │ └── webpack.prod.conf.js ├── config │ ├── dev.env.js │ ├── index.js │ ├── prod.env.js │ └── test.env.js ├── index.html ├── jsonlint.js ├── jsonlint.l ├── jsonlint.y ├── package-lock.json ├── package.json ├── src │ ├── App.vue │ ├── api │ │ ├── config │ │ │ ├── admin_api.js │ │ │ ├── bus_group_api.js │ │ │ ├── bus_group_owners_api.js │ │ │ ├── bus_group_users_api.js │ │ │ ├── datasource_api.js │ │ │ ├── datasource_owners_api.js │ │ │ ├── datasource_permission_member_api.js │ │ │ └── datasource_permission_sql_options_api.js │ │ ├── permission │ │ │ └── sql_options_api.js │ │ ├── result │ │ │ └── sql_exe_result_api.js │ │ ├── statistics │ │ │ └── general_statistics_api.js │ │ ├── user │ │ │ ├── sql_editor_tab_api.js │ │ │ ├── user_favorite_api.js │ │ │ ├── user_info_api.js │ │ │ ├── user_login_api.js │ │ │ └── user_register_api.js │ │ └── utils │ │ │ ├── sql_editor_utils_api.js │ │ │ └── sql_exe_utils_api.js │ ├── assets │ │ └── logo.png │ ├── components │ │ ├── GenericFormUI.js │ │ ├── catalog │ │ │ ├── ComponentGenericFilter.js │ │ │ ├── ComponentLazyInput.js │ │ │ ├── ComponentSelectorCatalog.js │ │ │ ├── MixinCatalogBase.js │ │ │ ├── MixinCatalogBaseNoPage.js │ │ │ └── MixinExpandableCatalogBase.js │ │ ├── datePicker │ │ │ ├── DatePicker.js │ │ │ ├── hour_selector.js │ │ │ ├── minute_selector.js │ │ │ ├── style.css │ │ │ └── utils.js │ │ ├── echarts │ │ │ └── echarts_tools.js │ │ ├── editor │ │ │ ├── Editor.js │ │ │ └── componentFontsColorCard.js │ │ ├── elements │ │ │ ├── PpSection.js │ │ │ ├── clear_btn.js │ │ │ ├── favorite-btn.js │ │ │ ├── icon_btn.js │ │ │ ├── icon_btn_improve.js │ │ │ ├── pp_field.js │ │ │ ├── pp_navigator.js │ │ │ ├── pp_section.css │ │ │ ├── pp_section.js │ │ │ ├── pp_section_card.js │ │ │ └── side_navigator.js │ │ ├── modal │ │ │ └── MixinsBaseModal.js │ │ ├── selector │ │ │ ├── BusGroupSelector.js │ │ │ ├── ComponentDatePicker.js │ │ │ ├── ComponentMultiPersonSelector.js │ │ │ ├── ComponentPersonSelector.js │ │ │ ├── Datasource.js │ │ │ ├── DatasourceDB.js │ │ │ ├── DatasourceDbSelector.js │ │ │ ├── DatasourceSelector.js │ │ │ ├── DatasourceTypeSelector.js │ │ │ ├── MixinSelectorBase.js │ │ │ ├── MySqlEditorSelector.js │ │ │ ├── MysqlCharsetSelector.js │ │ │ ├── PluginMultiSelector.js │ │ │ ├── PluginSelectorOptionsQueryFilter.js │ │ │ ├── PpPopover.js │ │ │ ├── TableDataTypeInputSelector.js │ │ │ ├── TableIndexTypeInputSelector.js │ │ │ └── TableSelector.js │ │ └── upload │ │ │ └── button_upload_file.js │ ├── css │ │ ├── fonts │ │ │ ├── materialdesignicons-webfont.eot │ │ │ ├── materialdesignicons-webfont.ttf │ │ │ ├── materialdesignicons-webfont.woff │ │ │ └── materialdesignicons-webfont.woff2 │ │ ├── materialdesignicons.css │ │ ├── overwrite.css │ │ ├── style.css │ │ └── theme.css │ ├── layouts │ │ ├── footer-menu.vue │ │ ├── header-menu.vue │ │ ├── header_data.js │ │ ├── index.vue │ │ ├── left-menu-item.vue │ │ ├── left-menu.vue │ │ ├── left_menu_data.js │ │ └── path_bar.vue │ ├── main.js │ ├── pages │ │ ├── config │ │ │ ├── admin │ │ │ │ ├── comp_admin_catalog.js │ │ │ │ └── index.js │ │ │ ├── datasource │ │ │ │ ├── comp_datasource_catalog.js │ │ │ │ ├── comp_datasource_detail.js │ │ │ │ ├── index.js │ │ │ │ ├── modal_datasource_create.js │ │ │ │ └── section_datasource_permission.js │ │ │ ├── group_config │ │ │ │ ├── comp_group_catalog.js │ │ │ │ ├── comp_group_detail.js │ │ │ │ ├── comp_group_users.js │ │ │ │ └── index.js │ │ │ ├── layouts │ │ │ │ ├── footer-menu.vue │ │ │ │ ├── header-menu.vue │ │ │ │ └── index.vue │ │ │ └── system_config.js │ │ ├── history │ │ │ ├── comp_sql_exe_result_catalog.js │ │ │ ├── comp_sql_exe_result_tool_bar.js │ │ │ ├── index.js │ │ │ ├── modal_sql_exe_result_detail.js │ │ │ └── sql_exe_result_search_by_selector.js │ │ ├── home │ │ │ ├── comp_exe_result.js │ │ │ ├── comp_exe_result_catalog.js │ │ │ ├── comp_field_catalog.js │ │ │ ├── comp_sql_editor.js │ │ │ ├── comp_sql_editor_tabs.js │ │ │ ├── comp_table_catalog.js │ │ │ ├── comp_table_column_type_input.js │ │ │ ├── comp_table_content_catalog.js │ │ │ ├── comp_table_data_menu.js │ │ │ ├── comp_table_edit_catalog.js │ │ │ ├── comp_table_edit_field_type_input.js │ │ │ ├── comp_table_edit_row_menu.js │ │ │ ├── comp_table_folder.js │ │ │ ├── comp_table_folder_menu.js │ │ │ ├── comp_table_index_field_type_input.js │ │ │ ├── comp_table_index_row_menu.js │ │ │ ├── comp_table_info.js │ │ │ ├── comp_table_info_columns_catalog.js │ │ │ ├── comp_table_info_ddl.js │ │ │ ├── index.js │ │ │ ├── modal_sql_confirm.js │ │ │ ├── pp_navigator_table_info.js │ │ │ ├── utils_ddl_sql_check.js │ │ │ ├── utils_ddl_sql_command_builder.js │ │ │ ├── utils_dml_sql_command_builder.js │ │ │ └── utils_edit_ddl_sql_command_builder.js │ │ ├── statistics │ │ │ ├── comp_dash_card_simple.js │ │ │ └── index.js │ │ └── user │ │ │ ├── info │ │ │ └── index.js │ │ │ ├── login │ │ │ └── index.js │ │ │ └── register │ │ │ └── index.js │ ├── plugins │ │ ├── PpDialog.js │ │ ├── PpNotify.css │ │ ├── PpNotify.js │ │ ├── axios.js │ │ ├── clipboard.js │ │ ├── easy-table │ │ │ └── kb-easytable.js │ │ ├── quasar.js │ │ ├── sql_exe_editor │ │ │ ├── editor.js │ │ │ └── style.css │ │ ├── theme_ctl.js │ │ ├── vue-editor │ │ │ ├── vkbeautify.js │ │ │ ├── vue-editor.css │ │ │ ├── vue-editor.js │ │ │ └── vue-eidtor-data-format.js │ │ ├── vuelidate.js │ │ └── vuetouch.js │ ├── router │ │ ├── index.js │ │ └── routes.js │ ├── store │ │ ├── home │ │ │ ├── actions.js │ │ │ ├── getters.js │ │ │ ├── index.js │ │ │ ├── mutations.js │ │ │ └── state.js │ │ ├── index.js │ │ ├── main │ │ │ ├── actions.js │ │ │ ├── getters.js │ │ │ ├── index.js │ │ │ ├── mutations.js │ │ │ └── state.js │ │ └── user │ │ │ ├── actions.js │ │ │ ├── getters.js │ │ │ ├── index.js │ │ │ ├── mutations.js │ │ │ └── state.js │ └── utils │ │ ├── Optional.js │ │ ├── clipboard.js │ │ ├── config_dictionary.js │ │ ├── data_format_utils.js │ │ ├── data_utils.js │ │ ├── date_format_utils.js │ │ ├── edit_ddl_dictionary.js │ │ ├── favorite_selection.js │ │ ├── favorite_user_selection.js │ │ ├── local_storage_utils.js │ │ ├── mysql_charset_dictionary.js │ │ ├── regExp.js │ │ ├── render_field_helper.js │ │ ├── request_dictionary.js │ │ ├── result_dictionary.js │ │ ├── sql_editor_dictionary.js │ │ ├── user_dictionary.js │ │ └── utils_mysql_keywords_check.js ├── static │ ├── .gitkeep │ ├── img │ │ ├── 1024_index.png │ │ ├── banzhuan.png │ │ ├── budaoshi.png │ │ ├── budaoshi_logo.png │ │ ├── ceshi.png │ │ ├── code_general.png │ │ ├── code_man.png │ │ ├── cto.png │ │ ├── gongtou.png │ │ ├── jack.png │ │ ├── jiayou.png │ │ ├── keji.png │ │ ├── login_bg.jpg │ │ ├── louyou.png │ │ ├── ppd_logo.png │ │ ├── se.png │ │ ├── shanghai.png │ │ ├── shengqi.png │ │ ├── vip.png │ │ ├── xu.png │ │ ├── zhangjun.png │ │ ├── zhiliang.png │ │ └── zhiliang_01.png │ └── robin.ico └── test │ └── e2e │ ├── custom-assertions │ └── elementCount.js │ ├── nightwatch.conf.js │ ├── runner.js │ └── specs │ └── test.js └── kb-dms.iml /.idea/encodings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__ch_qos_logback_logback_classic_1_1_11.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__ch_qos_logback_logback_core_1_1_11.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_alibaba_druid_1_1_10.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_alibaba_druid_spring_boot_starter_1_1_10.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_alibaba_fastjson_1_2_46.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_fasterxml_classmate_1_3_4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_8_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_8_10.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_8_10.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_github_jsqlparser_jsqlparser_1_4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_google_protobuf_protobuf_java_2_6_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_jayway_jsonpath_json_path_2_2_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_microsoft_sqlserver_sqljdbc4_4_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__commons_beanutils_commons_beanutils_1_9_3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__commons_codec_commons_codec_1_10.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__commons_collections_commons_collections_3_2_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__javax_validation_validation_api_1_1_0_Final.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__junit_junit_4_12.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__mysql_mysql_connector_java_8_0_11.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__net_minidev_accessors_smart_1_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__net_minidev_json_smart_2_2_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__net_sf_ehcache_ehcache_core_2_5_3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_commons_commons_lang3_3_8_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_httpcomponents_httpclient_4_5_5.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_httpcomponents_httpclient_4_5_8.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_httpcomponents_httpcore_4_4_9.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_shiro_shiro_core_1_3_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_shiro_shiro_ehcache_1_3_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_shiro_shiro_spring_1_3_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_shiro_shiro_web_1_3_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_core_8_5_27.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_el_8_5_27.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_websocket_8_5_27.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_tomcat_tomcat_annotations_api_8_5_27.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_tomcat_tomcat_jdbc_8_5_27.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_tomcat_tomcat_juli_8_5_27.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_aspectj_aspectjweaver_1_8_13.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_aspectj_aspectjweaver_1_8_3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_assertj_assertj_core_2_6_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_hamcrest_hamcrest_library_1_3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_hibernate_hibernate_validator_5_3_6_Final.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_jboss_logging_jboss_logging_3_3_1_Final.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_mockito_mockito_core_1_10_19.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_mybatis_mybatis_3_4_5.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_mybatis_mybatis_spring_1_3_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_autoconfigure_1_3_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_starter_1_3_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_objenesis_objenesis_2_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_ow2_asm_asm_5_0_3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_projectlombok_lombok_1_16_20.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_skyscreamer_jsonassert_1_4_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_slf4j_jcl_over_slf4j_1_7_25.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_slf4j_jul_to_slf4j_1_7_25.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_slf4j_log4j_over_slf4j_1_7_25.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_25.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_boot_spring_boot_1_5_10_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_boot_spring_boot_1_5_19_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_boot_spring_boot_autoconfigure_1_5_10_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_1_5_10_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_jdbc_1_5_10_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_logging_1_5_10_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_test_1_5_10_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_tomcat_1_5_10_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_web_1_5_10_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_boot_spring_boot_test_1_5_10_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_boot_spring_boot_test_autoconfigure_1_5_10_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_spring_aop_4_3_14_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_spring_beans_4_3_14_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_spring_context_4_3_14_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_spring_core_4_3_14_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_spring_expression_4_3_14_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_spring_jdbc_5_1_9_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_spring_test_4_3_14_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_spring_tx_4_3_14_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_spring_web_4_3_14_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_spring_webmvc_4_3_14_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_yaml_snakeyaml_1_17.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /kb-dms-backend/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/** 5 | !**/src/test/** 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | 30 | ### VS Code ### 31 | .vscode/ 32 | -------------------------------------------------------------------------------- /kb-dms-backend/contract/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | dms-backend 7 | com.bin.kong.dms 8 | 0.0.1-SNAPSHOT 9 | ../pom.xml 10 | 11 | 4.0.0 12 | com.bin.kong.dms 13 | contract 14 | 0.0.1-SNAPSHOT 15 | contract 16 | jar 17 | 18 | 19 | -------------------------------------------------------------------------------- /kb-dms-backend/contract/src/main/java/com/bin/kong/dms/contract/common/BaseResponse.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.contract.common; 2 | 3 | import lombok.Getter; 4 | import lombok.Setter; 5 | import org.springframework.util.StringUtils; 6 | 7 | @Getter 8 | @Setter 9 | public class BaseResponse { 10 | private int status; 11 | private String message; 12 | 13 | public void addMessage(String msg) { 14 | if (StringUtils.hasText(msg)) { 15 | if (StringUtils.hasText(this.message)) { 16 | this.message += ";" + msg; 17 | } else { 18 | this.message = msg; 19 | } 20 | } 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /kb-dms-backend/contract/src/main/java/com/bin/kong/dms/contract/common/BaseSearch.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.contract.common; 2 | 3 | import lombok.*; 4 | 5 | @Data 6 | @Builder 7 | @AllArgsConstructor 8 | @NoArgsConstructor 9 | public class BaseSearch { 10 | private String kw; 11 | 12 | } 13 | -------------------------------------------------------------------------------- /kb-dms-backend/contract/src/main/java/com/bin/kong/dms/contract/common/GenericResponse.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.contract.common; 2 | 3 | import lombok.Getter; 4 | import lombok.Setter; 5 | 6 | @Setter 7 | @Getter 8 | public class GenericResponse extends BaseResponse implements ResponseState { 9 | private T data; 10 | 11 | @Override 12 | public boolean isSuccess() { 13 | return getStatus() == 1; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /kb-dms-backend/contract/src/main/java/com/bin/kong/dms/contract/common/PaginationResponse.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.contract.common; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | @Data 9 | @Builder 10 | @AllArgsConstructor 11 | @NoArgsConstructor 12 | public class PaginationResponse { 13 | private T data; 14 | private Integer count; 15 | } 16 | -------------------------------------------------------------------------------- /kb-dms-backend/contract/src/main/java/com/bin/kong/dms/contract/common/ResponseState.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.contract.common; 2 | 3 | public interface ResponseState { 4 | boolean isSuccess(); 5 | } 6 | -------------------------------------------------------------------------------- /kb-dms-backend/contract/src/main/java/com/bin/kong/dms/contract/common/SearchListAndCountDO.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.contract.common; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | @Data 9 | @Builder 10 | @AllArgsConstructor 11 | @NoArgsConstructor 12 | public class SearchListAndCountDO { 13 | private Integer count; 14 | private T data; 15 | } 16 | -------------------------------------------------------------------------------- /kb-dms-backend/contract/src/main/java/com/bin/kong/dms/contract/config/response/DatasourceForSearchResponse.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.contract.config.response; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | @Data 9 | @Builder 10 | @AllArgsConstructor 11 | @NoArgsConstructor 12 | public class DatasourceForSearchResponse { 13 | private Integer id; 14 | 15 | private String name; 16 | 17 | private String description; 18 | 19 | private Integer group_id; 20 | 21 | private String group_name; 22 | 23 | private Integer type; 24 | 25 | private String db; 26 | 27 | private Integer status; 28 | 29 | @Builder.Default 30 | private Boolean group_favorite = false; 31 | 32 | @Builder.Default 33 | private Boolean datasource_favorite = false; 34 | 35 | @Builder.Default 36 | private Boolean is_my_group=false; 37 | } 38 | -------------------------------------------------------------------------------- /kb-dms-backend/contract/src/main/java/com/bin/kong/dms/contract/config/response/DatasourcePermissionMemberResponse.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.contract.config.response; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | import java.util.List; 9 | 10 | @Data 11 | @Builder 12 | @AllArgsConstructor 13 | @NoArgsConstructor 14 | public class DatasourcePermissionMemberResponse { 15 | 16 | private String account; 17 | 18 | private String name; 19 | 20 | private Integer datasource_id; 21 | 22 | private List auth_list; 23 | } 24 | -------------------------------------------------------------------------------- /kb-dms-backend/contract/src/main/java/com/bin/kong/dms/contract/config/response/DbResponse.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.contract.config.response; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | @Data 9 | @Builder 10 | @AllArgsConstructor 11 | @NoArgsConstructor 12 | public class DbResponse { 13 | 14 | private String name; 15 | 16 | @Builder.Default 17 | private Boolean favorite = false; 18 | } 19 | -------------------------------------------------------------------------------- /kb-dms-backend/contract/src/main/java/com/bin/kong/dms/contract/config/response/TableResponse.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.contract.config.response; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | @Data 9 | @Builder 10 | @AllArgsConstructor 11 | @NoArgsConstructor 12 | public class TableResponse { 13 | 14 | private String name; 15 | 16 | @Builder.Default 17 | private Boolean favorite = false; 18 | } 19 | -------------------------------------------------------------------------------- /kb-dms-backend/contract/src/main/java/com/bin/kong/dms/contract/permission/response/SqlOptionsResponse.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.contract.permission.response; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | @Data 9 | @Builder 10 | @AllArgsConstructor 11 | @NoArgsConstructor 12 | public class SqlOptionsResponse { 13 | private String name; 14 | 15 | private String desc; 16 | 17 | private Integer type; 18 | 19 | } 20 | -------------------------------------------------------------------------------- /kb-dms-backend/contract/src/main/java/com/bin/kong/dms/contract/statistics/response/GeneralBizCountResponse.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.contract.statistics.response; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | @Data 9 | @Builder 10 | @AllArgsConstructor 11 | @NoArgsConstructor 12 | public class GeneralBizCountResponse { 13 | 14 | private Integer bus_count; 15 | 16 | private Integer datasource_count; 17 | 18 | private Integer sql_exe_result_total; 19 | 20 | private Integer sql_syntax_no_permission_total; 21 | 22 | private Integer sql_syntax_other_error_total; 23 | 24 | } 25 | -------------------------------------------------------------------------------- /kb-dms-backend/contract/src/main/java/com/bin/kong/dms/contract/statistics/response/GeneralMonthTimelineResponse.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.contract.statistics.response; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | @Data 9 | @Builder 10 | @AllArgsConstructor 11 | @NoArgsConstructor 12 | public class GeneralMonthTimelineResponse { 13 | private String date; 14 | 15 | private Integer sql_exe_result_total; 16 | 17 | private Integer sql_exe_result_success_total; 18 | 19 | private Integer sql_exe_result_running_total; 20 | 21 | private Integer sql_exe_result_fail_total; 22 | 23 | private Integer sql_syntax_no_permission_total; 24 | 25 | private Integer sql_syntax_no_limit_total; 26 | 27 | private Integer sql_syntax_no_where_total; 28 | 29 | private Integer sql_syntax_error_total; 30 | 31 | } 32 | -------------------------------------------------------------------------------- /kb-dms-backend/contract/src/main/java/com/bin/kong/dms/contract/user/entity/RequestUserInfo.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.contract.user.entity; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | @Data 9 | @Builder 10 | @AllArgsConstructor 11 | @NoArgsConstructor 12 | public class RequestUserInfo { 13 | private String name; 14 | private String account; 15 | } 16 | -------------------------------------------------------------------------------- /kb-dms-backend/contract/src/main/java/com/bin/kong/dms/contract/user/request/LoginRequest.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.contract.user.request; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | @Data 9 | @Builder 10 | @AllArgsConstructor 11 | @NoArgsConstructor 12 | public class LoginRequest { 13 | private String account; 14 | private String login_pwd; 15 | } 16 | -------------------------------------------------------------------------------- /kb-dms-backend/contract/src/main/java/com/bin/kong/dms/contract/user/request/RegisterRequest.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.contract.user.request; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | @Data 9 | @Builder 10 | @NoArgsConstructor 11 | @AllArgsConstructor 12 | public class RegisterRequest { 13 | private String account; 14 | private String login_pwd; 15 | private String name; 16 | } 17 | -------------------------------------------------------------------------------- /kb-dms-backend/contract/src/main/java/com/bin/kong/dms/contract/user/request/SqlEditorShareRequest.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.contract.user.request; 2 | 3 | import com.bin.kong.dms.contract.user.entity.RequestUserInfo; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Builder; 6 | import lombok.Data; 7 | import lombok.NoArgsConstructor; 8 | 9 | import java.util.List; 10 | 11 | @Data 12 | @Builder 13 | @AllArgsConstructor 14 | @NoArgsConstructor 15 | public class SqlEditorShareRequest { 16 | private List users; 17 | } 18 | -------------------------------------------------------------------------------- /kb-dms-backend/contract/src/main/java/com/bin/kong/dms/contract/user/request/UpdateUserInfoRequest.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.contract.user.request; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | @Data 9 | @Builder 10 | @NoArgsConstructor 11 | @AllArgsConstructor 12 | public class UpdateUserInfoRequest { 13 | private String name; 14 | private Integer port; 15 | private String new_pwd; 16 | private String old_pwd; 17 | } 18 | -------------------------------------------------------------------------------- /kb-dms-backend/contract/src/main/java/com/bin/kong/dms/contract/utils/SqlExeRequest.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.contract.utils; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | @Data 9 | @Builder 10 | @AllArgsConstructor 11 | @NoArgsConstructor 12 | public class SqlExeRequest { 13 | private String sql; 14 | } 15 | -------------------------------------------------------------------------------- /kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/constants/CookieConstants.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.core.constants; 2 | 3 | public class CookieConstants { 4 | public final static String KB_MDS_SESSIONID = "KB-dms-SESSIONID"; 5 | } 6 | -------------------------------------------------------------------------------- /kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/constants/ResponseConstants.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.core.constants; 2 | 3 | public class ResponseConstants { 4 | public final static Integer SUCCESS_CODE = 1; 5 | public final static Integer FAIL_CODE = 0; 6 | 7 | //未登录 8 | public final static Integer STATUS_UNLOGIN = 1001; 9 | //Token异常 10 | public final static Integer STATUS_TOKEN_ERROR = 1002; 11 | //无权限 12 | public final static Integer STATUS_NO_AUTH = 1003; 13 | //用户名密码错误 14 | public final static Integer STATUS_WRONG_PWD = 1004; 15 | 16 | public final static Integer STATUS_OTHER = 1005; 17 | } 18 | -------------------------------------------------------------------------------- /kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/constants/UserInfoConstants.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.core.constants; 2 | 3 | public class UserInfoConstants { 4 | public final static String CURRENT_USER_NAME="CURRENT_USER_NAME"; 5 | 6 | public final static String CURRENT_USER="CURRENT_USER"; 7 | 8 | } 9 | -------------------------------------------------------------------------------- /kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/dynamicdatasource/DynamicSqlOptionTypeEntity.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.core.dynamicdatasource; 2 | 3 | import com.bin.kong.dms.core.enums.DatasourceTypeEnum; 4 | import com.bin.kong.dms.core.enums.SqlOptionTypeEnum; 5 | import com.bin.kong.dms.core.enums.SqlSyntaxCheckResultEnum; 6 | import lombok.AllArgsConstructor; 7 | import lombok.Builder; 8 | import lombok.Data; 9 | import lombok.NoArgsConstructor; 10 | 11 | @Data 12 | @Builder 13 | @AllArgsConstructor 14 | @NoArgsConstructor 15 | public class DynamicSqlOptionTypeEntity { 16 | private String origin_sql; 17 | 18 | private String sql; 19 | 20 | private SqlOptionTypeEnum option_type_enum; 21 | 22 | private DatasourceTypeEnum datasource_type_enum; 23 | 24 | private SqlSyntaxCheckResultEnum syntax_check_result_enum; 25 | 26 | private Object druidObj; 27 | 28 | private String table_list; 29 | } 30 | -------------------------------------------------------------------------------- /kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/entity/MetaIndexEntity.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.core.entity; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | @Data 9 | @Builder 10 | @AllArgsConstructor 11 | @NoArgsConstructor 12 | public class MetaIndexEntity { 13 | private String INDEX_NAME; 14 | private String COLUMN_NAME; 15 | private Boolean NON_UNIQUE; 16 | private Integer ORDINAL_POSITION; 17 | } 18 | -------------------------------------------------------------------------------- /kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/entity/Result.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.core.entity; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | @Data 9 | @Builder 10 | @AllArgsConstructor 11 | @NoArgsConstructor 12 | public class Result { 13 | private boolean success; 14 | private T data; 15 | private String message; 16 | } 17 | -------------------------------------------------------------------------------- /kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/entity/SqlExeResult.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.core.entity; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | import java.util.Date; 9 | import java.util.Map; 10 | 11 | @Data 12 | @Builder 13 | @AllArgsConstructor 14 | @NoArgsConstructor 15 | public class SqlExeResult { 16 | private Date start_time; 17 | private Date end_time; 18 | private String sql; 19 | private boolean success; 20 | private T data; 21 | private String message; 22 | private Map field_type; 23 | } 24 | -------------------------------------------------------------------------------- /kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/entity/TableColumnAndIndexEntity.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.core.entity; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | import java.util.List; 9 | 10 | @Data 11 | @Builder 12 | @AllArgsConstructor 13 | @NoArgsConstructor 14 | public class TableColumnAndIndexEntity { 15 | private List columns; 16 | private List index; 17 | private TableInfoEntity info; 18 | 19 | } 20 | -------------------------------------------------------------------------------- /kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/entity/TableIndexEntity.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.core.entity; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | import java.util.List; 9 | 10 | @Data 11 | @Builder 12 | @AllArgsConstructor 13 | @NoArgsConstructor 14 | public class TableIndexEntity { 15 | 16 | private String index_name; 17 | private String index_type; 18 | private String storage_type; 19 | private List index_columns; 20 | private String online_index_name; 21 | 22 | } 23 | -------------------------------------------------------------------------------- /kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/entity/TableInfoEntity.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.core.entity; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | @Data 9 | @Builder 10 | @AllArgsConstructor 11 | @NoArgsConstructor 12 | public class TableInfoEntity { 13 | private String database_name; 14 | private String table_name; 15 | private String engine; 16 | private String character_set; 17 | private String commit; 18 | private String folder; 19 | } 20 | -------------------------------------------------------------------------------- /kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/enums/BusGroupStatusEnum.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.core.enums; 2 | 3 | public enum BusGroupStatusEnum { 4 | //状态:-1 未生效 1. 生效 5 | NO_ACTIVE(-1), ACTIVE(1); 6 | 7 | public Integer getStatus() { 8 | return status; 9 | } 10 | 11 | public void setStatus(Integer status) { 12 | this.status = status; 13 | } 14 | 15 | private Integer status; 16 | 17 | BusGroupStatusEnum(Integer status) { 18 | this.status = status; 19 | } 20 | 21 | public static BusGroupStatusEnum getByStatus(Integer status) { 22 | for (BusGroupStatusEnum statusEnum : values()) { 23 | if (statusEnum.getStatus() == status) { 24 | return statusEnum; 25 | } 26 | } 27 | return null; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/enums/DataSourceStatusEnum.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.core.enums; 2 | 3 | public enum DataSourceStatusEnum { 4 | //状态:-1 未生效 1. 生效 5 | NO_ACTIVE(-1), ACTIVE(1); 6 | 7 | public Integer getStatus() { 8 | return status; 9 | } 10 | 11 | public void setStatus(Integer status) { 12 | this.status = status; 13 | } 14 | 15 | private Integer status; 16 | 17 | DataSourceStatusEnum(Integer status) { 18 | this.status = status; 19 | } 20 | 21 | public static DataSourceStatusEnum getByStatus(Integer status) { 22 | for (DataSourceStatusEnum statusEnum : values()) { 23 | if (statusEnum.getStatus() == status) { 24 | return statusEnum; 25 | } 26 | } 27 | return null; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/enums/DatasourceSearchTypeEnum.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.core.enums; 2 | 3 | public enum DatasourceSearchTypeEnum { 4 | //1. ALL 2. CREATE_BY_ME 5 | ALL(1, "all"), CREATED_BY_ME(2, "created_by_me"), OWNER_BY_ME(3, "owner_by_me"); 6 | 7 | public Integer getType() { 8 | return type; 9 | } 10 | 11 | public String getName() { 12 | return name; 13 | } 14 | 15 | private Integer type; 16 | 17 | private String name; 18 | 19 | 20 | DatasourceSearchTypeEnum(Integer type, String name) { 21 | this.type = type; 22 | this.name = name; 23 | } 24 | 25 | public static DatasourceSearchTypeEnum getByType(Integer type) { 26 | for (DatasourceSearchTypeEnum statusEnum : values()) { 27 | if (statusEnum.getType() == type) { 28 | return statusEnum; 29 | } 30 | } 31 | return null; 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/enums/GroupSearchTypeEnum.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.core.enums; 2 | 3 | public enum GroupSearchTypeEnum { 4 | //1. ALL 2. CREATE_BY_ME 5 | ALL(1, "all"), CREATED_BY_ME(2,"created_by_me"),OWNER_BY_ME(3, "owner_by_me"); 6 | 7 | public Integer getType() { 8 | return type; 9 | } 10 | 11 | public String getName() { 12 | return name; 13 | } 14 | 15 | private Integer type; 16 | 17 | private String name; 18 | 19 | 20 | GroupSearchTypeEnum(Integer type, String name) { 21 | this.type = type; 22 | this.name = name; 23 | } 24 | 25 | public static GroupSearchTypeEnum getByType(Integer type) { 26 | for (GroupSearchTypeEnum statusEnum : values()) { 27 | if (statusEnum.getType() == type) { 28 | return statusEnum; 29 | } 30 | } 31 | return null; 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/enums/SqlEditorActiveStatusEnum.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.core.enums; 2 | 3 | public enum SqlEditorActiveStatusEnum { 4 | //状态:-1 非当前窗口 1. 当前窗口 5 | NO_ACTIVE(-1), ACTIVE(1); 6 | 7 | public Integer getStatus() { 8 | return status; 9 | } 10 | 11 | public void setStatus(Integer status) { 12 | this.status = status; 13 | } 14 | 15 | private Integer status; 16 | 17 | SqlEditorActiveStatusEnum(Integer status) { 18 | this.status = status; 19 | } 20 | 21 | public static SqlEditorActiveStatusEnum getByStatus(Integer status) { 22 | for (SqlEditorActiveStatusEnum statusEnum : values()) { 23 | if (statusEnum.getStatus() == status) { 24 | return statusEnum; 25 | } 26 | } 27 | return null; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/enums/SqlEditorOpenStatusEnum.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.core.enums; 2 | 3 | public enum SqlEditorOpenStatusEnum { 4 | //状态:-1 关闭 1. 打开 5 | CLOSED(-1), OPEN(1); 6 | 7 | public Integer getStatus() { 8 | return status; 9 | } 10 | 11 | public void setStatus(Integer status) { 12 | this.status = status; 13 | } 14 | 15 | private Integer status; 16 | 17 | SqlEditorOpenStatusEnum(Integer status) { 18 | this.status = status; 19 | } 20 | 21 | public static SqlEditorOpenStatusEnum getByStatus(Integer status) { 22 | for (SqlEditorOpenStatusEnum statusEnum : values()) { 23 | if (statusEnum.getStatus() == status) { 24 | return statusEnum; 25 | } 26 | } 27 | return null; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/enums/SqlEditorStatusEnum.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.core.enums; 2 | 3 | public enum SqlEditorStatusEnum { 4 | //状态:0 关闭窗口 1. 打开窗口 5 | CLOSED(0), OPEN(1); 6 | 7 | public Integer getStatus() { 8 | return status; 9 | } 10 | 11 | public void setStatus(Integer status) { 12 | this.status = status; 13 | } 14 | 15 | private Integer status; 16 | 17 | SqlEditorStatusEnum(Integer status) { 18 | this.status = status; 19 | } 20 | 21 | public static SqlEditorStatusEnum getByStatus(Integer status) { 22 | for (SqlEditorStatusEnum statusEnum : values()) { 23 | if (statusEnum.getStatus() == status) { 24 | return statusEnum; 25 | } 26 | } 27 | return null; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/enums/SqlExeRecordStatusEnum.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.core.enums; 2 | 3 | public enum SqlExeRecordStatusEnum { 4 | //状态:1 执行中 2. 执行完成 5 | RUNNING(1), COMPLETE(2); 6 | 7 | public Integer getStatus() { 8 | return status; 9 | } 10 | 11 | public void setStatus(Integer status) { 12 | this.status = status; 13 | } 14 | 15 | private Integer status; 16 | 17 | SqlExeRecordStatusEnum(Integer status) { 18 | this.status = status; 19 | } 20 | 21 | public static SqlExeRecordStatusEnum getByStatus(Integer status) { 22 | for (SqlExeRecordStatusEnum statusEnum : values()) { 23 | if (statusEnum.getStatus() == status) { 24 | return statusEnum; 25 | } 26 | } 27 | return null; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/enums/SqlExeResultCountTypeForStatisticsEnum.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.core.enums; 2 | 3 | public enum SqlExeResultCountTypeForStatisticsEnum { 4 | //状态: 5 | ALL(1), SUCCESS(2), FAIL(3), RUNNING(4); 6 | 7 | public Integer getType() { 8 | return type; 9 | } 10 | 11 | public void setType(Integer type) { 12 | this.type = type; 13 | } 14 | 15 | private Integer type; 16 | 17 | SqlExeResultCountTypeForStatisticsEnum(Integer type) { 18 | this.type = type; 19 | } 20 | 21 | public static SqlExeResultCountTypeForStatisticsEnum getByType(Integer type) { 22 | for (SqlExeResultCountTypeForStatisticsEnum typeEnum : values()) { 23 | if (typeEnum.getType() == type) { 24 | return typeEnum; 25 | } 26 | } 27 | return null; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/enums/SqlExeResultStatusEnum.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.core.enums; 2 | 3 | public enum SqlExeResultStatusEnum { 4 | //状态:1 执行中 2. 执行成功 -1. 执行失败 5 | RUNNING(1), SUCCESS(2), FAIL(-1); 6 | 7 | public Integer getStatus() { 8 | return status; 9 | } 10 | 11 | public void setStatus(Integer status) { 12 | this.status = status; 13 | } 14 | 15 | private Integer status; 16 | 17 | SqlExeResultStatusEnum(Integer status) { 18 | this.status = status; 19 | } 20 | 21 | public static SqlExeResultStatusEnum getByStatus(Integer status) { 22 | for (SqlExeResultStatusEnum statusEnum : values()) { 23 | if (statusEnum.getStatus() == status) { 24 | return statusEnum; 25 | } 26 | } 27 | return null; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/enums/SqlQuerySwitchEnum.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.core.enums; 2 | 3 | public enum SqlQuerySwitchEnum { 4 | //状态:-1 关闭 1. 打开 5 | CLOSED(-1), OPEN(1); 6 | 7 | public Integer getStatus() { 8 | return status; 9 | } 10 | 11 | public void setStatus(Integer status) { 12 | this.status = status; 13 | } 14 | 15 | private Integer status; 16 | 17 | SqlQuerySwitchEnum(Integer status) { 18 | this.status = status; 19 | } 20 | 21 | public static SqlQuerySwitchEnum getByStatus(Integer status) { 22 | for (SqlQuerySwitchEnum statusEnum : values()) { 23 | if (statusEnum.getStatus() == status) { 24 | return statusEnum; 25 | } 26 | } 27 | return null; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/enums/SqlSyntaxErrorCountTypeForStatisticsEnum.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.core.enums; 2 | 3 | public enum SqlSyntaxErrorCountTypeForStatisticsEnum { 4 | //状态: 5 | ALL(1), NO_LIMIT(2), NO_WHERE(3), NO_PERMISSION(4); 6 | 7 | public Integer getType() { 8 | return type; 9 | } 10 | 11 | public void setType(Integer type) { 12 | this.type = type; 13 | } 14 | 15 | private Integer type; 16 | 17 | SqlSyntaxErrorCountTypeForStatisticsEnum(Integer type) { 18 | this.type = type; 19 | } 20 | 21 | public static SqlSyntaxErrorCountTypeForStatisticsEnum getByType(Integer type) { 22 | for (SqlSyntaxErrorCountTypeForStatisticsEnum typeEnum : values()) { 23 | if (typeEnum.getType() == type) { 24 | return typeEnum; 25 | } 26 | } 27 | return null; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/exception/UserNotExistException.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.core.exception; 2 | 3 | public class UserNotExistException extends RuntimeException { 4 | public UserNotExistException() { 5 | super("user not found"); 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/exception/UserStatusException.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.core.exception; 2 | 3 | public class UserStatusException extends RuntimeException { 4 | public UserStatusException(String message) { 5 | super(message); 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /kb-dms-backend/core/src/main/java/com/bin/kong/dms/core/mybatis/DataSourceConfig.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.core.mybatis; 2 | 3 | import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceBuilder; 4 | import org.springframework.boot.context.properties.ConfigurationProperties; 5 | import org.springframework.context.annotation.Bean; 6 | import org.springframework.context.annotation.Configuration; 7 | import org.springframework.context.annotation.Primary; 8 | 9 | import javax.sql.DataSource; 10 | 11 | @Configuration 12 | public class DataSourceConfig { 13 | @Primary 14 | @Bean 15 | @ConfigurationProperties("spring.datasource.dms") 16 | public DataSource dasDms() { 17 | return DruidDataSourceBuilder.create().build(); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /kb-dms-backend/dao/src/main/java/com/bin/kong/dms/dao/mapper/config/CfAdminConfigMapper.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.dao.mapper.config; 2 | 3 | 4 | import com.bin.kong.dms.model.config.entity.CfAdminConfig; 5 | import com.bin.kong.dms.model.config.search.AdminSearch; 6 | 7 | import java.util.List; 8 | 9 | public interface CfAdminConfigMapper { 10 | int deleteByPrimaryKey(Integer id); 11 | 12 | int deleteByAccount(String account); 13 | 14 | int insertSelective(CfAdminConfig record); 15 | 16 | CfAdminConfig selectByPrimaryKey(Integer id); 17 | 18 | int updateByPrimaryKeySelective(CfAdminConfig record); 19 | 20 | List selectList(CfAdminConfig base); 21 | 22 | List searchList(AdminSearch search); 23 | 24 | } 25 | -------------------------------------------------------------------------------- /kb-dms-backend/dao/src/main/java/com/bin/kong/dms/dao/mapper/config/CfBusGroupMapper.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.dao.mapper.config; 2 | 3 | import com.bin.kong.dms.model.config.entity.CfBusGroup; 4 | import com.bin.kong.dms.model.config.search.BusGroupSearch; 5 | 6 | import java.util.List; 7 | 8 | public interface CfBusGroupMapper { 9 | int deleteByPrimaryKey(Integer id); 10 | 11 | int insertSelective(CfBusGroup record); 12 | 13 | CfBusGroup selectByPrimaryKey(Integer id); 14 | 15 | int updateByPrimaryKeySelective(CfBusGroup record); 16 | 17 | List selectList(CfBusGroup base); 18 | 19 | List searchList(BusGroupSearch search); 20 | 21 | int selectCount(CfBusGroup base); 22 | 23 | 24 | } 25 | -------------------------------------------------------------------------------- /kb-dms-backend/dao/src/main/java/com/bin/kong/dms/dao/mapper/config/CfBusGroupOwnersMapper.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.dao.mapper.config; 2 | 3 | import com.bin.kong.dms.model.config.entity.CfBusGroupOwners; 4 | 5 | import java.util.List; 6 | 7 | public interface CfBusGroupOwnersMapper { 8 | int deleteByPrimaryKey(Integer id); 9 | 10 | int deleteByBusGroupId(Integer bus_group_id); 11 | 12 | int insertSelective(CfBusGroupOwners record); 13 | 14 | CfBusGroupOwners selectByPrimaryKey(Integer id); 15 | 16 | int updateByPrimaryKeySelective(CfBusGroupOwners record); 17 | 18 | List selectList(CfBusGroupOwners base); 19 | } 20 | -------------------------------------------------------------------------------- /kb-dms-backend/dao/src/main/java/com/bin/kong/dms/dao/mapper/config/CfBusGroupUsersMapper.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.dao.mapper.config; 2 | 3 | 4 | import com.bin.kong.dms.model.config.entity.CfBusGroupUsers; 5 | import com.bin.kong.dms.model.config.search.BusGroupUsersSearch; 6 | 7 | import java.util.List; 8 | import java.util.Map; 9 | 10 | public interface CfBusGroupUsersMapper { 11 | int deleteByPrimaryKey(Integer id); 12 | 13 | int insertSelective(CfBusGroupUsers record); 14 | 15 | CfBusGroupUsers selectByPrimaryKey(Integer id); 16 | 17 | int updateByPrimaryKeySelective(CfBusGroupUsers record); 18 | 19 | List selectList(CfBusGroupUsers base); 20 | 21 | List searchList(BusGroupUsersSearch search); 22 | 23 | Integer deleteByAccount(Map params); 24 | } 25 | -------------------------------------------------------------------------------- /kb-dms-backend/dao/src/main/java/com/bin/kong/dms/dao/mapper/config/CfDatasourceMapper.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.dao.mapper.config; 2 | 3 | import com.bin.kong.dms.model.config.entity.CfDatasource; 4 | import com.bin.kong.dms.model.config.search.DatasourceSearch; 5 | 6 | import java.util.List; 7 | 8 | public interface CfDatasourceMapper { 9 | int deleteByPrimaryKey(Integer id); 10 | 11 | int insertSelective(CfDatasource record); 12 | 13 | CfDatasource selectByPrimaryKey(Integer id); 14 | 15 | int updateByPrimaryKeySelective(CfDatasource record); 16 | 17 | List searchList(DatasourceSearch search); 18 | 19 | List selectList(CfDatasource record); 20 | 21 | int selectCount(CfDatasource record); 22 | 23 | } 24 | -------------------------------------------------------------------------------- /kb-dms-backend/dao/src/main/java/com/bin/kong/dms/dao/mapper/config/CfDatasourceOwnersMapper.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.dao.mapper.config; 2 | 3 | import com.bin.kong.dms.model.config.entity.CfDatasourceOwners; 4 | 5 | import java.util.List; 6 | 7 | public interface CfDatasourceOwnersMapper { 8 | int deleteByPrimaryKey(Integer id); 9 | 10 | int deleteByDatasourceId(Integer datasource_id); 11 | 12 | int insertSelective(CfDatasourceOwners record); 13 | 14 | CfDatasourceOwners selectByPrimaryKey(Integer id); 15 | 16 | int updateByPrimaryKeySelective(CfDatasourceOwners record); 17 | 18 | List selectList(CfDatasourceOwners base); 19 | 20 | 21 | } 22 | -------------------------------------------------------------------------------- /kb-dms-backend/dao/src/main/java/com/bin/kong/dms/dao/mapper/config/CfDatasourcePermissionMemberMapper.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.dao.mapper.config; 2 | 3 | import com.bin.kong.dms.model.config.entity.CfDatasourcePermissionMember; 4 | 5 | import java.util.List; 6 | 7 | public interface CfDatasourcePermissionMemberMapper { 8 | int deleteByPrimaryKey(Integer id); 9 | 10 | int deleteByKeySelective(CfDatasourcePermissionMember record); 11 | 12 | int insertSelective(CfDatasourcePermissionMember record); 13 | 14 | CfDatasourcePermissionMember selectByPrimaryKey(Integer id); 15 | 16 | int updateByPrimaryKeySelective(CfDatasourcePermissionMember record); 17 | 18 | List selectList(CfDatasourcePermissionMember base); 19 | 20 | } 21 | -------------------------------------------------------------------------------- /kb-dms-backend/dao/src/main/java/com/bin/kong/dms/dao/mapper/config/CfDatasourcePermissionSqlOptionsMapper.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.dao.mapper.config; 2 | 3 | import com.bin.kong.dms.model.config.entity.CfDatasourcePermissionSqlOptions; 4 | 5 | import java.util.List; 6 | 7 | public interface CfDatasourcePermissionSqlOptionsMapper { 8 | int deleteByPrimaryKey(Integer id); 9 | 10 | int deleteByKeySelective(CfDatasourcePermissionSqlOptions record); 11 | 12 | int insertSelective(CfDatasourcePermissionSqlOptions record); 13 | 14 | CfDatasourcePermissionSqlOptions selectByPrimaryKey(Integer id); 15 | 16 | int updateByPrimaryKeySelective(CfDatasourcePermissionSqlOptions record); 17 | 18 | List selectList(CfDatasourcePermissionSqlOptions base); 19 | 20 | } 21 | -------------------------------------------------------------------------------- /kb-dms-backend/dao/src/main/java/com/bin/kong/dms/dao/mapper/join/BusGroupJoinOwnerMapper.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.dao.mapper.join; 2 | 3 | 4 | import com.bin.kong.dms.model.join.entity.BusGroupJoinOwner; 5 | import com.bin.kong.dms.model.join.search.BusGroupJoinOwnerSearch; 6 | 7 | import java.util.List; 8 | 9 | public interface BusGroupJoinOwnerMapper { 10 | 11 | List searchList(BusGroupJoinOwnerSearch search); 12 | 13 | } 14 | -------------------------------------------------------------------------------- /kb-dms-backend/dao/src/main/java/com/bin/kong/dms/dao/mapper/join/DatasourceJoinGroupJoinOwnerMapper.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.dao.mapper.join; 2 | 3 | 4 | import com.bin.kong.dms.model.join.entity.DatasourceJoinGroupJoinOwner; 5 | import com.bin.kong.dms.model.join.search.DatasourceJoinGroupJoinOwnerSearch; 6 | 7 | import java.util.List; 8 | 9 | public interface DatasourceJoinGroupJoinOwnerMapper { 10 | 11 | DatasourceJoinGroupJoinOwner selectByPrimaryKey(Integer id); 12 | 13 | List searchList(DatasourceJoinGroupJoinOwnerSearch search); 14 | 15 | } 16 | -------------------------------------------------------------------------------- /kb-dms-backend/dao/src/main/java/com/bin/kong/dms/dao/mapper/join/DatasourceJoinGroupMapper.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.dao.mapper.join; 2 | 3 | 4 | import com.bin.kong.dms.model.join.entity.DatasourceJoinGroup; 5 | import com.bin.kong.dms.model.join.search.DatasourceJoinGroupSearch; 6 | 7 | import java.util.List; 8 | 9 | public interface DatasourceJoinGroupMapper { 10 | 11 | DatasourceJoinGroup selectByPrimaryKey(Integer id); 12 | 13 | List searchList(DatasourceJoinGroupSearch search); 14 | 15 | } 16 | -------------------------------------------------------------------------------- /kb-dms-backend/dao/src/main/java/com/bin/kong/dms/dao/mapper/join/SqlEditorTabJoinDatasourceMapper.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.dao.mapper.join; 2 | 3 | 4 | import com.bin.kong.dms.model.join.entity.SqlEditorTabJoinDatasource; 5 | import com.bin.kong.dms.model.join.search.SqlEditorTabJoinDatasourceSearch; 6 | 7 | import java.util.List; 8 | 9 | public interface SqlEditorTabJoinDatasourceMapper { 10 | 11 | List searchList(SqlEditorTabJoinDatasourceSearch search); 12 | 13 | } 14 | -------------------------------------------------------------------------------- /kb-dms-backend/dao/src/main/java/com/bin/kong/dms/dao/mapper/result/RsSqlExeRecordMapper.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.dao.mapper.result; 2 | 3 | import com.bin.kong.dms.model.result.entity.RsSqlExeRecord; 4 | 5 | public interface RsSqlExeRecordMapper { 6 | int deleteByPrimaryKey(Integer id); 7 | 8 | int insertSelective(RsSqlExeRecord record); 9 | 10 | RsSqlExeRecord selectByPrimaryKey(Integer id); 11 | 12 | int updateByPrimaryKeySelective(RsSqlExeRecord record); 13 | 14 | } 15 | -------------------------------------------------------------------------------- /kb-dms-backend/dao/src/main/java/com/bin/kong/dms/dao/mapper/result/RsSqlExeResultMapper.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.dao.mapper.result; 2 | 3 | import com.bin.kong.dms.model.result.entity.RsSqlExeResult; 4 | import com.bin.kong.dms.model.result.search.SqlExeResultForStatisticsSearch; 5 | import com.bin.kong.dms.model.result.search.SqlExeResultSearch; 6 | 7 | import java.util.List; 8 | 9 | public interface RsSqlExeResultMapper { 10 | int deleteByPrimaryKey(Integer id); 11 | 12 | int insertSelective(RsSqlExeResult record); 13 | 14 | RsSqlExeResult selectByPrimaryKey(Integer id); 15 | 16 | int updateByPrimaryKeySelective(RsSqlExeResult record); 17 | 18 | 19 | List selectList(RsSqlExeResult base); 20 | 21 | 22 | int searchCountForStatistics(SqlExeResultForStatisticsSearch base); 23 | 24 | 25 | List searchList(SqlExeResultSearch search); 26 | 27 | Integer searchCount(SqlExeResultSearch search); 28 | 29 | } 30 | -------------------------------------------------------------------------------- /kb-dms-backend/dao/src/main/java/com/bin/kong/dms/dao/mapper/statistics/StSqlExeBizTotalMapper.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.dao.mapper.statistics; 2 | 3 | import com.bin.kong.dms.model.statistics.entity.StSqlExeBizTotal; 4 | 5 | public interface StSqlExeBizTotalMapper { 6 | int deleteByPrimaryKey(Integer id); 7 | 8 | int insertSelective(StSqlExeBizTotal record); 9 | 10 | StSqlExeBizTotal selectByPrimaryKey(Integer id); 11 | 12 | int updateByPrimaryKeySelective(StSqlExeBizTotal record); 13 | 14 | int updateAddStatisticsCount(StSqlExeBizTotal record); 15 | } 16 | -------------------------------------------------------------------------------- /kb-dms-backend/dao/src/main/java/com/bin/kong/dms/dao/mapper/statistics/StSqlExeResultCountDayMapper.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.dao.mapper.statistics; 2 | 3 | import com.bin.kong.dms.model.statistics.entity.StSqlExeResultCountDay; 4 | import com.bin.kong.dms.model.statistics.search.StSqlExeResultCountDaySearch; 5 | 6 | import java.util.List; 7 | 8 | public interface StSqlExeResultCountDayMapper { 9 | int deleteByPrimaryKey(Integer id); 10 | 11 | int insertSelective(StSqlExeResultCountDay record); 12 | 13 | StSqlExeResultCountDay selectByPrimaryKey(Integer id); 14 | 15 | int updateByPrimaryKeySelective(StSqlExeResultCountDay record); 16 | 17 | List searchList(StSqlExeResultCountDaySearch search); 18 | 19 | } 20 | -------------------------------------------------------------------------------- /kb-dms-backend/dao/src/main/java/com/bin/kong/dms/dao/mapper/statistics/StSqlExeResultCountTimelineMapper.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.dao.mapper.statistics; 2 | 3 | import com.bin.kong.dms.model.statistics.entity.StSqlExeResultCountTimeline; 4 | import com.bin.kong.dms.model.statistics.search.StSqlExeResultCountTimelineSearch; 5 | 6 | public interface StSqlExeResultCountTimelineMapper { 7 | int deleteByPrimaryKey(Integer id); 8 | 9 | int insertSelective(StSqlExeResultCountTimeline record); 10 | 11 | StSqlExeResultCountTimeline selectByPrimaryKey(Integer id); 12 | 13 | Integer updateByPrimaryKeySelective(StSqlExeResultCountTimeline record); 14 | 15 | Integer searchCountForStatistics(StSqlExeResultCountTimelineSearch base); 16 | 17 | } 18 | -------------------------------------------------------------------------------- /kb-dms-backend/dao/src/main/java/com/bin/kong/dms/dao/mapper/statistics/StSqlSyntaxErrorCountDayMapper.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.dao.mapper.statistics; 2 | 3 | import com.bin.kong.dms.model.statistics.entity.StSqlSyntaxErrorCountDay; 4 | import com.bin.kong.dms.model.statistics.search.StSqlSyntaxErrorCountDaySearch; 5 | 6 | import java.util.List; 7 | 8 | public interface StSqlSyntaxErrorCountDayMapper { 9 | int deleteByPrimaryKey(Integer id); 10 | 11 | int insertSelective(StSqlSyntaxErrorCountDay record); 12 | 13 | StSqlSyntaxErrorCountDay selectByPrimaryKey(Integer id); 14 | 15 | int updateByPrimaryKeySelective(StSqlSyntaxErrorCountDay record); 16 | 17 | List searchList(StSqlSyntaxErrorCountDaySearch search); 18 | 19 | } 20 | -------------------------------------------------------------------------------- /kb-dms-backend/dao/src/main/java/com/bin/kong/dms/dao/mapper/statistics/StSqlSyntaxErrorCountTimelineMapper.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.dao.mapper.statistics; 2 | 3 | import com.bin.kong.dms.model.statistics.entity.StSqlSyntaxErrorCountTimeline; 4 | import com.bin.kong.dms.model.statistics.search.StSqlSyntaxErrorCountTimelineSearch; 5 | 6 | public interface StSqlSyntaxErrorCountTimelineMapper { 7 | int deleteByPrimaryKey(Integer id); 8 | 9 | int insertSelective(StSqlSyntaxErrorCountTimeline record); 10 | 11 | StSqlSyntaxErrorCountTimeline selectByPrimaryKey(Integer id); 12 | 13 | int updateByPrimaryKeySelective(StSqlSyntaxErrorCountTimeline record); 14 | 15 | Integer searchCountForStatistics(StSqlSyntaxErrorCountTimelineSearch base); 16 | 17 | 18 | } 19 | -------------------------------------------------------------------------------- /kb-dms-backend/dao/src/main/java/com/bin/kong/dms/dao/mapper/user/UsActiveSqlEditorTabMapper.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.dao.mapper.user; 2 | 3 | import com.bin.kong.dms.model.user.entity.UsActiveSqlEditorTab; 4 | 5 | import java.util.List; 6 | 7 | public interface UsActiveSqlEditorTabMapper { 8 | int deleteByPrimaryKey(Integer id); 9 | 10 | int insertSelective(UsActiveSqlEditorTab record); 11 | 12 | UsActiveSqlEditorTab selectByPrimaryKey(Integer id); 13 | 14 | int updateByPrimaryKeySelective(UsActiveSqlEditorTab record); 15 | 16 | List selectList(UsActiveSqlEditorTab base); 17 | 18 | } 19 | -------------------------------------------------------------------------------- /kb-dms-backend/dao/src/main/java/com/bin/kong/dms/dao/mapper/user/UsFavoriteDatasourceMapper.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.dao.mapper.user; 2 | 3 | import com.bin.kong.dms.model.user.entity.UsFavoriteDatasource; 4 | 5 | import java.util.List; 6 | 7 | public interface UsFavoriteDatasourceMapper { 8 | int deleteByPrimaryKey(Integer id); 9 | 10 | int insertSelective(UsFavoriteDatasource record); 11 | 12 | UsFavoriteDatasource selectByPrimaryKey(Integer id); 13 | 14 | int updateByPrimaryKeySelective(UsFavoriteDatasource record); 15 | 16 | List selectList(UsFavoriteDatasource record); 17 | 18 | int deleteByPrimaryKeySelective(UsFavoriteDatasource record); 19 | } 20 | -------------------------------------------------------------------------------- /kb-dms-backend/dao/src/main/java/com/bin/kong/dms/dao/mapper/user/UsFavoriteDbMapper.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.dao.mapper.user; 2 | 3 | import com.bin.kong.dms.model.user.entity.UsFavoriteDb; 4 | 5 | import java.util.List; 6 | 7 | public interface UsFavoriteDbMapper { 8 | int deleteByPrimaryKey(Integer id); 9 | 10 | int insertSelective(UsFavoriteDb record); 11 | 12 | UsFavoriteDb selectByPrimaryKey(Integer id); 13 | 14 | int updateByPrimaryKeySelective(UsFavoriteDb record); 15 | 16 | List selectList(UsFavoriteDb record); 17 | 18 | int deleteByPrimaryKeySelective(UsFavoriteDb record); 19 | } 20 | -------------------------------------------------------------------------------- /kb-dms-backend/dao/src/main/java/com/bin/kong/dms/dao/mapper/user/UsFavoriteGroupMapper.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.dao.mapper.user; 2 | 3 | import com.bin.kong.dms.model.user.entity.UsFavoriteGroup; 4 | 5 | import java.util.List; 6 | 7 | public interface UsFavoriteGroupMapper { 8 | int deleteByPrimaryKey(Integer id); 9 | 10 | int insertSelective(UsFavoriteGroup record); 11 | 12 | UsFavoriteGroup selectByPrimaryKey(Integer id); 13 | 14 | int updateByPrimaryKeySelective(UsFavoriteGroup record); 15 | 16 | int updateByPrimaryKey(UsFavoriteGroup record); 17 | 18 | List selectList(UsFavoriteGroup record); 19 | 20 | int deleteByPrimaryKeySelective(UsFavoriteGroup record); 21 | } 22 | -------------------------------------------------------------------------------- /kb-dms-backend/dao/src/main/java/com/bin/kong/dms/dao/mapper/user/UsFavoriteTableMapper.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.dao.mapper.user; 2 | 3 | import com.bin.kong.dms.model.user.entity.UsFavoriteTable; 4 | 5 | import java.util.List; 6 | 7 | public interface UsFavoriteTableMapper { 8 | int deleteByPrimaryKey(Integer id); 9 | 10 | int insertSelective(UsFavoriteTable record); 11 | 12 | UsFavoriteTable selectByPrimaryKey(Integer id); 13 | 14 | int updateByPrimaryKeySelective(UsFavoriteTable record); 15 | 16 | 17 | List selectList(UsFavoriteTable record); 18 | 19 | int deleteByPrimaryKeySelective(UsFavoriteTable record); 20 | 21 | } 22 | -------------------------------------------------------------------------------- /kb-dms-backend/dao/src/main/java/com/bin/kong/dms/dao/mapper/user/UsSqlEditorTabMapper.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.dao.mapper.user; 2 | 3 | import com.bin.kong.dms.model.user.entity.UsSqlEditorTab; 4 | import com.bin.kong.dms.model.user.search.SqlEditorTabSearch; 5 | 6 | import java.util.List; 7 | 8 | public interface UsSqlEditorTabMapper { 9 | int deleteByPrimaryKey(Integer id); 10 | 11 | int insertSelective(UsSqlEditorTab record); 12 | 13 | UsSqlEditorTab selectByPrimaryKey(Integer id); 14 | 15 | int updateByPrimaryKeySelective(UsSqlEditorTab record); 16 | 17 | List searchList(SqlEditorTabSearch search); 18 | 19 | } 20 | -------------------------------------------------------------------------------- /kb-dms-backend/dao/src/main/java/com/bin/kong/dms/dao/mapper/user/UserInfoMapper.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.dao.mapper.user; 2 | 3 | import com.bin.kong.dms.contract.common.BaseSearch; 4 | import com.bin.kong.dms.model.user.entity.UserInfo; 5 | 6 | import java.util.List; 7 | 8 | public interface UserInfoMapper { 9 | int deleteByPrimaryKey(Integer id); 10 | 11 | int insertSelective(UserInfo record); 12 | 13 | UserInfo selectByPrimaryKey(Integer id); 14 | 15 | int updateByPrimaryKeySelective(UserInfo record); 16 | 17 | UserInfo selectByLoginName(String loginName); 18 | 19 | List searchList(BaseSearch search); 20 | 21 | } 22 | -------------------------------------------------------------------------------- /kb-dms-backend/model/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | dms-backend 7 | com.bin.kong.dms 8 | 0.0.1-SNAPSHOT 9 | ../pom.xml 10 | 11 | 4.0.0 12 | 13 | com.bin.kong.dms 14 | model 15 | 0.0.1-SNAPSHOT 16 | model 17 | jar 18 | 19 | 20 | -------------------------------------------------------------------------------- /kb-dms-backend/model/src/main/java/com/bin/kong/dms/model/config/entity/CfAdminConfig.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.model.config.entity; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | import java.util.Date; 9 | 10 | @Data 11 | @Builder 12 | @AllArgsConstructor 13 | @NoArgsConstructor 14 | public class CfAdminConfig { 15 | private Integer id; 16 | 17 | private String account; 18 | 19 | private String name; 20 | 21 | private Date create_time; 22 | 23 | private String creator_name; 24 | 25 | private String creator_account; 26 | } 27 | -------------------------------------------------------------------------------- /kb-dms-backend/model/src/main/java/com/bin/kong/dms/model/config/entity/CfBusGroup.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.model.config.entity; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | import java.util.Date; 9 | 10 | @Data 11 | @Builder 12 | @NoArgsConstructor 13 | @AllArgsConstructor 14 | public class CfBusGroup { 15 | private Integer id; 16 | 17 | private String name; 18 | 19 | private Date create_time; 20 | 21 | private Integer status; 22 | 23 | private String creator_account; 24 | 25 | private String creator_name; 26 | 27 | } 28 | -------------------------------------------------------------------------------- /kb-dms-backend/model/src/main/java/com/bin/kong/dms/model/config/entity/CfBusGroupOwners.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.model.config.entity; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | @Data 9 | @Builder 10 | @AllArgsConstructor 11 | @NoArgsConstructor 12 | public class CfBusGroupOwners { 13 | private Integer id; 14 | 15 | private String name; 16 | 17 | private String account; 18 | 19 | private Integer bus_group_id; 20 | } 21 | -------------------------------------------------------------------------------- /kb-dms-backend/model/src/main/java/com/bin/kong/dms/model/config/entity/CfBusGroupUsers.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.model.config.entity; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | @Data 9 | @Builder 10 | @AllArgsConstructor 11 | @NoArgsConstructor 12 | public class CfBusGroupUsers { 13 | private Integer id; 14 | 15 | private Integer bus_group_id; 16 | 17 | private String name; 18 | 19 | private String account; 20 | 21 | private String creator_name; 22 | 23 | private String creator_account; 24 | } 25 | -------------------------------------------------------------------------------- /kb-dms-backend/model/src/main/java/com/bin/kong/dms/model/config/entity/CfDatasource.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.model.config.entity; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | import java.util.Date; 9 | @Data 10 | @Builder 11 | @AllArgsConstructor 12 | @NoArgsConstructor 13 | public class CfDatasource { 14 | private Integer id; 15 | 16 | private Integer group_id; 17 | 18 | private String name; 19 | 20 | private String description; 21 | 22 | private Integer type; 23 | 24 | private Integer status; 25 | 26 | private String ip; 27 | 28 | private Integer port; 29 | 30 | private String db; 31 | 32 | private String username; 33 | 34 | private String password; 35 | 36 | private String creator_name; 37 | 38 | private String creator_account; 39 | 40 | private Date create_time; 41 | 42 | private Date update_time; 43 | 44 | private Integer query_switch; 45 | } 46 | -------------------------------------------------------------------------------- /kb-dms-backend/model/src/main/java/com/bin/kong/dms/model/config/entity/CfDatasourceOwners.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.model.config.entity; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | @Data 9 | @Builder 10 | @AllArgsConstructor 11 | @NoArgsConstructor 12 | public class CfDatasourceOwners { 13 | private Integer id; 14 | 15 | private Integer datasource_id; 16 | 17 | private String name; 18 | 19 | private String account; 20 | 21 | } 22 | -------------------------------------------------------------------------------- /kb-dms-backend/model/src/main/java/com/bin/kong/dms/model/config/entity/CfDatasourcePermissionMember.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.model.config.entity; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | @Data 9 | @Builder 10 | @AllArgsConstructor 11 | @NoArgsConstructor 12 | public class CfDatasourcePermissionMember { 13 | private Integer id; 14 | 15 | private Integer datasource_id; 16 | 17 | private String account; 18 | 19 | private String name; 20 | 21 | } 22 | -------------------------------------------------------------------------------- /kb-dms-backend/model/src/main/java/com/bin/kong/dms/model/config/entity/CfDatasourcePermissionSqlOptions.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.model.config.entity; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | @Data 9 | @Builder 10 | @AllArgsConstructor 11 | @NoArgsConstructor 12 | public class CfDatasourcePermissionSqlOptions { 13 | private Integer id; 14 | 15 | private Integer datasource_id; 16 | 17 | private Integer option_type; 18 | 19 | private String account; 20 | 21 | } 22 | -------------------------------------------------------------------------------- /kb-dms-backend/model/src/main/java/com/bin/kong/dms/model/config/search/AdminSearch.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.model.config.search; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | @Data 9 | @Builder 10 | @AllArgsConstructor 11 | @NoArgsConstructor 12 | public class AdminSearch { 13 | private String kw; 14 | } 15 | -------------------------------------------------------------------------------- /kb-dms-backend/model/src/main/java/com/bin/kong/dms/model/config/search/BusGroupSearch.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.model.config.search; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | @Data 9 | @Builder 10 | @AllArgsConstructor 11 | @NoArgsConstructor 12 | public class BusGroupSearch { 13 | private String kw; 14 | private Integer status; 15 | private String creator; 16 | } 17 | -------------------------------------------------------------------------------- /kb-dms-backend/model/src/main/java/com/bin/kong/dms/model/config/search/BusGroupUsersSearch.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.model.config.search; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | @Data 9 | @Builder 10 | @AllArgsConstructor 11 | @NoArgsConstructor 12 | public class BusGroupUsersSearch { 13 | private String kw; 14 | private Integer bus_group_id; 15 | private String account; 16 | } 17 | -------------------------------------------------------------------------------- /kb-dms-backend/model/src/main/java/com/bin/kong/dms/model/config/search/DatasourceSearch.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.model.config.search; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | @Data 9 | @Builder 10 | @AllArgsConstructor 11 | @NoArgsConstructor 12 | public class DatasourceSearch { 13 | private String kw; 14 | private Integer status; 15 | } 16 | -------------------------------------------------------------------------------- /kb-dms-backend/model/src/main/java/com/bin/kong/dms/model/join/entity/BusGroupJoinOwner.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.model.join.entity; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | import java.util.Date; 9 | 10 | @Data 11 | @Builder 12 | @AllArgsConstructor 13 | @NoArgsConstructor 14 | public class BusGroupJoinOwner { 15 | 16 | private Integer id; 17 | 18 | private String name; 19 | 20 | private Date create_time; 21 | 22 | private Integer status; 23 | 24 | private String creator_account; 25 | 26 | private String creator_name; 27 | 28 | private String owner_account; 29 | 30 | private String owner_name; 31 | 32 | } 33 | -------------------------------------------------------------------------------- /kb-dms-backend/model/src/main/java/com/bin/kong/dms/model/join/entity/SqlEditorTabJoinDatasource.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.model.join.entity; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | import java.util.Date; 9 | 10 | @Data 11 | @Builder 12 | @AllArgsConstructor 13 | @NoArgsConstructor 14 | public class SqlEditorTabJoinDatasource { 15 | 16 | private Integer id; 17 | 18 | private String name; 19 | 20 | private String db; 21 | 22 | private Integer datasource_id; 23 | 24 | private String sql_text; 25 | 26 | private Date create_time; 27 | 28 | private Date update_time; 29 | 30 | private String creator_account; 31 | 32 | private String creator_name; 33 | 34 | private String datasource_name; 35 | 36 | private Integer datasource_type; 37 | 38 | private String table_name; 39 | 40 | private Integer type; 41 | } 42 | -------------------------------------------------------------------------------- /kb-dms-backend/model/src/main/java/com/bin/kong/dms/model/join/search/BusGroupJoinOwnerSearch.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.model.join.search; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | @Data 9 | @Builder 10 | @AllArgsConstructor 11 | @NoArgsConstructor 12 | public class BusGroupJoinOwnerSearch { 13 | private String kw; 14 | private Integer status; 15 | private String owner; 16 | private String creator; 17 | } 18 | -------------------------------------------------------------------------------- /kb-dms-backend/model/src/main/java/com/bin/kong/dms/model/join/search/DatasourceJoinGroupJoinOwnerSearch.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.model.join.search; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | @Data 9 | @Builder 10 | @AllArgsConstructor 11 | @NoArgsConstructor 12 | public class DatasourceJoinGroupJoinOwnerSearch { 13 | private String kw; 14 | private Integer status; 15 | private String owner; 16 | private String creator; 17 | } 18 | -------------------------------------------------------------------------------- /kb-dms-backend/model/src/main/java/com/bin/kong/dms/model/join/search/DatasourceJoinGroupSearch.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.model.join.search; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | @Data 9 | @Builder 10 | @AllArgsConstructor 11 | @NoArgsConstructor 12 | public class DatasourceJoinGroupSearch { 13 | private String kw; 14 | private Integer status; 15 | private String creator; 16 | } 17 | -------------------------------------------------------------------------------- /kb-dms-backend/model/src/main/java/com/bin/kong/dms/model/join/search/DdlOptionsJoinTaskSearch.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.model.join.search; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | @Data 9 | @Builder 10 | @AllArgsConstructor 11 | @NoArgsConstructor 12 | public class DdlOptionsJoinTaskSearch { 13 | private String kw; 14 | private Integer status; 15 | private String query_type; 16 | private String creator_account; 17 | private String member_account; 18 | 19 | @Builder.Default 20 | private String orderBy = "id desc"; 21 | @Builder.Default 22 | private Integer pageSize = 10; 23 | @Builder.Default 24 | private Integer pageNum = 0; 25 | private Integer startNum; 26 | 27 | public Integer getStartNum() { 28 | if (pageNum > 0) { 29 | return pageSize * (pageNum); 30 | } else { 31 | return 0; 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /kb-dms-backend/model/src/main/java/com/bin/kong/dms/model/join/search/SqlEditorTabJoinDatasourceSearch.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.model.join.search; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | @Data 9 | @Builder 10 | @AllArgsConstructor 11 | @NoArgsConstructor 12 | public class SqlEditorTabJoinDatasourceSearch { 13 | private String kw; 14 | 15 | private String creator_account; 16 | 17 | private Integer status; 18 | } 19 | -------------------------------------------------------------------------------- /kb-dms-backend/model/src/main/java/com/bin/kong/dms/model/result/entity/RsSqlExeRecord.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.model.result.entity; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | import java.util.Date; 9 | @Data 10 | @Builder 11 | @AllArgsConstructor 12 | @NoArgsConstructor 13 | public class RsSqlExeRecord { 14 | private Integer id; 15 | 16 | private String sql_text; 17 | 18 | private Integer datasource_id; 19 | 20 | private String db; 21 | 22 | private Integer status; 23 | 24 | private String create_account; 25 | 26 | private String create_name; 27 | 28 | private Date create_time; 29 | 30 | private Date update_time; 31 | } 32 | -------------------------------------------------------------------------------- /kb-dms-backend/model/src/main/java/com/bin/kong/dms/model/result/search/SqlExeResultForStatisticsSearch.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.model.result.search; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | import java.util.Date; 9 | 10 | @Data 11 | @Builder 12 | @AllArgsConstructor 13 | @NoArgsConstructor 14 | public class SqlExeResultForStatisticsSearch { 15 | 16 | private Integer status; 17 | 18 | private Date start_time; 19 | 20 | private Date end_time; 21 | 22 | private Integer syntax_error_type; 23 | } 24 | -------------------------------------------------------------------------------- /kb-dms-backend/model/src/main/java/com/bin/kong/dms/model/result/search/SqlExeResultSearch.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.model.result.search; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | @Data 9 | @Builder 10 | @AllArgsConstructor 11 | @NoArgsConstructor 12 | public class SqlExeResultSearch { 13 | private String kw; 14 | private Integer status; 15 | private String creator; 16 | private Integer sql_option_type; 17 | private Integer syntax_error_type; 18 | private Boolean is_syntax_error; 19 | @Builder.Default 20 | private String orderBy = "id desc"; 21 | @Builder.Default 22 | private Integer pageSize = 10; 23 | @Builder.Default 24 | private Integer pageNum = 0; 25 | private Integer startNum; 26 | 27 | public Integer getStartNum() { 28 | if (pageNum > 0) { 29 | return pageSize * (pageNum); 30 | } else { 31 | return 0; 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /kb-dms-backend/model/src/main/java/com/bin/kong/dms/model/statistics/entity/StSqlExeBizTotal.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.model.statistics.entity; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | @Data 9 | @Builder 10 | @AllArgsConstructor 11 | @NoArgsConstructor 12 | public class StSqlExeBizTotal { 13 | private Integer id; 14 | 15 | private Integer sql_exe_result_total; 16 | 17 | private Integer sql_exe_result_success_total; 18 | 19 | private Integer sql_exe_result_running_total; 20 | 21 | private Integer sql_exe_result_fail_total; 22 | 23 | private Integer sql_syntax_no_permission_total; 24 | 25 | private Integer sql_syntax_no_limit_total; 26 | 27 | private Integer sql_syntax_no_where_total; 28 | 29 | private Integer sql_syntax_error_total; 30 | 31 | } 32 | -------------------------------------------------------------------------------- /kb-dms-backend/model/src/main/java/com/bin/kong/dms/model/statistics/entity/StSqlExeResultCountDay.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.model.statistics.entity; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | import java.util.Date; 9 | 10 | @Data 11 | @Builder 12 | @AllArgsConstructor 13 | @NoArgsConstructor 14 | public class StSqlExeResultCountDay { 15 | private Integer id; 16 | 17 | private Integer type; 18 | 19 | private Integer count; 20 | 21 | private Date create_time; 22 | 23 | } 24 | -------------------------------------------------------------------------------- /kb-dms-backend/model/src/main/java/com/bin/kong/dms/model/statistics/entity/StSqlExeResultCountTimeline.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.model.statistics.entity; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | import java.util.Date; 9 | @Data 10 | @Builder 11 | @AllArgsConstructor 12 | @NoArgsConstructor 13 | public class StSqlExeResultCountTimeline { 14 | private Integer id; 15 | 16 | private Integer type; 17 | 18 | private Integer count; 19 | 20 | private Date create_time; 21 | 22 | } 23 | -------------------------------------------------------------------------------- /kb-dms-backend/model/src/main/java/com/bin/kong/dms/model/statistics/entity/StSqlSyntaxErrorCountDay.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.model.statistics.entity; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | import java.util.Date; 9 | 10 | @Data 11 | @Builder 12 | @AllArgsConstructor 13 | @NoArgsConstructor 14 | public class StSqlSyntaxErrorCountDay { 15 | private Integer id; 16 | 17 | private Integer type; 18 | 19 | private Integer count; 20 | 21 | private Date create_time; 22 | 23 | } 24 | -------------------------------------------------------------------------------- /kb-dms-backend/model/src/main/java/com/bin/kong/dms/model/statistics/entity/StSqlSyntaxErrorCountTimeline.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.model.statistics.entity; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | import java.util.Date; 9 | 10 | @Data 11 | @Builder 12 | @AllArgsConstructor 13 | @NoArgsConstructor 14 | public class StSqlSyntaxErrorCountTimeline { 15 | private Integer id; 16 | 17 | private Integer type; 18 | 19 | private Integer count; 20 | 21 | private Date create_time; 22 | 23 | } 24 | -------------------------------------------------------------------------------- /kb-dms-backend/model/src/main/java/com/bin/kong/dms/model/statistics/search/StSqlExeResultCountDaySearch.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.model.statistics.search; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | @Data 9 | @Builder 10 | @AllArgsConstructor 11 | @NoArgsConstructor 12 | public class StSqlExeResultCountDaySearch { 13 | @Builder.Default 14 | private String orderBy = "id desc"; 15 | @Builder.Default 16 | private Integer pageSize = 10; 17 | @Builder.Default 18 | private Integer pageNum = 0; 19 | private Integer startNum; 20 | 21 | public Integer getStartNum() { 22 | if (pageNum > 0) { 23 | return pageSize * (pageNum); 24 | } else { 25 | return 0; 26 | } 27 | } 28 | 29 | } 30 | -------------------------------------------------------------------------------- /kb-dms-backend/model/src/main/java/com/bin/kong/dms/model/statistics/search/StSqlExeResultCountTimelineSearch.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.model.statistics.search; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | import java.util.Date; 9 | 10 | @Data 11 | @Builder 12 | @AllArgsConstructor 13 | @NoArgsConstructor 14 | public class StSqlExeResultCountTimelineSearch { 15 | 16 | private Integer type; 17 | 18 | private Date start_time; 19 | 20 | private Date end_time; 21 | } 22 | -------------------------------------------------------------------------------- /kb-dms-backend/model/src/main/java/com/bin/kong/dms/model/statistics/search/StSqlSyntaxErrorCountDaySearch.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.model.statistics.search; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | import java.util.Date; 9 | 10 | @Data 11 | @Builder 12 | @AllArgsConstructor 13 | @NoArgsConstructor 14 | public class StSqlSyntaxErrorCountDaySearch { 15 | @Builder.Default 16 | private String orderBy = "id desc"; 17 | @Builder.Default 18 | private Integer pageSize = 10; 19 | @Builder.Default 20 | private Integer pageNum = 0; 21 | private Integer startNum; 22 | 23 | public Integer getStartNum() { 24 | if (pageNum > 0) { 25 | return pageSize * (pageNum); 26 | } else { 27 | return 0; 28 | } 29 | } 30 | 31 | } 32 | -------------------------------------------------------------------------------- /kb-dms-backend/model/src/main/java/com/bin/kong/dms/model/statistics/search/StSqlSyntaxErrorCountTimelineSearch.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.model.statistics.search; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | import java.util.Date; 9 | 10 | @Data 11 | @Builder 12 | @AllArgsConstructor 13 | @NoArgsConstructor 14 | public class StSqlSyntaxErrorCountTimelineSearch { 15 | 16 | private Integer type; 17 | 18 | private Date start_time; 19 | 20 | private Date end_time; 21 | } 22 | -------------------------------------------------------------------------------- /kb-dms-backend/model/src/main/java/com/bin/kong/dms/model/user/entity/UsActiveSqlEditorTab.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.model.user.entity; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | import java.util.Date; 9 | @Data 10 | @Builder 11 | @AllArgsConstructor 12 | @NoArgsConstructor 13 | public class UsActiveSqlEditorTab { 14 | private Integer id; 15 | 16 | private String account; 17 | 18 | private Date create_time; 19 | 20 | private Date update_time; 21 | 22 | private Integer sql_tab_id; 23 | 24 | } 25 | -------------------------------------------------------------------------------- /kb-dms-backend/model/src/main/java/com/bin/kong/dms/model/user/entity/UsFavoriteDatasource.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.model.user.entity; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | import java.util.Date; 9 | 10 | @Data 11 | @Builder 12 | @AllArgsConstructor 13 | @NoArgsConstructor 14 | public class UsFavoriteDatasource { 15 | private Integer id; 16 | 17 | private Integer datasource_id; 18 | 19 | private String account; 20 | 21 | private Date create_time; 22 | 23 | } 24 | -------------------------------------------------------------------------------- /kb-dms-backend/model/src/main/java/com/bin/kong/dms/model/user/entity/UsFavoriteDb.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.model.user.entity; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | import java.util.Date; 9 | 10 | @Data 11 | @Builder 12 | @AllArgsConstructor 13 | @NoArgsConstructor 14 | public class UsFavoriteDb { 15 | private Integer id; 16 | 17 | private Integer datasource_id; 18 | 19 | private String db; 20 | 21 | private String account; 22 | 23 | private Date create_time; 24 | } 25 | -------------------------------------------------------------------------------- /kb-dms-backend/model/src/main/java/com/bin/kong/dms/model/user/entity/UsFavoriteGroup.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.model.user.entity; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | import java.util.Date; 9 | 10 | @Data 11 | @Builder 12 | @AllArgsConstructor 13 | @NoArgsConstructor 14 | public class UsFavoriteGroup { 15 | private Integer id; 16 | 17 | private Integer group_id; 18 | 19 | private Date create_time; 20 | 21 | private String account; 22 | } 23 | -------------------------------------------------------------------------------- /kb-dms-backend/model/src/main/java/com/bin/kong/dms/model/user/entity/UsFavoriteTable.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.model.user.entity; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | import java.util.Date; 9 | 10 | @Data 11 | @Builder 12 | @AllArgsConstructor 13 | @NoArgsConstructor 14 | public class UsFavoriteTable { 15 | private Integer id; 16 | 17 | private Integer datasource_id; 18 | 19 | private String db; 20 | 21 | private String table_name; 22 | 23 | private String account; 24 | 25 | private Date create_time; 26 | 27 | } 28 | -------------------------------------------------------------------------------- /kb-dms-backend/model/src/main/java/com/bin/kong/dms/model/user/entity/UsSqlEditorTab.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.model.user.entity; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | import java.util.Date; 9 | 10 | @Data 11 | @Builder 12 | @AllArgsConstructor 13 | @NoArgsConstructor 14 | public class UsSqlEditorTab { 15 | private Integer id; 16 | 17 | private String name; 18 | 19 | private String db; 20 | 21 | private Integer datasource_id; 22 | 23 | private String sql_text; 24 | 25 | private Date create_time; 26 | 27 | private Date update_time; 28 | 29 | private String creator_account; 30 | 31 | private String creator_name; 32 | 33 | private String table_name; 34 | 35 | private Integer type; 36 | 37 | private Integer status; 38 | 39 | } 40 | -------------------------------------------------------------------------------- /kb-dms-backend/model/src/main/java/com/bin/kong/dms/model/user/entity/UserInfo.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.model.user.entity; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | import java.util.Date; 9 | 10 | @Data 11 | @Builder 12 | @NoArgsConstructor 13 | @AllArgsConstructor 14 | public class UserInfo { 15 | private Integer id; 16 | 17 | private String account; 18 | 19 | private String login_pwd; 20 | 21 | private String name; 22 | 23 | private Date create_time; 24 | 25 | private Date update_time; 26 | 27 | private String ip; 28 | } 29 | -------------------------------------------------------------------------------- /kb-dms-backend/model/src/main/java/com/bin/kong/dms/model/user/entity/UserInfoDTO.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.model.user.entity; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | @Data 9 | @Builder 10 | @AllArgsConstructor 11 | @NoArgsConstructor 12 | public class UserInfoDTO { 13 | private String name; 14 | private String account; 15 | @Builder.Default 16 | private Boolean is_admin = false; 17 | } 18 | -------------------------------------------------------------------------------- /kb-dms-backend/model/src/main/java/com/bin/kong/dms/model/user/search/SqlEditorTabSearch.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.model.user.search; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | @Data 9 | @Builder 10 | @AllArgsConstructor 11 | @NoArgsConstructor 12 | public class SqlEditorTabSearch { 13 | private String kw; 14 | 15 | private String creator_account; 16 | } 17 | -------------------------------------------------------------------------------- /kb-dms-backend/server/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/** 5 | !**/src/test/** 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | 30 | ### VS Code ### 31 | .vscode/ 32 | -------------------------------------------------------------------------------- /kb-dms-backend/server/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qabin/kb-dms/3459388161351ae9ae62388b27523b817b866dfe/kb-dms-backend/server/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /kb-dms-backend/server/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.0/apache-maven-3.6.0-bin.zip 2 | -------------------------------------------------------------------------------- /kb-dms-backend/server/src/main/java/com/bin/kong/dms/sever/SeverApplication.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.sever; 2 | 3 | import org.mybatis.spring.annotation.MapperScan; 4 | import org.springframework.boot.SpringApplication; 5 | import org.springframework.boot.autoconfigure.SpringBootApplication; 6 | import org.springframework.boot.web.servlet.ServletComponentScan; 7 | import org.springframework.context.annotation.ComponentScan; 8 | import org.springframework.scheduling.annotation.EnableScheduling; 9 | 10 | @SpringBootApplication 11 | @ServletComponentScan 12 | @MapperScan("com.bin.kong.dms.dao.mapper.*.**") 13 | @EnableScheduling 14 | @ComponentScan(basePackages = {"com.bin.kong.dms"}) 15 | public class SeverApplication { 16 | 17 | public static void main(String[] args) { 18 | SpringApplication.run(SeverApplication.class, args); 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /kb-dms-backend/server/src/main/java/com/bin/kong/dms/sever/controller/common/BaseController.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.sever.controller.common; 2 | 3 | import com.bin.kong.dms.core.constants.UserInfoConstants; 4 | import com.bin.kong.dms.model.user.entity.UserInfoDTO; 5 | import lombok.extern.slf4j.Slf4j; 6 | import org.apache.shiro.SecurityUtils; 7 | import org.springframework.web.bind.annotation.RestController; 8 | 9 | import java.text.SimpleDateFormat; 10 | 11 | @RestController 12 | @Slf4j 13 | public class BaseController { 14 | protected static SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); 15 | 16 | protected UserInfoDTO getUserInfoDTO() { 17 | 18 | return (UserInfoDTO) SecurityUtils.getSubject().getSession().getAttribute(UserInfoConstants.CURRENT_USER); 19 | 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /kb-dms-backend/server/src/main/java/com/bin/kong/dms/sever/runner/DataSourceInitRunner.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.sever.runner; 2 | 3 | import org.springframework.boot.ApplicationArguments; 4 | import org.springframework.boot.ApplicationRunner; 5 | import org.springframework.core.annotation.Order; 6 | import org.springframework.stereotype.Component; 7 | 8 | @Component 9 | @Order(1) 10 | public class DataSourceInitRunner implements ApplicationRunner { 11 | // @Resource 12 | // private MockProxyCache mockProxyCache; 13 | // @Resource 14 | // private HostCache hostCache; 15 | 16 | @Override 17 | public void run(ApplicationArguments args) { 18 | //mockProxyCache.init(); 19 | 20 | //hostCache.init(); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /kb-dms-backend/server/src/main/java/com/bin/kong/dms/sever/service/ISqlExeService.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.sever.service; 2 | 3 | import com.bin.kong.dms.model.result.entity.RsSqlExeRecord; 4 | 5 | public interface ISqlExeService { 6 | void sqlExeAsync(RsSqlExeRecord rsSqlExeRecord, String sql); 7 | 8 | void sqlExe(RsSqlExeRecord rsSqlExeRecord, String sql); 9 | } 10 | -------------------------------------------------------------------------------- /kb-dms-backend/server/src/main/java/com/bin/kong/dms/sever/service/ISqlOptionsTypePermissionService.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.sever.service; 2 | 3 | import com.bin.kong.dms.core.dynamicdatasource.DynamicSqlOptionTypeEntity; 4 | import com.bin.kong.dms.core.entity.Result; 5 | 6 | public interface ISqlOptionsTypePermissionService { 7 | Result check(DynamicSqlOptionTypeEntity sqlOptionTypeEntity, String account, Integer datasource_id); 8 | } 9 | -------------------------------------------------------------------------------- /kb-dms-backend/server/src/main/java/com/bin/kong/dms/sever/service/IStSqlExeBizTotalService.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.sever.service; 2 | 3 | import com.bin.kong.dms.model.statistics.entity.StSqlExeBizTotal; 4 | 5 | public interface IStSqlExeBizTotalService { 6 | 7 | void update(StSqlExeBizTotal bizTotal); 8 | } 9 | -------------------------------------------------------------------------------- /kb-dms-backend/server/src/main/java/com/bin/kong/dms/sever/shiro/MyCredentialsMatcher.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.sever.shiro; 2 | 3 | import org.apache.shiro.authc.AuthenticationInfo; 4 | import org.apache.shiro.authc.AuthenticationToken; 5 | import org.apache.shiro.authc.credential.SimpleCredentialsMatcher; 6 | 7 | public class MyCredentialsMatcher extends SimpleCredentialsMatcher { 8 | @Override 9 | public boolean doCredentialsMatch(AuthenticationToken token, AuthenticationInfo info) { 10 | Object tokenCredentials = getCredentials(token); 11 | Object accountCredentials = getCredentials(info); 12 | return super.equals(tokenCredentials, accountCredentials); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /kb-dms-backend/server/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | spring: 2 | profiles: 3 | active: dev 4 | -------------------------------------------------------------------------------- /kb-dms-backend/server/src/main/resources/banner.txt: -------------------------------------------------------------------------------- 1 | ██╗ ██╗██████╗ ██████╗ ███╗ ███╗███████╗ 2 | ██║ ██╔╝██╔══██╗ ██╔══██╗████╗ ████║██╔════╝ 3 | █████╔╝ ██████╔╝█████╗██║ ██║██╔████╔██║███████╗ 4 | ██╔═██╗ ██╔══██╗╚════╝██║ ██║██║╚██╔╝██║╚════██║ 5 | ██║ ██╗██████╔╝ ██████╔╝██║ ╚═╝ ██║███████║ 6 | ╚═╝ ╚═╝╚═════╝ ╚═════╝ ╚═╝ ╚═╝╚══════╝ 7 | -------------------------------------------------------------------------------- /kb-dms-backend/server/src/main/resources/db/1_database.sql: -------------------------------------------------------------------------------- 1 | CREATE DATABASE `kb-dms` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci */ /*!80016 DEFAULT ENCRYPTION='N' */; 2 | -------------------------------------------------------------------------------- /kb-dms-backend/server/src/main/resources/db/3_init_data.sql: -------------------------------------------------------------------------------- 1 | INSERT INTO `kb-dms`.`user_info` (`id`,`account`,`login_pwd`,`name`,`create_time`,`update_time`) VALUES ('1','admin','21232f297a57a5a743894a0e4a801fc3','管理员','2020-01-01 00:00:00','2020-01-01 00:00:00'); 2 | 3 | INSERT INTO `kb-dms`.`cf_admin_config` (`id`,`account`,`create_time`,`creator_name`,`creator_account`,`name`) VALUES ('1','admin','2020-01-01 00:00:00','admin','admin','管理员'); 4 | -------------------------------------------------------------------------------- /kb-dms-backend/server/src/main/resources/static/index.html: -------------------------------------------------------------------------------- 1 | DMS · 数据库在线管理平台,一切数据皆可查!
-------------------------------------------------------------------------------- /kb-dms-backend/server/src/main/resources/static/static/fonts/flUhRq6tzZclQEJ-Vdg-IuiaDsNa.c38ebd3.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qabin/kb-dms/3459388161351ae9ae62388b27523b817b866dfe/kb-dms-backend/server/src/main/resources/static/static/fonts/flUhRq6tzZclQEJ-Vdg-IuiaDsNa.c38ebd3.woff -------------------------------------------------------------------------------- /kb-dms-backend/server/src/main/resources/static/static/fonts/flUhRq6tzZclQEJ-Vdg-IuiaDsNcIhQ8tQ.8a9a261.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qabin/kb-dms/3459388161351ae9ae62388b27523b817b866dfe/kb-dms-backend/server/src/main/resources/static/static/fonts/flUhRq6tzZclQEJ-Vdg-IuiaDsNcIhQ8tQ.8a9a261.woff2 -------------------------------------------------------------------------------- /kb-dms-backend/server/src/main/resources/static/static/fonts/materialdesignicons-webfont.3ac50b5.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qabin/kb-dms/3459388161351ae9ae62388b27523b817b866dfe/kb-dms-backend/server/src/main/resources/static/static/fonts/materialdesignicons-webfont.3ac50b5.ttf -------------------------------------------------------------------------------- /kb-dms-backend/server/src/main/resources/static/static/fonts/materialdesignicons-webfont.7ec5dab.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qabin/kb-dms/3459388161351ae9ae62388b27523b817b866dfe/kb-dms-backend/server/src/main/resources/static/static/fonts/materialdesignicons-webfont.7ec5dab.woff2 -------------------------------------------------------------------------------- /kb-dms-backend/server/src/main/resources/static/static/fonts/materialdesignicons-webfont.a0d13d1.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qabin/kb-dms/3459388161351ae9ae62388b27523b817b866dfe/kb-dms-backend/server/src/main/resources/static/static/fonts/materialdesignicons-webfont.a0d13d1.woff -------------------------------------------------------------------------------- /kb-dms-backend/server/src/main/resources/static/static/fonts/materialdesignicons-webfont.a32fa1f.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qabin/kb-dms/3459388161351ae9ae62388b27523b817b866dfe/kb-dms-backend/server/src/main/resources/static/static/fonts/materialdesignicons-webfont.a32fa1f.eot -------------------------------------------------------------------------------- /kb-dms-backend/server/src/main/resources/static/static/fonts/mdi.5d43a6f.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qabin/kb-dms/3459388161351ae9ae62388b27523b817b866dfe/kb-dms-backend/server/src/main/resources/static/static/fonts/mdi.5d43a6f.woff -------------------------------------------------------------------------------- /kb-dms-backend/server/src/main/resources/static/static/fonts/mdi.6536e40.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qabin/kb-dms/3459388161351ae9ae62388b27523b817b866dfe/kb-dms-backend/server/src/main/resources/static/static/fonts/mdi.6536e40.woff2 -------------------------------------------------------------------------------- /kb-dms-backend/server/src/main/resources/static/static/img/1024_index.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qabin/kb-dms/3459388161351ae9ae62388b27523b817b866dfe/kb-dms-backend/server/src/main/resources/static/static/img/1024_index.png -------------------------------------------------------------------------------- /kb-dms-backend/server/src/main/resources/static/static/img/banzhuan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qabin/kb-dms/3459388161351ae9ae62388b27523b817b866dfe/kb-dms-backend/server/src/main/resources/static/static/img/banzhuan.png -------------------------------------------------------------------------------- /kb-dms-backend/server/src/main/resources/static/static/img/budaoshi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qabin/kb-dms/3459388161351ae9ae62388b27523b817b866dfe/kb-dms-backend/server/src/main/resources/static/static/img/budaoshi.png -------------------------------------------------------------------------------- /kb-dms-backend/server/src/main/resources/static/static/img/budaoshi_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qabin/kb-dms/3459388161351ae9ae62388b27523b817b866dfe/kb-dms-backend/server/src/main/resources/static/static/img/budaoshi_logo.png -------------------------------------------------------------------------------- /kb-dms-backend/server/src/main/resources/static/static/img/ceshi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qabin/kb-dms/3459388161351ae9ae62388b27523b817b866dfe/kb-dms-backend/server/src/main/resources/static/static/img/ceshi.png -------------------------------------------------------------------------------- /kb-dms-backend/server/src/main/resources/static/static/img/code_general.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qabin/kb-dms/3459388161351ae9ae62388b27523b817b866dfe/kb-dms-backend/server/src/main/resources/static/static/img/code_general.png -------------------------------------------------------------------------------- /kb-dms-backend/server/src/main/resources/static/static/img/code_man.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qabin/kb-dms/3459388161351ae9ae62388b27523b817b866dfe/kb-dms-backend/server/src/main/resources/static/static/img/code_man.png -------------------------------------------------------------------------------- /kb-dms-backend/server/src/main/resources/static/static/img/cto.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qabin/kb-dms/3459388161351ae9ae62388b27523b817b866dfe/kb-dms-backend/server/src/main/resources/static/static/img/cto.png -------------------------------------------------------------------------------- /kb-dms-backend/server/src/main/resources/static/static/img/gongtou.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qabin/kb-dms/3459388161351ae9ae62388b27523b817b866dfe/kb-dms-backend/server/src/main/resources/static/static/img/gongtou.png -------------------------------------------------------------------------------- /kb-dms-backend/server/src/main/resources/static/static/img/jack.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qabin/kb-dms/3459388161351ae9ae62388b27523b817b866dfe/kb-dms-backend/server/src/main/resources/static/static/img/jack.png -------------------------------------------------------------------------------- /kb-dms-backend/server/src/main/resources/static/static/img/jiayou.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qabin/kb-dms/3459388161351ae9ae62388b27523b817b866dfe/kb-dms-backend/server/src/main/resources/static/static/img/jiayou.png -------------------------------------------------------------------------------- /kb-dms-backend/server/src/main/resources/static/static/img/keji.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qabin/kb-dms/3459388161351ae9ae62388b27523b817b866dfe/kb-dms-backend/server/src/main/resources/static/static/img/keji.png -------------------------------------------------------------------------------- /kb-dms-backend/server/src/main/resources/static/static/img/login_bg.fb07b0e.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qabin/kb-dms/3459388161351ae9ae62388b27523b817b866dfe/kb-dms-backend/server/src/main/resources/static/static/img/login_bg.fb07b0e.jpg -------------------------------------------------------------------------------- /kb-dms-backend/server/src/main/resources/static/static/img/login_bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qabin/kb-dms/3459388161351ae9ae62388b27523b817b866dfe/kb-dms-backend/server/src/main/resources/static/static/img/login_bg.jpg -------------------------------------------------------------------------------- /kb-dms-backend/server/src/main/resources/static/static/img/louyou.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qabin/kb-dms/3459388161351ae9ae62388b27523b817b866dfe/kb-dms-backend/server/src/main/resources/static/static/img/louyou.png -------------------------------------------------------------------------------- /kb-dms-backend/server/src/main/resources/static/static/img/ppd_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qabin/kb-dms/3459388161351ae9ae62388b27523b817b866dfe/kb-dms-backend/server/src/main/resources/static/static/img/ppd_logo.png -------------------------------------------------------------------------------- /kb-dms-backend/server/src/main/resources/static/static/img/se.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qabin/kb-dms/3459388161351ae9ae62388b27523b817b866dfe/kb-dms-backend/server/src/main/resources/static/static/img/se.png -------------------------------------------------------------------------------- /kb-dms-backend/server/src/main/resources/static/static/img/shanghai.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qabin/kb-dms/3459388161351ae9ae62388b27523b817b866dfe/kb-dms-backend/server/src/main/resources/static/static/img/shanghai.png -------------------------------------------------------------------------------- /kb-dms-backend/server/src/main/resources/static/static/img/shengqi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qabin/kb-dms/3459388161351ae9ae62388b27523b817b866dfe/kb-dms-backend/server/src/main/resources/static/static/img/shengqi.png -------------------------------------------------------------------------------- /kb-dms-backend/server/src/main/resources/static/static/img/vip.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qabin/kb-dms/3459388161351ae9ae62388b27523b817b866dfe/kb-dms-backend/server/src/main/resources/static/static/img/vip.png -------------------------------------------------------------------------------- /kb-dms-backend/server/src/main/resources/static/static/img/xu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qabin/kb-dms/3459388161351ae9ae62388b27523b817b866dfe/kb-dms-backend/server/src/main/resources/static/static/img/xu.png -------------------------------------------------------------------------------- /kb-dms-backend/server/src/main/resources/static/static/img/zhangjun.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qabin/kb-dms/3459388161351ae9ae62388b27523b817b866dfe/kb-dms-backend/server/src/main/resources/static/static/img/zhangjun.png -------------------------------------------------------------------------------- /kb-dms-backend/server/src/main/resources/static/static/img/zhiliang.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qabin/kb-dms/3459388161351ae9ae62388b27523b817b866dfe/kb-dms-backend/server/src/main/resources/static/static/img/zhiliang.png -------------------------------------------------------------------------------- /kb-dms-backend/server/src/main/resources/static/static/img/zhiliang_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qabin/kb-dms/3459388161351ae9ae62388b27523b817b866dfe/kb-dms-backend/server/src/main/resources/static/static/img/zhiliang_01.png -------------------------------------------------------------------------------- /kb-dms-backend/server/src/main/resources/static/static/robin.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qabin/kb-dms/3459388161351ae9ae62388b27523b817b866dfe/kb-dms-backend/server/src/main/resources/static/static/robin.ico -------------------------------------------------------------------------------- /kb-dms-backend/server/src/test/java/com/bin/kong/dms/sever/SeverApplicationTests.java: -------------------------------------------------------------------------------- 1 | package com.bin.kong.dms.sever; 2 | 3 | import org.junit.Test; 4 | import org.junit.runner.RunWith; 5 | import org.springframework.boot.test.context.SpringBootTest; 6 | import org.springframework.test.context.junit4.SpringRunner; 7 | 8 | @RunWith(SpringRunner.class) 9 | @SpringBootTest 10 | public class SeverApplicationTests { 11 | 12 | @Test 13 | public void contextLoads() { 14 | } 15 | 16 | } 17 | -------------------------------------------------------------------------------- /kb-dms-web/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": [ 3 | ["env", { 4 | "modules": false, 5 | "targets": { 6 | "browsers": ["> 1%", "last 2 versions", "not ie <= 8"] 7 | } 8 | }], 9 | "stage-2" 10 | ], 11 | "plugins": ["transform-vue-jsx", "transform-runtime"], 12 | "env": { 13 | "test": { 14 | "presets": ["env", "stage-2"] 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /kb-dms-web/.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | charset = utf-8 5 | indent_style = space 6 | indent_size = 2 7 | end_of_line = lf 8 | insert_final_newline = true 9 | trim_trailing_whitespace = true 10 | -------------------------------------------------------------------------------- /kb-dms-web/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules/ 3 | /dist/ 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | /test/e2e/reports/ 8 | selenium-debug.log 9 | 10 | # Editor directories and files 11 | .idea 12 | .vscode 13 | *.suo 14 | *.ntvs* 15 | *.njsproj 16 | *.sln 17 | -------------------------------------------------------------------------------- /kb-dms-web/.postcssrc.js: -------------------------------------------------------------------------------- 1 | // https://github.com/michael-ciniawsky/postcss-load-config 2 | 3 | module.exports = { 4 | "plugins": { 5 | "postcss-import": {}, 6 | "postcss-url": {}, 7 | // to edit target browsers: use "browserslist" field in package.json 8 | "autoprefixer": {} 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /kb-dms-web/README.md: -------------------------------------------------------------------------------- 1 | # kb-dms-web 2 | 3 | > A Vue.js project 4 | 5 | ## Build Setup 6 | 7 | ``` bash 8 | # install dependencies 9 | npm install 10 | 11 | # serve with hot reload at localhost:8080 12 | npm run dev 13 | 14 | # build for production with minification 15 | npm run build 16 | 17 | # build for production and view the bundle analyzer report 18 | npm run build --report 19 | 20 | # run e2e tests 21 | npm run e2e 22 | 23 | # run all tests 24 | npm test 25 | ``` 26 | 27 | For a detailed explanation on how things work, check out the [guide](http://vuejs-templates.github.io/webpack/) and [docs for vue-loader](http://vuejs.github.io/vue-loader). 28 | -------------------------------------------------------------------------------- /kb-dms-web/build/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qabin/kb-dms/3459388161351ae9ae62388b27523b817b866dfe/kb-dms-web/build/logo.png -------------------------------------------------------------------------------- /kb-dms-web/build/vue-loader.conf.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | const utils = require('./utils') 3 | const config = require('../config') 4 | const isProduction = process.env.NODE_ENV === 'production' 5 | const sourceMapEnabled = isProduction 6 | ? config.build.productionSourceMap 7 | : config.dev.cssSourceMap 8 | 9 | module.exports = { 10 | loaders: utils.cssLoaders({ 11 | sourceMap: sourceMapEnabled, 12 | extract: isProduction 13 | }), 14 | cssSourceMap: sourceMapEnabled, 15 | cacheBusting: config.dev.cacheBusting, 16 | transformToRequire: { 17 | video: ['src', 'poster'], 18 | source: 'src', 19 | img: 'src', 20 | image: 'xlink:href' 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /kb-dms-web/config/dev.env.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | const merge = require('webpack-merge') 3 | const prodEnv = require('./prod.env') 4 | 5 | module.exports = merge(prodEnv, { 6 | NODE_ENV: '"development"' 7 | }) 8 | -------------------------------------------------------------------------------- /kb-dms-web/config/prod.env.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | module.exports = { 3 | NODE_ENV: '"production"' 4 | } 5 | -------------------------------------------------------------------------------- /kb-dms-web/config/test.env.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | const merge = require('webpack-merge') 3 | const devEnv = require('./dev.env') 4 | 5 | module.exports = merge(devEnv, { 6 | NODE_ENV: '"testing"' 7 | }) 8 | -------------------------------------------------------------------------------- /kb-dms-web/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | DMS · 数据库在线管理平台,一切数据皆可查! 8 | 9 | 10 |
11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /kb-dms-web/jsonlint.l: -------------------------------------------------------------------------------- 1 | int "-"?([0-9]|[1-9][0-9]+) 2 | exp [eE][-+]?[0-9]+ 3 | frac "."[0-9]+ 4 | 5 | %% 6 | \s+ /* skip whitespace */ 7 | 8 | {int}{frac}?{exp}?\b return 'NUMBER' 9 | \"(?:'\\'[\\"bfnrt/]|'\\u'[a-fA-F0-9]{4}|[^\\\0-\x09\x0a-\x1f"])*\" yytext = yytext.substr(1,yyleng-2); return 'STRING' 10 | 11 | "{" return '{' 12 | "}" return '}' 13 | "[" return '[' 14 | "]" return ']' 15 | "," return ',' 16 | ":" return ':' 17 | "true" return 'TRUE' 18 | "false" return 'FALSE' 19 | "null" return 'NULL' 20 | <> return 'EOF' 21 | . return 'INVALID' 22 | 23 | %% 24 | 25 | -------------------------------------------------------------------------------- /kb-dms-web/src/App.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 20 | 21 | 31 | -------------------------------------------------------------------------------- /kb-dms-web/src/api/config/admin_api.js: -------------------------------------------------------------------------------- 1 | import { 2 | axiosInstance 3 | } from '../../plugins/axios' 4 | 5 | export function ajax_admin_search(kw) { 6 | let form ={ 7 | 'kw':kw 8 | } 9 | return axiosInstance({ 10 | url: '/api/admin/_search', 11 | method: 'get', 12 | params: form, 13 | }) 14 | 15 | } 16 | 17 | export function ajax_delete_admin(account) { 18 | let form={ 19 | account:account 20 | } 21 | return axiosInstance({ 22 | url: '/api/admin/_delete', 23 | method: 'delete', 24 | params:form 25 | }) 26 | 27 | } 28 | 29 | export function ajax_add_admin(name,account) { 30 | let form={ 31 | account:account, 32 | name:name 33 | } 34 | return axiosInstance({ 35 | url: '/api/admin', 36 | method: 'post', 37 | data:form 38 | }) 39 | 40 | } 41 | -------------------------------------------------------------------------------- /kb-dms-web/src/api/config/bus_group_owners_api.js: -------------------------------------------------------------------------------- 1 | import { 2 | axiosInstance 3 | } from '../../plugins/axios' 4 | 5 | export function ajax_bus_group_owners_search(link_id) { 6 | return axiosInstance({ 7 | url: '/api/bus/group/'+link_id+'/owners', 8 | method: 'get', 9 | }) 10 | } 11 | export function ajax_update_bus_group_owners(link_id, data) { 12 | return axiosInstance({ 13 | url: '/api/bus/group/' + link_id+'/owners', 14 | method: 'patch', 15 | data: data 16 | }) 17 | } 18 | -------------------------------------------------------------------------------- /kb-dms-web/src/api/config/bus_group_users_api.js: -------------------------------------------------------------------------------- 1 | import { 2 | axiosInstance 3 | } from '../../plugins/axios' 4 | 5 | export function ajax_bus_group_users_search(id) { 6 | let searchForm = { 7 | "id": id 8 | } 9 | return axiosInstance({ 10 | url: '/api/bus/group/users/_search', 11 | method: 'get', 12 | params: searchForm 13 | }) 14 | } 15 | 16 | export function ajax_add_bus_group_users(bus_group_id,name,account) { 17 | let model={ 18 | name:name, 19 | bus_group_id:bus_group_id, 20 | account:account 21 | } 22 | return axiosInstance({ 23 | url: '/api/bus/group/users', 24 | method: 'post', 25 | data: model, 26 | }) 27 | 28 | } 29 | 30 | export function ajax_delete_bus_group_users(bus_group_id,account) { 31 | let model={ 32 | bus_group_id:bus_group_id, 33 | account:account 34 | } 35 | return axiosInstance({ 36 | url: '/api/bus/group/users/_delete', 37 | method: 'delete', 38 | params:model 39 | }) 40 | 41 | } 42 | -------------------------------------------------------------------------------- /kb-dms-web/src/api/config/datasource_owners_api.js: -------------------------------------------------------------------------------- 1 | import { 2 | axiosInstance 3 | } from '../../plugins/axios' 4 | 5 | export function ajax_datasource_owners_search(datasource_id) { 6 | return axiosInstance({ 7 | url: '/api/datasource/'+datasource_id+'/owners', 8 | method: 'get', 9 | }) 10 | } 11 | export function ajax_update_datasource_owners(datasource_id, data) { 12 | return axiosInstance({ 13 | url: '/api/datasource/' + datasource_id+'/owners', 14 | method: 'patch', 15 | data: data 16 | }) 17 | } 18 | -------------------------------------------------------------------------------- /kb-dms-web/src/api/config/datasource_permission_member_api.js: -------------------------------------------------------------------------------- 1 | import { 2 | axiosInstance 3 | } from '../../plugins/axios' 4 | 5 | export function ajax_get_datasource_permission_member(id) { 6 | return axiosInstance({ 7 | url: '/api/datasource/' + id + '/permission/member', 8 | method: 'get', 9 | }) 10 | 11 | } 12 | 13 | export function ajax_add_datasource_permission_member(id, model) { 14 | return axiosInstance({ 15 | url: '/api/datasource/' + id + '/permission/member', 16 | method: 'post', 17 | data: model 18 | }) 19 | 20 | } 21 | 22 | export function ajax_delete_datasource_permission_member(id, account) { 23 | return axiosInstance({ 24 | url: '/api/datasource/' + id + '/permission/member', 25 | method: 'delete', 26 | params: {account: account} 27 | }) 28 | 29 | } 30 | -------------------------------------------------------------------------------- /kb-dms-web/src/api/config/datasource_permission_sql_options_api.js: -------------------------------------------------------------------------------- 1 | import { 2 | axiosInstance 3 | } from '../../plugins/axios' 4 | 5 | export function ajax_add_datasource_permission_sql_options(id, model) { 6 | return axiosInstance({ 7 | url: '/api/datasource/' + id + '/permission/sql/options', 8 | method: 'post', 9 | data: model 10 | }) 11 | 12 | } 13 | 14 | export function ajax_delete_datasource_permission_sql_options(id, model) { 15 | return axiosInstance({ 16 | url: '/api/datasource/' + id + '/permission/sql/options', 17 | method: 'delete', 18 | params: model 19 | }) 20 | 21 | } 22 | -------------------------------------------------------------------------------- /kb-dms-web/src/api/permission/sql_options_api.js: -------------------------------------------------------------------------------- 1 | import {axiosInstance} from '../../plugins/axios' 2 | 3 | export function ajax_get_sql_options() { 4 | return axiosInstance({ 5 | url: '/api/permission/sql/options', 6 | method: 'get', 7 | }) 8 | } 9 | 10 | export function ajax_get_datasource_update_permission(id) { 11 | return axiosInstance({ 12 | url: '/api/permission/datasource/'+id+'/_update', 13 | method: 'get', 14 | }) 15 | } 16 | 17 | export function ajax_get_datasource_sql_options_permission(id) { 18 | return axiosInstance({ 19 | url: '/api/permission/datasource/'+id+'/sql/_options', 20 | method: 'get', 21 | }) 22 | } 23 | 24 | 25 | export function ajax_get_group_update_permission(id) { 26 | return axiosInstance({ 27 | url: '/api/permission/group/'+id+'/_update', 28 | method: 'get', 29 | }) 30 | } 31 | -------------------------------------------------------------------------------- /kb-dms-web/src/api/result/sql_exe_result_api.js: -------------------------------------------------------------------------------- 1 | import {axiosInstance} from '../../plugins/axios' 2 | 3 | export function ajax_get_sql_exe_result(exe_record_id) { 4 | return axiosInstance({ 5 | url: '/api/sql/exe/record/' + exe_record_id + '/_result', 6 | method: 'get', 7 | }) 8 | } 9 | 10 | export function ajax_search_sql_exe_result(kw, page, size, query_by, query_type) { 11 | return axiosInstance({ 12 | url: '/api/sql/exe/result/_search', 13 | method: 'get', 14 | params: { 15 | kw: kw, 16 | page: page, 17 | size: size, 18 | query_by: query_by, 19 | query_type: query_type 20 | } 21 | }) 22 | } 23 | -------------------------------------------------------------------------------- /kb-dms-web/src/api/statistics/general_statistics_api.js: -------------------------------------------------------------------------------- 1 | import {axiosInstance} from '../../plugins/axios' 2 | 3 | export function ajax_get_general_all_biz_total() { 4 | return axiosInstance({ 5 | url: '/api/statistics/general/all/biz', 6 | method: 'get', 7 | }) 8 | } 9 | 10 | export function ajax_get_general_month_timeline() { 11 | return axiosInstance({ 12 | url: '/api/statistics/general/month/timeline', 13 | method: 'get', 14 | }) 15 | } 16 | -------------------------------------------------------------------------------- /kb-dms-web/src/api/user/user_info_api.js: -------------------------------------------------------------------------------- 1 | import {axiosInstance} from '../../plugins/axios' 2 | 3 | export function ajax_get_user_info() { 4 | return axiosInstance({ 5 | url: '/api/user/info', 6 | method: 'get', 7 | }) 8 | } 9 | 10 | export function ajax_update_user_info(model) { 11 | return axiosInstance({ 12 | url: '/api/user/info', 13 | method: 'patch', 14 | data: model 15 | }) 16 | } 17 | 18 | export function ajax_search_user(kw) { 19 | let form = { 20 | 'kw': kw 21 | } 22 | return axiosInstance({ 23 | url: '/api/user/_search', 24 | method: 'get', 25 | params: form 26 | }) 27 | } 28 | 29 | -------------------------------------------------------------------------------- /kb-dms-web/src/api/user/user_login_api.js: -------------------------------------------------------------------------------- 1 | import {axiosInstance} from '../../plugins/axios' 2 | 3 | export function ajax_login_in(form) { 4 | 5 | return axiosInstance({ 6 | url: '/api/user/login', 7 | method: 'post', 8 | data: form 9 | }) 10 | } 11 | 12 | export function ajax_login_out() { 13 | return axiosInstance({ 14 | url: '/api/user/logout', 15 | method: 'get', 16 | }) 17 | } 18 | -------------------------------------------------------------------------------- /kb-dms-web/src/api/user/user_register_api.js: -------------------------------------------------------------------------------- 1 | import {axiosInstance} from '../../plugins/axios' 2 | 3 | export function ajax_add_user_info(form) { 4 | return axiosInstance({ 5 | url: '/api/user/register', 6 | method: 'post', 7 | data: form 8 | }) 9 | } 10 | -------------------------------------------------------------------------------- /kb-dms-web/src/api/utils/sql_editor_utils_api.js: -------------------------------------------------------------------------------- 1 | import {axiosInstance} from '../../plugins/axios' 2 | 3 | export function ajax_get_table_create_sql(datasource_id, db, table) { 4 | return axiosInstance({ 5 | url: '/api/sql/datasource/' + datasource_id + '/' + db + '/' + table + '/_create', 6 | method: 'get', 7 | }) 8 | } 9 | -------------------------------------------------------------------------------- /kb-dms-web/src/assets/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qabin/kb-dms/3459388161351ae9ae62388b27523b817b866dfe/kb-dms-web/src/assets/logo.png -------------------------------------------------------------------------------- /kb-dms-web/src/components/datePicker/style.css: -------------------------------------------------------------------------------- 1 | .bg-start-end { 2 | background: linear-gradient(135deg, var(--q-color-primary), var(--q-color-primary) 49%, white 50%, var(--q-color-secondary) 49%, var(--q-color-secondary)); 3 | } 4 | -------------------------------------------------------------------------------- /kb-dms-web/src/components/elements/favorite-btn.js: -------------------------------------------------------------------------------- 1 | export default { 2 | name: 'favoriteButton', 3 | props: {value: Boolean}, 4 | methods: { 5 | render_star(h) { 6 | return h('i', { 7 | staticClass: 'material-icons q-icon', 8 | on: { 9 | click: (e) => { 10 | e.stopPropagation(); 11 | this.$emit('input', !this.value) 12 | }, 13 | } 14 | }, this.value ? 'star' : 'star_border') 15 | } 16 | }, 17 | render(h) { 18 | return this.render_star(h) 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /kb-dms-web/src/components/elements/pp_section.css: -------------------------------------------------------------------------------- 1 | .inactive-toggle.q-icon { 2 | transition: opacity 350ms cubic-bezier(0.23, 1, 0.32, 1) 0ms, transform 0ms cubic-bezier(0.23, 1, 0.32, 1) 350ms; 3 | opacity: 0; 4 | transform: scale(0); 5 | } 6 | 7 | .active-toggle.q-icon { 8 | transition: opacity 0ms cubic-bezier(0.23, 1, 0.32, 1) 0ms, transform 500ms cubic-bezier(0.23, 1, 0.32, 1) 0ms; 9 | opacity: 1; 10 | transform: scale(1) 11 | } 12 | -------------------------------------------------------------------------------- /kb-dms-web/src/components/upload/button_upload_file.js: -------------------------------------------------------------------------------- 1 | export default { 2 | name: 'button_upload_file', 3 | props: {}, 4 | methods: { 5 | upload(e) { 6 | if (e && e.target && e.target.files && e.target.files.length > 0) { 7 | let vm = this 8 | let formData = new FormData(); 9 | formData.append("file", e.target.files[0]); 10 | let reader = new FileReader(); //新建一个FileReader 11 | reader.readAsText(e.target.files[0], "UTF-8"); //读取文件 12 | reader.onload = function (evt) { //读取完文件之后会回来这里 13 | let fileString = evt.target.result; // 读取文件内容 14 | if (fileString) { 15 | vm.$emit('uploaded', fileString) 16 | } 17 | } 18 | e.target.value = null 19 | } 20 | } 21 | }, 22 | render(h) { 23 | return h('input', { 24 | staticClass: 'q-uploader-input absolute-full cursor-pointer', 25 | attrs: {type: 'file', multiple: false}, 26 | on: {change: this.upload} 27 | }) 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /kb-dms-web/src/css/fonts/materialdesignicons-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qabin/kb-dms/3459388161351ae9ae62388b27523b817b866dfe/kb-dms-web/src/css/fonts/materialdesignicons-webfont.eot -------------------------------------------------------------------------------- /kb-dms-web/src/css/fonts/materialdesignicons-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qabin/kb-dms/3459388161351ae9ae62388b27523b817b866dfe/kb-dms-web/src/css/fonts/materialdesignicons-webfont.ttf -------------------------------------------------------------------------------- /kb-dms-web/src/css/fonts/materialdesignicons-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qabin/kb-dms/3459388161351ae9ae62388b27523b817b866dfe/kb-dms-web/src/css/fonts/materialdesignicons-webfont.woff -------------------------------------------------------------------------------- /kb-dms-web/src/css/fonts/materialdesignicons-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qabin/kb-dms/3459388161351ae9ae62388b27523b817b866dfe/kb-dms-web/src/css/fonts/materialdesignicons-webfont.woff2 -------------------------------------------------------------------------------- /kb-dms-web/src/css/style.css: -------------------------------------------------------------------------------- 1 | .expandable_filter_bar { 2 | height: 0; 3 | transform: scaleY(0); 4 | opacity: 0; 5 | transform-origin: left top 0; 6 | transition-property: transform, opacity, height; 7 | transition-duration: 0.3s; 8 | transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1); 9 | } 10 | 11 | .expandable_filter_bar.expand { 12 | height: auto; 13 | transform: scaleY(1); 14 | opacity: 1; 15 | } 16 | 17 | .pjm-selector.active .active_label { 18 | color: var(--q-color-primary) !important; 19 | } 20 | 21 | .pjm-selector.active .active_label_icon { 22 | color: var(--q-color-primary) !important; 23 | transform: rotate(-180deg); 24 | } 25 | 26 | -------------------------------------------------------------------------------- /kb-dms-web/src/layouts/footer-menu.vue: -------------------------------------------------------------------------------- 1 | 12 | 13 | 18 | 19 | 22 | -------------------------------------------------------------------------------- /kb-dms-web/src/layouts/header_data.js: -------------------------------------------------------------------------------- 1 | const conf = { 2 | }; 3 | 4 | 5 | export default { 6 | components: { 7 | }, 8 | computed: { 9 | routeComp() { 10 | return conf[this.$route.path]; 11 | } 12 | }, 13 | }; 14 | -------------------------------------------------------------------------------- /kb-dms-web/src/layouts/left-menu-item.vue: -------------------------------------------------------------------------------- 1 | 18 | 19 | 31 | -------------------------------------------------------------------------------- /kb-dms-web/src/layouts/path_bar.vue: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /kb-dms-web/src/main.js: -------------------------------------------------------------------------------- 1 | // The Vue build version to load with the `import` command 2 | // (runtime-only or standalone) has been set in webpack.base.conf with an alias. 3 | import Vue from 'vue' 4 | import App from './App' 5 | import router from './router' 6 | import Quasar from './plugins/quasar' 7 | import Validate from './plugins/vuelidate' 8 | import ThemeCtl from './plugins/theme_ctl' 9 | import store from './store/index' 10 | import PpDialog from './plugins/PpDialog' 11 | import PpNotify from './plugins/PpNotify' 12 | import Clipboard from './plugins/clipboard' 13 | import VTouch from './plugins/vuetouch' 14 | 15 | Vue.config.productionTip = false 16 | 17 | const app = { 18 | el: '#app', 19 | router, 20 | store, 21 | components: { 22 | App 23 | }, 24 | template: '' 25 | }; 26 | 27 | 28 | [Quasar, Validate, ThemeCtl, PpDialog, PpNotify, Clipboard, VTouch].forEach(plugin => plugin({ 29 | app, 30 | router, 31 | store, 32 | Vue 33 | })); 34 | 35 | export const vm = new Vue(app); 36 | -------------------------------------------------------------------------------- /kb-dms-web/src/pages/config/admin/index.js: -------------------------------------------------------------------------------- 1 | import CompAdminCatalog from './comp_admin_catalog' 2 | 3 | export default { 4 | name: 'admin_index', 5 | data: () => ({}), 6 | methods: { 7 | render_admin_options(h) { 8 | return h('div', { 9 | staticClass: 'scroll', 10 | style: { 11 | paddingLeft: '5px', 12 | paddingTop: '3px' 13 | } 14 | }, [ 15 | h(CompAdminCatalog,{ 16 | ref:'CompAdminCatalog', 17 | }) 18 | ]) 19 | } 20 | }, 21 | render(h) { 22 | return h('div', { 23 | staticClass: 'col-grow font-13 column no-wrap', 24 | 25 | }, [this.render_admin_options(h)]) 26 | }, 27 | mounted(){ 28 | this.$refs.CompAdminCatalog.refresh() 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /kb-dms-web/src/pages/config/layouts/footer-menu.vue: -------------------------------------------------------------------------------- 1 | 12 | 13 | 18 | 19 | 22 | -------------------------------------------------------------------------------- /kb-dms-web/src/pages/history/modal_sql_exe_result_detail.js: -------------------------------------------------------------------------------- 1 | import ExeResultCatalog from "../home/comp_exe_result_catalog"; 2 | import {vm as Vue} from '../../main' 3 | 4 | export function show_chat_info_detail_modal(exe_result) { 5 | Vue.$q.ppDialogBase( 6 | h => h('div', { 7 | staticClass: 'relative-position pp-radius-1', 8 | style: { 9 | width: '80vw', 10 | maxHeight: '80vh' 11 | } 12 | }, [ 13 | h(ExeResultCatalog, { 14 | staticClass: 'font-18 q-pa-sm bg-grey-3', 15 | props: { 16 | exe_result: exe_result, 17 | show_tools_bar: false 18 | } 19 | }), 20 | ] 21 | ), 22 | {noBackdropDismiss: false, noEscDismiss: false} 23 | ) 24 | } 25 | -------------------------------------------------------------------------------- /kb-dms-web/src/plugins/PpNotify.css: -------------------------------------------------------------------------------- 1 | .pp-notification-top-enter { 2 | opacity: 0; 3 | -webkit-transform: translateY(-50px); 4 | transform: translateY(-50px); 5 | z-index: 9499; 6 | } 7 | 8 | .pp-notification-top-leave-to { 9 | opacity: 0; 10 | z-index: 9499; 11 | } 12 | 13 | .pp-notification-top-right-enter { 14 | opacity: 0; 15 | -webkit-transform: translateX(100%); 16 | transform: translateX(100%); 17 | z-index: 9499; 18 | } 19 | 20 | .pp-notification-top-right-leave-to { 21 | opacity: 0; 22 | -webkit-transform: translateX(100%); 23 | transform: translateX(100%); 24 | z-index: 9499; 25 | } 26 | -------------------------------------------------------------------------------- /kb-dms-web/src/plugins/clipboard.js: -------------------------------------------------------------------------------- 1 | import ClipBoard from 'vue-clipboard2' 2 | 3 | export default ({Vue}) => { 4 | Vue.use(ClipBoard) 5 | } 6 | -------------------------------------------------------------------------------- /kb-dms-web/src/plugins/sql_exe_editor/style.css: -------------------------------------------------------------------------------- 1 | .ace-eclipse .ace_gutter { 2 | border-right: none !important; 3 | background: #f5f5f5 !important; 4 | } 5 | .btn-hover{ 6 | padding-left: 6px; 7 | padding-right: 6px; 8 | } 9 | 10 | .btn-hover:hover { 11 | background: #e0e0e0 !important; 12 | } 13 | 14 | .ace_content_disable { 15 | background: #fafafa !important; 16 | } 17 | -------------------------------------------------------------------------------- /kb-dms-web/src/plugins/theme_ctl.js: -------------------------------------------------------------------------------- 1 | import '../css/theme.css' 2 | import '../css/overwrite.css' 3 | import '../css/style.css' 4 | import '../css/materialdesignicons.css' 5 | export default ({Vue}) => { 6 | } 7 | -------------------------------------------------------------------------------- /kb-dms-web/src/plugins/vue-editor/vue-editor.css: -------------------------------------------------------------------------------- 1 | .ace-eclipse .ace_gutter { 2 | border-right: none !important; 3 | background: #fafafa !important 4 | } 5 | 6 | .btn-hover { 7 | padding-left: 6px; 8 | padding-right: 6px; 9 | } 10 | 11 | .btn-hover:hover { 12 | background: #e0e0e0 !important; 13 | } 14 | 15 | .ace_content_disable { 16 | background: #fafafa !important; 17 | } 18 | -------------------------------------------------------------------------------- /kb-dms-web/src/plugins/vuelidate.js: -------------------------------------------------------------------------------- 1 | import Vuelidate from 'vuelidate' 2 | 3 | export default ({Vue}) => { 4 | Vue.use(Vuelidate) 5 | } 6 | -------------------------------------------------------------------------------- /kb-dms-web/src/plugins/vuetouch.js: -------------------------------------------------------------------------------- 1 | import VueTouch from 'vue-touch' 2 | 3 | export default ({Vue}) => { 4 | Vue.use(VueTouch) 5 | } 6 | -------------------------------------------------------------------------------- /kb-dms-web/src/store/home/actions.js: -------------------------------------------------------------------------------- 1 | /* 2 | export const someAction = (state) => { 3 | } 4 | */ 5 | -------------------------------------------------------------------------------- /kb-dms-web/src/store/home/getters.js: -------------------------------------------------------------------------------- 1 | /* 2 | export const someGetter = (state) => { 3 | } 4 | */ 5 | -------------------------------------------------------------------------------- /kb-dms-web/src/store/home/index.js: -------------------------------------------------------------------------------- 1 | import state from './state' 2 | import * as getters from './getters' 3 | import * as mutations from './mutations' 4 | import * as actions from './actions' 5 | 6 | export default { 7 | namespaced: true, 8 | state, 9 | getters, 10 | mutations , 11 | actions 12 | } 13 | -------------------------------------------------------------------------------- /kb-dms-web/src/store/home/mutations.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qabin/kb-dms/3459388161351ae9ae62388b27523b817b866dfe/kb-dms-web/src/store/home/mutations.js -------------------------------------------------------------------------------- /kb-dms-web/src/store/home/state.js: -------------------------------------------------------------------------------- 1 | export default { 2 | exe_success: false, 3 | ddl_save_check: false, 4 | } 5 | -------------------------------------------------------------------------------- /kb-dms-web/src/store/index.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | import Vuex from 'vuex' 3 | 4 | import main from './main' 5 | import user from './user' 6 | import home from './home' 7 | 8 | Vue.use(Vuex); 9 | 10 | const store = new Vuex.Store({ 11 | modules: { 12 | main, 13 | user, 14 | home, 15 | } 16 | }); 17 | 18 | export default store 19 | -------------------------------------------------------------------------------- /kb-dms-web/src/store/main/actions.js: -------------------------------------------------------------------------------- 1 | /* 2 | export const someAction = (state) => { 3 | } 4 | */ 5 | -------------------------------------------------------------------------------- /kb-dms-web/src/store/main/getters.js: -------------------------------------------------------------------------------- 1 | /* 2 | export const someGetter = (state) => { 3 | } 4 | */ 5 | -------------------------------------------------------------------------------- /kb-dms-web/src/store/main/index.js: -------------------------------------------------------------------------------- 1 | import state from './state' 2 | import * as getters from './getters' 3 | import * as mutations from './mutations' 4 | import * as actions from './actions' 5 | 6 | export default { 7 | namespaced: true, 8 | state, 9 | getters, 10 | mutations , 11 | actions 12 | } 13 | -------------------------------------------------------------------------------- /kb-dms-web/src/store/main/mutations.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qabin/kb-dms/3459388161351ae9ae62388b27523b817b866dfe/kb-dms-web/src/store/main/mutations.js -------------------------------------------------------------------------------- /kb-dms-web/src/store/main/state.js: -------------------------------------------------------------------------------- 1 | export default { 2 | show_menu: false 3 | } 4 | -------------------------------------------------------------------------------- /kb-dms-web/src/store/user/getters.js: -------------------------------------------------------------------------------- 1 | // export const isAdmin = (state) => { 2 | // return state.is_admin 3 | // }; 4 | -------------------------------------------------------------------------------- /kb-dms-web/src/store/user/index.js: -------------------------------------------------------------------------------- 1 | import state from './state' 2 | import * as getters from './getters' 3 | import * as mutations from './mutations' 4 | import * as actions from './actions' 5 | 6 | export default { 7 | namespaced: true, 8 | state, 9 | getters, 10 | mutations , 11 | actions 12 | } 13 | -------------------------------------------------------------------------------- /kb-dms-web/src/store/user/mutations.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qabin/kb-dms/3459388161351ae9ae62388b27523b817b866dfe/kb-dms-web/src/store/user/mutations.js -------------------------------------------------------------------------------- /kb-dms-web/src/store/user/state.js: -------------------------------------------------------------------------------- 1 | export default { 2 | account: null, 3 | name: null, 4 | is_login: false, 5 | is_admin: false 6 | } 7 | -------------------------------------------------------------------------------- /kb-dms-web/src/utils/Optional.js: -------------------------------------------------------------------------------- 1 | export const Optional = function (value) { 2 | this.value = value; 3 | 4 | this.ofNullable = function (value) { 5 | return new Optional(value) 6 | }; 7 | 8 | this.map = function (func) { 9 | if (this.value) { 10 | this.value = func(this.value) 11 | } 12 | return this; 13 | }; 14 | 15 | this.orElse = function (funcOrValue) { 16 | if (this.value) 17 | return this.value; 18 | else 19 | return typeof funcOrValue === 'function' ? funcOrValue() : funcOrValue; 20 | }; 21 | 22 | this.ifPresent = function (consumer) { 23 | if (this.value) { 24 | consumer(this.value) 25 | } 26 | } 27 | }; 28 | 29 | Optional.ofNullable = function (value) { 30 | return new Optional(value) 31 | }; 32 | 33 | 34 | -------------------------------------------------------------------------------- /kb-dms-web/src/utils/clipboard.js: -------------------------------------------------------------------------------- 1 | import {notify_ok} from "../plugins/PpNotify"; 2 | 3 | export const copy_to_clipboard = (text, msg = true) => { 4 | const el = document.createElement('div'); 5 | el.innerHTML = text; 6 | 7 | el.style.position = 'fixed'; 8 | el.style.pointerEvents = 'none'; 9 | el.style.opacity = 0; 10 | document.body.appendChild(el); 11 | window.getSelection().removeAllRanges(); 12 | let range = document.createRange(); 13 | range.selectNode(el); 14 | window.getSelection().addRange(range); 15 | document.execCommand('copy'); 16 | notify_ok('已复制至粘贴板', 1000) 17 | }; 18 | 19 | 20 | const host_reg = new RegExp("^(http:\\/\\/.+?)\\/"); 21 | 22 | export const copy_url = append_text => { 23 | let res = host_reg.exec(window.location.href); 24 | append_text && res && res.length===2 && copy_to_clipboard(res[1] + append_text) 25 | }; 26 | -------------------------------------------------------------------------------- /kb-dms-web/src/utils/config_dictionary.js: -------------------------------------------------------------------------------- 1 | export const base_status_enum = { 2 | 1: { 3 | label: "激活", 4 | }, 5 | "-1": { 6 | label: "失效", 7 | }, 8 | }; 9 | 10 | 11 | export const datasource_type_enum = { 12 | 1: { 13 | label: "Mysql", 14 | color: 'primary', 15 | icon:'mdi-alpha-m-box', 16 | }, 17 | 2: { 18 | label: "SqlServer", 19 | color: 'info', 20 | icon:'mdi-alpha-s-box', 21 | }, 22 | }; 23 | 24 | export const datasource_type_options = [ 25 | { 26 | label: 'Mysql', 27 | value: 1, 28 | }, 29 | { 30 | label: 'SqlServer', 31 | value: 2 32 | } 33 | ] 34 | -------------------------------------------------------------------------------- /kb-dms-web/src/utils/data_utils.js: -------------------------------------------------------------------------------- 1 | export function get_index_of_arr(value, arr) { 2 | try { 3 | let i = arr.length; 4 | while (i--) { 5 | if (arr[i] === value) { 6 | return i; 7 | } 8 | } 9 | return -1; 10 | } catch (e) { 11 | return -1 12 | } 13 | } 14 | 15 | export function remove_item_from_arr(value, arr) { 16 | try { 17 | let i = arr.length; 18 | while (i--) { 19 | if (arr[i] === value) { 20 | arr.splice(i, 1) 21 | return 22 | } 23 | } 24 | } catch (e) { 25 | } 26 | } 27 | 28 | 29 | export function replace_item_for_arr(old_value, new_value, arr) { 30 | let index = get_index_of_arr(old_value, arr) 31 | if (index !== -1) { 32 | arr.splice(index, 1, new_value) 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /kb-dms-web/src/utils/favorite_user_selection.js: -------------------------------------------------------------------------------- 1 | import {push_cache, take_cache} from './favorite_selection' 2 | 3 | const cache_key = 'favorite_user_list'; 4 | const distinct_key = 'account'; 5 | 6 | export const setFavoriteUser = (u) => { 7 | push_cache(u, cache_key, distinct_key) 8 | }; 9 | export const getFavoriteUsers = (max = 3) => { 10 | return take_cache(max, cache_key) 11 | }; 12 | -------------------------------------------------------------------------------- /kb-dms-web/src/utils/mysql_charset_dictionary.js: -------------------------------------------------------------------------------- 1 | export const charset_type_options = [ 2 | { 3 | label: 'utf8mb4', 4 | value: 'utf8mb4' 5 | }, 6 | { 7 | label: 'utf8', 8 | value: 'utf8', 9 | }, 10 | ] 11 | 12 | export const charset_type_enum = { 13 | 'utf8mb4': { 14 | label: "utf8mb4", 15 | value: 'utf8mb4', 16 | }, 17 | 'utf8': { 18 | label: "utf8", 19 | value: 'utf8' 20 | }, 21 | } 22 | -------------------------------------------------------------------------------- /kb-dms-web/src/utils/regExp.js: -------------------------------------------------------------------------------- 1 | export function replaceURLWithHTMLLinks(text) { 2 | let reg = /((http|ftp|https):\/\/)?[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?/g; 3 | return text.replace(reg, function (a) { 4 | let url = a.indexOf('http') > -1 ? a : `http://${a}`; 5 | return `${a}` 6 | }); 7 | } 8 | -------------------------------------------------------------------------------- /kb-dms-web/src/utils/render_field_helper.js: -------------------------------------------------------------------------------- 1 | export const render_tr = (h, key, value, tooltip = null, value_cls = 'text-tertiary text-left') => { 2 | return h('tr', null, [ 3 | h('td', { 4 | staticClass: 'q-pa-xs', 5 | style: { 6 | textAlign: 'left', 7 | whiteSpace: 'nowrap', 8 | } 9 | }, [key, tooltip && h('span', {staticClass: 'material-icons q-ml-xs tex-tertiary'}, [ 10 | 'help_outline', 11 | h('q-tooltip', {staticClass: 'text-wrap'}, tooltip.map(t => h('div', {}, t))) 12 | ])]), 13 | value 14 | ? h('td', { 15 | staticClass: value_cls, 16 | }, [value]) 17 | : h('td', { 18 | staticClass: value_cls, 19 | }, '--') 20 | ]) 21 | } 22 | -------------------------------------------------------------------------------- /kb-dms-web/src/utils/request_dictionary.js: -------------------------------------------------------------------------------- 1 | export const MethodOptions = [ 2 | {label: 'GET', value: 'GET'}, 3 | {label: 'POST', value: 'POST'}, 4 | ] 5 | 6 | -------------------------------------------------------------------------------- /kb-dms-web/src/utils/sql_editor_dictionary.js: -------------------------------------------------------------------------------- 1 | export const sql_editor_select_100 = { 2 | 1: { 3 | command: "select * from {0} limit 100;", 4 | }, 5 | 2: { 6 | command: "select top 100 * from {0};", 7 | }, 8 | }; 9 | 10 | export const data_type_name_date_options = [ 11 | "datetime", 12 | "date", 13 | "timestamp", 14 | "time", 15 | "year" 16 | ] 17 | 18 | export const data_type_name_number_options = [ 19 | "bit", 20 | "int", 21 | "tinyint", 22 | "bool", 23 | "mediumint", 24 | "bigint", 25 | "long", 26 | ] 27 | 28 | 29 | export const data_type_name_boolean_options = [ 30 | "boolean", 31 | ] 32 | 33 | export const sql_tab_typ_enums = { 34 | 1: { 35 | label: '查询窗口' 36 | }, 37 | 2: { 38 | label: "查看表数据" 39 | }, 40 | 3: { 41 | label: '更新表结构' 42 | } 43 | } 44 | 45 | 46 | export const data_options_type_enums = { 47 | UPDATE: { 48 | value: 1 49 | }, 50 | DELETE: { 51 | value: 2, 52 | }, 53 | ADD: { 54 | value: 3 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /kb-dms-web/static/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qabin/kb-dms/3459388161351ae9ae62388b27523b817b866dfe/kb-dms-web/static/.gitkeep -------------------------------------------------------------------------------- /kb-dms-web/static/img/1024_index.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qabin/kb-dms/3459388161351ae9ae62388b27523b817b866dfe/kb-dms-web/static/img/1024_index.png -------------------------------------------------------------------------------- /kb-dms-web/static/img/banzhuan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qabin/kb-dms/3459388161351ae9ae62388b27523b817b866dfe/kb-dms-web/static/img/banzhuan.png -------------------------------------------------------------------------------- /kb-dms-web/static/img/budaoshi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qabin/kb-dms/3459388161351ae9ae62388b27523b817b866dfe/kb-dms-web/static/img/budaoshi.png -------------------------------------------------------------------------------- /kb-dms-web/static/img/budaoshi_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qabin/kb-dms/3459388161351ae9ae62388b27523b817b866dfe/kb-dms-web/static/img/budaoshi_logo.png -------------------------------------------------------------------------------- /kb-dms-web/static/img/ceshi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qabin/kb-dms/3459388161351ae9ae62388b27523b817b866dfe/kb-dms-web/static/img/ceshi.png -------------------------------------------------------------------------------- /kb-dms-web/static/img/code_general.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qabin/kb-dms/3459388161351ae9ae62388b27523b817b866dfe/kb-dms-web/static/img/code_general.png -------------------------------------------------------------------------------- /kb-dms-web/static/img/code_man.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qabin/kb-dms/3459388161351ae9ae62388b27523b817b866dfe/kb-dms-web/static/img/code_man.png -------------------------------------------------------------------------------- /kb-dms-web/static/img/cto.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qabin/kb-dms/3459388161351ae9ae62388b27523b817b866dfe/kb-dms-web/static/img/cto.png -------------------------------------------------------------------------------- /kb-dms-web/static/img/gongtou.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qabin/kb-dms/3459388161351ae9ae62388b27523b817b866dfe/kb-dms-web/static/img/gongtou.png -------------------------------------------------------------------------------- /kb-dms-web/static/img/jack.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qabin/kb-dms/3459388161351ae9ae62388b27523b817b866dfe/kb-dms-web/static/img/jack.png -------------------------------------------------------------------------------- /kb-dms-web/static/img/jiayou.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qabin/kb-dms/3459388161351ae9ae62388b27523b817b866dfe/kb-dms-web/static/img/jiayou.png -------------------------------------------------------------------------------- /kb-dms-web/static/img/keji.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qabin/kb-dms/3459388161351ae9ae62388b27523b817b866dfe/kb-dms-web/static/img/keji.png -------------------------------------------------------------------------------- /kb-dms-web/static/img/login_bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qabin/kb-dms/3459388161351ae9ae62388b27523b817b866dfe/kb-dms-web/static/img/login_bg.jpg -------------------------------------------------------------------------------- /kb-dms-web/static/img/louyou.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qabin/kb-dms/3459388161351ae9ae62388b27523b817b866dfe/kb-dms-web/static/img/louyou.png -------------------------------------------------------------------------------- /kb-dms-web/static/img/ppd_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qabin/kb-dms/3459388161351ae9ae62388b27523b817b866dfe/kb-dms-web/static/img/ppd_logo.png -------------------------------------------------------------------------------- /kb-dms-web/static/img/se.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qabin/kb-dms/3459388161351ae9ae62388b27523b817b866dfe/kb-dms-web/static/img/se.png -------------------------------------------------------------------------------- /kb-dms-web/static/img/shanghai.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qabin/kb-dms/3459388161351ae9ae62388b27523b817b866dfe/kb-dms-web/static/img/shanghai.png -------------------------------------------------------------------------------- /kb-dms-web/static/img/shengqi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qabin/kb-dms/3459388161351ae9ae62388b27523b817b866dfe/kb-dms-web/static/img/shengqi.png -------------------------------------------------------------------------------- /kb-dms-web/static/img/vip.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qabin/kb-dms/3459388161351ae9ae62388b27523b817b866dfe/kb-dms-web/static/img/vip.png -------------------------------------------------------------------------------- /kb-dms-web/static/img/xu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qabin/kb-dms/3459388161351ae9ae62388b27523b817b866dfe/kb-dms-web/static/img/xu.png -------------------------------------------------------------------------------- /kb-dms-web/static/img/zhangjun.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qabin/kb-dms/3459388161351ae9ae62388b27523b817b866dfe/kb-dms-web/static/img/zhangjun.png -------------------------------------------------------------------------------- /kb-dms-web/static/img/zhiliang.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qabin/kb-dms/3459388161351ae9ae62388b27523b817b866dfe/kb-dms-web/static/img/zhiliang.png -------------------------------------------------------------------------------- /kb-dms-web/static/img/zhiliang_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qabin/kb-dms/3459388161351ae9ae62388b27523b817b866dfe/kb-dms-web/static/img/zhiliang_01.png -------------------------------------------------------------------------------- /kb-dms-web/static/robin.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qabin/kb-dms/3459388161351ae9ae62388b27523b817b866dfe/kb-dms-web/static/robin.ico -------------------------------------------------------------------------------- /kb-dms-web/test/e2e/custom-assertions/elementCount.js: -------------------------------------------------------------------------------- 1 | // A custom Nightwatch assertion. 2 | // The assertion name is the filename. 3 | // Example usage: 4 | // 5 | // browser.assert.elementCount(selector, count) 6 | // 7 | // For more information on custom assertions see: 8 | // http://nightwatchjs.org/guide#writing-custom-assertions 9 | 10 | exports.assertion = function (selector, count) { 11 | this.message = 'Testing if element <' + selector + '> has count: ' + count 12 | this.expected = count 13 | this.pass = function (val) { 14 | return val === this.expected 15 | } 16 | this.value = function (res) { 17 | return res.value 18 | } 19 | this.command = function (cb) { 20 | var self = this 21 | return this.api.execute(function (selector) { 22 | return document.querySelectorAll(selector).length 23 | }, [selector], function (res) { 24 | cb.call(self, res) 25 | }) 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /kb-dms-web/test/e2e/specs/test.js: -------------------------------------------------------------------------------- 1 | // For authoring Nightwatch tests, see 2 | // http://nightwatchjs.org/guide#usage 3 | 4 | module.exports = { 5 | 'default e2e tests': function (browser) { 6 | // automatically uses dev Server port from /config.index.js 7 | // default: http://localhost:8080 8 | // see nightwatch.conf.js 9 | const devServer = browser.globals.devServerURL 10 | 11 | browser 12 | .url(devServer) 13 | .waitForElementVisible('#app', 5000) 14 | .assert.elementPresent('.hello') 15 | .assert.containsText('h1', 'Welcome to Your Vue.js App') 16 | .assert.elementCount('img', 1) 17 | .end() 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /kb-dms.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | --------------------------------------------------------------------------------