diff --git a/packages/nc-gui/composables/useMultiSelect/index.ts b/packages/nc-gui/composables/useMultiSelect/index.ts index c078938339..81b241ff6c 100644 --- a/packages/nc-gui/composables/useMultiSelect/index.ts +++ b/packages/nc-gui/composables/useMultiSelect/index.ts @@ -982,8 +982,7 @@ export function useMultiSelect( ]) console.log('result', result) - await syncCellData?.(activeCell) - return + return await syncCellData?.(activeCell) } if (!isPasteable(rowObj, columnObj, true)) { diff --git a/packages/nocodb/src/controllers/data-table.controller.ts b/packages/nocodb/src/controllers/data-table.controller.ts index 35d4c1c6f2..9a3c5052c1 100644 --- a/packages/nocodb/src/controllers/data-table.controller.ts +++ b/packages/nocodb/src/controllers/data-table.controller.ts @@ -193,4 +193,29 @@ export class DataTableController { cookie: req, }); } + + @Post(['/api/v2/tables/:modelId/links/:columnId/records']) + @Acl('nestedDataLinkUnlink') + async nestedLinkUnlink( + @Req() req: Request, + @Param('modelId') modelId: string, + @Query('viewId') viewId: string, + @Param('columnId') columnId: string, + @Body() + data: { + operation: 'copy' | 'paste'; + rowId: string; + }[], + ) { + console.log('data', data); + + return await this.dataTableService.nestedLinkUnlink({ + modelId, + query: req.query, + viewId, + columnId, + data, + cookie: req, + }); + } } diff --git a/packages/nocodb/src/schema/swagger.json b/packages/nocodb/src/schema/swagger.json index 17d4d60c89..f9ab81d13f 100644 --- a/packages/nocodb/src/schema/swagger.json +++ b/packages/nocodb/src/schema/swagger.json @@ -11,24 +11,15 @@ "x-tagGroups": [ { "name": "Auth APIs", - "tags": [ - "Auth", - "API Token" - ] + "tags": ["Auth", "API Token"] }, { "name": "Public APIs", - "tags": [ - "Public" - ] + "tags": ["Public"] }, { "name": "Data APIs", - "tags": [ - "DB Table Row", - "DB View Row", - "Storage" - ] + "tags": ["DB Table Row", "DB View Row", "Storage"] }, { "name": "Meta APIs", @@ -50,12 +41,7 @@ }, { "name": "Organisation APIs", - "tags": [ - "Org App Settings", - "Org License", - "Org Tokens", - "Org Users" - ] + "tags": ["Org App Settings", "Org License", "Org Tokens", "Org Users"] } ], "servers": [ @@ -73,9 +59,7 @@ "$ref": "#/components/schemas/User" } }, - "tags": [ - "User profile" - ], + "tags": ["User profile"], "description": "Update User Profile", "requestBody": { "content": { @@ -160,9 +144,7 @@ } } }, - "tags": [ - "Auth" - ], + "tags": ["Auth"], "requestBody": { "content": { "application/json": { @@ -220,9 +202,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "Auth" - ], + "tags": ["Auth"], "description": "Clear refresh token from the database and cookie." }, "parameters": [ @@ -264,9 +244,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "Auth" - ], + "tags": ["Auth"], "requestBody": { "content": { "application/json": { @@ -328,9 +306,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "Auth" - ], + "tags": ["Auth"], "description": "Returns authenticated user info", "parameters": [ { @@ -381,9 +357,7 @@ } }, "description": "Emails user with a reset url.", - "tags": [ - "Auth" - ], + "tags": ["Auth"], "requestBody": { "content": { "application/json": { @@ -441,9 +415,7 @@ } }, "description": "Change password of authenticated user with a new one.", - "tags": [ - "Auth" - ], + "tags": ["Auth"], "requestBody": { "content": { "application/json": { @@ -506,9 +478,7 @@ } }, "description": "Validate password reset url token.", - "tags": [ - "Auth" - ], + "tags": ["Auth"], "parameters": [ { "$ref": "#/components/parameters/xc-auth" @@ -566,9 +536,7 @@ } }, "description": "Api for verifying email where token need to be passed which is shared to user email.", - "tags": [ - "Auth" - ], + "tags": ["Auth"], "parameters": [ { "$ref": "#/components/parameters/xc-auth" @@ -626,9 +594,7 @@ } }, "description": "Update user password to new by using reset token.", - "tags": [ - "Auth" - ], + "tags": ["Auth"], "requestBody": { "content": { "application/json": { @@ -699,9 +665,7 @@ } }, "description": "Creates a new refresh token and JWT auth token for the user. The refresh token is sent as a cookie, while the JWT auth token is included in the response body.", - "tags": [ - "Auth" - ], + "tags": ["Auth"], "parameters": [ { "$ref": "#/components/parameters/xc-auth" @@ -755,9 +719,7 @@ } }, "description": "List all organisation API tokens. Access with API tokens will be blocked.", - "tags": [ - "Org Tokens" - ], + "tags": ["Org Tokens"], "parameters": [ { "$ref": "#/components/parameters/xc-auth" @@ -813,9 +775,7 @@ } } }, - "tags": [ - "Org Tokens" - ], + "tags": ["Org Tokens"], "description": "Creat an organisation API token. Access with API tokens will be blocked." } }, @@ -855,9 +815,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "Org Tokens" - ], + "tags": ["Org Tokens"], "description": "Delete an organisation API token. Access with API tokens will be blocked.", "parameters": [ { @@ -899,9 +857,7 @@ } }, "description": "Get the application license key. Exclusive for super admin.", - "tags": [ - "Org License" - ], + "tags": ["Org License"], "parameters": [ { "$ref": "#/components/parameters/xc-auth" @@ -963,9 +919,7 @@ } } }, - "tags": [ - "Org License" - ], + "tags": ["Org License"], "description": "Set the application license key. Exclusive for super admin.", "parameters": [ { @@ -1008,9 +962,7 @@ } }, "description": "Get the application settings. Exclusive for super admin.", - "tags": [ - "Org App Settings" - ], + "tags": ["Org App Settings"], "parameters": [ { "$ref": "#/components/parameters/xc-auth" @@ -1079,9 +1031,7 @@ } } }, - "tags": [ - "Org App Settings" - ], + "tags": ["Org App Settings"], "description": "Update the application settings. Exclusive for super admin.", "parameters": [ { @@ -1133,9 +1083,7 @@ } }, "description": "List all organisation users. Exclusive for Super Admin. Access with API Tokens will be blocked.", - "tags": [ - "Org Users" - ], + "tags": ["Org Users"], "parameters": [ { "$ref": "#/components/parameters/xc-auth" @@ -1207,9 +1155,7 @@ } } }, - "tags": [ - "Org Users" - ], + "tags": ["Org Users"], "description": "Create an organisation user. Exclusive for Super Admin. Access with API Tokens will be blocked.", "parameters": [ { @@ -1265,9 +1211,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "Org Users" - ], + "tags": ["Org Users"], "description": "Update an organisation user by User ID. Exclusive for Super Admin. Access with API Tokens will be blocked.", "requestBody": { "content": { @@ -1323,9 +1267,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "Org Users" - ], + "tags": ["Org Users"], "description": "Delete an organisation user by User ID. Exclusive for Super Admin. Access with API Tokens will be blocked." } }, @@ -1355,9 +1297,7 @@ } } }, - "tags": [ - "Org users" - ], + "tags": ["Org users"], "description": "Organisation User GetByUsername" } }, @@ -1409,9 +1349,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "Org Users" - ], + "tags": ["Org Users"], "description": "Resend Invitation to a specific user. Exclusive for Super Admin. Access with API Tokens will be blocked.", "parameters": [ { @@ -1439,9 +1377,7 @@ "description": "OK" } }, - "tags": [ - "Org users" - ], + "tags": ["Org users"], "description": "Create Organisation User Profile", "requestBody": { "content": { @@ -1462,9 +1398,7 @@ } }, "description": "Get Organisation User Profile", - "tags": [ - "Org users" - ] + "tags": ["Org users"] }, "patch": { "summary": "", @@ -1475,9 +1409,7 @@ } }, "description": "Update Organisation User Profile\n", - "tags": [ - "Org users" - ], + "tags": ["Org users"], "requestBody": { "content": { "application/json": { @@ -1508,9 +1440,7 @@ "description": "OK" } }, - "tags": [ - "Org users" - ], + "tags": ["Org users"], "description": "Create Organisation User Follower Relationship (Follow)", "requestBody": { "content": { @@ -1531,9 +1461,7 @@ } }, "description": "List Organisation User Followers", - "tags": [ - "Org users" - ], + "tags": ["Org users"], "requestBody": { "content": { "application/json": { @@ -1552,9 +1480,7 @@ "description": "OK" } }, - "tags": [ - "Org users" - ], + "tags": ["Org users"], "description": "Delete Organisation User Follower Relationship (Unfollow)", "requestBody": { "content": { @@ -1588,9 +1514,7 @@ } }, "description": "List Organisation User Following", - "tags": [ - "Org users" - ] + "tags": ["Org users"] } }, "/api/v1/users/{userId}/isFollowing/{followerId}": { @@ -1621,9 +1545,7 @@ } }, "description": "Check if Organisation User is following someone", - "tags": [ - "Org users" - ] + "tags": ["Org users"] } }, "/api/v1/users/{userId}/generate-reset-url": { @@ -1642,9 +1564,7 @@ "post": { "summary": "Generate Organisation User Password Reset Token", "operationId": "org-users-generate-password-reset-token", - "tags": [ - "Org Users" - ], + "tags": ["Org Users"], "responses": { "200": { "description": "OK", @@ -1713,10 +1633,7 @@ "$ref": "#/components/schemas/Paginated" } }, - "required": [ - "list", - "pageInfo" - ] + "required": ["list", "pageInfo"] } } }, @@ -1753,9 +1670,7 @@ } }, "description": "List all users in the given base.", - "tags": [ - "Auth" - ], + "tags": ["Auth"], "parameters": [ { "$ref": "#/components/parameters/xc-auth" @@ -1886,9 +1801,7 @@ } } }, - "tags": [ - "Auth" - ], + "tags": ["Auth"], "description": "Create a user and add it to the given base", "parameters": [ { @@ -1985,9 +1898,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "Base" - ], + "tags": ["Base"], "description": "Get info such as node version, arch, platform, is docker, rootdb and package version of a given base", "parameters": [ { @@ -2072,9 +1983,7 @@ } } }, - "tags": [ - "Auth" - ], + "tags": ["Auth"], "description": "Update a given user in a given base. Exclusive for Super Admin. Access with API Tokens will be blocked.", "parameters": [ { @@ -2117,9 +2026,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "Auth" - ], + "tags": ["Auth"], "description": "Delete a given user in a given base. Exclusive for Super Admin. Access with API Tokens will be blocked.", "parameters": [ { @@ -2199,9 +2106,7 @@ } }, "description": "Hide / show views based on user role", - "tags": [ - "Base" - ], + "tags": ["Base"], "parameters": [ { "schema": { @@ -2271,9 +2176,7 @@ } } }, - "tags": [ - "Base" - ], + "tags": ["Base"], "description": "Hide / show views based on user role", "parameters": [ { @@ -2357,9 +2260,7 @@ "$ref": "#/components/parameters/xc-auth" } ], - "tags": [ - "Base" - ] + "tags": ["Base"] }, "post": { "summary": "Create Base", @@ -2435,9 +2336,7 @@ } } }, - "tags": [ - "Base" - ], + "tags": ["Base"], "description": "Create a new base", "parameters": [ { @@ -2517,9 +2416,7 @@ } } }, - "tags": [ - "Base" - ], + "tags": ["Base"], "description": "Duplicate a base", "parameters": [ { @@ -2618,9 +2515,7 @@ } } }, - "tags": [ - "Base" - ], + "tags": ["Base"], "description": "Duplicate a base", "parameters": [ { @@ -2663,9 +2558,7 @@ "$ref": "#/components/parameters/xc-auth" } ], - "tags": [ - "Base" - ], + "tags": ["Base"], "responses": { "200": { "description": "OK", @@ -2737,9 +2630,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "Base" - ], + "tags": ["Base"], "description": "Delete the given base", "parameters": [ { @@ -2771,9 +2662,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "Base" - ], + "tags": ["Base"], "requestBody": { "content": { "application/json": { @@ -2820,9 +2709,7 @@ "description": "OK" } }, - "tags": [ - "Base" - ], + "tags": ["Base"], "requestBody": { "content": { "application/json": { @@ -2867,9 +2754,7 @@ "$ref": "#/components/parameters/xc-auth" } ], - "tags": [ - "Source" - ], + "tags": ["Source"], "responses": { "200": { "description": "OK", @@ -2926,9 +2811,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "Source" - ], + "tags": ["Source"], "description": "Delete the source details of a given base", "parameters": [ { @@ -2973,9 +2856,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "Source" - ], + "tags": ["Source"], "requestBody": { "content": { "application/json": { @@ -3048,9 +2929,7 @@ } } }, - "tags": [ - "Source" - ], + "tags": ["Source"], "requestBody": { "content": { "application/json": { @@ -3093,9 +2972,7 @@ "$ref": "#/components/parameters/xc-auth" } ], - "tags": [ - "Source" - ], + "tags": ["Source"], "responses": { "200": { "description": "OK", @@ -3198,9 +3075,7 @@ } } }, - "tags": [ - "Source" - ], + "tags": ["Source"], "description": "Create a new source on a given base", "parameters": [ { @@ -3231,9 +3106,7 @@ "post": { "summary": "share ERD view", "operationId": "source-share-erd", - "tags": [ - "Source" - ], + "tags": ["Source"], "responses": { "200": { "description": "OK", @@ -3255,9 +3128,7 @@ "description": "OK" } }, - "tags": [ - "Source" - ] + "tags": ["Source"] } }, "/api/v1/db/meta/projects/{baseId}/shared": { @@ -3283,9 +3154,7 @@ "$ref": "#/components/parameters/xc-auth" } ], - "tags": [ - "Base" - ], + "tags": ["Base"], "responses": { "200": { "description": "OK", @@ -3349,9 +3218,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "Base" - ], + "tags": ["Base"], "description": "Delete Base Shared Base", "parameters": [ { @@ -3385,9 +3252,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "Base" - ], + "tags": ["Base"], "requestBody": { "content": { "application/json": { @@ -3462,9 +3327,7 @@ } } }, - "tags": [ - "Base" - ], + "tags": ["Base"], "description": "Update Base Shared Base", "parameters": [ { @@ -3496,9 +3359,7 @@ "$ref": "#/components/parameters/xc-auth" } ], - "tags": [ - "Base" - ], + "tags": ["Base"], "responses": { "200": { "description": "OK", @@ -3917,9 +3778,7 @@ } } }, - "tags": [ - "DB Table" - ], + "tags": ["DB Table"], "description": "Create a new table in a given base", "parameters": [ { @@ -3971,9 +3830,7 @@ "name": "includeM2M" } ], - "tags": [ - "DB Table" - ], + "tags": ["DB Table"], "description": "List all tables in a given base" } }, @@ -4367,9 +4224,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "DB Table" - ], + "tags": ["DB Table"], "description": "Read the table meta data by the given table ID", "parameters": [ { @@ -4411,9 +4266,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "DB Table" - ], + "tags": ["DB Table"], "requestBody": { "content": { "application/json": { @@ -4483,9 +4336,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "DB Table" - ], + "tags": ["DB Table"], "description": "Delete the table meta data by the given table ID", "parameters": [ { @@ -4557,9 +4408,7 @@ } } }, - "tags": [ - "DB Table" - ], + "tags": ["DB Table"], "description": "Duplicate a table", "parameters": [ { @@ -4647,9 +4496,7 @@ } } }, - "tags": [ - "DB Table" - ], + "tags": ["DB Table"], "description": "Duplicate a column", "parameters": [ { @@ -4748,9 +4595,7 @@ "name": "includeM2M" } ], - "tags": [ - "Source" - ], + "tags": ["Source"], "description": "List all tables in a given Base and Source" }, "post": { @@ -5240,9 +5085,7 @@ } } }, - "tags": [ - "Source" - ], + "tags": ["Source"], "description": "Create a new table in a given Base and Source", "parameters": [ { @@ -5309,9 +5152,7 @@ } } }, - "tags": [ - "DB Table" - ], + "tags": ["DB Table"], "description": "Update the order of the given Table", "parameters": [ { @@ -5392,9 +5233,7 @@ } } }, - "tags": [ - "DB Table Column" - ], + "tags": ["DB Table Column"], "description": "Create a new column in a given Table", "parameters": [ { @@ -5441,9 +5280,7 @@ } } }, - "tags": [ - "DB Table Column" - ], + "tags": ["DB Table Column"], "description": "Update the existing column by the given column ID", "parameters": [ { @@ -5462,9 +5299,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "DB Table Column" - ], + "tags": ["DB Table Column"], "description": "Delete the existing column by the given column ID", "parameters": [ { @@ -5483,9 +5318,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "DB Table Column" - ], + "tags": ["DB Table Column"], "description": "Get the existing column by the given column ID", "parameters": [ { @@ -5528,9 +5361,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "DB Table Column" - ], + "tags": ["DB Table Column"], "description": "Set a primary value on a given column", "parameters": [ { @@ -5650,9 +5481,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "DB View" - ], + "tags": ["DB View"], "description": "List all views in a given Table.", "parameters": [ { @@ -5736,9 +5565,7 @@ } } }, - "tags": [ - "DB View" - ], + "tags": ["DB View"], "description": "Update the view with the given view Id.", "parameters": [ { @@ -5769,9 +5596,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "DB View" - ], + "tags": ["DB View"], "description": "Delete the view with the given view Id.", "parameters": [ { @@ -5816,9 +5641,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "DB View" - ], + "tags": ["DB View"], "description": "Show All Columns in a given View", "parameters": [ { @@ -5870,9 +5693,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "DB View" - ], + "tags": ["DB View"], "parameters": [ { "schema": { @@ -5963,9 +5784,7 @@ } }, "description": "List all shared views in a given Table", - "tags": [ - "DB View Share" - ], + "tags": ["DB View Share"], "parameters": [ { "$ref": "#/components/parameters/xc-auth" @@ -6012,9 +5831,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "DB View Share" - ], + "tags": ["DB View Share"], "description": "Create a shared view in a given View..", "parameters": [ { @@ -6050,9 +5867,7 @@ }, "description": "" }, - "tags": [ - "DB View Share" - ], + "tags": ["DB View Share"], "description": "Update a shared view in a given View..", "parameters": [ { @@ -6084,9 +5899,7 @@ } }, "description": "Delete a shared view in a given View.", - "tags": [ - "DB View Share" - ], + "tags": ["DB View Share"], "parameters": [ { "$ref": "#/components/parameters/xc-auth" @@ -6176,9 +5989,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "DB View Column" - ], + "tags": ["DB View Column"], "description": "List all columns by ViewID", "parameters": [ { @@ -6244,9 +6055,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "DB View Column" - ], + "tags": ["DB View Column"], "requestBody": { "content": { "application/json": { @@ -6319,9 +6128,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "DB View Column" - ], + "tags": ["DB View Column"], "requestBody": { "content": { "application/json": { @@ -6402,9 +6209,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "DB Table Sort" - ], + "tags": ["DB Table Sort"], "description": "List all the sort data in a given View", "parameters": [ { @@ -6435,9 +6240,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "DB Table Sort" - ], + "tags": ["DB Table Sort"], "requestBody": { "content": { "application/json": { @@ -6513,9 +6316,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "DB Table Sort" - ], + "tags": ["DB Table Sort"], "description": "Get the sort data by Sort ID", "parameters": [ { @@ -6547,9 +6348,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "DB Table Sort" - ], + "tags": ["DB Table Sort"], "requestBody": { "content": { "application/json": { @@ -6597,9 +6396,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "DB Table Sort" - ], + "tags": ["DB Table Sort"], "description": "Delete the sort data by Sort ID", "parameters": [ { @@ -6671,9 +6468,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "DB Table Filter" - ], + "tags": ["DB Table Filter"], "description": "Get the filter data in a given View", "parameters": [ { @@ -6720,9 +6515,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "DB Table Filter" - ], + "tags": ["DB Table Filter"], "requestBody": { "content": { "application/json": { @@ -6815,9 +6608,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "DB Table Webhook Filter" - ], + "tags": ["DB Table Webhook Filter"], "description": "Get the filter data in a given Hook", "parameters": [ { @@ -6864,9 +6655,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "DB Table Webhook Filter" - ], + "tags": ["DB Table Webhook Filter"], "requestBody": { "content": { "application/json": { @@ -6957,9 +6746,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "DB Table Webhook Logs" - ], + "tags": ["DB Table Webhook Logs"], "description": "List the log data in a given Hook", "parameters": [ { @@ -7036,9 +6823,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "DB Table Filter" - ], + "tags": ["DB Table Filter"], "description": "Get the filter data with a given Filter ID", "parameters": [ { @@ -7069,9 +6854,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "DB Table Filter" - ], + "tags": ["DB Table Filter"], "requestBody": { "content": { "application/json": { @@ -7123,9 +6906,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "DB Table Filter" - ], + "tags": ["DB Table Filter"], "description": "Delete the filter data with a given Filter ID", "parameters": [ { @@ -7197,9 +6978,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "DB Table Filter" - ], + "tags": ["DB Table Filter"], "description": "Get Filter Group Children of a given group ID", "parameters": [ { @@ -7262,9 +7041,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "DB View" - ], + "tags": ["DB View"], "requestBody": { "content": { "application/json": { @@ -7348,9 +7125,7 @@ } }, "description": "Create a new form view in a given Table", - "tags": [ - "DB View" - ], + "tags": ["DB View"], "requestBody": { "content": { "application/json": { @@ -7414,9 +7189,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "DB View" - ], + "tags": ["DB View"], "requestBody": { "content": { "application/json": { @@ -7510,9 +7283,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "DB View" - ], + "tags": ["DB View"], "description": "Get the form data by Form ID", "parameters": [ { @@ -7566,9 +7337,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "DB View" - ], + "tags": ["DB View"], "requestBody": { "content": { "application/json": { @@ -7622,9 +7391,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "DB View" - ], + "tags": ["DB View"], "requestBody": { "content": { "application/json": { @@ -7701,9 +7468,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "DB View" - ], + "tags": ["DB View"], "description": "List all columns in the given Grid", "parameters": [ { @@ -7749,9 +7514,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "DB View" - ], + "tags": ["DB View"], "requestBody": { "content": { "application/json": { @@ -7831,9 +7594,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "DB View" - ], + "tags": ["DB View"], "requestBody": { "content": { "application/json": { @@ -7897,9 +7658,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "DB View" - ], + "tags": ["DB View"], "requestBody": { "content": { "application/json": { @@ -7942,9 +7701,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "DB View" - ], + "tags": ["DB View"], "description": "Get the Gallery View data with Gallery ID", "parameters": [ { @@ -8007,9 +7764,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "DB View" - ], + "tags": ["DB View"], "requestBody": { "content": { "application/json": { @@ -8074,9 +7829,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "DB View" - ], + "tags": ["DB View"], "requestBody": { "content": { "application/json": { @@ -8162,9 +7915,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "DB View" - ], + "tags": ["DB View"], "description": "Get the Kanban View data by Kanban ID", "parameters": [ { @@ -8227,9 +7978,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "DB View" - ], + "tags": ["DB View"], "requestBody": { "content": { "application/json": { @@ -8295,9 +8044,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "DB View" - ], + "tags": ["DB View"], "requestBody": { "content": { "application/json": { @@ -8340,9 +8087,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "DB View" - ], + "tags": ["DB View"], "description": "Get the Map View data by Map ID", "parameters": [ { @@ -8399,9 +8144,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "Base" - ], + "tags": ["Base"], "description": "Synchronise the meta data difference between NC_DB and external data sources ", "parameters": [ { @@ -8420,9 +8163,7 @@ "$ref": "#/components/parameters/xc-auth" } ], - "tags": [ - "Base" - ], + "tags": ["Base"], "responses": { "200": { "description": "OK", @@ -8581,9 +8322,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "Source" - ], + "tags": ["Source"], "description": "Synchronise the meta data difference between NC_DB and external data sources in a given Source", "parameters": [ { @@ -8599,9 +8338,7 @@ "$ref": "#/components/parameters/xc-auth" } ], - "tags": [ - "Source" - ], + "tags": ["Source"], "responses": { "200": { "description": "OK", @@ -8724,9 +8461,7 @@ "$ref": "#/components/parameters/xc-auth" } ], - "tags": [ - "Base" - ], + "tags": ["Base"], "responses": { "200": { "description": "OK", @@ -8778,9 +8513,7 @@ "summary": "List Table Rows", "operationId": "db-table-row-list", "description": "List all table rows in a given table and base", - "tags": [ - "DB Table Row" - ], + "tags": ["DB Table Row"], "parameters": [ { "schema": { @@ -8883,10 +8616,7 @@ "description": "Paginated Info" } }, - "required": [ - "list", - "pageInfo" - ] + "required": ["list", "pageInfo"] }, "examples": { "Example 1": { @@ -8968,9 +8698,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "DB Table Row" - ], + "tags": ["DB Table Row"], "requestBody": { "content": { "application/json": { @@ -9032,9 +8760,7 @@ "summary": "Find One Table Row", "operationId": "db-table-row-find-one", "description": "Return the first result of the target Table Row", - "tags": [ - "DB Table Row" - ], + "tags": ["DB Table Row"], "parameters": [ { "schema": { @@ -9130,9 +8856,7 @@ "summary": "Group By Table Row", "operationId": "db-table-row-group-by", "description": "Get the result grouped by the given query", - "tags": [ - "DB Table Row" - ], + "tags": ["DB Table Row"], "parameters": [ { "schema": { @@ -9237,9 +8961,7 @@ "summary": "Table Group by Column", "operationId": "db-view-row-grouped-data-list", "description": "Get the grouped data By Column ID. Used in Kanban View.", - "tags": [ - "DB View Row" - ], + "tags": ["DB View Row"], "parameters": [ { "schema": { @@ -9405,9 +9127,7 @@ "summary": "Table Group by Column", "operationId": "db-table-row-grouped-data-list", "description": "Get the grouped data By Column ID. Used in Kanban View.", - "tags": [ - "DB Table Row" - ], + "tags": ["DB Table Row"], "parameters": [ { "schema": { @@ -9568,9 +9288,7 @@ "summary": "List Table View Rows", "operationId": "db-view-row-list", "description": "List all table view rows", - "tags": [ - "DB View Row" - ], + "tags": ["DB View Row"], "parameters": [ { "schema": { @@ -9639,10 +9357,7 @@ "description": "Paginated Info" } }, - "required": [ - "list", - "pageInfo" - ] + "required": ["list", "pageInfo"] }, "examples": { "Example 1": { @@ -9737,9 +9452,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "DB View Row" - ], + "tags": ["DB View Row"], "requestBody": { "content": { "application/json": { @@ -9802,9 +9515,7 @@ "summary": "Find One Table View Row", "operationId": "db-view-row-find-one", "description": "Return the first result of table view rows with the given query", - "tags": [ - "DB View Row" - ], + "tags": ["DB View Row"], "parameters": [ { "schema": { @@ -9914,9 +9625,7 @@ "summary": "Group By Table View Row", "operationId": "db-view-row-group-by", "description": "Get the table view rows grouped by the given query", - "tags": [ - "DB View Row" - ], + "tags": ["DB View Row"], "parameters": [ { "schema": { @@ -10011,9 +9720,7 @@ "summary": "Count Table View Rows", "operationId": "db-view-row-count", "description": "Count how many rows in the given Table View", - "tags": [ - "DB View Row" - ], + "tags": ["DB View Row"], "parameters": [ { "schema": { @@ -10140,9 +9847,7 @@ } }, "description": "Get the target Table View Row", - "tags": [ - "DB View Row" - ], + "tags": ["DB View Row"], "parameters": [ { "$ref": "#/components/parameters/xc-auth" @@ -10177,9 +9882,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "DB View Row" - ], + "tags": ["DB View Row"], "requestBody": { "content": { "application/json": { @@ -10226,9 +9929,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "DB View Row" - ], + "tags": ["DB View Row"], "description": "Delete the target Table View Row", "parameters": [ { @@ -10308,9 +10009,7 @@ } }, "description": "Check row with provided primary key exists or not", - "tags": [ - "DB View Row" - ], + "tags": ["DB View Row"], "parameters": [ { "$ref": "#/components/parameters/xc-auth" @@ -10396,9 +10095,7 @@ } }, "description": "Get the Table Row by Row ID", - "tags": [ - "DB Table Row" - ], + "tags": ["DB Table Row"], "parameters": [ { "$ref": "#/components/parameters/xc-auth" @@ -10433,9 +10130,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "DB Table Row" - ], + "tags": ["DB Table Row"], "requestBody": { "content": { "application/json": { @@ -10482,9 +10177,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "DB Table Row" - ], + "tags": ["DB Table Row"], "description": "Delete the Table Row", "parameters": [ { @@ -10556,9 +10249,7 @@ } }, "description": "check row with provided primary key exists or not", - "tags": [ - "DB Table Row" - ], + "tags": ["DB Table Row"], "parameters": [ { "$ref": "#/components/parameters/xc-auth" @@ -10641,9 +10332,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "DB Table Row" - ], + "tags": ["DB Table Row"], "requestBody": { "content": { "application/json": { @@ -10700,10 +10389,7 @@ }, "examples": { "Example 1": { - "value": [ - 1, - 1 - ] + "value": [1, 1] } } } @@ -10713,9 +10399,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "DB Table Row" - ], + "tags": ["DB Table Row"], "requestBody": { "content": { "application/json": { @@ -10772,10 +10456,7 @@ }, "examples": { "Example 1": { - "value": [ - 1, - 1 - ] + "value": [1, 1] } } } @@ -10785,9 +10466,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "DB Table Row" - ], + "tags": ["DB Table Row"], "requestBody": { "content": { "application/json": { @@ -10896,9 +10575,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "DB Table Row" - ], + "tags": ["DB Table Row"], "requestBody": { "content": { "application/json": { @@ -10941,10 +10618,7 @@ }, "examples": { "Example 1": { - "value": [ - 1, - 1 - ] + "value": [1, 1] } } } @@ -10954,9 +10628,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "DB Table Row" - ], + "tags": ["DB Table Row"], "requestBody": { "content": { "application/json": { @@ -11021,10 +10693,7 @@ { "schema": { "type": "string", - "enum": [ - "csv", - "excel" - ] + "enum": ["csv", "excel"] }, "name": "type", "in": "path", @@ -11035,9 +10704,7 @@ "summary": "Export Table View Rows", "operationId": "db-view-row-export", "description": "Export Table View Rows by CSV or Excel", - "tags": [ - "DB View Row" - ], + "tags": ["DB View Row"], "wrapped": true, "responses": { "200": { @@ -11099,10 +10766,7 @@ { "schema": { "type": "string", - "enum": [ - "csv", - "excel" - ] + "enum": ["csv", "excel"] }, "name": "type", "in": "path", @@ -11113,9 +10777,7 @@ "summary": "Export Table View Rows", "operationId": "db-table-row-csv-export", "description": "Export Table View Rows by CSV or Excel", - "tags": [ - "DB Table Row" - ], + "tags": ["DB Table Row"], "wrapped": true, "responses": { "200": { @@ -11186,11 +10848,7 @@ { "schema": { "type": "string", - "enum": [ - "mm", - "hm", - "bt" - ] + "enum": ["mm", "hm", "bt"] }, "name": "relationType", "in": "path", @@ -11223,9 +10881,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "DB Table Row" - ], + "tags": ["DB Table Row"], "parameters": [ { "schema": { @@ -11298,11 +10954,7 @@ { "schema": { "type": "string", - "enum": [ - "mm", - "hm", - "bt" - ] + "enum": ["mm", "hm", "bt"] }, "name": "relationType", "in": "path", @@ -11359,9 +11011,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "DB Table Row" - ], + "tags": ["DB Table Row"], "parameters": [ { "schema": { @@ -11471,9 +11121,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "DB Table Row" - ], + "tags": ["DB Table Row"], "description": "Delete a new nested relations row", "parameters": [ { @@ -11523,11 +11171,7 @@ { "schema": { "type": "string", - "enum": [ - "mm", - "hm", - "bt" - ] + "enum": ["mm", "hm", "bt"] }, "name": "relationType", "in": "path", @@ -11558,9 +11202,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "DB Table Row" - ], + "tags": ["DB Table Row"], "parameters": [ { "schema": { @@ -11653,10 +11295,7 @@ "id": "0xsi3jvwn7duo" }, "description": "the paginated result of the given key", - "required": [ - "list", - "pageInfo" - ], + "required": ["list", "pageInfo"], "properties": { "list": { "type": "array", @@ -11681,10 +11320,7 @@ } } }, - "required": [ - "key", - "value" - ] + "required": ["key", "value"] } }, "examples": { @@ -11757,9 +11393,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "Public" - ], + "tags": ["Public"], "parameters": [ { "schema": { @@ -11915,9 +11549,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "Public" - ], + "tags": ["Public"], "parameters": [ { "schema": { @@ -12025,9 +11657,7 @@ }, "description": "" }, - "tags": [ - "Public" - ], + "tags": ["Public"], "parameters": [ { "schema": { @@ -12080,9 +11710,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "Public" - ], + "tags": ["Public"], "parameters": [ { "schema": { @@ -12188,11 +11816,7 @@ { "schema": { "type": "string", - "enum": [ - "mm", - "hm", - "bt" - ] + "enum": ["mm", "hm", "bt"] }, "name": "relationType", "in": "path", @@ -12241,10 +11865,7 @@ "description": "Paginated info" } }, - "required": [ - "list", - "pageInfo" - ] + "required": ["list", "pageInfo"] }, "examples": { "Example 1": { @@ -12286,9 +11907,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "Public" - ], + "tags": ["Public"], "parameters": [ { "schema": { @@ -12377,10 +11996,7 @@ { "schema": { "type": "string", - "enum": [ - "csv", - "excel" - ], + "enum": ["csv", "excel"], "example": "csv" }, "name": "type", @@ -12415,9 +12031,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "Public" - ] + "tags": ["Public"] } }, "/api/v1/db/public/shared-view/{sharedViewUuid}/nested/{columnName}": { @@ -12536,9 +12150,7 @@ "description": "Used for multiple filter queries" } ], - "tags": [ - "Public" - ], + "tags": ["Public"], "description": "List Nested Data Relation" } }, @@ -12592,9 +12204,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "Public" - ] + "tags": ["Public"] } }, "/api/v1/db/public/shared-view/{sharedViewUuid}/meta": { @@ -12696,9 +12306,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "Public" - ], + "tags": ["Public"], "description": "Get Share View Meta" } }, @@ -12716,9 +12324,7 @@ "get": { "summary": "", "operationId": "public-shared-erd-meta-get", - "tags": [ - "Public" - ], + "tags": ["Public"], "description": "", "parameters": [] } @@ -12753,9 +12359,7 @@ } } }, - "required": [ - "list" - ] + "required": ["list"] }, "examples": { "Example 1": { @@ -12841,9 +12445,7 @@ "$ref": "#/components/parameters/xc-auth" } ], - "tags": [ - "Utils" - ] + "tags": ["Utils"] }, "post": { "summary": "Comment Rows", @@ -12894,9 +12496,7 @@ } } }, - "tags": [ - "Utils" - ], + "tags": ["Utils"], "description": "Create a new comment in a row. Logged in Audit.", "parameters": [ { @@ -12948,9 +12548,7 @@ } } }, - "tags": [ - "Utils" - ], + "tags": ["Utils"], "description": "Update comment in Audit", "requestBody": { "content": { @@ -13009,10 +12607,7 @@ "example": "1" } }, - "required": [ - "count", - "row_id" - ] + "required": ["count", "row_id"] } }, "examples": { @@ -13053,9 +12648,7 @@ "$ref": "#/components/parameters/xc-auth" } ], - "tags": [ - "Utils" - ] + "tags": ["Utils"] } }, "/api/v1/db/meta/projects/{baseId}/audits": { @@ -13095,10 +12688,7 @@ "$ref": "#/components/schemas/Paginated" } }, - "required": [ - "list", - "pageInfo" - ] + "required": ["list", "pageInfo"] } } } @@ -13136,9 +12726,7 @@ "$ref": "#/components/parameters/xc-auth" } ], - "tags": [ - "Base" - ] + "tags": ["Base"] } }, "/api/v1/db/meta/audits/rows/{rowId}/update": { @@ -13184,9 +12772,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "Utils" - ], + "tags": ["Utils"], "requestBody": { "content": { "application/json": { @@ -13284,9 +12870,7 @@ "$ref": "#/components/parameters/xc-auth" } ], - "tags": [ - "DB Table Webhook" - ] + "tags": ["DB Table Webhook"] }, "post": { "summary": "Create Table Hook", @@ -13357,9 +12941,7 @@ } } }, - "tags": [ - "DB Table Webhook" - ] + "tags": ["DB Table Webhook"] } }, "/api/v1/db/meta/tables/{tableId}/hooks/test": { @@ -13410,9 +12992,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "DB Table Webhook" - ], + "tags": ["DB Table Webhook"], "requestBody": { "content": { "application/json": { @@ -13502,10 +13082,7 @@ { "schema": { "type": "string", - "enum": [ - "v1", - "v2" - ] + "enum": ["v1", "v2"] }, "name": "version", "in": "path", @@ -13558,9 +13135,7 @@ "$ref": "#/components/parameters/xc-auth" } ], - "tags": [ - "DB Table Webhook" - ] + "tags": ["DB Table Webhook"] } }, "/api/v1/db/meta/hooks/{hookId}": { @@ -13614,9 +13189,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "DB Table Webhook" - ], + "tags": ["DB Table Webhook"], "requestBody": { "content": { "application/json": { @@ -13676,9 +13249,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "DB Table Webhook" - ], + "tags": ["DB Table Webhook"], "description": "Delete the exsiting hook by its ID", "parameters": [ { @@ -13730,9 +13301,7 @@ "$ref": "#/components/parameters/xc-auth" } ], - "tags": [ - "Plugin" - ] + "tags": ["Plugin"] } }, "/api/v1/db/meta/plugins/webhook": { @@ -13778,9 +13347,7 @@ "$ref": "#/components/parameters/xc-auth" } ], - "tags": [ - "Plugin" - ] + "tags": ["Plugin"] } }, "/api/v1/db/meta/plugins/{pluginTitle}/status": { @@ -13819,9 +13386,7 @@ "$ref": "#/components/parameters/xc-auth" } ], - "tags": [ - "Plugin" - ], + "tags": ["Plugin"], "x-internal": false } }, @@ -13853,9 +13418,7 @@ "$ref": "#/components/parameters/xc-auth" } ], - "tags": [ - "Plugin" - ], + "tags": ["Plugin"], "requestBody": { "content": { "application/json": { @@ -13904,9 +13467,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "Plugin" - ], + "tags": ["Plugin"], "requestBody": { "content": { "application/json": { @@ -13942,9 +13503,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "Plugin" - ], + "tags": ["Plugin"], "description": "Get the plugin data by ID", "x-internal": false } @@ -13996,9 +13555,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "Utils" - ], + "tags": ["Utils"], "requestBody": { "content": { "application/json": { @@ -14093,9 +13650,7 @@ } } }, - "tags": [ - "Utils" - ], + "tags": ["Utils"], "requestBody": { "content": { "application/json": {} @@ -14113,9 +13668,7 @@ "post": { "summary": "Convert JDBC URL to Config", "operationId": "utils-url-to-config", - "tags": [ - "Utils" - ], + "tags": ["Utils"], "requestBody": { "content": { "application/json": { @@ -14333,11 +13886,7 @@ "x-stoplight": { "id": "uc3vaotye2eu8" }, - "enum": [ - "OFF", - "ERROR", - "ALL" - ], + "enum": ["OFF", "ERROR", "ALL"], "example": "OFF" } } @@ -14374,9 +13923,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "Utils" - ], + "tags": ["Utils"], "description": "Get the application info such as authType, defaultLimit, version and etc.", "parameters": [ { @@ -14420,9 +13967,7 @@ } } }, - "tags": [ - "Utils" - ], + "tags": ["Utils"], "x-internal": true, "parameters": [ { @@ -14481,9 +14026,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "Utils" - ], + "tags": ["Utils"], "description": "Get the application version", "parameters": [ { @@ -14546,9 +14089,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "Utils" - ], + "tags": ["Utils"], "description": "Get Application Health Status", "parameters": [ { @@ -14775,9 +14316,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "Utils" - ], + "tags": ["Utils"], "description": "Get Aggregated Meta Info such as tableCount, dbViewCount, viewCount and etc.", "parameters": [ { @@ -14789,9 +14328,7 @@ "/api/v1/db/meta/cache": { "get": { "summary": "Get Cache", - "tags": [ - "Utils" - ], + "tags": ["Utils"], "responses": {}, "operationId": "utils-cache-get", "description": "Get All K/V pairs in NocoCache", @@ -14825,9 +14362,7 @@ } }, "description": "Delete All K/V pairs in NocoCache", - "tags": [ - "Utils" - ], + "tags": ["Utils"], "parameters": [ { "$ref": "#/components/parameters/xc-auth" @@ -14843,9 +14378,7 @@ "/api/v1/db/meta/projects/{baseId}/api-tokens": { "get": { "summary": "List API Tokens in Base", - "tags": [ - "API Token" - ], + "tags": ["API Token"], "responses": { "200": { "description": "OK", @@ -14935,9 +14468,7 @@ }, "description": "" }, - "tags": [ - "API Token" - ], + "tags": ["API Token"], "description": "Create API Token in a base", "parameters": [ { @@ -14984,9 +14515,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "API Token" - ], + "tags": ["API Token"], "description": "Delete the given API Token in base", "parameters": [ { @@ -15023,16 +14552,14 @@ "summary": "Attachment Upload", "operationId": "storage-upload", "responses": {}, - "tags": [ - "Storage" - ], + "tags": ["Storage"], "requestBody": { "content": { "multipart/form-data": { "schema": { - "type":"object", - "properties":{ - "files":{ + "type": "object", + "properties": { + "files": { "type": "array", "required": true, "items": { @@ -15047,9 +14574,9 @@ "files": [ { "mimetype": "image/jpeg", - "fieldname":"files", + "fieldname": "files", "originalname": "22bc-kavypmq4869759 (1).jpg", - "encoding":"7bit", + "encoding": "7bit", "size": 13052, "buffer": "" } @@ -15084,9 +14611,7 @@ "summary": "Attachment Upload by URL", "operationId": "storage-upload-by-url", "responses": {}, - "tags": [ - "Storage" - ], + "tags": ["Storage"], "requestBody": { "content": { "application/json": { @@ -15177,9 +14702,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "Auth" - ], + "tags": ["Auth"], "description": "Resend Invitation to a specific user", "parameters": [ { @@ -15204,9 +14727,7 @@ } } }, - "tags": [ - "Notification" - ], + "tags": ["Notification"], "description": "List notifications", "parameters": [ { @@ -15254,9 +14775,7 @@ } } }, - "tags": [ - "Notification" - ], + "tags": ["Notification"], "description": "Notificattion update" }, "delete": { @@ -15267,9 +14786,7 @@ "description": "OK" } }, - "tags": [ - "Notification" - ], + "tags": ["Notification"], "description": "Delete notification" }, "parameters": [ @@ -15292,9 +14809,7 @@ "description": "OK" } }, - "tags": [ - "Notification" - ], + "tags": ["Notification"], "description": "Mark all notifications as read" } }, @@ -15333,9 +14848,7 @@ } } }, - "tags": [ - "DB Table Column" - ], + "tags": ["DB Table Column"], "description": "Get columns hash for table", "parameters": [ { @@ -15377,11 +14890,7 @@ "properties": { "op": { "type": "string", - "enum": [ - "add", - "update", - "delete" - ], + "enum": ["add", "update", "delete"], "required": true }, "column": { @@ -15433,9 +14942,7 @@ } } }, - "tags": [ - "DB Table Column" - ], + "tags": ["DB Table Column"], "description": "Bulk create-update-delete columns", "parameters": [ { @@ -15468,9 +14975,7 @@ "summary": "List Table Rows", "operationId": "db-data-table-row-list", "description": "List all table rows in a given table", - "tags": [ - "DB Data Table Row" - ], + "tags": ["DB Data Table Row"], "parameters": [ { "schema": { @@ -15564,10 +15069,7 @@ "description": "Paginated Info" } }, - "required": [ - "list", - "pageInfo" - ] + "required": ["list", "pageInfo"] }, "examples": { "Example 1": { @@ -15649,9 +15151,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "DB Data Table Row" - ], + "tags": ["DB Data Table Row"], "requestBody": { "content": { "application/json": { @@ -15704,9 +15204,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "DB Data Table Row" - ], + "tags": ["DB Data Table Row"], "requestBody": { "content": { "application/json": { @@ -15759,9 +15257,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "DB Data Table Row" - ], + "tags": ["DB Data Table Row"], "requestBody": { "content": { "application/json": { @@ -15831,9 +15327,7 @@ "summary": "Read Table Row", "operationId": "db-data-table-row-read", "description": "Get table row in a given table", - "tags": [ - "DB Data Table Row" - ], + "tags": ["DB Data Table Row"], "parameters": [ { "schema": { @@ -15918,9 +15412,7 @@ "summary": "Table Rows Count", "operationId": "db-data-table-row-count", "description": "Count of rows in a given table", - "tags": [ - "DB Data Table Row" - ], + "tags": ["DB Data Table Row"], "parameters": [ { "schema": { @@ -15962,10 +15454,7 @@ "type": "number" } }, - "required": [ - "list", - "pageInfo" - ] + "required": ["list", "pageInfo"] }, "examples": { "Example 1": { @@ -16056,9 +15545,7 @@ "summary": "Get Nested Relations Rows", "operationId": "db-data-table-row-nested-list", "description": "Linked rows in a given Links/LinkToAnotherRecord column", - "tags": [ - "DB Data Table Row" - ], + "tags": ["DB Data Table Row"], "parameters": [ { "schema": { @@ -16152,10 +15639,7 @@ "description": "Paginated Info" } }, - "required": [ - "list", - "pageInfo" - ] + "required": ["list", "pageInfo"] }, "examples": { "Example 1": { @@ -16237,9 +15721,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "DB Data Table Row" - ], + "tags": ["DB Data Table Row"], "requestBody": { "content": { "application/json": { @@ -16291,9 +15773,7 @@ "$ref": "#/components/responses/BadRequest" } }, - "tags": [ - "DB Data Table Row" - ], + "tags": ["DB Data Table Row"], "requestBody": { "content": { "application/json": { @@ -16330,6 +15810,75 @@ ] } }, + "/api/v2/tables/{tableId}/links/{columnId}/records": { + "parameters": [ + { + "schema": { + "type": "string" + }, + "name": "tableId", + "in": "path", + "required": true, + "description": "Table ID" + }, + { + "schema": { + "type": "string" + }, + "name": "viewId", + "in": "query", + "description": "View ID" + } + ], + "post": { + "summary": "Create Nest and delete nested Relations Rows", + "operationId": "db-data-table-row-nested-link-unlink", + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": {} + } + } + }, + "400": { + "$ref": "#/components/responses/BadRequest" + } + }, + "tags": ["DB Data Table Row"], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NestedLinkUnlinkReq" + }, + "examples": { + "Example 1": { + "value": [ + { + "rowId": 1, + "operation": "copy" + }, + { + "rowId": 2, + "operation": "paste" + } + ] + } + } + } + } + }, + "description": "Copy links from the row specified by the copy operation ID and paste them into the row identified by the paste operation ID.", + "parameters": [ + { + "$ref": "#/components/parameters/xc-auth" + } + ] + } + }, "/api/v1/command_palette": { "parameters": [], "post": { @@ -16345,9 +15894,7 @@ } } }, - "tags": [ - "Utils" - ], + "tags": ["Utils"], "requestBody": { "content": { "application/json": {} @@ -16361,9 +15908,7 @@ "summary": "Jobs Listen", "operationId": "jobs-listen", "description": "Listen for job events", - "tags": [ - "Jobs" - ], + "tags": ["Jobs"], "requestBody": { "content": { "application/json": { @@ -16385,9 +15930,7 @@ "summary": "Jobs Status", "operationId": "jobs-status", "description": "Get job status", - "tags": [ - "Jobs" - ], + "tags": ["Jobs"], "requestBody": { "content": { "application/json": { @@ -16531,10 +16074,7 @@ "description": "Model for Paginated" } }, - "required": [ - "list", - "pageInfo" - ] + "required": ["list", "pageInfo"] }, "Attachment": { "description": "Model for Attachment", @@ -16611,7 +16151,7 @@ "type": "string", "description": "Attachment URL to be uploaded via upload-by-url" }, - "fileName":{ + "fileName": { "type": "string", "description": "The name of the attachment file name" } @@ -16626,9 +16166,9 @@ "x-examples": { "Example 1": { "mimetype": "image/jpeg", - "fieldname":"files", + "fieldname": "files", "originalname": "22bc-kavypmq4869759 (1).jpg", - "encoding":"7bit", + "encoding": "7bit", "size": 13052, "buffer": "" } @@ -17010,10 +16550,7 @@ "description": "Paginated Info" } }, - "required": [ - "list", - "pageInfo" - ], + "required": ["list", "pageInfo"], "x-stoplight": { "id": "tty21vb01bfr0" } @@ -17080,9 +16617,7 @@ }, "Bool": { "description": "Model for Bool", - "examples": [ - true - ], + "examples": [true], "oneOf": [ { "description": "0 or 1", @@ -17497,10 +17032,7 @@ } } }, - "required": [ - "list", - "pageInfo" - ], + "required": ["list", "pageInfo"], "x-stoplight": { "id": "rsk9o5cs00wh5" } @@ -17552,9 +17084,7 @@ "type": "string" } }, - "required": [ - "title" - ] + "required": ["title"] } ], "description": "Model for Column Request", @@ -17630,10 +17160,7 @@ "example": "3" } }, - "required": [ - "fk_model_id", - "row_id" - ], + "required": ["fk_model_id", "row_id"], "x-stoplight": { "id": "ohotsd0vq6d8w" } @@ -17805,11 +17332,7 @@ }, "logical_op": { "description": "Logical Operator", - "enum": [ - "and", - "not", - "or" - ], + "enum": ["and", "not", "or"], "type": "string" }, "base_id": { @@ -17912,10 +17435,7 @@ } } }, - "required": [ - "list", - "pageInfo" - ], + "required": ["list", "pageInfo"], "x-stoplight": { "id": "wbc42cyev1qzt" } @@ -18007,10 +17527,7 @@ } } }, - "required": [ - "list", - "pageInfo" - ] + "required": ["list", "pageInfo"] }, "FilterReq": { "description": "Model for Filter Request", @@ -18117,11 +17634,7 @@ }, "logical_op": { "description": "Logical Operator", - "enum": [ - "and", - "not", - "or" - ], + "enum": ["and", "not", "or"], "type": "string" }, "value": { @@ -18226,11 +17739,7 @@ "example": "My Form" }, "lock_type": { - "enum": [ - "collaborative", - "locked", - "personal" - ], + "enum": ["collaborative", "locked", "personal"], "type": "string", "description": "Lock Type of this view", "example": "collaborative" @@ -18581,9 +18090,7 @@ }, "uidt": { "description": "UI Data Type", - "enum": [ - "Formula" - ], + "enum": ["Formula"], "type": "string" } }, @@ -18653,11 +18160,7 @@ "description": "Foreign Key to View" }, "lock_type": { - "enum": [ - "collaborative", - "locked", - "personal" - ], + "enum": ["collaborative", "locked", "personal"], "type": "string" }, "next_enabled": { @@ -19232,10 +18735,7 @@ "description": "Environment for the hook" }, "event": { - "enum": [ - "after", - "before" - ], + "enum": ["after", "before"], "type": "string", "description": "Event Type for the operation", "example": "after" @@ -19251,10 +18751,7 @@ }, "notification": { "description": "Hook Notification including info such as type, payload, method, body, and etc", - "type": [ - "object", - "string" - ] + "type": ["object", "string"] }, "operation": { "enum": [ @@ -19300,10 +18797,7 @@ }, "example": "v2", "description": "Hook Version", - "enum": [ - "v1", - "v2" - ] + "enum": ["v1", "v2"] } } }, @@ -19352,10 +18846,7 @@ "description": "Environment for the hook" }, "event": { - "enum": [ - "after", - "before" - ], + "enum": ["after", "before"], "type": "string", "description": "Event Type for the operation", "example": "after" @@ -19371,10 +18862,7 @@ }, "notification": { "description": "Hook Notification including info such as type, payload, method, body, and etc", - "type": [ - "object", - "string" - ] + "type": ["object", "string"] }, "operation": { "enum": [ @@ -19410,10 +18898,7 @@ "example": "My Webhook" }, "type": { - "type": [ - "string", - "null" - ], + "type": ["string", "null"], "description": "Hook Type" }, "condition": { @@ -19424,12 +18909,7 @@ "description": "Is this hook assoicated with some filters" } }, - "required": [ - "event", - "notification", - "operation", - "title" - ] + "required": ["event", "notification", "operation", "title"] }, "HookList": { "description": "Model for Hook List", @@ -19507,10 +18987,7 @@ "$ref": "#/components/schemas/Paginated" } }, - "required": [ - "list", - "pageInfo" - ], + "required": ["list", "pageInfo"], "x-stoplight": { "id": "oza9z6dpygn29" } @@ -19565,10 +19042,7 @@ "type": "string", "description": "Hook Event", "example": "after", - "enum": [ - "after", - "before" - ] + "enum": ["after", "before"] }, "execution_time": { "type": "string", @@ -19680,10 +19154,7 @@ "$ref": "#/components/schemas/Paginated" } }, - "required": [ - "list", - "pageInfo" - ] + "required": ["list", "pageInfo"] }, "HookTestReq": { "description": "Model for Hook Test Request", @@ -19734,19 +19205,14 @@ "description": "Payload to be sent" } }, - "required": [ - "hook", - "payload" - ], + "required": ["hook", "payload"], "x-stoplight": { "id": "fmxwekzyi46za" } }, "Id": { "description": "Model for ID", - "examples": [ - "string" - ], + "examples": ["string"], "maxLength": 20, "minLength": 0, "title": "ID Model", @@ -20021,19 +19487,12 @@ "description": "The title of the virtual column" }, "type": { - "enum": [ - "bt", - "hm", - "mm" - ], + "enum": ["bt", "hm", "mm"], "type": "string", "description": "The type of the relationship" }, "uidt": { - "enum": [ - "LinkToAnotherRecord", - "Links" - ], + "enum": ["LinkToAnotherRecord", "Links"], "type": "string", "description": "Abstract type of the relationship" }, @@ -20042,13 +19501,7 @@ "description": "Is this relationship virtual?" } }, - "required": [ - "childId", - "parentId", - "title", - "type", - "uidt" - ], + "required": ["childId", "parentId", "title", "type", "uidt"], "title": "LinkToAnotherColumn Request Model", "type": "object", "x-stoplight": { @@ -20199,9 +19652,7 @@ "example": "My Lookup" }, "uidt": { - "enum": [ - "Lookup" - ], + "enum": ["Lookup"], "type": "string", "description": "UI DataType" } @@ -20370,9 +19821,7 @@ }, "Meta": { "description": "Model for Meta", - "examples": [ - {} - ], + "examples": [{}], "oneOf": [ { "type": "null" @@ -20613,9 +20062,7 @@ }, "title": "Normal Column Request Model", "type": "object", - "required": [ - "column_name" - ], + "required": ["column_name"], "x-stoplight": { "id": "fn3gqmojvswv2" } @@ -20634,10 +20081,7 @@ "type": "string" }, "roles": { - "enum": [ - "org-level-creator", - "org-level-viewer" - ], + "enum": ["org-level-creator", "org-level-viewer"], "type": "string", "description": "Roles for the base user" } @@ -20698,9 +20142,7 @@ "Password": { "description": "Model for Password", "example": "password123456789", - "examples": [ - "password123456789" - ], + "examples": ["password123456789"], "minLength": 8, "title": "Password Model", "type": "string", @@ -20728,10 +20170,7 @@ "type": "string" } }, - "required": [ - "currentPassword", - "newPassword" - ], + "required": ["currentPassword", "newPassword"], "title": "Password Change Request Model", "type": "object", "x-stoplight": { @@ -20752,9 +20191,7 @@ "type": "string" } }, - "required": [ - "email" - ], + "required": ["email"], "title": "Password Forgot Request Model", "type": "object", "x-stoplight": { @@ -20777,9 +20214,7 @@ "type": "string" } }, - "required": [ - "password" - ], + "required": ["password"], "title": "Password Reset Request Model", "type": "object", "x-stoplight": { @@ -20971,11 +20406,7 @@ "example": "Email" } }, - "required": [ - "title", - "input", - "category" - ], + "required": ["title", "input", "category"], "x-stoplight": { "id": "zrvjtpfx9wc54" } @@ -21059,11 +20490,7 @@ }, "type": { "type": "string", - "enum": [ - "database", - "documentation", - "dashboard" - ] + "enum": ["database", "documentation", "dashboard"] }, "linked_db_projects": { "description": "List of linked Database Projects that this base has access to (only used in Dashboard bases so far)", @@ -21176,10 +20603,7 @@ "description": "Pagination Info" } }, - "required": [ - "list", - "pageInfo" - ], + "required": ["list", "pageInfo"], "x-stoplight": { "id": "fr75wwwzt951h" } @@ -21236,11 +20660,7 @@ }, "type": { "type": "string", - "enum": [ - "database", - "documentation", - "dashboard" - ] + "enum": ["database", "documentation", "dashboard"] }, "linked_db_project_ids": { "description": "List of Linked Database Base IDs (only used for Dashboard Projects so far)", @@ -21250,9 +20670,7 @@ } } }, - "required": [ - "title" - ], + "required": ["title"], "title": "Base Request Model", "type": "object", "x-stoplight": { @@ -21345,10 +20763,7 @@ "description": "Base User Role" } }, - "required": [ - "email", - "roles" - ], + "required": ["email", "roles"], "x-stoplight": { "id": "3bvgqk9tn16ur" } @@ -21470,9 +20885,7 @@ "description": "Rollup Function" }, "uidt": { - "enum": [ - "Rollup" - ], + "enum": ["Rollup"], "type": "string", "description": "UI DataType" } @@ -21549,9 +20962,7 @@ } } }, - "required": [ - "options" - ], + "required": ["options"], "x-stoplight": { "id": "3rx8jyy2ufbc3" } @@ -21574,11 +20985,7 @@ "example": "password123" }, "roles": { - "enum": [ - "commenter", - "editor", - "viewer" - ], + "enum": ["commenter", "editor", "viewer"], "type": "string", "description": "The role given the target user", "example": "editor" @@ -21715,10 +21122,7 @@ "description": "Paginated Info" } }, - "required": [ - "list", - "pageInfo" - ], + "required": ["list", "pageInfo"], "x-stoplight": { "id": "5gnbbmgal3om3" } @@ -21766,10 +21170,7 @@ "type": "string" } }, - "required": [ - "email", - "password" - ], + "required": ["email", "password"], "title": "Signin Request Model", "type": "object", "x-stoplight": { @@ -21831,10 +21232,7 @@ "description": "Ignore Subscription" } }, - "required": [ - "email", - "password" - ], + "required": ["email", "password"], "x-stoplight": { "id": "6ia1chyii9w48" } @@ -21874,10 +21272,7 @@ "direction": { "type": "string", "description": "Sort direction", - "enum": [ - "asc", - "desc" - ], + "enum": ["asc", "desc"], "example": "desc" }, "order": { @@ -21971,10 +21366,7 @@ } } }, - "required": [ - "list", - "pageInfo" - ], + "required": ["list", "pageInfo"], "x-stoplight": { "id": "us9qfo1go142f" } @@ -21997,10 +21389,7 @@ }, "direction": { "description": "Sort direction", - "enum": [ - "asc", - "desc" - ], + "enum": ["asc", "desc"], "type": "string" } }, @@ -22026,9 +21415,7 @@ }, "StringOrNull": { "description": "Model for StringOrNull", - "examples": [ - "string" - ], + "examples": ["string"], "oneOf": [ { "maxLength": 255, @@ -22045,9 +21432,7 @@ }, "StringOrNullOrBooleanOrNumber": { "description": "Model for StringOrNullOrBooleanOrNumber", - "examples": [ - "string" - ], + "examples": ["string"], "oneOf": [ { "type": "string" @@ -22488,10 +21873,7 @@ "type": "string" } }, - "required": [ - "table_name", - "title" - ], + "required": ["table_name", "title"], "x-stoplight": { "id": "dkfoyjcny5am9" } @@ -22621,10 +22003,7 @@ "description": "Paginated Info" } }, - "required": [ - "list", - "pageInfo" - ], + "required": ["list", "pageInfo"], "x-stoplight": { "id": "urwk2euatlkjl" } @@ -22763,10 +22142,7 @@ "type": "string" } }, - "required": [ - "columns", - "table_name" - ], + "required": ["columns", "table_name"], "title": "Table Request Model", "type": "object", "x-stoplight": { @@ -22841,11 +22217,7 @@ "type": "string" } }, - "required": [ - "id", - "email", - "email_verified" - ], + "required": ["id", "email", "email_verified"], "x-stoplight": { "id": "hcruzlenrwb2x" } @@ -22976,10 +22348,7 @@ "description": "Paginated Info" } }, - "required": [ - "list", - "pageInfo" - ], + "required": ["list", "pageInfo"], "x-stoplight": { "id": "32mz06s4tgptq" } @@ -23033,11 +22402,7 @@ }, "lock_type": { "description": "Lock Type of the view", - "enum": [ - "collaborative", - "locked", - "personal" - ], + "enum": ["collaborative", "locked", "personal"], "type": "string" }, "meta": { @@ -23101,12 +22466,7 @@ "description": "Associated View Model" } }, - "required": [ - "fk_model_id", - "show", - "title", - "type" - ], + "required": ["fk_model_id", "show", "title", "type"], "x-stoplight": { "id": "nobjewdlhxrkq" } @@ -23234,10 +22594,7 @@ "description": "Paginated Info" } }, - "required": [ - "list", - "pageInfo" - ], + "required": ["list", "pageInfo"], "x-stoplight": { "id": "a1f99jvpiuugl" } @@ -23309,9 +22666,7 @@ "description": "Foreign Key to Geo Data Column. Used in creating Map View." } }, - "required": [ - "title" - ] + "required": ["title"] }, "ViewUpdateReq": { "description": "Model for View Update Request", @@ -23357,11 +22712,7 @@ "example": "password123" }, "lock_type": { - "enum": [ - "collaborative", - "locked", - "personal" - ], + "enum": ["collaborative", "locked", "personal"], "type": "string", "description": "Lock type of View.", "example": "collaborative" @@ -23554,19 +22905,10 @@ "description": "The email address of the user who invited the recipient" } }, - "required": [ - "id", - "title", - "type", - "invited_by" - ] + "required": ["id", "title", "type", "invited_by"] } }, - "required": [ - "fk_user_id", - "type", - "body" - ] + "required": ["fk_user_id", "type", "body"] }, "ProjectEvent": { "type": "object", @@ -23594,18 +22936,10 @@ "description": "The type of the base" } }, - "required": [ - "id", - "title", - "type" - ] + "required": ["id", "title", "type"] } }, - "required": [ - "fk_user_id", - "type", - "body" - ] + "required": ["fk_user_id", "type", "body"] }, "WelcomeEvent": { "type": "object", @@ -23623,11 +22957,7 @@ "description": "An empty object" } }, - "required": [ - "fk_user_id", - "type", - "body" - ] + "required": ["fk_user_id", "type", "body"] }, "SortEvent": { "type": "object", @@ -23643,11 +22973,7 @@ "type": "object" } }, - "required": [ - "fk_user_id", - "type", - "body" - ] + "required": ["fk_user_id", "type", "body"] }, "FilterEvent": { "type": "object", @@ -23663,11 +22989,7 @@ "type": "object" } }, - "required": [ - "fk_user_id", - "type", - "body" - ] + "required": ["fk_user_id", "type", "body"] }, "TableEvent": { "type": "object", @@ -23700,19 +23022,10 @@ "description": "The ID of the table associated with the event" } }, - "required": [ - "title", - "base_id", - "source_id", - "id" - ] + "required": ["title", "base_id", "source_id", "id"] } }, - "required": [ - "fk_user_id", - "type", - "body" - ] + "required": ["fk_user_id", "type", "body"] }, "ViewEvent": { "type": "object", @@ -23749,20 +23062,10 @@ "description": "The ID of the model that the view is based on" } }, - "required": [ - "title", - "base_id", - "source_id", - "id", - "fk_model_id" - ] + "required": ["title", "base_id", "source_id", "id", "fk_model_id"] } }, - "required": [ - "fk_user_id", - "type", - "body" - ] + "required": ["fk_user_id", "type", "body"] }, "ColumnEvent": { "type": "object", @@ -23799,20 +23102,10 @@ "description": "The ID of the model that the column belongs to" } }, - "required": [ - "title", - "base_id", - "source_id", - "id", - "fk_model_id" - ] + "required": ["title", "base_id", "source_id", "id", "fk_model_id"] } }, - "required": [ - "fk_user_id", - "type", - "body" - ] + "required": ["fk_user_id", "type", "body"] }, "Notification": { "allOf": [ @@ -23877,8 +23170,7 @@ { "list": [ { - "body": { - }, + "body": {}, "type": "invite", "is_read": false, "is_deleted": false, @@ -23912,10 +23204,7 @@ "description": "Model for Paginated" } }, - "required": [ - "list", - "pageInfo" - ] + "required": ["list", "pageInfo"] }, "NotificationUpdate": { "type": "object", @@ -23945,6 +23234,22 @@ "required": false } } + }, + "NestedLinkUnlinkReq": { + "type": "array", + "items": { + "type": "object", + "properties": { + "operation": { + "type": "string", + "enum": ["copy", "paste"] + }, + "rowId": { + "type": "string" + } + }, + "required": ["operation", "rowId"] + } } }, "responses": { @@ -24364,9 +23669,7 @@ "example": "BadRequest [Error]: " } }, - "required": [ - "msg" - ] + "required": ["msg"] }, "examples": { "Example 1": { diff --git a/packages/nocodb/src/services/data-table.service.ts b/packages/nocodb/src/services/data-table.service.ts index 485c290731..a97dd00686 100644 --- a/packages/nocodb/src/services/data-table.service.ts +++ b/packages/nocodb/src/services/data-table.service.ts @@ -8,6 +8,7 @@ import getAst from '~/helpers/getAst'; import { PagedResponseImpl } from '~/helpers/PagedResponse'; import { Column, Model, Source, View } from '~/models'; import NcConnectionMgrv2 from '~/utils/common/NcConnectionMgrv2'; +import { validatePayload } from 'src/helpers'; @Injectable() export class DataTableService { @@ -443,6 +444,25 @@ export class DataTableService { return true; } + async nestedLinkUnlink(param: { + cookie: any; + viewId: string; + modelId: string; + columnId: string; + query: any; + data: { + operation: 'copy' | 'paste'; + rowId: string; + }[]; + }) { + validatePayload( + 'swagger.json#/components/schemas/NestedLinkUnlinkReq', + param.data, + ); + + return true; + } + private validateIds(rowIds: any[] | any) { if (Array.isArray(rowIds)) { const map = new Map(); diff --git a/packages/nocodb/src/utils/acl.ts b/packages/nocodb/src/utils/acl.ts index 83ae16bcdb..add5d3ac81 100644 --- a/packages/nocodb/src/utils/acl.ts +++ b/packages/nocodb/src/utils/acl.ts @@ -120,6 +120,7 @@ const permissionScopes = { 'nestedDataList', 'nestedDataLink', 'nestedDataUnlink', + 'nestedDataLinkUnlink', 'baseUserList', // Base API Tokens @@ -227,6 +228,7 @@ const rolePermissions: nestedDataLink: true, nestedDataUnlink: true, + nestedDataLinkUnlink: true, // TODO add ACL with base scope // upload: true, // uploadViaURL: true,