diff --git a/packages/nc-gui/package-lock.json b/packages/nc-gui/package-lock.json
index fcd3a9fdca..11449e0f81 100644
--- a/packages/nc-gui/package-lock.json
+++ b/packages/nc-gui/package-lock.json
@@ -29,7 +29,7 @@
"jwt-decode": "^3.1.2",
"locale-codes": "^1.3.1",
"monaco-editor": "^0.33.0",
- "nocodb-sdk": "0.105.1",
+ "nocodb-sdk": "file:../nocodb-sdk",
"papaparse": "^5.3.2",
"qrcode": "^1.5.1",
"socket.io-client": "^4.5.1",
@@ -98,7 +98,6 @@
},
"../nocodb-sdk": {
"version": "0.105.1",
- "extraneous": true,
"license": "AGPL-3.0-or-later",
"dependencies": {
"axios": "^0.21.1",
@@ -8555,6 +8554,7 @@
"version": "1.15.1",
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz",
"integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==",
+ "devOptional": true,
"funding": [
{
"type": "individual",
@@ -11970,21 +11970,8 @@
}
},
"node_modules/nocodb-sdk": {
- "version": "0.105.1",
- "resolved": "https://registry.npmjs.org/nocodb-sdk/-/nocodb-sdk-0.105.1.tgz",
- "integrity": "sha512-SXCwoBk7sxb8QHO2X4GrLzhYsPx3VQw1oaMYetCBZfQMdrJr5PCkSGvXPSTj9Ht5IiOcgYOnEaVDfahzqx3ucA==",
- "dependencies": {
- "axios": "^0.21.1",
- "jsep": "^1.3.6"
- }
- },
- "node_modules/nocodb-sdk/node_modules/axios": {
- "version": "0.21.4",
- "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz",
- "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==",
- "dependencies": {
- "follow-redirects": "^1.14.0"
- }
+ "resolved": "../nocodb-sdk",
+ "link": true
},
"node_modules/node-abi": {
"version": "3.23.0",
@@ -23975,7 +23962,8 @@
"follow-redirects": {
"version": "1.15.1",
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz",
- "integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA=="
+ "integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==",
+ "devOptional": true
},
"form-data": {
"version": "4.0.0",
@@ -26448,22 +26436,22 @@
}
},
"nocodb-sdk": {
- "version": "0.105.1",
- "resolved": "https://registry.npmjs.org/nocodb-sdk/-/nocodb-sdk-0.105.1.tgz",
- "integrity": "sha512-SXCwoBk7sxb8QHO2X4GrLzhYsPx3VQw1oaMYetCBZfQMdrJr5PCkSGvXPSTj9Ht5IiOcgYOnEaVDfahzqx3ucA==",
+ "version": "file:../nocodb-sdk",
"requires": {
+ "@typescript-eslint/eslint-plugin": "^4.0.1",
+ "@typescript-eslint/parser": "^4.0.1",
"axios": "^0.21.1",
- "jsep": "^1.3.6"
- },
- "dependencies": {
- "axios": {
- "version": "0.21.4",
- "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz",
- "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==",
- "requires": {
- "follow-redirects": "^1.14.0"
- }
- }
+ "cspell": "^4.1.0",
+ "eslint": "^7.8.0",
+ "eslint-config-prettier": "^6.11.0",
+ "eslint-plugin-eslint-comments": "^3.2.0",
+ "eslint-plugin-functional": "^3.0.2",
+ "eslint-plugin-import": "^2.22.0",
+ "eslint-plugin-prettier": "^4.0.0",
+ "jsep": "^1.3.6",
+ "npm-run-all": "^4.1.5",
+ "prettier": "^2.1.1",
+ "typescript": "^4.0.2"
}
},
"node-abi": {
diff --git a/packages/nc-gui/package.json b/packages/nc-gui/package.json
index 5bd23c6895..b37773df3f 100644
--- a/packages/nc-gui/package.json
+++ b/packages/nc-gui/package.json
@@ -52,7 +52,7 @@
"jwt-decode": "^3.1.2",
"locale-codes": "^1.3.1",
"monaco-editor": "^0.33.0",
- "nocodb-sdk": "0.105.1",
+ "nocodb-sdk": "file:../nocodb-sdk",
"papaparse": "^5.3.2",
"qrcode": "^1.5.1",
"socket.io-client": "^4.5.1",
diff --git a/packages/nocodb-sdk/package-lock.json b/packages/nocodb-sdk/package-lock.json
index 88202e3d0f..a922f9f642 100644
--- a/packages/nocodb-sdk/package-lock.json
+++ b/packages/nocodb-sdk/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "nocodb-sdk",
- "version": "0.105.0",
+ "version": "0.105.1",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "nocodb-sdk",
- "version": "0.105.0",
+ "version": "0.105.1",
"license": "AGPL-3.0-or-later",
"dependencies": {
"axios": "^0.21.1",
diff --git a/packages/nocodb/package-lock.json b/packages/nocodb/package-lock.json
index 82c98452a6..f69b273d19 100644
--- a/packages/nocodb/package-lock.json
+++ b/packages/nocodb/package-lock.json
@@ -68,7 +68,7 @@
"nc-lib-gui": "0.105.1",
"nc-plugin": "0.1.2",
"ncp": "^2.0.0",
- "nocodb-sdk": "0.105.1",
+ "nocodb-sdk": "file:../nocodb-sdk",
"nodemailer": "^6.4.10",
"object-hash": "^3.0.0",
"os-locale": "^5.0.0",
@@ -155,7 +155,6 @@
},
"../nocodb-sdk": {
"version": "0.105.1",
- "extraneous": true,
"license": "AGPL-3.0-or-later",
"dependencies": {
"axios": "^0.21.1",
@@ -11319,13 +11318,8 @@
"dev": true
},
"node_modules/nocodb-sdk": {
- "version": "0.105.1",
- "resolved": "https://registry.npmjs.org/nocodb-sdk/-/nocodb-sdk-0.105.1.tgz",
- "integrity": "sha512-SXCwoBk7sxb8QHO2X4GrLzhYsPx3VQw1oaMYetCBZfQMdrJr5PCkSGvXPSTj9Ht5IiOcgYOnEaVDfahzqx3ucA==",
- "dependencies": {
- "axios": "^0.21.1",
- "jsep": "^1.3.6"
- }
+ "resolved": "../nocodb-sdk",
+ "link": true
},
"node_modules/node-abort-controller": {
"version": "3.0.1",
@@ -27930,12 +27924,22 @@
"dev": true
},
"nocodb-sdk": {
- "version": "0.105.1",
- "resolved": "https://registry.npmjs.org/nocodb-sdk/-/nocodb-sdk-0.105.1.tgz",
- "integrity": "sha512-SXCwoBk7sxb8QHO2X4GrLzhYsPx3VQw1oaMYetCBZfQMdrJr5PCkSGvXPSTj9Ht5IiOcgYOnEaVDfahzqx3ucA==",
+ "version": "file:../nocodb-sdk",
"requires": {
+ "@typescript-eslint/eslint-plugin": "^4.0.1",
+ "@typescript-eslint/parser": "^4.0.1",
"axios": "^0.21.1",
- "jsep": "^1.3.6"
+ "cspell": "^4.1.0",
+ "eslint": "^7.8.0",
+ "eslint-config-prettier": "^6.11.0",
+ "eslint-plugin-eslint-comments": "^3.2.0",
+ "eslint-plugin-functional": "^3.0.2",
+ "eslint-plugin-import": "^2.22.0",
+ "eslint-plugin-prettier": "^4.0.0",
+ "jsep": "^1.3.6",
+ "npm-run-all": "^4.1.5",
+ "prettier": "^2.1.1",
+ "typescript": "^4.0.2"
}
},
"node-abort-controller": {
diff --git a/packages/nocodb/package.json b/packages/nocodb/package.json
index 7adfaf2cfa..7a69c76584 100644
--- a/packages/nocodb/package.json
+++ b/packages/nocodb/package.json
@@ -108,7 +108,7 @@
"nc-lib-gui": "0.105.1",
"nc-plugin": "0.1.2",
"ncp": "^2.0.0",
- "nocodb-sdk": "0.105.1",
+ "nocodb-sdk": "file:../nocodb-sdk",
"nodemailer": "^6.4.10",
"object-hash": "^3.0.0",
"os-locale": "^5.0.0",
@@ -184,4 +184,4 @@
"prettier": {
"singleQuote": true
}
-}
\ No newline at end of file
+}
diff --git a/packages/nocodb/src/lib/public/index.html b/packages/nocodb/src/lib/public/index.html
deleted file mode 100644
index 535d972e9d..0000000000
--- a/packages/nocodb/src/lib/public/index.html
+++ /dev/null
@@ -1,651 +0,0 @@
-
-
-
-
-
- HOME
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/nocodb/src/lib/public/social/email.png b/packages/nocodb/src/lib/public/social/email.png
deleted file mode 100644
index c63656e54c..0000000000
Binary files a/packages/nocodb/src/lib/public/social/email.png and /dev/null differ
diff --git a/packages/nocodb/src/lib/public/social/linkedin.png b/packages/nocodb/src/lib/public/social/linkedin.png
deleted file mode 100644
index 0c07e6189f..0000000000
Binary files a/packages/nocodb/src/lib/public/social/linkedin.png and /dev/null differ
diff --git a/packages/nocodb/src/lib/public/social/png/douban.png b/packages/nocodb/src/lib/public/social/png/douban.png
deleted file mode 100644
index 8da21d451f..0000000000
Binary files a/packages/nocodb/src/lib/public/social/png/douban.png and /dev/null differ
diff --git a/packages/nocodb/src/lib/public/social/png/facebook.png b/packages/nocodb/src/lib/public/social/png/facebook.png
deleted file mode 100644
index 3470b600ed..0000000000
Binary files a/packages/nocodb/src/lib/public/social/png/facebook.png and /dev/null differ
diff --git a/packages/nocodb/src/lib/public/social/png/gmail.png b/packages/nocodb/src/lib/public/social/png/gmail.png
deleted file mode 100644
index 4ea0c3689e..0000000000
Binary files a/packages/nocodb/src/lib/public/social/png/gmail.png and /dev/null differ
diff --git a/packages/nocodb/src/lib/public/social/png/google-plus.png b/packages/nocodb/src/lib/public/social/png/google-plus.png
deleted file mode 100644
index d61227f9b3..0000000000
Binary files a/packages/nocodb/src/lib/public/social/png/google-plus.png and /dev/null differ
diff --git a/packages/nocodb/src/lib/public/social/png/line.png b/packages/nocodb/src/lib/public/social/png/line.png
deleted file mode 100644
index ba05a1172f..0000000000
Binary files a/packages/nocodb/src/lib/public/social/png/line.png and /dev/null differ
diff --git a/packages/nocodb/src/lib/public/social/png/linkedin.png b/packages/nocodb/src/lib/public/social/png/linkedin.png
deleted file mode 100644
index 0c07e6189f..0000000000
Binary files a/packages/nocodb/src/lib/public/social/png/linkedin.png and /dev/null differ
diff --git a/packages/nocodb/src/lib/public/social/png/medium.png b/packages/nocodb/src/lib/public/social/png/medium.png
deleted file mode 100644
index 693dd6bd22..0000000000
Binary files a/packages/nocodb/src/lib/public/social/png/medium.png and /dev/null differ
diff --git a/packages/nocodb/src/lib/public/social/png/odnoklassniki.png b/packages/nocodb/src/lib/public/social/png/odnoklassniki.png
deleted file mode 100644
index 6f572d3a91..0000000000
Binary files a/packages/nocodb/src/lib/public/social/png/odnoklassniki.png and /dev/null differ
diff --git a/packages/nocodb/src/lib/public/social/png/renren.png b/packages/nocodb/src/lib/public/social/png/renren.png
deleted file mode 100644
index 047897d66e..0000000000
Binary files a/packages/nocodb/src/lib/public/social/png/renren.png and /dev/null differ
diff --git a/packages/nocodb/src/lib/public/social/png/skype.png b/packages/nocodb/src/lib/public/social/png/skype.png
deleted file mode 100644
index 34b1d7980d..0000000000
Binary files a/packages/nocodb/src/lib/public/social/png/skype.png and /dev/null differ
diff --git a/packages/nocodb/src/lib/public/social/png/telegram.png b/packages/nocodb/src/lib/public/social/png/telegram.png
deleted file mode 100644
index 083abb5cd7..0000000000
Binary files a/packages/nocodb/src/lib/public/social/png/telegram.png and /dev/null differ
diff --git a/packages/nocodb/src/lib/public/social/png/twitter.png b/packages/nocodb/src/lib/public/social/png/twitter.png
deleted file mode 100644
index ca388e163d..0000000000
Binary files a/packages/nocodb/src/lib/public/social/png/twitter.png and /dev/null differ
diff --git a/packages/nocodb/src/lib/public/social/png/viber.png b/packages/nocodb/src/lib/public/social/png/viber.png
deleted file mode 100644
index fb4d55b2ab..0000000000
Binary files a/packages/nocodb/src/lib/public/social/png/viber.png and /dev/null differ
diff --git a/packages/nocodb/src/lib/public/social/png/vk.png b/packages/nocodb/src/lib/public/social/png/vk.png
deleted file mode 100644
index 1f793fc290..0000000000
Binary files a/packages/nocodb/src/lib/public/social/png/vk.png and /dev/null differ
diff --git a/packages/nocodb/src/lib/public/social/png/wechat.png b/packages/nocodb/src/lib/public/social/png/wechat.png
deleted file mode 100644
index b0b506c477..0000000000
Binary files a/packages/nocodb/src/lib/public/social/png/wechat.png and /dev/null differ
diff --git a/packages/nocodb/src/lib/public/social/png/weibo.png b/packages/nocodb/src/lib/public/social/png/weibo.png
deleted file mode 100644
index 01bd6eceec..0000000000
Binary files a/packages/nocodb/src/lib/public/social/png/weibo.png and /dev/null differ
diff --git a/packages/nocodb/src/lib/public/social/png/whatsapp.png b/packages/nocodb/src/lib/public/social/png/whatsapp.png
deleted file mode 100644
index 1d49016ced..0000000000
Binary files a/packages/nocodb/src/lib/public/social/png/whatsapp.png and /dev/null differ
diff --git a/packages/nocodb/src/lib/public/social/png/wykop.jpg b/packages/nocodb/src/lib/public/social/png/wykop.jpg
deleted file mode 100644
index 3bba88c50b..0000000000
Binary files a/packages/nocodb/src/lib/public/social/png/wykop.jpg and /dev/null differ
diff --git a/tests/playwright/pages/Dashboard/index.ts b/tests/playwright/pages/Dashboard/index.ts
index d90b88a80e..e8f6265fbd 100644
--- a/tests/playwright/pages/Dashboard/index.ts
+++ b/tests/playwright/pages/Dashboard/index.ts
@@ -65,6 +65,11 @@ export class DashboardPage extends BasePage {
await this.rootPage.locator('div.nc-project-menu-item:has-text(" Team & Settings")').click();
}
+ async gotoProjectSubMenu({ title }: { title: string }) {
+ await this.rootPage.getByTestId('nc-project-menu').click();
+ await this.rootPage.locator(`div.nc-project-menu-item:has-text("${title}")`).click();
+ }
+
async verifyInTabBar({ title }: { title: string }) {
await this.tabBar.textContent().then(text => expect(text).toContain(title));
}
diff --git a/tests/playwright/tests/swagger.spec.ts b/tests/playwright/tests/swagger.spec.ts
new file mode 100644
index 0000000000..9033784985
--- /dev/null
+++ b/tests/playwright/tests/swagger.spec.ts
@@ -0,0 +1,42 @@
+import { expect, test } from '@playwright/test';
+import { DashboardPage } from '../pages/Dashboard';
+import { GridPage } from '../pages/Dashboard/Grid';
+import setup from '../setup';
+
+test.describe('Table Column Operations', () => {
+ let grid: GridPage, dashboard: DashboardPage;
+ let context: any;
+
+ test.beforeEach(async ({ page }) => {
+ context = await setup({ page });
+ dashboard = new DashboardPage(page, context.project);
+ grid = dashboard.grid;
+ });
+
+ test('Create column', async () => {
+ // access swagger link
+ const link = `http://localhost:8080/api/v1/db/meta/projects/${context.project.id}/swagger`;
+ await dashboard.rootPage.goto(link, { waitUntil: 'networkidle' });
+
+ const swagger = await dashboard.rootPage;
+
+ // authorize with token information
+ await swagger.locator('.btn.authorize').click();
+ await swagger.locator('.modal-ux').locator('input').first().fill(context.token);
+ await swagger.locator('.btn.modal-btn.auth.authorize.button').first().click();
+ await swagger.locator('.close-modal').click();
+
+ // click on the first get request
+ await swagger.locator('.opblock.opblock-get').first().click();
+ await swagger.locator('.btn.try-out__btn').first().click();
+ await swagger.locator('.btn.execute.opblock-control__btn').first().click();
+
+ // verify response status
+ const responseStatus = await swagger
+ .locator('.responses-table >> tbody')
+ .locator('.response-col_status')
+ .first()
+ .innerText();
+ expect(responseStatus).toBe('200');
+ });
+});