From 819a3e9a482721a5bcfbde61169b7729bc5696ab Mon Sep 17 00:00:00 2001 From: Pranav C Balan Date: Wed, 9 Jun 2021 19:09:30 +0530 Subject: [PATCH 1/4] fix: disable column attribute edit in SQLite Enabled column rename and disabled column attribute update if database is SQLite re #252 Signed-off-by: Pranav C Balan --- .../spreadsheet/editColumn/editColumn.vue | 498 ++++++++++-------- packages/nocodb/package-lock.json | 6 +- packages/nocodb/package.json | 3 +- 3 files changed, 272 insertions(+), 235 deletions(-) diff --git a/packages/nc-gui/components/project/spreadsheet/editColumn/editColumn.vue b/packages/nc-gui/components/project/spreadsheet/editColumn/editColumn.vue index ed4b5a1f07..69f566fd37 100644 --- a/packages/nc-gui/components/project/spreadsheet/editColumn/editColumn.vue +++ b/packages/nc-gui/components/project/spreadsheet/editColumn/editColumn.vue @@ -22,252 +22,263 @@ +
+ +
+ +

Foreign Key

+ + mdi-table + {{ relation._rtn }} + mdi-delete-forever + + (v) +
+
+ \ No newline at end of file +--> From 2f7e854c284d10a56dfcf53a38a6a054e6d90cd8 Mon Sep 17 00:00:00 2001 From: Pranav C Balan Date: Wed, 9 Jun 2021 20:23:38 +0530 Subject: [PATCH 3/4] feat: add project info option to copy project details Signed-off-by: Pranav C Balan --- packages/nc-gui/layouts/default.vue | 28 ++++++++++++++++--- packages/nocodb/package.json | 1 + .../nocodb/src/lib/noco/meta/NcMetaMgr.ts | 27 ++++++++++++++---- packages/nocodb/src/lib/sqlMgr/SqlMgr.ts | 2 +- 4 files changed, 48 insertions(+), 10 deletions(-) diff --git a/packages/nc-gui/layouts/default.vue b/packages/nc-gui/layouts/default.vue index a65a4a7f3e..1b76d27f5a 100644 --- a/packages/nc-gui/layouts/default.vue +++ b/packages/nc-gui/layouts/default.vue @@ -25,7 +25,10 @@ Home - (v{{$store.state.project.projectInfo && $store.state.project.projectInfo.version}}) + (v{{ + $store.state.project.projectInfo && $store.state.project.projectInfo.version + }}) @@ -235,7 +238,7 @@ @@ -645,6 +648,13 @@ + + + + info  Copy Project info + + + @@ -824,6 +834,7 @@ import 'splitpanes/dist/splitpanes.css' import XBtn from "../components/global/xBtn"; import ChangeEnv from "../components/changeEnv"; import Discord from "@/components/discord"; +import {copyTextToClipboard} from "@/helpers/xutils"; export default { components: { @@ -971,7 +982,7 @@ export default { 'xc-auth': this.$store.state.users.token } })).data; - const obj = Object.values(info).find(v => v.apiType === 'rest' ? v.swaggerUrl : v.gqlApiUrl); + const obj = Object.values(info).find(v => v.apiType === 'rest' ? v.swaggerUrl : v.gqlApiUrl); this.swaggerOrGraphiqlUrl = obj.apiType === 'rest' ? obj.swaggerUrl : obj.gqlApiUrl } catch (e) { } @@ -1296,6 +1307,15 @@ export default { }, changeTheme() { this.$store.dispatch('windows/ActToggleDarkMode', !this.$store.state.windows.darkTheme); + }, + async copyProjectInfo() { + try { + const data = await this.$store.dispatch('sqlMgr/ActSqlOp', [null, 'ncProjectInfo']) + copyTextToClipboard(Object.entries(data).map(([k, v]) => `${k}: **${v}**`).join('\n')); + this.$toast.info('Copied project info to clipboard').goAway(3000); + } catch (e) { + this.$toast.error(e.message).goAway(3000); + } } }, @@ -1344,7 +1364,7 @@ a { animation-iteration-count: infinite; } -/deep/ .v-toolbar__items{ +/deep/ .v-toolbar__items { align-items: center; } diff --git a/packages/nocodb/package.json b/packages/nocodb/package.json index 153f6524d8..c14145bb75 100644 --- a/packages/nocodb/package.json +++ b/packages/nocodb/package.json @@ -124,6 +124,7 @@ "handlebars": "^4.7.6", "import-fresh": "^3.2.1", "inflection": "^1.12.0", + "is-docker": "^2.2.1", "js-beautify": "^1.11.0", "json2csv": "^5.0.6", "jsonfile": "^6.1.0", diff --git a/packages/nocodb/src/lib/noco/meta/NcMetaMgr.ts b/packages/nocodb/src/lib/noco/meta/NcMetaMgr.ts index 8398e981b7..1786b18ccb 100644 --- a/packages/nocodb/src/lib/noco/meta/NcMetaMgr.ts +++ b/packages/nocodb/src/lib/noco/meta/NcMetaMgr.ts @@ -38,17 +38,18 @@ import ExpressXcTsRoutesHm from "../../sqlMgr/code/routes/xc-ts/ExpressXcTsRoute import ExpressXcTsRoutesBt from "../../sqlMgr/code/routes/xc-ts/ExpressXcTsRoutesBt"; import ExpressXcTsRoutes from "../../sqlMgr/code/routes/xc-ts/ExpressXcTsRoutes"; import NcPluginMgr from "../plugins/NcPluginMgr"; - +import isDocker from 'is-docker'; // import packageInfo from '../../../../package.json' // require('pkginfo')(module, 'version'); const XC_PLUGIN_DET = 'XC_PLUGIN_DET'; -let packageInfo:any = {}; -try{ - packageInfo = JSON.parse(fs.readFileSync('package.json','utf8')); -}catch (_e) {} +let packageInfo: any = {}; +try { + packageInfo = JSON.parse(fs.readFileSync('package.json', 'utf8')); +} catch (_e) { +} export default class NcMetaMgr { public projectConfigs = {}; @@ -1083,6 +1084,9 @@ export default class NcMetaMgr { case 'xcVirtualTableUpdate': result = await this.xcVirtualTableUpdate(args); break; + case 'ncProjectInfo': + result = await this.ncProjectInfo(args); + break; case 'xcVirtualTableDelete': result = await this.xcVirtualTableDelete(args, req); break; @@ -3106,6 +3110,19 @@ export default class NcMetaMgr { } + protected async ncProjectInfo(args) { + + const config = this.projectConfigs[this.getProjectId(args)]; + return { + node: process.version, + arch: process.arch, + platform: process.platform, + docker: isDocker(), + database: config.envs?.[process.env.NODE_ENV || 'dev']?.db?.[0]?.client, + packageVersion: packageInfo?.version + } + } + protected async xcVirtualTableList(args): Promise { return (await this.xcMeta.metaList(this.getProjectId(args), this.getDbAlias(args), 'nc_models', { xcCondition: { diff --git a/packages/nocodb/src/lib/sqlMgr/SqlMgr.ts b/packages/nocodb/src/lib/sqlMgr/SqlMgr.ts index 2a9f786ce2..92c6393b2e 100644 --- a/packages/nocodb/src/lib/sqlMgr/SqlMgr.ts +++ b/packages/nocodb/src/lib/sqlMgr/SqlMgr.ts @@ -820,7 +820,7 @@ export default class SqlMgr { migrationSteps: 9999, folder: this.currentProjectFolder }; - console.log(`Migration up args for '${op}'`, migrationArgs); + // console.log(`Migration up args for '${op}'`, migrationArgs); await this.migrator().migrationsUp(migrationArgs); } From 06665142f5e9bc929653602c03075f6f79ac9519 Mon Sep 17 00:00:00 2001 From: Pranav C Balan Date: Wed, 9 Jun 2021 20:37:44 +0530 Subject: [PATCH 4/4] chore: Published v0.9.26 Signed-off-by: Pranav C Balan --- packages/nc-lib-gui/package.json | 2 +- packages/nocodb/package-lock.json | 6 +++--- packages/nocodb/package.json | 8 ++++---- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/packages/nc-lib-gui/package.json b/packages/nc-lib-gui/package.json index ced0063dc3..764e3a8559 100644 --- a/packages/nc-lib-gui/package.json +++ b/packages/nc-lib-gui/package.json @@ -1,6 +1,6 @@ { "name": "nc-lib-gui", - "version": "0.1.216", + "version": "0.1.217", "description": "> TODO: description", "author": "“pranavxc” ", "homepage": "https://gitlab.com/xgenecloud-ts/xgenecloud-ts#readme", diff --git a/packages/nocodb/package-lock.json b/packages/nocodb/package-lock.json index 4bc9682d7d..bdfdceeec1 100644 --- a/packages/nocodb/package-lock.json +++ b/packages/nocodb/package-lock.json @@ -11203,9 +11203,9 @@ } }, "nc-lib-gui": { - "version": "0.1.216", - "resolved": "https://registry.npmjs.org/nc-lib-gui/-/nc-lib-gui-0.1.216.tgz", - "integrity": "sha512-zVQlsjK0fCZnlX8k0Rky8RKCfdMYmcVDwn1Kjff1JdXMduuFunjGAz7zFDBJNBY8DflmJSrLyDvZ9GR9i+kMUw==", + "version": "0.1.217", + "resolved": "https://registry.npmjs.org/nc-lib-gui/-/nc-lib-gui-0.1.217.tgz", + "integrity": "sha512-SA2RuY8g62qa9d9FwGsxd+lk5eE11EzKDQMSQyCcJhMgDeMrNUsbpoVPCB/zxo71kR3MqQa1tNYO5uIgwx6vtg==", "requires": { "axios": "^0.19.2", "body-parser": "^1.19.0", diff --git a/packages/nocodb/package.json b/packages/nocodb/package.json index c14145bb75..9e61bcb0a1 100644 --- a/packages/nocodb/package.json +++ b/packages/nocodb/package.json @@ -1,6 +1,6 @@ { "name": "nocodb", - "version": "0.9.25", + "version": "0.9.26", "description": "xc-cli", "main": "dist/bundle.js", "repository": "https://github.com/nocodb/nocodb/nc-cli", @@ -54,9 +54,9 @@ "postbuild": "npm run copy-files", "copy-files": "copyfiles -u 1 \"src/**/*.ejs\" build/main && copyfiles -u 1 \"src/**/*.ejs\" build/module && copyfiles -u 1 \"src/**/*.ejs\" docker", "docker:build": "EE=\"true-xc-test\" webpack --config docker/webpack.config.js", - "docker:image:build": "docker build . -t nocodb/nocodb:latest -t nocodb/nocodb:0.9.25 --no-cache", + "docker:image:build": "docker build . -t nocodb/nocodb:latest -t nocodb/nocodb:0.9.26 --no-cache", "docker:image:buildx": "docker buildx build . --platform linux/arm64 -t nocodb/nocodb:arm64 --no-cache", - "docker:image:deploy": "docker push nocodb/nocodb:latest && docker push nocodb/nocodb:0.9.25", + "docker:image:deploy": "docker push nocodb/nocodb:latest && docker push nocodb/nocodb:0.9.26", "docker:build:publish:image": "npm run build && npm run docker:build && npm run docker:image:build && npm run docker:image:deploy", "docker:s3:image:build": "docker build . --file litestream/Dockerfile -t xgenecloud/xc-s3:latest -t xgenecloud/xc-s3:0.0.1 --no-cache", "docker:s3:image:deploy": "docker push xgenecloud/xc-s3:latest && docker push xgenecloud/xc-s3:0.0.1", @@ -143,7 +143,7 @@ "nanoid": "^3.1.20", "nc-common": "0.0.6", "nc-help": "^0.1.107", - "nc-lib-gui": "^0.1.216", + "nc-lib-gui": "^0.1.217", "nc-plugin": "^0.1.1", "nodemailer": "^6.4.10", "ora": "^4.0.4",