From 1aaf16aeafa6a53ed8a55f111596969c5f46eec8 Mon Sep 17 00:00:00 2001 From: mertmit Date: Fri, 8 Sep 2023 11:09:17 +0300 Subject: [PATCH 01/12] fix: assign project_roles for apitoken Signed-off-by: mertmit --- .../strategies/authtoken.strategy/authtoken.strategy.ts | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/packages/nocodb/src/strategies/authtoken.strategy/authtoken.strategy.ts b/packages/nocodb/src/strategies/authtoken.strategy/authtoken.strategy.ts index c453ec90ae..16bbf53fb9 100644 --- a/packages/nocodb/src/strategies/authtoken.strategy/authtoken.strategy.ts +++ b/packages/nocodb/src/strategies/authtoken.strategy/authtoken.strategy.ts @@ -1,5 +1,6 @@ import { Injectable } from '@nestjs/common'; import { PassportStrategy } from '@nestjs/passport'; +import { extractRolesObj, ProjectRoles } from 'nocodb-sdk'; import { Strategy } from 'passport-custom'; import { ApiToken, ProjectUser, User } from '~/models'; import { sanitiseUserObj } from '~/utils'; @@ -18,7 +19,7 @@ export class AuthTokenStrategy extends PassportStrategy(Strategy, 'authtoken') { user = {}; if (!apiToken.fk_user_id) { - user.roles = 'editor'; + user.project_roles = extractRolesObj(ProjectRoles.EDITOR); return callback(null, user); } @@ -38,8 +39,10 @@ export class AuthTokenStrategy extends PassportStrategy(Strategy, 'authtoken') { req['ncProjectId'], dbUser.id, ); - user.roles = projectUser?.roles || dbUser.roles; - user.roles = user.roles === 'owner' ? 'owner,creator' : user.roles; + user.project_roles = extractRolesObj(projectUser?.roles); + if (user.project_roles.owner) { + user.project_roles.creator = true; + } return callback(null, sanitiseUserObj(user)); } } From bd1bc3277427e24bc6998cfa855fad342396df28 Mon Sep 17 00:00:00 2001 From: mertmit Date: Fri, 8 Sep 2023 11:17:18 +0300 Subject: [PATCH 02/12] fix: parse roles for user roles of apitoken as well Signed-off-by: mertmit --- .../src/strategies/authtoken.strategy/authtoken.strategy.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/nocodb/src/strategies/authtoken.strategy/authtoken.strategy.ts b/packages/nocodb/src/strategies/authtoken.strategy/authtoken.strategy.ts index 16bbf53fb9..b096912f21 100644 --- a/packages/nocodb/src/strategies/authtoken.strategy/authtoken.strategy.ts +++ b/packages/nocodb/src/strategies/authtoken.strategy/authtoken.strategy.ts @@ -30,7 +30,7 @@ export class AuthTokenStrategy extends PassportStrategy(Strategy, 'authtoken') { Object.assign(user, { id: dbUser.id, - roles: dbUser.roles, + roles: extractRolesObj(dbUser.roles), }); dbUser.is_api_token = true; From 8a923743b6afdf6dee08ca58698a767d33ed2fc5 Mon Sep 17 00:00:00 2001 From: mertmit Date: Fri, 8 Sep 2023 11:18:09 +0300 Subject: [PATCH 03/12] fix: cleanup unnecessary code Signed-off-by: mertmit --- .../src/middlewares/extract-ids/extract-ids.middleware.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/nocodb/src/middlewares/extract-ids/extract-ids.middleware.ts b/packages/nocodb/src/middlewares/extract-ids/extract-ids.middleware.ts index 6dd0c79582..d5ed6a9c33 100644 --- a/packages/nocodb/src/middlewares/extract-ids/extract-ids.middleware.ts +++ b/packages/nocodb/src/middlewares/extract-ids/extract-ids.middleware.ts @@ -180,8 +180,8 @@ export class ExtractIdsMiddleware implements NestMiddleware, CanActivate { } function getUserRoleForScope(user: any, scope: string) { - if (scope === 'project' || scope === 'workspace') { - return user?.project_roles || user?.workspace_roles; + if (scope === 'project') { + return user?.project_roles; } else if (scope === 'org') { return user?.roles; } From 8fa23efedf4f381b57fbb6281be370cfa3a04f39 Mon Sep 17 00:00:00 2001 From: mertmit Date: Fri, 8 Sep 2023 11:22:06 +0300 Subject: [PATCH 04/12] fix: proper is_api_token check Signed-off-by: mertmit --- .../src/strategies/authtoken.strategy/authtoken.strategy.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/nocodb/src/strategies/authtoken.strategy/authtoken.strategy.ts b/packages/nocodb/src/strategies/authtoken.strategy/authtoken.strategy.ts index b096912f21..331d805ed3 100644 --- a/packages/nocodb/src/strategies/authtoken.strategy/authtoken.strategy.ts +++ b/packages/nocodb/src/strategies/authtoken.strategy/authtoken.strategy.ts @@ -17,7 +17,10 @@ export class AuthTokenStrategy extends PassportStrategy(Strategy, 'authtoken') { return callback({ msg: 'Invalid token' }); } - user = {}; + user = { + is_api_token: true, + }; + if (!apiToken.fk_user_id) { user.project_roles = extractRolesObj(ProjectRoles.EDITOR); return callback(null, user); @@ -33,7 +36,6 @@ export class AuthTokenStrategy extends PassportStrategy(Strategy, 'authtoken') { roles: extractRolesObj(dbUser.roles), }); - dbUser.is_api_token = true; if (req['ncProjectId']) { const projectUser = await ProjectUser.get( req['ncProjectId'], From 6a465a665395257913128a5e7c63579a7a5bfb5c Mon Sep 17 00:00:00 2001 From: mertmit Date: Fri, 8 Sep 2023 13:21:44 +0300 Subject: [PATCH 05/12] fix: super admin table and view list access Signed-off-by: mertmit --- .../src/middlewares/extract-ids/extract-ids.middleware.ts | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/packages/nocodb/src/middlewares/extract-ids/extract-ids.middleware.ts b/packages/nocodb/src/middlewares/extract-ids/extract-ids.middleware.ts index 6dd0c79582..77a9cb331c 100644 --- a/packages/nocodb/src/middlewares/extract-ids/extract-ids.middleware.ts +++ b/packages/nocodb/src/middlewares/extract-ids/extract-ids.middleware.ts @@ -220,6 +220,13 @@ export class AclMiddleware implements NestInterceptor { NcError.forbidden('Unauthorized access'); } + // assign owner role to super admin for all projects + if (userScopeRole === OrgUserRoles.SUPER_ADMIN) { + req.user.project_roles = { + [ProjectRoles.OWNER]: true, + }; + } + const roles: Record = extractRolesObj(userScopeRole); if (req?.user?.is_api_token && blockApiTokenAccess) { From fd679156f049adbe49be1260e2a32a375df28af2 Mon Sep 17 00:00:00 2001 From: Pranav C Date: Fri, 8 Sep 2023 16:44:38 +0530 Subject: [PATCH 06/12] fix: add missing endpoints in swagger json Signed-off-by: Pranav C --- .../src/services/api-docs/swagger/getSwaggerColumnMetas.ts | 1 + .../nocodb/src/services/api-docs/swagger/templates/paths.ts | 6 ++---- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/packages/nocodb/src/services/api-docs/swagger/getSwaggerColumnMetas.ts b/packages/nocodb/src/services/api-docs/swagger/getSwaggerColumnMetas.ts index 0913b13e96..174d66762c 100644 --- a/packages/nocodb/src/services/api-docs/swagger/getSwaggerColumnMetas.ts +++ b/packages/nocodb/src/services/api-docs/swagger/getSwaggerColumnMetas.ts @@ -36,6 +36,7 @@ export default async ( field.type = 'object'; break; case UITypes.Rollup: + case UITypes.Links: field.type = 'number'; break; case UITypes.Attachment: diff --git a/packages/nocodb/src/services/api-docs/swagger/templates/paths.ts b/packages/nocodb/src/services/api-docs/swagger/templates/paths.ts index d83db246d4..9d68bf01bb 100644 --- a/packages/nocodb/src/services/api-docs/swagger/templates/paths.ts +++ b/packages/nocodb/src/services/api-docs/swagger/templates/paths.ts @@ -1,4 +1,4 @@ -import { ModelTypes, UITypes } from 'nocodb-sdk'; +import { isLinksOrLTAR, ModelTypes, UITypes } from 'nocodb-sdk'; import { columnNameParam, columnNameQueryParam, @@ -670,7 +670,5 @@ function getPaginatedResponseType(type: string) { }; } function isRelationExist(columns: SwaggerColumn[]) { - return columns.some( - (c) => c.column.uidt === UITypes.LinkToAnotherRecord && !c.column.system, - ); + return columns.some((c) => isLinksOrLTAR(c.column) && !c.column.system); } From 52adf6168dd0b59f74da046b26536a6334eafd6b Mon Sep 17 00:00:00 2001 From: mertmit Date: Fri, 8 Sep 2023 14:20:51 +0300 Subject: [PATCH 07/12] fix: super admin access fe Signed-off-by: mertmit --- packages/nc-gui/middleware/auth.global.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/nc-gui/middleware/auth.global.ts b/packages/nc-gui/middleware/auth.global.ts index 571e094baf..64702addf7 100644 --- a/packages/nc-gui/middleware/auth.global.ts +++ b/packages/nc-gui/middleware/auth.global.ts @@ -85,7 +85,7 @@ export default defineNuxtRouteMiddleware(async (to, from) => { } } else { /** If page is limited to certain users verify the user have the roles */ - if (to.meta.allowedRoles && to.meta.allowedRoles.every((role) => !allRoles.value[role])) { + if (to.meta.allowedRoles && to.meta.allowedRoles.every((role) => !allRoles.value?.[role])) { message.error("You don't have enough permission to access the page.") return navigateTo('/') } @@ -94,7 +94,7 @@ export default defineNuxtRouteMiddleware(async (to, from) => { if (to.params.projectId && from.params.projectId !== to.params.projectId) { const user = await api.auth.me({ project_id: to.params.projectId as string }) - if (user?.roles?.user) { + if (user?.roles?.guest) { message.error("You don't have enough permission to access the project.") return navigateTo('/') From 6371294cf50d4817a06e7308ac26fce6c104ff83 Mon Sep 17 00:00:00 2001 From: mertmit Date: Fri, 8 Sep 2023 14:35:23 +0300 Subject: [PATCH 08/12] fix: initAdminFromEnv Signed-off-by: mertmit --- .../nocodb/src/helpers/initAdminFromEnv.ts | 275 ++++++++---------- packages/nocodb/src/models/User.ts | 2 +- 2 files changed, 119 insertions(+), 158 deletions(-) diff --git a/packages/nocodb/src/helpers/initAdminFromEnv.ts b/packages/nocodb/src/helpers/initAdminFromEnv.ts index d203896270..008cb3ed81 100644 --- a/packages/nocodb/src/helpers/initAdminFromEnv.ts +++ b/packages/nocodb/src/helpers/initAdminFromEnv.ts @@ -89,190 +89,151 @@ export default async function initAdminFromEnv(_ncMeta = Noco.ncMeta) { salt, ); const email_verification_token = uuidv4(); - const superUser = await ncMeta.metaGet2(null, null, MetaTable.USERS, { - roles: 'user,super', - }); + // TODO improve this + const superUsers = await ncMeta.metaList2(null, null, MetaTable.USERS); - if (!superUser?.id) { - const existingUserWithNewEmail = await User.getByEmail(email, ncMeta); - if (existingUserWithNewEmail?.id) { - // clear cache - await NocoCache.delAll( - CacheScope.USER, - `${existingUserWithNewEmail.email}___*`, - ); - await NocoCache.del( - `${CacheScope.USER}:${existingUserWithNewEmail.id}`, - ); - await NocoCache.del( - `${CacheScope.USER}:${existingUserWithNewEmail.email}`, - ); + for (const user of superUsers) { + if (!user.roles?.includes('super')) continue; - // Update email and password of super admin account - await User.update( - existingUserWithNewEmail.id, - { - salt, - email, - password, - email_verification_token, - token_version: randomTokenString(), - refresh_token: null, - roles, - }, - ncMeta, - ); - } else { - T.emit('evt', { - evt_type: 'project:invite', - count: 1, - }); + if (email !== user.email) { + // update admin email and password and migrate projects + // if user already present and associated with some project - await User.insert( - { - email, - salt, - password, - email_verification_token, - roles, - }, + // check user account already present with the new admin email + const existingUserWithNewEmail = await User.getByEmail( + email, ncMeta, ); - } - } else if (email !== superUser.email) { - // update admin email and password and migrate projects - // if user already present and associated with some project - - // check user account already present with the new admin email - const existingUserWithNewEmail = await User.getByEmail(email, ncMeta); - - if (existingUserWithNewEmail?.id) { - // get all project access belongs to the existing account - // and migrate to the admin account - const existingUserProjects = await ncMeta.metaList2( - null, - null, - MetaTable.PROJECT_USERS, - { - condition: { fk_user_id: existingUserWithNewEmail.id }, - }, - ); - for (const existingUserProject of existingUserProjects) { - const userProject = await ProjectUser.get( - existingUserProject.project_id, - superUser.id, - ncMeta, + if (existingUserWithNewEmail?.id) { + // get all project access belongs to the existing account + // and migrate to the admin account + const existingUserProjects = await ncMeta.metaList2( + null, + null, + MetaTable.PROJECT_USERS, + { + condition: { fk_user_id: existingUserWithNewEmail.id }, + }, ); - // if admin user already have access to the project - // then update role based on the highest access level - if (userProject) { - if ( - rolesLevel[userProject.roles] > - rolesLevel[existingUserProject.roles] - ) { - await ProjectUser.update( - userProject.project_id, - superUser.id, - existingUserProject.roles, + for (const existingUserProject of existingUserProjects) { + const userProject = await ProjectUser.get( + existingUserProject.project_id, + user.id, + ncMeta, + ); + + // if admin user already have access to the project + // then update role based on the highest access level + if (userProject) { + if ( + rolesLevel[userProject.roles] > + rolesLevel[existingUserProject.roles] + ) { + await ProjectUser.update( + userProject.project_id, + user.id, + existingUserProject.roles, + ncMeta, + ); + } + } else { + // if super doesn't have access then add the access + await ProjectUser.insert( + { + ...existingUserProject, + fk_user_id: user.id, + }, ncMeta, ); } - } else { - // if super doesn't have access then add the access - await ProjectUser.insert( - { - ...existingUserProject, - fk_user_id: superUser.id, - }, + // delete the old project access entry from DB + await ProjectUser.delete( + existingUserProject.project_id, + existingUserProject.fk_user_id, ncMeta, ); } - // delete the old project access entry from DB - await ProjectUser.delete( - existingUserProject.project_id, - existingUserProject.fk_user_id, - ncMeta, - ); - } - // delete existing user - await ncMeta.metaDelete( - null, - null, - MetaTable.USERS, - existingUserWithNewEmail.id, - ); + // delete existing user + await ncMeta.metaDelete( + null, + null, + MetaTable.USERS, + existingUserWithNewEmail.id, + ); - // clear cache - await NocoCache.delAll( - CacheScope.USER, - `${existingUserWithNewEmail.email}___*`, - ); - await NocoCache.del( - `${CacheScope.USER}:${existingUserWithNewEmail.id}`, - ); - await NocoCache.del( - `${CacheScope.USER}:${existingUserWithNewEmail.email}`, - ); + // clear cache + await NocoCache.delAll( + CacheScope.USER, + `${existingUserWithNewEmail.email}___*`, + ); + await NocoCache.del( + `${CacheScope.USER}:${existingUserWithNewEmail.id}`, + ); + await NocoCache.del( + `${CacheScope.USER}:${existingUserWithNewEmail.email}`, + ); - // Update email and password of super admin account - await User.update( - superUser.id, - { - salt, - email, - password, - email_verification_token, - token_version: randomTokenString(), - refresh_token: null, - }, - ncMeta, - ); + // Update email and password of super admin account + await User.update( + user.id, + { + salt, + email, + password, + email_verification_token, + token_version: randomTokenString(), + refresh_token: null, + }, + ncMeta, + ); + } else { + // if email's are not different update the password and hash + await User.update( + user.id, + { + salt, + email, + password, + email_verification_token, + token_version: randomTokenString(), + refresh_token: null, + }, + ncMeta, + ); + } } else { - // if email's are not different update the password and hash - await User.update( - superUser.id, - { - salt, - email, - password, - email_verification_token, - token_version: randomTokenString(), - refresh_token: null, - }, - ncMeta, + const newPasswordHash = await promisify(bcrypt.hash)( + process.env.NC_ADMIN_PASSWORD, + user.salt, ); - } - } else { - const newPasswordHash = await promisify(bcrypt.hash)( - process.env.NC_ADMIN_PASSWORD, - superUser.salt, - ); - if (newPasswordHash !== superUser.password) { - // if email's are same and passwords are different - // then update the password and token version - await User.update( - superUser.id, - { - salt, - password, - email_verification_token, - token_version: randomTokenString(), - refresh_token: null, - }, - ncMeta, - ); + if (newPasswordHash !== user.password) { + // if email's are same and passwords are different + // then update the password and token version + await User.update( + user.id, + { + salt, + password, + email_verification_token, + token_version: randomTokenString(), + refresh_token: null, + }, + ncMeta, + ); + } } } } + await ncMeta.commit(); } catch (e) { console.log('Error occurred while updating/creating admin user'); - console.log(e); await ncMeta.rollback(e); + throw e; } } } diff --git a/packages/nocodb/src/models/User.ts b/packages/nocodb/src/models/User.ts index 9bd97b3fe5..d8e4eafd0f 100644 --- a/packages/nocodb/src/models/User.ts +++ b/packages/nocodb/src/models/User.ts @@ -87,7 +87,7 @@ export default class User implements UserType { // check if the target email addr is in use or not const targetUser = await this.getByEmail(updateObj.email, ncMeta); - if (targetUser.id !== id) { + if (targetUser && targetUser.id !== id) { NcError.badRequest('email is in use'); } } else { From 4dbf26297d1a1792705532def0535f29c452cdf1 Mon Sep 17 00:00:00 2001 From: mertmit Date: Fri, 8 Sep 2023 15:42:28 +0300 Subject: [PATCH 09/12] fix: handle no super user exist in environment Signed-off-by: mertmit --- .../nocodb/src/helpers/initAdminFromEnv.ts | 58 ++++++++++++++++++- 1 file changed, 56 insertions(+), 2 deletions(-) diff --git a/packages/nocodb/src/helpers/initAdminFromEnv.ts b/packages/nocodb/src/helpers/initAdminFromEnv.ts index 008cb3ed81..d6990379e2 100644 --- a/packages/nocodb/src/helpers/initAdminFromEnv.ts +++ b/packages/nocodb/src/helpers/initAdminFromEnv.ts @@ -62,7 +62,7 @@ export default async function initAdminFromEnv(_ncMeta = Noco.ncMeta) { salt, ); const email_verification_token = uuidv4(); - const roles = 'user,super'; + const roles = 'org-level-creator,super'; // if super admin not present if (await User.isFirst(ncMeta)) { @@ -92,9 +92,13 @@ export default async function initAdminFromEnv(_ncMeta = Noco.ncMeta) { // TODO improve this const superUsers = await ncMeta.metaList2(null, null, MetaTable.USERS); + let superUserPresent = false; + for (const user of superUsers) { if (!user.roles?.includes('super')) continue; + superUserPresent = true; + if (email !== user.email) { // update admin email and password and migrate projects // if user already present and associated with some project @@ -190,7 +194,7 @@ export default async function initAdminFromEnv(_ncMeta = Noco.ncMeta) { ncMeta, ); } else { - // if email's are not different update the password and hash + // if no user present with the new admin email update the email and password await User.update( user.id, { @@ -227,6 +231,56 @@ export default async function initAdminFromEnv(_ncMeta = Noco.ncMeta) { } } } + + if (!superUserPresent) { + // check user account already present with the new admin email + const existingUserWithNewEmail = await User.getByEmail(email, ncMeta); + if (existingUserWithNewEmail?.id) { + // clear cache + await NocoCache.delAll( + CacheScope.USER, + `${existingUserWithNewEmail.email}___*`, + ); + await NocoCache.del( + `${CacheScope.USER}:${existingUserWithNewEmail.id}`, + ); + await NocoCache.del( + `${CacheScope.USER}:${existingUserWithNewEmail.email}`, + ); + + // Update password and roles of existing user + await User.update( + existingUserWithNewEmail.id, + { + salt, + email, + password, + email_verification_token, + token_version: randomTokenString(), + refresh_token: null, + roles, + }, + ncMeta, + ); + } else { + // no super user present and no user present with the new admin email + T.emit('evt', { + evt_type: 'project:invite', + count: 1, + }); + + await User.insert( + { + email, + salt, + password, + email_verification_token, + roles, + }, + ncMeta, + ); + } + } } await ncMeta.commit(); From 0a8860afd0e0d3d9243af526813d3c47e5b5f679 Mon Sep 17 00:00:00 2001 From: mertmit Date: Fri, 8 Sep 2023 15:52:26 +0300 Subject: [PATCH 10/12] fix: add token_version Signed-off-by: mertmit --- packages/nocodb/src/helpers/initAdminFromEnv.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/nocodb/src/helpers/initAdminFromEnv.ts b/packages/nocodb/src/helpers/initAdminFromEnv.ts index d6990379e2..4b71632eef 100644 --- a/packages/nocodb/src/helpers/initAdminFromEnv.ts +++ b/packages/nocodb/src/helpers/initAdminFromEnv.ts @@ -78,6 +78,7 @@ export default async function initAdminFromEnv(_ncMeta = Noco.ncMeta) { salt, password, email_verification_token, + token_version: randomTokenString(), roles, }, ncMeta, @@ -275,6 +276,7 @@ export default async function initAdminFromEnv(_ncMeta = Noco.ncMeta) { salt, password, email_verification_token, + token_version: randomTokenString(), roles, }, ncMeta, From 8c925d750c284ae3d3cafa3b04874b1fc9748a7c Mon Sep 17 00:00:00 2001 From: pranavxc Date: Fri, 8 Sep 2023 13:54:40 +0000 Subject: [PATCH 11/12] [create-pull-request] automated change Signed-off-by: GitHub --- packages/nc-gui/package-lock.json | 56 ++++++++++++++++++------------- packages/nc-gui/package.json | 2 +- packages/nc-lib-gui/package.json | 2 +- packages/nocodb-sdk/package.json | 2 +- packages/nocodb/package-lock.json | 52 +++++++++++++--------------- packages/nocodb/package.json | 8 ++--- 6 files changed, 63 insertions(+), 59 deletions(-) diff --git a/packages/nc-gui/package-lock.json b/packages/nc-gui/package-lock.json index 5201dd68a8..1f22d1ab48 100644 --- a/packages/nc-gui/package-lock.json +++ b/packages/nc-gui/package-lock.json @@ -37,7 +37,7 @@ "locale-codes": "^1.3.1", "monaco-editor": "^0.33.0", "monaco-sql-languages": "^0.11.0", - "nocodb-sdk": "file:../nocodb-sdk", + "nocodb-sdk": "0.111.3", "papaparse": "^5.3.2", "parse-github-url": "^1.0.2", "pinia": "^2.1.4", @@ -130,7 +130,8 @@ } }, "../nocodb-sdk": { - "version": "0.111.2", + "version": "0.111.3", + "extraneous": true, "license": "AGPL-3.0-or-later", "dependencies": { "axios": "^0.21.1", @@ -8943,7 +8944,6 @@ "version": "1.15.2", "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", - "devOptional": true, "funding": [ { "type": "individual", @@ -11680,8 +11680,21 @@ } }, "node_modules/nocodb-sdk": { - "resolved": "../nocodb-sdk", - "link": true + "version": "0.111.3", + "resolved": "https://registry.npmjs.org/nocodb-sdk/-/nocodb-sdk-0.111.3.tgz", + "integrity": "sha512-Drn8818AHqs6M6NgDHE+oEqSy2+3FuTIrXrhtUk/jN0vfPjLaT1rN3E10qBHADmVcpUFPXau8vMNVpFWlfnHDQ==", + "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" + } }, "node_modules/node-abi": { "version": "3.45.0", @@ -23598,8 +23611,7 @@ "follow-redirects": { "version": "1.15.2", "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", - "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", - "devOptional": true + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==" }, "for-each": { "version": "0.3.3", @@ -25619,24 +25631,22 @@ } }, "nocodb-sdk": { - "version": "file:../nocodb-sdk", + "version": "0.111.3", + "resolved": "https://registry.npmjs.org/nocodb-sdk/-/nocodb-sdk-0.111.3.tgz", + "integrity": "sha512-Drn8818AHqs6M6NgDHE+oEqSy2+3FuTIrXrhtUk/jN0vfPjLaT1rN3E10qBHADmVcpUFPXau8vMNVpFWlfnHDQ==", "requires": { - "@typescript-eslint/eslint-plugin": "^4.0.1", - "@typescript-eslint/parser": "^4.0.1", "axios": "^0.21.1", - "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", - "rimraf": "^5.0.1", - "tsc-alias": "^1.8.7", - "typescript": "^4.7.4" + "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" + } + } } }, "node-abi": { diff --git a/packages/nc-gui/package.json b/packages/nc-gui/package.json index 8ca6674267..cd419177ef 100644 --- a/packages/nc-gui/package.json +++ b/packages/nc-gui/package.json @@ -60,7 +60,7 @@ "locale-codes": "^1.3.1", "monaco-editor": "^0.33.0", "monaco-sql-languages": "^0.11.0", - "nocodb-sdk": "file:../nocodb-sdk", + "nocodb-sdk": "0.111.3", "papaparse": "^5.3.2", "parse-github-url": "^1.0.2", "pinia": "^2.1.4", diff --git a/packages/nc-lib-gui/package.json b/packages/nc-lib-gui/package.json index b2f3ce853c..9d243938b5 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.111.2", + "version": "0.111.3", "description": "NocoDB GUI", "author": { "name": "NocoDB", diff --git a/packages/nocodb-sdk/package.json b/packages/nocodb-sdk/package.json index 048d217322..16698a7398 100644 --- a/packages/nocodb-sdk/package.json +++ b/packages/nocodb-sdk/package.json @@ -1,6 +1,6 @@ { "name": "nocodb-sdk", - "version": "0.111.2", + "version": "0.111.3", "description": "NocoDB SDK", "main": "build/main/index.js", "typings": "build/main/index.d.ts", diff --git a/packages/nocodb/package-lock.json b/packages/nocodb/package-lock.json index ba465660aa..81428e5ddb 100644 --- a/packages/nocodb/package-lock.json +++ b/packages/nocodb/package-lock.json @@ -1,12 +1,12 @@ { "name": "nocodb", - "version": "0.111.2", + "version": "0.111.3", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "nocodb", - "version": "0.111.2", + "version": "0.111.3", "license": "AGPL-3.0-or-later", "dependencies": { "@aws-sdk/client-kafka": "^3.332.0", @@ -93,12 +93,12 @@ "mysql2": "^3.2.0", "nanoid": "^3.1.20", "nc-help": "0.2.92", - "nc-lib-gui": "0.111.2", + "nc-lib-gui": "0.111.3", "nc-plugin": "^0.1.3", "ncp": "^2.0.0", "nestjs-kafka": "^1.0.6", "nestjs-throttler-storage-redis": "^0.3.0", - "nocodb-sdk": "file:../nocodb-sdk", + "nocodb-sdk": "0.111.3", "nodemailer": "^6.4.10", "object-hash": "^3.0.0", "object-sizeof": "^2.6.1", @@ -210,7 +210,8 @@ } }, "../nocodb-sdk": { - "version": "0.111.2", + "version": "0.111.3", + "extraneous": true, "license": "AGPL-3.0-or-later", "dependencies": { "axios": "^0.21.1", @@ -14257,9 +14258,9 @@ } }, "node_modules/nc-lib-gui": { - "version": "0.111.2", - "resolved": "https://registry.npmjs.org/nc-lib-gui/-/nc-lib-gui-0.111.2.tgz", - "integrity": "sha512-ajsnQ2pmgaJ6juytuwZMcmR4gPMmi6yupXba+QiN2sO2JcxHWhXETApLiv354vvS6adh7ePOtaYgvgA0x5hw+g==", + "version": "0.111.3", + "resolved": "https://registry.npmjs.org/nc-lib-gui/-/nc-lib-gui-0.111.3.tgz", + "integrity": "sha512-tbjyRkc7/xcCzEI8mHhQpJ8iEE/gBlJNWJzmHP5dSTnz36DRBGRPw1VGl1nAnZb/BVkYjHP2lyjR0CQLiv+79Q==", "dependencies": { "express": "^4.17.1" } @@ -14382,8 +14383,13 @@ } }, "node_modules/nocodb-sdk": { - "resolved": "../nocodb-sdk", - "link": true + "version": "0.111.3", + "resolved": "https://registry.npmjs.org/nocodb-sdk/-/nocodb-sdk-0.111.3.tgz", + "integrity": "sha512-Drn8818AHqs6M6NgDHE+oEqSy2+3FuTIrXrhtUk/jN0vfPjLaT1rN3E10qBHADmVcpUFPXau8vMNVpFWlfnHDQ==", + "dependencies": { + "axios": "^0.21.1", + "jsep": "^1.3.6" + } }, "node_modules/node-abort-controller": { "version": "3.1.1", @@ -30822,9 +30828,9 @@ } }, "nc-lib-gui": { - "version": "0.111.2", - "resolved": "https://registry.npmjs.org/nc-lib-gui/-/nc-lib-gui-0.111.2.tgz", - "integrity": "sha512-ajsnQ2pmgaJ6juytuwZMcmR4gPMmi6yupXba+QiN2sO2JcxHWhXETApLiv354vvS6adh7ePOtaYgvgA0x5hw+g==", + "version": "0.111.3", + "resolved": "https://registry.npmjs.org/nc-lib-gui/-/nc-lib-gui-0.111.3.tgz", + "integrity": "sha512-tbjyRkc7/xcCzEI8mHhQpJ8iEE/gBlJNWJzmHP5dSTnz36DRBGRPw1VGl1nAnZb/BVkYjHP2lyjR0CQLiv+79Q==", "requires": { "express": "^4.17.1" } @@ -30902,24 +30908,12 @@ "requires": {} }, "nocodb-sdk": { - "version": "file:../nocodb-sdk", + "version": "0.111.3", + "resolved": "https://registry.npmjs.org/nocodb-sdk/-/nocodb-sdk-0.111.3.tgz", + "integrity": "sha512-Drn8818AHqs6M6NgDHE+oEqSy2+3FuTIrXrhtUk/jN0vfPjLaT1rN3E10qBHADmVcpUFPXau8vMNVpFWlfnHDQ==", "requires": { - "@typescript-eslint/eslint-plugin": "^4.0.1", - "@typescript-eslint/parser": "^4.0.1", "axios": "^0.21.1", - "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", - "rimraf": "^5.0.1", - "tsc-alias": "^1.8.7", - "typescript": "^4.7.4" + "jsep": "^1.3.6" } }, "node-abort-controller": { diff --git a/packages/nocodb/package.json b/packages/nocodb/package.json index 2bffa6bbba..57776851b7 100644 --- a/packages/nocodb/package.json +++ b/packages/nocodb/package.json @@ -1,6 +1,6 @@ { "name": "nocodb", - "version": "0.111.2", + "version": "0.111.3", "description": "NocoDB Backend", "main": "dist/bundle.js", "author": { @@ -126,12 +126,12 @@ "mysql2": "^3.2.0", "nanoid": "^3.1.20", "nc-help": "0.2.92", - "nc-lib-gui": "0.111.2", + "nc-lib-gui": "0.111.3", "nc-plugin": "^0.1.3", "ncp": "^2.0.0", "nestjs-kafka": "^1.0.6", "nestjs-throttler-storage-redis": "^0.3.0", - "nocodb-sdk": "file:../nocodb-sdk", + "nocodb-sdk": "0.111.3", "nodemailer": "^6.4.10", "object-hash": "^3.0.0", "object-sizeof": "^2.6.1", @@ -223,4 +223,4 @@ "coverageDirectory": "../coverage", "testEnvironment": "node" } -} +} \ No newline at end of file From aacc69adfb9e10c975ed04093671ceebf1738581 Mon Sep 17 00:00:00 2001 From: Pranav C Date: Fri, 8 Sep 2023 21:02:47 +0530 Subject: [PATCH 12/12] chore: uodate sdk path Signed-off-by: Pranav C --- packages/nc-gui/package-lock.json | 54 +++++++++++---------------- packages/nc-gui/package.json | 2 +- packages/nocodb-sdk/package-lock.json | 4 +- packages/nocodb/package-lock.json | 32 +++++++++------- packages/nocodb/package.json | 4 +- 5 files changed, 46 insertions(+), 50 deletions(-) diff --git a/packages/nc-gui/package-lock.json b/packages/nc-gui/package-lock.json index 1f22d1ab48..5ecb38c4e4 100644 --- a/packages/nc-gui/package-lock.json +++ b/packages/nc-gui/package-lock.json @@ -37,7 +37,7 @@ "locale-codes": "^1.3.1", "monaco-editor": "^0.33.0", "monaco-sql-languages": "^0.11.0", - "nocodb-sdk": "0.111.3", + "nocodb-sdk": "file:../nocodb-sdk", "papaparse": "^5.3.2", "parse-github-url": "^1.0.2", "pinia": "^2.1.4", @@ -131,7 +131,6 @@ }, "../nocodb-sdk": { "version": "0.111.3", - "extraneous": true, "license": "AGPL-3.0-or-later", "dependencies": { "axios": "^0.21.1", @@ -8944,6 +8943,7 @@ "version": "1.15.2", "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", + "devOptional": true, "funding": [ { "type": "individual", @@ -11680,21 +11680,8 @@ } }, "node_modules/nocodb-sdk": { - "version": "0.111.3", - "resolved": "https://registry.npmjs.org/nocodb-sdk/-/nocodb-sdk-0.111.3.tgz", - "integrity": "sha512-Drn8818AHqs6M6NgDHE+oEqSy2+3FuTIrXrhtUk/jN0vfPjLaT1rN3E10qBHADmVcpUFPXau8vMNVpFWlfnHDQ==", - "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.45.0", @@ -23611,7 +23598,8 @@ "follow-redirects": { "version": "1.15.2", "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", - "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==" + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", + "devOptional": true }, "for-each": { "version": "0.3.3", @@ -25631,22 +25619,24 @@ } }, "nocodb-sdk": { - "version": "0.111.3", - "resolved": "https://registry.npmjs.org/nocodb-sdk/-/nocodb-sdk-0.111.3.tgz", - "integrity": "sha512-Drn8818AHqs6M6NgDHE+oEqSy2+3FuTIrXrhtUk/jN0vfPjLaT1rN3E10qBHADmVcpUFPXau8vMNVpFWlfnHDQ==", + "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", + "rimraf": "^5.0.1", + "tsc-alias": "^1.8.7", + "typescript": "^4.7.4" } }, "node-abi": { diff --git a/packages/nc-gui/package.json b/packages/nc-gui/package.json index cd419177ef..8ca6674267 100644 --- a/packages/nc-gui/package.json +++ b/packages/nc-gui/package.json @@ -60,7 +60,7 @@ "locale-codes": "^1.3.1", "monaco-editor": "^0.33.0", "monaco-sql-languages": "^0.11.0", - "nocodb-sdk": "0.111.3", + "nocodb-sdk": "file:../nocodb-sdk", "papaparse": "^5.3.2", "parse-github-url": "^1.0.2", "pinia": "^2.1.4", diff --git a/packages/nocodb-sdk/package-lock.json b/packages/nocodb-sdk/package-lock.json index 8f349820d0..e940e0383d 100644 --- a/packages/nocodb-sdk/package-lock.json +++ b/packages/nocodb-sdk/package-lock.json @@ -1,12 +1,12 @@ { "name": "nocodb-sdk", - "version": "0.111.2", + "version": "0.111.3", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "nocodb-sdk", - "version": "0.111.2", + "version": "0.111.3", "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 81428e5ddb..5ee2f55072 100644 --- a/packages/nocodb/package-lock.json +++ b/packages/nocodb/package-lock.json @@ -98,7 +98,7 @@ "ncp": "^2.0.0", "nestjs-kafka": "^1.0.6", "nestjs-throttler-storage-redis": "^0.3.0", - "nocodb-sdk": "0.111.3", + "nocodb-sdk": "file:../nocodb-sdk", "nodemailer": "^6.4.10", "object-hash": "^3.0.0", "object-sizeof": "^2.6.1", @@ -211,7 +211,6 @@ }, "../nocodb-sdk": { "version": "0.111.3", - "extraneous": true, "license": "AGPL-3.0-or-later", "dependencies": { "axios": "^0.21.1", @@ -14383,13 +14382,8 @@ } }, "node_modules/nocodb-sdk": { - "version": "0.111.3", - "resolved": "https://registry.npmjs.org/nocodb-sdk/-/nocodb-sdk-0.111.3.tgz", - "integrity": "sha512-Drn8818AHqs6M6NgDHE+oEqSy2+3FuTIrXrhtUk/jN0vfPjLaT1rN3E10qBHADmVcpUFPXau8vMNVpFWlfnHDQ==", - "dependencies": { - "axios": "^0.21.1", - "jsep": "^1.3.6" - } + "resolved": "../nocodb-sdk", + "link": true }, "node_modules/node-abort-controller": { "version": "3.1.1", @@ -30908,12 +30902,24 @@ "requires": {} }, "nocodb-sdk": { - "version": "0.111.3", - "resolved": "https://registry.npmjs.org/nocodb-sdk/-/nocodb-sdk-0.111.3.tgz", - "integrity": "sha512-Drn8818AHqs6M6NgDHE+oEqSy2+3FuTIrXrhtUk/jN0vfPjLaT1rN3E10qBHADmVcpUFPXau8vMNVpFWlfnHDQ==", + "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", + "rimraf": "^5.0.1", + "tsc-alias": "^1.8.7", + "typescript": "^4.7.4" } }, "node-abort-controller": { diff --git a/packages/nocodb/package.json b/packages/nocodb/package.json index 57776851b7..24fdfc741f 100644 --- a/packages/nocodb/package.json +++ b/packages/nocodb/package.json @@ -131,7 +131,7 @@ "ncp": "^2.0.0", "nestjs-kafka": "^1.0.6", "nestjs-throttler-storage-redis": "^0.3.0", - "nocodb-sdk": "0.111.3", + "nocodb-sdk": "file:../nocodb-sdk", "nodemailer": "^6.4.10", "object-hash": "^3.0.0", "object-sizeof": "^2.6.1", @@ -223,4 +223,4 @@ "coverageDirectory": "../coverage", "testEnvironment": "node" } -} \ No newline at end of file +}