1) Added the MAINTAIN privilege for PostgreSQL version 17 and above. #8332

2) Updated JavaScript Dependecies.
pull/8359/head
Akshay Joshi 2025-01-14 14:18:07 +05:30
parent 36df6d5c8a
commit bf69b16f1f
45 changed files with 1769 additions and 302 deletions

View File

@ -22,6 +22,7 @@ New features
| `Issue #6513 <https://github.com/pgadmin-org/pgadmin4/issues/6513>`_ - Change button labels and color in delete confirmation dialog for all objects to improve UX. | `Issue #6513 <https://github.com/pgadmin-org/pgadmin4/issues/6513>`_ - Change button labels and color in delete confirmation dialog for all objects to improve UX.
| `Issue #7708 <https://github.com/pgadmin-org/pgadmin4/issues/7708>`_ - Enhanced pgAdmin 4 with support for Workspace layouts. | `Issue #7708 <https://github.com/pgadmin-org/pgadmin4/issues/7708>`_ - Enhanced pgAdmin 4 with support for Workspace layouts.
| `Issue #8332 <https://github.com/pgadmin-org/pgadmin4/issues/8332>`_ - Added the MAINTAIN privilege for PostgreSQL version 17 and above.
Housekeeping Housekeeping
************ ************
@ -35,6 +36,7 @@ Bug fixes
| `Issue #8072 <https://github.com/pgadmin-org/pgadmin4/issues/8072>`_ - Fixed an issue where Schema Diff not produce difference script for Index definition with where condition. | `Issue #8072 <https://github.com/pgadmin-org/pgadmin4/issues/8072>`_ - Fixed an issue where Schema Diff not produce difference script for Index definition with where condition.
| `Issue #8142 <https://github.com/pgadmin-org/pgadmin4/issues/8142>`_ - Correct the documentation for the MFA configuration. | `Issue #8142 <https://github.com/pgadmin-org/pgadmin4/issues/8142>`_ - Correct the documentation for the MFA configuration.
| `Issue #8165 <https://github.com/pgadmin-org/pgadmin4/issues/8165>`_ - Fixed an issue where error message from the database server need space between two sentences. | `Issue #8165 <https://github.com/pgadmin-org/pgadmin4/issues/8165>`_ - Fixed an issue where error message from the database server need space between two sentences.
| `Issue #8199 <https://github.com/pgadmin-org/pgadmin4/issues/8199>`_ - Fixed an issue where query tool throws utf-8 decode error when using cursor with binary data.
| `Issue #8208 <https://github.com/pgadmin-org/pgadmin4/issues/8208>`_ - Allow deleting the entry while creating/adding new label to enumeration type. | `Issue #8208 <https://github.com/pgadmin-org/pgadmin4/issues/8208>`_ - Allow deleting the entry while creating/adding new label to enumeration type.
| `Issue #8209 <https://github.com/pgadmin-org/pgadmin4/issues/8209>`_ - Fixed an issue where properties dialog throwing an error for Materialized View. | `Issue #8209 <https://github.com/pgadmin-org/pgadmin4/issues/8209>`_ - Fixed an issue where properties dialog throwing an error for Materialized View.
| `Issue #8254 <https://github.com/pgadmin-org/pgadmin4/issues/8254>`_ - Fix a formatting issue in View/Edit tool generated SQL where some filters are applied. | `Issue #8254 <https://github.com/pgadmin-org/pgadmin4/issues/8254>`_ - Fix a formatting issue in View/Edit tool generated SQL where some filters are applied.
@ -43,3 +45,4 @@ Bug fixes
| `Issue #8273 <https://github.com/pgadmin-org/pgadmin4/issues/8273>`_ - Fixed an issue where copying query tool output cell is not working if any SQL text is selected. | `Issue #8273 <https://github.com/pgadmin-org/pgadmin4/issues/8273>`_ - Fixed an issue where copying query tool output cell is not working if any SQL text is selected.
| `Issue #8299 <https://github.com/pgadmin-org/pgadmin4/issues/8299>`_ - Ensure master password pop up is not shown on setting MASTER_PASSWORD_REQUIRED to false. | `Issue #8299 <https://github.com/pgadmin-org/pgadmin4/issues/8299>`_ - Ensure master password pop up is not shown on setting MASTER_PASSWORD_REQUIRED to false.
| `Issue #8309 <https://github.com/pgadmin-org/pgadmin4/issues/8309>`_ - Remove the option "With no data (concurrently)" from Refresh MATERIALIZED VIEW context menu. | `Issue #8309 <https://github.com/pgadmin-org/pgadmin4/issues/8309>`_ - Remove the option "With no data (concurrently)" from Refresh MATERIALIZED VIEW context menu.
| `Issue #8320 <https://github.com/pgadmin-org/pgadmin4/issues/8320>`_ - Fix an issue where wrong information is shown after using the filter on the Dashboard> State tab.

View File

@ -53,12 +53,12 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@eslint/core@npm:^0.9.0": "@eslint/core@npm:^0.10.0":
version: 0.9.1 version: 0.10.0
resolution: "@eslint/core@npm:0.9.1" resolution: "@eslint/core@npm:0.10.0"
dependencies: dependencies:
"@types/json-schema": ^7.0.15 "@types/json-schema": ^7.0.15
checksum: 33c8159842cc3a646caa267c008cb567ca60e0220bcdcf6e426128409953b8f6a9b142246db616c71d06331edf769c192d7e2792b3f19c2a6b8179e491512d89 checksum: 851fa099b3fef00e7ff8ece14523aff0822d3e1b47b047ab0a0d898e80c1362a22aa8b7778727231c383246932ecb63de79b4448ec1e500901c578580b087573
languageName: node languageName: node
linkType: hard linkType: hard
@ -79,10 +79,10 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@eslint/js@npm:9.17.0": "@eslint/js@npm:9.18.0":
version: 9.17.0 version: 9.18.0
resolution: "@eslint/js@npm:9.17.0" resolution: "@eslint/js@npm:9.18.0"
checksum: b68a14ff518ffa12e3b85fa9c72b818faeff092285acfbf02da2d0fb12a681b76651638881e98845f2df2ed346ed0d33faeb1d9caac163daf232c223b7efe89c checksum: a47cfcc684f87094992fe4a5c5e54018393231d8d42bd2150a08eb167813a6bf8d7c7ccbc9611933e5f782ff3b96a06c9be8d19342965cadd4530a45521b8981
languageName: node languageName: node
linkType: hard linkType: hard
@ -93,12 +93,13 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@eslint/plugin-kit@npm:^0.2.3": "@eslint/plugin-kit@npm:^0.2.5":
version: 0.2.4 version: 0.2.5
resolution: "@eslint/plugin-kit@npm:0.2.4" resolution: "@eslint/plugin-kit@npm:0.2.5"
dependencies: dependencies:
"@eslint/core": ^0.10.0
levn: ^0.4.1 levn: ^0.4.1
checksum: 5693465dca5fc6f27b090f987b51bc738f48c6a6b5678dcc1791522921834206388b462578edd362d458e8de6dcd21cce1a2e8cff47d1512411ba0389112c231 checksum: 423db33e67ff16f6db71bf8bfc8d5b0c2c4fe6f2209131e5886a573bf994bfc72ab4f825068d6521f186247731d4c9d48eb42a5e5ce389c6faa275752c0e9459
languageName: node languageName: node
linkType: hard linkType: hard
@ -199,20 +200,20 @@ __metadata:
linkType: hard linkType: hard
"@types/node@npm:*": "@types/node@npm:*":
version: 22.10.2 version: 22.10.6
resolution: "@types/node@npm:22.10.2" resolution: "@types/node@npm:22.10.6"
dependencies: dependencies:
undici-types: ~6.20.0 undici-types: ~6.20.0
checksum: b22401e6e7d1484e437d802c72f5560e18100b1257b9ad0574d6fe05bebe4dbcb620ea68627d1f1406775070d29ace8b6b51f57e7b1c7b8bafafe6da7f29c843 checksum: 3bf26c7df8b7f0085f7a53d1f4ee124f8af01c7e4c072c3c10ec0ba91a03611fce124fed279f512b1ff259835bee5589e02f1ba0914ca6b372a7f99aef5faa3c
languageName: node languageName: node
linkType: hard linkType: hard
"@types/node@npm:^20.9.0": "@types/node@npm:^20.9.0":
version: 20.17.10 version: 20.17.12
resolution: "@types/node@npm:20.17.10" resolution: "@types/node@npm:20.17.12"
dependencies: dependencies:
undici-types: ~6.19.2 undici-types: ~6.19.2
checksum: 44cfa7cd9a4ebb8f74efa4b89cf963ca0e522121a7d24d8121d40872bbcfd607eaccdc203c4fe92c8b587125be9ca7b071fe4f9b356f263434b8a8512dbebef0 checksum: 0c0dbeb4e1480a23071ec38e97bb3d776e0ae9828174bf45f9edcf277caa955945cb10d31d84f7a73c66aaf92ae2e022be6331bd00a4bed1f2ad9639a411d17e
languageName: node languageName: node
linkType: hard linkType: hard
@ -626,15 +627,15 @@ __metadata:
linkType: hard linkType: hard
"electron@npm:latest": "electron@npm:latest":
version: 33.2.1 version: 33.3.1
resolution: "electron@npm:33.2.1" resolution: "electron@npm:33.3.1"
dependencies: dependencies:
"@electron/get": ^2.0.0 "@electron/get": ^2.0.0
"@types/node": ^20.9.0 "@types/node": ^20.9.0
extract-zip: ^2.0.1 extract-zip: ^2.0.1
bin: bin:
electron: cli.js electron: cli.js
checksum: c5b7d5fe56f831da5d14be9d24d0a29fdb392d5b4e593b31200a9c01e6260d87bba1216c4cc17297b2f4838e0893428464b9e2ca71c3eaff499dbff1981c0670 checksum: 338b0ae0984b004ba9b387d27c39b146a04689b2afd7e19260599464c67f597a7ea87d0e46b86ffedafc5f66aa4423c0c0dddfa69873379608c447ea232a0acc
languageName: node languageName: node
linkType: hard linkType: hard
@ -735,16 +736,16 @@ __metadata:
linkType: hard linkType: hard
"eslint@npm:^9.17.0": "eslint@npm:^9.17.0":
version: 9.17.0 version: 9.18.0
resolution: "eslint@npm:9.17.0" resolution: "eslint@npm:9.18.0"
dependencies: dependencies:
"@eslint-community/eslint-utils": ^4.2.0 "@eslint-community/eslint-utils": ^4.2.0
"@eslint-community/regexpp": ^4.12.1 "@eslint-community/regexpp": ^4.12.1
"@eslint/config-array": ^0.19.0 "@eslint/config-array": ^0.19.0
"@eslint/core": ^0.9.0 "@eslint/core": ^0.10.0
"@eslint/eslintrc": ^3.2.0 "@eslint/eslintrc": ^3.2.0
"@eslint/js": 9.17.0 "@eslint/js": 9.18.0
"@eslint/plugin-kit": ^0.2.3 "@eslint/plugin-kit": ^0.2.5
"@humanfs/node": ^0.16.6 "@humanfs/node": ^0.16.6
"@humanwhocodes/module-importer": ^1.0.1 "@humanwhocodes/module-importer": ^1.0.1
"@humanwhocodes/retry": ^0.4.1 "@humanwhocodes/retry": ^0.4.1
@ -779,7 +780,7 @@ __metadata:
optional: true optional: true
bin: bin:
eslint: bin/eslint.js eslint: bin/eslint.js
checksum: 0caae58c53bf4dc9b4893d75e62339e4c40fe5589652a3cb63f30a15bad1f34f8f784ca4fca471bbffedabee516a9f9620ebc33818b55e1b715e8f000865c851 checksum: 5e05ae9d25a42ae8cad86a0118ea45107b42446f3614cd0ba822affa3eb85d746e0820529b1fde72820f24aa3c3447d3260505a5ee5e95be1b8b7455740a2256
languageName: node languageName: node
linkType: hard linkType: hard
@ -884,9 +885,9 @@ __metadata:
linkType: hard linkType: hard
"fast-uri@npm:^3.0.1": "fast-uri@npm:^3.0.1":
version: 3.0.3 version: 3.0.5
resolution: "fast-uri@npm:3.0.3" resolution: "fast-uri@npm:3.0.5"
checksum: c52e6c86465f5c240e84a4485fb001088cc743d261a4b54b0050ce4758b1648bdbe53da1328ef9620149dca1435e3de64184f226d7c0a3656cb5837b3491e149 checksum: b56cda8e7355bad9adcc3c2eacd94cb592eaa9536497a4779a9527784f4f95a3755f30525c63583bd85807c493b396ac89926c970f19a60905ed875121ca78fd
languageName: node languageName: node
linkType: hard linkType: hard
@ -1696,9 +1697,9 @@ __metadata:
linkType: hard linkType: hard
"type-fest@npm:^4.18.2, type-fest@npm:^4.20.0": "type-fest@npm:^4.18.2, type-fest@npm:^4.20.0":
version: 4.30.2 version: 4.32.0
resolution: "type-fest@npm:4.30.2" resolution: "type-fest@npm:4.32.0"
checksum: 861f7ae761fa11194743318a486c04b369f6f39060c8c24a099880478efa5c7562b72ad88c38fb7d7dc57111fb378b8922fceddaff363cfc002c6005a99d6bb6 checksum: 0010e2fbe040e46f9d3a76a97e8917e5f0c9a5d7883529a3916fac5c2d2638429864b7dfc083d2c7883894e3c8cee026f91d0301c64fa74c1c0c2dafb488e3c6
languageName: node languageName: node
linkType: hard linkType: hard
@ -1750,9 +1751,9 @@ __metadata:
linkType: hard linkType: hard
"when-exit@npm:^2.1.1": "when-exit@npm:^2.1.1":
version: 2.1.3 version: 2.1.4
resolution: "when-exit@npm:2.1.3" resolution: "when-exit@npm:2.1.4"
checksum: d4242a15148df89e08e518b4c372580516d45a6ab527f14643a3789c6edb9ccfc788b1d717728c1a33c85dc53badefb511a3ee704ea61c4e86f693f3bf7666f2 checksum: d77635a0ed43bb63b3b41930637db16fb1e4e8630f5c6efd4aa669322c32b36ba750b7484991f806d3ac56f4e21cdf3925f82fff289b90706cc21e6745038a26
languageName: node languageName: node
linkType: hard linkType: hard

View File

@ -8,7 +8,7 @@
"license": "PostgreSQL", "license": "PostgreSQL",
"devDependencies": { "devDependencies": {
"@babel/core": "^7.10.2", "@babel/core": "^7.10.2",
"@babel/eslint-parser": "^7.24.7", "@babel/eslint-parser": "^7.26.5",
"@babel/eslint-plugin": "^7.24.7", "@babel/eslint-plugin": "^7.24.7",
"@babel/plugin-proposal-object-rest-spread": "^7.10.1", "@babel/plugin-proposal-object-rest-spread": "^7.10.1",
"@babel/plugin-syntax-jsx": "^7.16.0", "@babel/plugin-syntax-jsx": "^7.16.0",
@ -85,7 +85,7 @@
"@projectstorm/react-diagrams": "^7.0.4", "@projectstorm/react-diagrams": "^7.0.4",
"@simonwep/pickr": "^1.5.1", "@simonwep/pickr": "^1.5.1",
"@szhsin/react-menu": "^4.2.2", "@szhsin/react-menu": "^4.2.2",
"@tanstack/react-query": "5.62.15", "@tanstack/react-query": "5.64.0",
"@tanstack/react-table": "^8.16.0", "@tanstack/react-table": "^8.16.0",
"@tanstack/react-virtual": "^3.8.4", "@tanstack/react-virtual": "^3.8.4",
"@types/classnames": "^2.3.4", "@types/classnames": "^2.3.4",
@ -151,7 +151,7 @@
"uplot-react": "^1.1.4", "uplot-react": "^1.1.4",
"valid-filename": "^4.0.0", "valid-filename": "^4.0.0",
"wkx": "^0.5.0", "wkx": "^0.5.0",
"zustand": "^5.0.1" "zustand": "^5.0.3"
}, },
"resolutions": { "resolutions": {
"rc-resize-observer": "1.4.0" "rc-resize-observer": "1.4.0"

View File

@ -420,6 +420,11 @@ class ForeignTableView(PGChildNodeView, DataTypeReader,
'triggers/sql/{0}/#{1}#'.format(self.manager.server_type, 'triggers/sql/{0}/#{1}#'.format(self.manager.server_type,
self.manager.version) self.manager.version)
self.allowed_privileges = ["a", "r", "w", "d", "D", "x", "t"]
if self.manager.version >= 170000:
self.allowed_privileges = \
["a", "r", "w", "d", "D", "x", "t", "m"]
return f(*args, **kwargs) return f(*args, **kwargs)
return wrap return wrap
@ -914,7 +919,7 @@ class ForeignTableView(PGChildNodeView, DataTypeReader,
# Parse Privileges # Parse Privileges
if 'relacl' in data: if 'relacl' in data:
data['relacl'] = parse_priv_to_db(data['relacl'], data['relacl'] = parse_priv_to_db(data['relacl'],
["a", "r", "w", "x"]) self.allowed_privileges)
SQL = render_template("/".join([self.template_path, SQL = render_template("/".join([self.template_path,
self._CREATE_SQL]), self._CREATE_SQL]),
@ -991,7 +996,7 @@ class ForeignTableView(PGChildNodeView, DataTypeReader,
return internal_server_error(errormsg=str(e)) return internal_server_error(errormsg=str(e))
@staticmethod @staticmethod
def _parse_privileges(data): def _parse_privileges(data, allowed_privileges):
""" """
Parser privilege data as per type. Parser privilege data as per type.
:param data: Data. :param data: Data.
@ -999,13 +1004,13 @@ class ForeignTableView(PGChildNodeView, DataTypeReader,
""" """
if 'relacl' in data and 'added' in data['relacl']: if 'relacl' in data and 'added' in data['relacl']:
data['relacl']['added'] = parse_priv_to_db( data['relacl']['added'] = parse_priv_to_db(
data['relacl']['added'], ["a", "r", "w", "x"]) data['relacl']['added'], allowed_privileges)
if 'relacl' in data and 'changed' in data['relacl']: if 'relacl' in data and 'changed' in data['relacl']:
data['relacl']['changed'] = parse_priv_to_db( data['relacl']['changed'] = parse_priv_to_db(
data['relacl']['changed'], ["a", "r", "w", "x"]) data['relacl']['changed'], allowed_privileges)
if 'relacl' in data and 'deleted' in data['relacl']: if 'relacl' in data and 'deleted' in data['relacl']:
data['relacl']['deleted'] = parse_priv_to_db( data['relacl']['deleted'] = parse_priv_to_db(
data['relacl']['deleted'], ["a", "r", "w", "x"]) data['relacl']['deleted'], allowed_privileges)
@staticmethod @staticmethod
def _check_old_col_ops(old_col_frmt_options, option, col): def _check_old_col_ops(old_col_frmt_options, option, col):
@ -1120,7 +1125,7 @@ class ForeignTableView(PGChildNodeView, DataTypeReader,
data['schema'] = old_data['basensp'] data['schema'] = old_data['basensp']
# Parse Privileges # Parse Privileges
ForeignTableView._parse_privileges(data) ForeignTableView._parse_privileges(data, self.allowed_privileges)
# If ftsrvname is changed while comparing two schemas # If ftsrvname is changed while comparing two schemas
# then we need to drop foreign table and recreate it # then we need to drop foreign table and recreate it
@ -1175,7 +1180,7 @@ class ForeignTableView(PGChildNodeView, DataTypeReader,
# Parse Privileges # Parse Privileges
if 'relacl' in data: if 'relacl' in data:
data['relacl'] = parse_priv_to_db(data['relacl'], data['relacl'] = parse_priv_to_db(data['relacl'],
["a", "r", "w", "x"]) self.allowed_privileges)
sql = render_template("/".join([self.template_path, sql = render_template("/".join([self.template_path,
self._CREATE_SQL]), data=data, self._CREATE_SQL]), data=data,

View File

@ -17,6 +17,7 @@ import VariableSchema from 'top/browser/server_groups/servers/static/js/variable
import _ from 'lodash'; import _ from 'lodash';
import { getNodePrivilegeRoleSchema } from '../../../../../static/js/privilege.ui'; import { getNodePrivilegeRoleSchema } from '../../../../../static/js/privilege.ui';
import { getNodeAjaxOptions } from '../../../../../../../static/js/node_ajax'; import { getNodeAjaxOptions } from '../../../../../../../static/js/node_ajax';
import { getPrivilegesForTableAndLikeObjects } from '../../../tables/static/js/table.ui';
export default class ForeignTableSchema extends BaseUISchema { export default class ForeignTableSchema extends BaseUISchema {
@ -50,6 +51,7 @@ export default class ForeignTableSchema extends BaseUISchema {
nodeInfo: null, nodeInfo: null,
...fieldOptions, ...fieldOptions,
}; };
this.nodeInfo = this.fieldOptions.nodeInfo;
this.columnsObj = getNodeColumnSchema(this.fieldOptions.nodeInfo, this.fieldOptions.nodeData, this.fieldOptions.pgBrowser); this.columnsObj = getNodeColumnSchema(this.fieldOptions.nodeInfo, this.fieldOptions.nodeData, this.fieldOptions.pgBrowser);
} }
@ -222,7 +224,7 @@ export default class ForeignTableSchema extends BaseUISchema {
}, },
{ {
id: 'relacl', label: gettext('Privileges'), type: 'collection', id: 'relacl', label: gettext('Privileges'), type: 'collection',
schema: this.getPrivilegeRoleSchema(['a','r','w','x']), schema: this.getPrivilegeRoleSchema(getPrivilegesForTableAndLikeObjects(obj.getServerVersion())),
uniqueCol : ['grantee', 'grantor'], uniqueCol : ['grantee', 'grantor'],
editable: false, editable: false,
group: gettext('Security'), mode: ['edit', 'create'], group: gettext('Security'), mode: ['edit', 'create'],

View File

@ -11,6 +11,7 @@ FROM
WHEN 'DELETE' THEN 'd' WHEN 'DELETE' THEN 'd'
WHEN 'EXECUTE' THEN 'X' WHEN 'EXECUTE' THEN 'X'
WHEN 'INSERT' THEN 'a' WHEN 'INSERT' THEN 'a'
WHEN 'MAINTAIN' THEN 'm'
WHEN 'REFERENCES' THEN 'x' WHEN 'REFERENCES' THEN 'x'
WHEN 'SELECT' THEN 'r' WHEN 'SELECT' THEN 'r'
WHEN 'TEMPORARY' THEN 'T' WHEN 'TEMPORARY' THEN 'T'

View File

@ -0,0 +1,285 @@
{
"scenarios": [
{
"type": "create",
"name": "Create FDW for foreign table",
"endpoint": "NODE-foreign_data_wrapper.obj",
"sql_endpoint": "NODE-foreign_data_wrapper.sql_id",
"data": {
"name": "test_fdw_for_foreign_table",
"fdwacl": [],
"fdwoptions": []
},
"store_object_id": "True"
},
{
"type": "create",
"name": "Create foreign server for foreign table",
"endpoint": "NODE-foreign_server.obj",
"sql_endpoint": "NODE-foreign_server.sql_id",
"data": {
"name":"test_fs_for_foreign_table"
},
"store_object_id": "True"
},
{
"type": "create",
"name": "Create Foreign Table with all options",
"endpoint": "NODE-foreign_table.obj",
"sql_endpoint": "NODE-foreign_table.sql_id",
"msql_endpoint": "NODE-foreign_table.msql",
"data": {
"name": "FT1_$%{}[]()&*^!@\"'`\\/#",
"owner":"postgres",
"schema": "public",
"basensp":"public",
"description":"Test Comment",
"ftsrvname":"test_fs_for_foreign_table",
"columns":[{
"name":"col1",
"cltype":"bigint",
"coloptions":[]
},{
"name":"col2",
"cltype":"text",
"coloptions":[]
}],
"constraints":[{
"conname":"cons1",
"consrc":"true",
"connoinherit":true,
"convalidated":true
}],
"ftoptions":[{
"option":"schema_name",
"value":"public"
},{
"option":"table_name",
"value":"test_table"
}],
"relacl":[{
"grantee":"PUBLIC",
"grantor":"postgres",
"privileges":[{
"privilege_type":"a",
"privilege":true,
"with_grant":false
},{
"privilege_type":"r",
"privilege":true,
"with_grant":false
},{
"privilege_type":"w",
"privilege":true,
"with_grant":false
},{
"privilege_type":"x",
"privilege":true,
"with_grant":false
},{
"privilege_type":"d",
"privilege":true,
"with_grant":false
},{
"privilege_type":"D",
"privilege":true,
"with_grant":false
},{
"privilege_type":"t",
"privilege":true,
"with_grant":false
}, {
"privilege_type":"m",
"privilege":true,
"with_grant":false
}]
}]
},
"expected_sql_file": "create_foreign_table_with_all_options.sql",
"expected_msql_file": "create_foreign_table_with_all_options_msql.sql"
}, {
"type": "delete",
"name": "Drop foreign table",
"endpoint": "NODE-foreign_table.delete_id"
},
{
"type": "create",
"name": "Create Foreign Table",
"endpoint": "NODE-foreign_table.obj",
"sql_endpoint": "NODE-foreign_table.sql_id",
"data": {
"name": "FT1_$%{}[]()&*^!@\"'`\\/#",
"owner": "postgres",
"schema": "public",
"basensp": "public",
"ftsrvname": "test_fs_for_foreign_table",
"columns": []
}
},
{
"type": "alter",
"name": "Alter Foreign Table comment and add columns",
"endpoint": "NODE-foreign_table.obj_id",
"sql_endpoint": "NODE-foreign_table.sql_id",
"msql_endpoint": "NODE-foreign_table.msql_id",
"data": {
"description":"Test Comment",
"columns": {
"added": [{
"name":"col1",
"cltype":"bigint",
"coloptions":[],
"attnotnull": true
},{
"name":"col2",
"cltype":"text",
"coloptions":[]
}]
}
},
"expected_sql_file": "alter_comment_add_columns.sql",
"expected_msql_file": "alter_comment_add_columns_msql.sql"
},
{
"type": "alter",
"name": "Alter Foreign Table add constraints and options",
"endpoint": "NODE-foreign_table.obj_id",
"sql_endpoint": "NODE-foreign_table.sql_id",
"msql_endpoint": "NODE-foreign_table.msql_id",
"data": {
"constraints": {
"added": [{
"conname":"cons1",
"consrc":"true",
"connoinherit":true,
"convalidated":true
}]
},
"ftoptions": {
"added": [{
"option":"schema_name",
"value":"public"
},{
"option":"table_name",
"value":"test_table"
}]
}
},
"expected_sql_file": "alter_add_cons_opts.sql",
"expected_msql_file": "alter_add_cons_opts_msql.sql"
},
{
"type": "alter",
"name": "Alter Foreign Table add privileges",
"endpoint": "NODE-foreign_table.obj_id",
"sql_endpoint": "NODE-foreign_table.sql_id",
"msql_endpoint": "NODE-foreign_table.msql_id",
"data": {
"relacl":{
"added": [{
"grantee":"PUBLIC",
"grantor":"postgres",
"privileges":[{
"privilege_type":"r",
"privilege":true,
"with_grant":false
}]
}]
}
},
"expected_sql_file": "alter_add_priv.sql",
"expected_msql_file": "alter_add_priv_msql.sql"
},
{
"type": "alter",
"name": "Alter Foreign Table change option and column",
"endpoint": "NODE-foreign_table.obj_id",
"sql_endpoint": "NODE-foreign_table.sql_id",
"msql_endpoint": "NODE-foreign_table.msql_id",
"data": {
"ftoptions": {
"changed": [{
"option":"schema_name",
"value":"test_public"
}]
},
"columns": {
"changed": [{
"name": "col1",
"attnum": 1,
"attoptions": null,
"attnotnull":false,
"attstattarget": 10,
"collname": "",
"coloptions": [],
"cltype": "integer"
}],
"deleted": [{
"name":"col2",
"cltype":"text"
}]
}
},
"expected_sql_file": "alter_col_opts.sql",
"expected_msql_file": "alter_col_opts_msql.sql"
},
{
"type": "alter",
"name": "Alter Foreign Table remove option, constraint, privileges",
"endpoint": "NODE-foreign_table.obj_id",
"sql_endpoint": "NODE-foreign_table.sql_id",
"msql_endpoint": "NODE-foreign_table.msql_id",
"data": {
"relacl":{
"deleted": [{
"grantee":"PUBLIC",
"grantor":"postgres",
"privileges":[{
"privilege_type":"a",
"privilege":true,
"with_grant":false
},{
"privilege_type":"r",
"privilege":true,
"with_grant":false
}]
}]
},
"constraints": {
"deleted": [{
"conname":"cons1",
"consrc":"true",
"connoinherit":true,
"convalidated":true
}]
},
"ftoptions": {
"deleted": [{
"option":"schema_name",
"value":"public"
}]
}
},
"expected_sql_file": "alter_remove_opts_priv_cons.sql",
"expected_msql_file": "alter_remove_opts_priv_cons_msql.sql"
}, {
"type": "delete",
"name": "Drop foreign table",
"endpoint": "NODE-foreign_table.delete_id"
}, {
"type": "delete",
"name": "Drop foreign server",
"endpoint": "NODE-foreign_server.delete_id",
"data": {
"name": "test_fs_for_foreign_table"
}
}, {
"type": "delete",
"name": "Drop FDW",
"endpoint": "NODE-foreign_data_wrapper.delete_id",
"data": {
"name": "test_fdw_for_foreign_table"
}
}
]
}

View File

@ -76,6 +76,18 @@
"privilege_type":"x", "privilege_type":"x",
"privilege":true, "privilege":true,
"with_grant":false "with_grant":false
},{
"privilege_type":"d",
"privilege":true,
"with_grant":false
},{
"privilege_type":"D",
"privilege":true,
"with_grant":false
},{
"privilege_type":"t",
"privilege":true,
"with_grant":false
}] }]
}] }]
}, },

View File

@ -0,0 +1,278 @@
{
"scenarios": [
{
"type": "create",
"name": "Create FDW for foreign table",
"endpoint": "NODE-foreign_data_wrapper.obj",
"sql_endpoint": "NODE-foreign_data_wrapper.sql_id",
"data": {
"name": "test_fdw_for_foreign_table",
"fdwacl": [],
"fdwoptions": []
},
"store_object_id": "True"
}, {
"type": "create",
"name": "Create foreign server for foreign table",
"endpoint": "NODE-foreign_server.obj",
"sql_endpoint": "NODE-foreign_server.sql_id",
"data": {
"name":"test_fs_for_foreign_table"
},
"store_object_id": "True"
}, {
"type": "create",
"name": "Create Foreign Table with all options",
"endpoint": "NODE-foreign_table.obj",
"sql_endpoint": "NODE-foreign_table.sql_id",
"msql_endpoint": "NODE-foreign_table.msql",
"data": {
"name": "FT1_$%{}[]()&*^!@\"'`\\/#",
"owner":"enterprisedb",
"schema": "public",
"basensp":"public",
"description":"Test Comment",
"ftsrvname":"test_fs_for_foreign_table",
"columns":[{
"name":"col1",
"cltype":"bigint",
"coloptions":[]
},{
"name":"col2",
"cltype":"text",
"coloptions":[]
}],
"constraints":[{
"conname":"cons1",
"consrc":"true",
"connoinherit":true,
"convalidated":true
}],
"ftoptions":[{
"option":"schema_name",
"value":"public"
},{
"option":"table_name",
"value":"test_table"
}],
"relacl":[{
"grantee":"PUBLIC",
"grantor":"enterprisedb",
"privileges":[{
"privilege_type":"a",
"privilege":true,
"with_grant":false
},{
"privilege_type":"r",
"privilege":true,
"with_grant":false
},{
"privilege_type":"w",
"privilege":true,
"with_grant":false
},{
"privilege_type":"x",
"privilege":true,
"with_grant":false
},{
"privilege_type":"d",
"privilege":true,
"with_grant":false
},{
"privilege_type":"D",
"privilege":true,
"with_grant":false
},{
"privilege_type":"t",
"privilege":true,
"with_grant":false
},{
"privilege_type":"m",
"privilege":true,
"with_grant":false
}]
}]
},
"expected_sql_file": "create_foreign_table_with_all_options.sql",
"expected_msql_file": "create_foreign_table_with_all_options_msql.sql"
}, {
"type": "delete",
"name": "Drop foreign table",
"endpoint": "NODE-foreign_table.delete_id"
},
{
"type": "create",
"name": "Create Foreign Table",
"endpoint": "NODE-foreign_table.obj",
"sql_endpoint": "NODE-foreign_table.sql_id",
"data": {
"name": "FT1_$%{}[]()&*^!@\"'`\\/#",
"owner": "enterprisedb",
"schema": "public",
"basensp": "public",
"ftsrvname": "test_fs_for_foreign_table",
"columns": []
}
}, {
"type": "alter",
"name": "Alter Foreign Table comment and add columns",
"endpoint": "NODE-foreign_table.obj_id",
"sql_endpoint": "NODE-foreign_table.sql_id",
"msql_endpoint": "NODE-foreign_table.msql_id",
"data": {
"description":"Test Comment",
"columns": {
"added": [{
"name":"col1",
"cltype":"bigint",
"coloptions":[],
"attnotnull": true
},{
"name":"col2",
"cltype":"text",
"coloptions":[]
}]
}
},
"expected_sql_file": "alter_comment_add_columns.sql",
"expected_msql_file": "alter_comment_add_columns_msql.sql"
},{
"type": "alter",
"name": "Alter Foreign Table add constraints and options",
"endpoint": "NODE-foreign_table.obj_id",
"sql_endpoint": "NODE-foreign_table.sql_id",
"msql_endpoint": "NODE-foreign_table.msql_id",
"data": {
"constraints": {
"added": [{
"conname":"cons1",
"consrc":"true",
"connoinherit":true,
"convalidated":true
}]
},
"ftoptions": {
"added": [{
"option":"schema_name",
"value":"public"
},{
"option":"table_name",
"value":"test_table"
}]
}
},
"expected_sql_file": "alter_add_cons_opts.sql",
"expected_msql_file": "alter_add_cons_opts_msql.sql"
}, {
"type": "alter",
"name": "Alter Foreign Table add privileges",
"endpoint": "NODE-foreign_table.obj_id",
"sql_endpoint": "NODE-foreign_table.sql_id",
"msql_endpoint": "NODE-foreign_table.msql_id",
"data": {
"relacl":{
"added": [{
"grantee":"PUBLIC",
"grantor":"enterprisedb",
"privileges":[{
"privilege_type":"r",
"privilege":true,
"with_grant":false
}]
}]
}
},
"expected_sql_file": "alter_add_priv.sql",
"expected_msql_file": "alter_add_priv_msql.sql"
}, {
"type": "alter",
"name": "Alter Foreign Table change option and column",
"endpoint": "NODE-foreign_table.obj_id",
"sql_endpoint": "NODE-foreign_table.sql_id",
"msql_endpoint": "NODE-foreign_table.msql_id",
"data": {
"ftoptions": {
"changed": [{
"option":"schema_name",
"value":"test_public"
}]
},
"columns": {
"changed": [{
"name": "col1",
"attnum": 1,
"attoptions": null,
"attnotnull":false,
"attstattarget": 10,
"collname": "",
"coloptions": [],
"cltype": "integer"
}],
"deleted": [{
"name":"col2",
"cltype":"text"
}]
}
},
"expected_sql_file": "alter_col_opts.sql",
"expected_msql_file": "alter_col_opts_msql.sql"
}, {
"type": "alter",
"name": "Alter Foreign Table remove option, constraint, privileges",
"endpoint": "NODE-foreign_table.obj_id",
"sql_endpoint": "NODE-foreign_table.sql_id",
"msql_endpoint": "NODE-foreign_table.msql_id",
"data": {
"relacl":{
"deleted": [{
"grantee":"PUBLIC",
"grantor":"enterprisedb",
"privileges":[{
"privilege_type":"a",
"privilege":true,
"with_grant":false
},{
"privilege_type":"r",
"privilege":true,
"with_grant":false
}]
}]
},
"constraints": {
"deleted": [{
"conname":"cons1",
"consrc":"true",
"connoinherit":true,
"convalidated":true
}]
},
"ftoptions": {
"deleted": [{
"option":"schema_name",
"value":"public"
}]
}
},
"expected_sql_file": "alter_remove_opts_priv_cons.sql",
"expected_msql_file": "alter_remove_opts_priv_cons_msql.sql"
}, {
"type": "delete",
"name": "Drop foreign table",
"endpoint": "NODE-foreign_table.delete_id"
}, {
"type": "delete",
"name": "Drop foreign server",
"endpoint": "NODE-foreign_server.delete_id",
"data": {
"name": "test_fs_for_foreign_table"
}
}, {
"type": "delete",
"name": "Drop FDW",
"endpoint": "NODE-foreign_data_wrapper.delete_id",
"data": {
"name": "test_fdw_for_foreign_table"
}
}
]
}

View File

@ -74,6 +74,18 @@
"privilege_type":"x", "privilege_type":"x",
"privilege":true, "privilege":true,
"with_grant":false "with_grant":false
},{
"privilege_type":"d",
"privilege":true,
"with_grant":false
},{
"privilege_type":"D",
"privilege":true,
"with_grant":false
},{
"privilege_type":"t",
"privilege":true,
"with_grant":false
}] }]
}] }]
}, },

View File

@ -88,7 +88,8 @@ define('pgadmin.node.schema', [
roles:() => getNodeListByName('role', treeNodeInfo, itemNodeData, { roles:() => getNodeListByName('role', treeNodeInfo, itemNodeData, {
cacheLevel: 'database' cacheLevel: 'database'
}), }),
server_info: pgBrowser.serverInfo[treeNodeInfo.server._id] server_info: pgBrowser.serverInfo[treeNodeInfo.server._id],
nodeInfo: treeNodeInfo,
}, },
{ {
namespaceowner: pgBrowser.serverInfo[treeNodeInfo.server._id].user.name namespaceowner: pgBrowser.serverInfo[treeNodeInfo.server._id].user.name

View File

@ -88,7 +88,7 @@ export default class PGSchema extends BaseUISchema {
type: 'nested-tab', type: 'nested-tab',
group: gettext('Default privileges'), group: gettext('Default privileges'),
mode: ['create','edit'], mode: ['create','edit'],
schema: new DefaultPrivSchema(pgSchemaObj.getPrivilegeRoleSchema) schema: new DefaultPrivSchema(pgSchemaObj.getPrivilegeRoleSchema, pgSchemaObj.fieldOptions.nodeInfo)
} }
]; ];
} }

View File

@ -11,7 +11,7 @@ import gettext from 'sources/gettext';
import BaseUISchema from 'sources/SchemaView/base_schema.ui'; import BaseUISchema from 'sources/SchemaView/base_schema.ui';
import SecLabelSchema from 'top/browser/server_groups/servers/static/js/sec_label.ui'; import SecLabelSchema from 'top/browser/server_groups/servers/static/js/sec_label.ui';
import _ from 'lodash'; import _ from 'lodash';
import { ConstraintsSchema } from '../../../static/js/table.ui'; import { ConstraintsSchema, getPrivilegesForTableAndLikeObjects } from '../../../static/js/table.ui';
import { PartitionKeysSchema, PartitionsSchema } from '../../../static/js/partition.utils.ui'; import { PartitionKeysSchema, PartitionsSchema } from '../../../static/js/partition.utils.ui';
import { getNodePrivilegeRoleSchema } from '../../../../../../static/js/privilege.ui'; import { getNodePrivilegeRoleSchema } from '../../../../../../static/js/privilege.ui';
import { getNodeAjaxOptions, getNodeListByName } from '../../../../../../../../static/js/node_ajax'; import { getNodeAjaxOptions, getNodeListByName } from '../../../../../../../../static/js/node_ajax';
@ -429,7 +429,7 @@ export default class PartitionTableSchema extends BaseUISchema {
}, },
{ {
id: 'relacl', label: gettext('Privileges'), type: 'collection', id: 'relacl', label: gettext('Privileges'), type: 'collection',
group: gettext('Security'), schema: this.getPrivilegeRoleSchema(['a','r','w','d','D','x','t']), group: gettext('Security'), schema: this.getPrivilegeRoleSchema(getPrivilegesForTableAndLikeObjects(this.getServerVersion())),
mode: ['edit', 'create'], canAdd: true, canDelete: true, mode: ['edit', 'create'], canAdd: true, canDelete: true,
uniqueCol : ['grantee'], uniqueCol : ['grantee'],
},{ },{

View File

@ -24,6 +24,14 @@ import { getNodeExclusionConstraintSchema } from '../../constraints/exclusion_co
import { getNodePrivilegeRoleSchema } from '../../../../../static/js/privilege.ui'; import { getNodePrivilegeRoleSchema } from '../../../../../static/js/privilege.ui';
import pgAdmin from 'sources/pgadmin'; import pgAdmin from 'sources/pgadmin';
export function getPrivilegesForTableAndLikeObjects(server_version) {
if (server_version && server_version >= 170000) {
return ['a', 'r', 'w', 'd', 'D', 'x', 't', 'm'];
}
return ['a', 'r', 'w', 'd', 'D', 'x', 't'];
}
export function getNodeTableSchema(treeNodeInfo, itemNodeData, pgBrowser) { export function getNodeTableSchema(treeNodeInfo, itemNodeData, pgBrowser) {
const spcname = () => getNodeListByName( const spcname = () => getNodeListByName(
'tablespace', treeNodeInfo, itemNodeData, {}, (m) => { 'tablespace', treeNodeInfo, itemNodeData, {}, (m) => {
@ -713,7 +721,7 @@ export default class TableSchema extends BaseUISchema {
/* Create PK if none */ /* Create PK if none */
return {primary_key: [ return {primary_key: [
obj.constraintsObj.primaryKeyObj.getNewData({ obj.constraintsObj.primaryKeyObj.getNewData({
columns: [{column: columnData.name, columns: [{column: columnData.name,
}], }],
}) })
]}; ]};
@ -1022,7 +1030,7 @@ export default class TableSchema extends BaseUISchema {
}, },
{ {
id: 'relacl', label: gettext('Privileges'), type: 'collection', id: 'relacl', label: gettext('Privileges'), type: 'collection',
group: 'security_group', schema: this.getPrivilegeRoleSchema(['a','r','w','d','D','x','t']), group: 'security_group', schema: this.getPrivilegeRoleSchema(getPrivilegesForTableAndLikeObjects(this.getServerVersion())),
mode: ['edit', 'create'], canAdd: true, canDelete: true, mode: ['edit', 'create'], canAdd: true, canDelete: true,
uniqueCol : ['grantee'], uniqueCol : ['grantee'],
},{ },{

View File

@ -10,6 +10,7 @@ FROM
WHEN 'DELETE' THEN 'd' WHEN 'DELETE' THEN 'd'
WHEN 'EXECUTE' THEN 'X' WHEN 'EXECUTE' THEN 'X'
WHEN 'INSERT' THEN 'a' WHEN 'INSERT' THEN 'a'
WHEN 'MAINTAIN' THEN 'm'
WHEN 'REFERENCES' THEN 'x' WHEN 'REFERENCES' THEN 'x'
WHEN 'SELECT' THEN 'r' WHEN 'SELECT' THEN 'r'
WHEN 'TEMPORARY' THEN 'T' WHEN 'TEMPORARY' THEN 'T'

View File

@ -148,6 +148,8 @@ class BaseTableView(PGChildNodeView, BasePartitionTable, VacuumSettings):
# Supported ACL for table # Supported ACL for table
self.acl = ['a', 'r', 'w', 'd', 'D', 'x', 't'] self.acl = ['a', 'r', 'w', 'd', 'D', 'x', 't']
if ver >= 170000:
self.acl = ['a', 'r', 'w', 'd', 'D', 'x', 't', 'm']
# Supported ACL for columns # Supported ACL for columns
self.column_acl = ['a', 'r', 'w', 'x'] self.column_acl = ['a', 'r', 'w', 'x']

View File

@ -0,0 +1,30 @@
{# List of allowed privileges for PostgreSQL 9.2 or later #}
{#
Format for allowed privileges is:
"acl_col": {
"type": "name",
"acl": [...]
}
#}
{
"nspacl": {
"type": "DATABASE",
"acl": ["c", "C", "T"]
},
"deftblacl": {
"type": "TABLE",
"acl": ["a", "r", "w", "d", "D", "x", "t", "m"]
},
"defseqacl": {
"type": "SEQUENCE",
"acl": ["U", "r", "w"]
},
"deffuncacl": {
"type": "FUNCTION",
"acl": ["X"]
},
"deftypeacl": {
"type": "TYPE",
"acl": ["U"]
}
}

View File

@ -0,0 +1,30 @@
{# List of allowed privileges for PPAS 9.2 or later #}
{#
Format for allowed privileges is:
"acl_col": {
"type": "name",
"acl": [...]
}
#}
{
"nspacl": {
"type": "DATABASE",
"acl": ["c", "C", "T"]
},
"deftblacl": {
"type": "TABLE",
"acl": ["a", "r", "w", "d", "D", "x", "t", "m"]
},
"defseqacl": {
"type": "SEQUENCE",
"acl": ["U", "r", "w"]
},
"deffuncacl": {
"type": "FUNCTION",
"acl": ["X"]
},
"deftypeacl": {
"type": "TYPE",
"acl": ["U"]
}
}

View File

@ -0,0 +1,30 @@
{# List of allowed privileges for PostgreSQL 9.2 or later #}
{#
Format for allowed privileges is:
"acl_col": {
"type": "name",
"acl": [...]
}
#}
{
"nspacl": {
"type": "SCHEMA",
"acl": ["C", "U"]
},
"deftblacl": {
"type": "TABLE",
"acl": ["a", "r", "w", "d", "D", "x", "t", "m"]
},
"defseqacl": {
"type": "SEQUENCE",
"acl": ["U", "r", "w"]
},
"deffuncacl": {
"type": "FUNCTION",
"acl": ["X"]
},
"deftypeacl": {
"type": "TYPE",
"acl": ["U"]
}
}

View File

@ -16,6 +16,7 @@ FROM
WHEN 'DELETE' THEN 'd' WHEN 'DELETE' THEN 'd'
WHEN 'EXECUTE' THEN 'X' WHEN 'EXECUTE' THEN 'X'
WHEN 'INSERT' THEN 'a' WHEN 'INSERT' THEN 'a'
WHEN 'MAINTAIN' THEN 'm'
WHEN 'REFERENCES' THEN 'x' WHEN 'REFERENCES' THEN 'x'
WHEN 'SELECT' THEN 'r' WHEN 'SELECT' THEN 'r'
WHEN 'TEMPORARY' THEN 'T' WHEN 'TEMPORARY' THEN 'T'

View File

@ -0,0 +1,30 @@
{# List of allowed privileges for PPAS 9.2 or later #}
{#
Format for allowed privileges is:
"acl_col": {
"type": "name",
"acl": [...]
}
#}
{
"nspacl": {
"type": "SCHEMA",
"acl": ["C", "U"]
},
"deftblacl": {
"type": "TABLE",
"acl": ["a", "r", "w", "d", "D", "x", "t", "m"]
},
"defseqacl": {
"type": "SEQUENCE",
"acl": ["U", "r", "w"]
},
"deffuncacl": {
"type": "FUNCTION",
"acl": ["X"]
},
"deftypeacl": {
"type": "TYPE",
"acl": ["U"]
}
}

View File

@ -19,6 +19,7 @@ FROM
WHEN 'DELETE' THEN 'd' WHEN 'DELETE' THEN 'd'
WHEN 'EXECUTE' THEN 'X' WHEN 'EXECUTE' THEN 'X'
WHEN 'INSERT' THEN 'a' WHEN 'INSERT' THEN 'a'
WHEN 'MAINTAIN' THEN 'm'
WHEN 'REFERENCES' THEN 'x' WHEN 'REFERENCES' THEN 'x'
WHEN 'SELECT' THEN 'r' WHEN 'SELECT' THEN 'r'
WHEN 'TEMPORARY' THEN 'T' WHEN 'TEMPORARY' THEN 'T'

View File

@ -0,0 +1,320 @@
{
"scenarios": [
{
"type": "create",
"name": "Create Schema With All Options",
"endpoint": "NODE-schema.obj",
"sql_endpoint": "NODE-schema.sql_id",
"msql_endpoint": "NODE-schema.msql",
"data": {
"name": "test_schema_$%{}[]()&*^!@\"\"'`\\/#",
"description": "This is a test comment",
"nspacl": [{
"grantee": "PUBLIC",
"grantor": "postgres",
"privileges": [{
"privilege_type": "C",
"privilege": true,
"with_grant": false
}, {
"privilege_type": "U",
"privilege": true,
"with_grant": false
}]
}],
"seclabels": [],
"deftblacl": [{
"grantee": "PUBLIC",
"grantor": "postgres",
"privileges": [{
"privilege_type": "a",
"privilege": true,
"with_grant": false
}, {
"privilege_type": "r",
"privilege": true,
"with_grant": false
}, {
"privilege_type": "w",
"privilege": true,
"with_grant": false
}, {
"privilege_type": "d",
"privilege": true,
"with_grant": false
}, {
"privilege_type": "D",
"privilege": true,
"with_grant": false
}, {
"privilege_type": "x",
"privilege": true,
"with_grant": false
}, {
"privilege_type": "t",
"privilege": true,
"with_grant": false
}, {
"privilege_type": "m",
"privilege": true,
"with_grant": false
}]
}],
"defseqacl": [{
"grantee": "PUBLIC",
"grantor": "postgres",
"privileges": [{
"privilege_type": "r",
"privilege": true,
"with_grant": false
}, {
"privilege_type": "w",
"privilege": true,
"with_grant": false
}, {
"privilege_type": "U",
"privilege": true,
"with_grant": false
}]
}],
"deffuncacl": [{
"grantee": "PUBLIC",
"grantor": "postgres",
"privileges": [{
"privilege_type": "X",
"privilege": true,
"with_grant": false
}]
}],
"deftypeacl": [{
"grantee": "PUBLIC",
"grantor": "postgres",
"privileges": [{
"privilege_type": "U",
"privilege": true,
"with_grant": false
}]
}]
},
"expected_sql_file": "create_schema_all_options.sql",
"expected_msql_file": "create_schema_all_options_msql.sql"
}, {
"type": "delete",
"name": "Drop Schema with all options",
"endpoint": "NODE-schema.obj_id",
"data": {
"name": "test_schema_$%{}[]()&*^!@\"\"'`\\/#"
}
}, {
"type": "create",
"name": "Create Schema with comments",
"endpoint": "NODE-schema.obj",
"sql_endpoint": "NODE-schema.sql_id",
"msql_endpoint": "NODE-schema.msql",
"data": {
"name": "test_schema_$%{}[]()&*^!@\"\"'`\\/#",
"description": "This is a test comment"
},
"expected_sql_file": "create_schema_with_comment.sql",
"expected_msql_file": "create_schema_with_comment_msql.sql"
}, {
"type": "alter",
"name": "Alert Schema Name",
"endpoint": "NODE-schema.obj_id",
"sql_endpoint": "NODE-schema.sql_id",
"msql_endpoint": "NODE-schema.msql_id",
"data": {
"name": "test_schema1_$%{}[]()&*^!@\"\"'`\\/#"
},
"expected_sql_file": "alter_schema_name.sql",
"expected_msql_file": "alter_schema_name_msql.sql"
},
{
"type": "delete",
"name": "Drop Schema",
"endpoint": "NODE-schema.obj_id",
"data": {
"name": "test_schema1_$%{}[]()&*^!@\"\"'`\\/#"
}
}, {
"type": "create",
"name": "Create Schema",
"endpoint": "NODE-schema.obj",
"sql_endpoint": "NODE-schema.sql_id",
"data": {
"name": "test_schema_$%{}[]()&*^!@\"\"'`\\/#"
}
}, {
"type": "alter",
"name": "Alert Schema Add Privileges",
"endpoint": "NODE-schema.obj_id",
"sql_endpoint": "NODE-schema.sql_id",
"msql_endpoint": "NODE-schema.msql_id",
"data": {
"nspacl": {
"added": [{
"grantee": "PUBLIC",
"grantor": "postgres",
"privileges": [{
"privilege_type": "C",
"privilege": true,
"with_grant": false
}]
}]
},
"deftblacl": {
"added": [{
"grantee": "PUBLIC",
"grantor": "postgres",
"privileges": [{
"privilege_type": "r",
"privilege": true,
"with_grant": false
}, {
"privilege_type": "w",
"privilege": true,
"with_grant": false
}]
}]
},
"defseqacl": {
"added": [{
"grantee": "PUBLIC",
"grantor": "postgres",
"privileges": [{
"privilege_type": "r",
"privilege": true,
"with_grant": false
}, {
"privilege_type": "w",
"privilege": true,
"with_grant": false
}]
}]
},
"deffuncacl": {
"added": [{
"grantee": "PUBLIC",
"grantor": "postgres",
"privileges": [{
"privilege_type": "X",
"privilege": true,
"with_grant": false
}]
}]
},
"deftypeacl": {
"added": [{
"grantee": "PUBLIC",
"grantor": "postgres",
"privileges": [{
"privilege_type": "U",
"privilege": true,
"with_grant": false
}]
}]
}
},
"expected_sql_file": "alter_schema_add_priv.sql",
"expected_msql_file": "alter_schema_add_priv_msql.sql"
}, {
"type": "alter",
"name": "Alert Schema Update Privileges",
"endpoint": "NODE-schema.obj_id",
"sql_endpoint": "NODE-schema.sql_id",
"msql_endpoint": "NODE-schema.msql_id",
"data": {
"nspacl": {
"changed": [{
"grantee": "PUBLIC",
"grantor": "postgres",
"privileges": [{
"privilege_type": "U",
"privilege": true,
"with_grant": false
}]
}]
},
"deftblacl": {
"changed": [{
"grantee": "PUBLIC",
"grantor": "postgres",
"privileges": [{
"privilege_type": "r",
"privilege": true,
"with_grant": false
}]
}]
},
"defseqacl": {
"changed": [{
"grantee": "PUBLIC",
"grantor": "postgres",
"privileges": [{
"privilege_type": "w",
"privilege": true,
"with_grant": false
}]
}]
}
},
"expected_sql_file": "alter_schema_update_priv.sql",
"expected_msql_file": "alter_schema_update_priv_msql.sql"
}, {
"type": "alter",
"name": "Alert Schema Drop Privileges",
"endpoint": "NODE-schema.obj_id",
"sql_endpoint": "NODE-schema.sql_id",
"msql_endpoint": "NODE-schema.msql_id",
"data": {
"nspacl": {
"deleted": [{
"grantee": "PUBLIC",
"grantor": "postgres",
"privileges": [{
"privilege_type": "C",
"privilege": true,
"with_grant": false
}]
}]
},
"defseqacl": {
"deleted": [{
"grantee": "PUBLIC",
"grantor": "postgres",
"privileges": [{
"privilege_type": "r",
"privilege": true,
"with_grant": false
}, {
"privilege_type": "w",
"privilege": true,
"with_grant": false
}]
}]
},
"deftypeacl": {
"deleted": [{
"grantee": "PUBLIC",
"grantor": "postgres",
"privileges": [{
"privilege_type": "U",
"privilege": true,
"with_grant": false
}]
}]
}
},
"expected_sql_file": "alter_schema_drop_priv.sql",
"expected_msql_file": "alter_schema_drop_priv_msql.sql"
},
{
"type": "delete",
"name": "Drop Schema",
"endpoint": "NODE-schema.obj_id",
"data": {
"name": "test_schema_$%{}[]()&*^!@\"\"'`\\/#"
}
}
]
}

View File

@ -0,0 +1,319 @@
{
"scenarios": [
{
"type": "create",
"name": "Create Schema With All Options",
"endpoint": "NODE-schema.obj",
"sql_endpoint": "NODE-schema.sql_id",
"msql_endpoint": "NODE-schema.msql",
"data": {
"name": "test_schema_$%{}[]()&*^!@\"\"'`\\/#",
"description": "This is a test comment",
"nspacl": [{
"grantee": "PUBLIC",
"grantor": "enterprisedb",
"privileges": [{
"privilege_type": "C",
"privilege": true,
"with_grant": false
}, {
"privilege_type": "U",
"privilege": true,
"with_grant": false
}]
}],
"seclabels": [],
"deftblacl": [{
"grantee": "PUBLIC",
"grantor": "enterprisedb",
"privileges": [{
"privilege_type": "a",
"privilege": true,
"with_grant": false
}, {
"privilege_type": "r",
"privilege": true,
"with_grant": false
}, {
"privilege_type": "w",
"privilege": true,
"with_grant": false
}, {
"privilege_type": "d",
"privilege": true,
"with_grant": false
}, {
"privilege_type": "D",
"privilege": true,
"with_grant": false
}, {
"privilege_type": "x",
"privilege": true,
"with_grant": false
}, {
"privilege_type": "t",
"privilege": true,
"with_grant": false
}, {
"privilege_type": "m",
"privilege": true,
"with_grant": false
}]
}],
"defseqacl": [{
"grantee": "PUBLIC",
"grantor": "enterprisedb",
"privileges": [{
"privilege_type": "r",
"privilege": true,
"with_grant": false
}, {
"privilege_type": "w",
"privilege": true,
"with_grant": false
}, {
"privilege_type": "U",
"privilege": true,
"with_grant": false
}]
}],
"deffuncacl": [{
"grantee": "PUBLIC",
"grantor": "enterprisedb",
"privileges": [{
"privilege_type": "X",
"privilege": true,
"with_grant": false
}]
}],
"deftypeacl": [{
"grantee": "PUBLIC",
"grantor": "enterprisedb",
"privileges": [{
"privilege_type": "U",
"privilege": true,
"with_grant": false
}]
}]
},
"expected_sql_file": "create_schema_all_options.sql",
"expected_msql_file": "create_schema_all_options_msql.sql"
}, {
"type": "delete",
"name": "Drop Schema with all options",
"endpoint": "NODE-schema.obj_id",
"data": {
"name": "test_schema_$%{}[]()&*^!@\"\"'`\\/#"
}
}, {
"type": "create",
"name": "Create Schema with comments",
"endpoint": "NODE-schema.obj",
"sql_endpoint": "NODE-schema.sql_id",
"msql_endpoint": "NODE-schema.msql",
"data": {
"name": "test_schema_$%{}[]()&*^!@\"\"'`\\/#",
"description": "This is a test comment"
},
"expected_sql_file": "create_schema_with_comment.sql",
"expected_msql_file": "create_schema_with_comment_msql.sql"
}, {
"type": "alter",
"name": "Alert Schema Name",
"endpoint": "NODE-schema.obj_id",
"sql_endpoint": "NODE-schema.sql_id",
"msql_endpoint": "NODE-schema.msql_id",
"data": {
"name": "test_schema1_$%{}[]()&*^!@\"\"'`\\/#"
},
"expected_sql_file": "alter_schema_name.sql",
"expected_msql_file": "alter_schema_name_msql.sql"
},
{
"type": "delete",
"name": "Drop Schema",
"endpoint": "NODE-schema.obj_id",
"data": {
"name": "test_schema1_$%{}[]()&*^!@\"\"'`\\/#"
}
}, {
"type": "create",
"name": "Create Schema",
"endpoint": "NODE-schema.obj",
"sql_endpoint": "NODE-schema.sql_id",
"data": {
"name": "test_schema_$%{}[]()&*^!@\"\"'`\\/#"
}
}, {
"type": "alter",
"name": "Alert Schema Add Privileges",
"endpoint": "NODE-schema.obj_id",
"sql_endpoint": "NODE-schema.sql_id",
"msql_endpoint": "NODE-schema.msql_id",
"data": {
"nspacl": {
"added": [{
"grantee": "PUBLIC",
"grantor": "enterprisedb",
"privileges": [{
"privilege_type": "C",
"privilege": true,
"with_grant": false
}]
}]
},
"deftblacl": {
"added": [{
"grantee": "PUBLIC",
"grantor": "enterprisedb",
"privileges": [{
"privilege_type": "r",
"privilege": true,
"with_grant": false
}, {
"privilege_type": "w",
"privilege": true,
"with_grant": false
}]
}]
},
"defseqacl": {
"added": [{
"grantee": "PUBLIC",
"grantor": "enterprisedb",
"privileges": [{
"privilege_type": "r",
"privilege": true,
"with_grant": false
}, {
"privilege_type": "w",
"privilege": true,
"with_grant": false
}]
}]
},
"deffuncacl": {
"added": [{
"grantee": "PUBLIC",
"grantor": "enterprisedb",
"privileges": [{
"privilege_type": "X",
"privilege": true,
"with_grant": false
}]
}]
},
"deftypeacl": {
"added": [{
"grantee": "PUBLIC",
"grantor": "enterprisedb",
"privileges": [{
"privilege_type": "U",
"privilege": true,
"with_grant": false
}]
}]
}
},
"expected_sql_file": "alter_schema_add_priv.sql",
"expected_msql_file": "alter_schema_add_priv_msql.sql"
}, {
"type": "alter",
"name": "Alert Schema Update Privileges",
"endpoint": "NODE-schema.obj_id",
"sql_endpoint": "NODE-schema.sql_id",
"msql_endpoint": "NODE-schema.msql_id",
"data": {
"nspacl": {
"changed": [{
"grantee": "PUBLIC",
"grantor": "enterprisedb",
"privileges": [{
"privilege_type": "U",
"privilege": true,
"with_grant": false
}]
}]
},
"deftblacl": {
"changed": [{
"grantee": "PUBLIC",
"grantor": "enterprisedb",
"privileges": [{
"privilege_type": "r",
"privilege": true,
"with_grant": false
}]
}]
},
"defseqacl": {
"changed": [{
"grantee": "PUBLIC",
"grantor": "enterprisedb",
"privileges": [{
"privilege_type": "w",
"privilege": true,
"with_grant": false
}]
}]
}
},
"expected_sql_file": "alter_schema_update_priv.sql",
"expected_msql_file": "alter_schema_update_priv_msql.sql"
}, {
"type": "alter",
"name": "Alert Schema Drop Privileges",
"endpoint": "NODE-schema.obj_id",
"sql_endpoint": "NODE-schema.sql_id",
"msql_endpoint": "NODE-schema.msql_id",
"data": {
"nspacl": {
"deleted": [{
"grantee": "PUBLIC",
"grantor": "enterprisedb",
"privileges": [{
"privilege_type": "C",
"privilege": true,
"with_grant": false
}]
}]
},
"defseqacl": {
"deleted": [{
"grantee": "PUBLIC",
"grantor": "enterprisedb",
"privileges": [{
"privilege_type": "r",
"privilege": true,
"with_grant": false
}, {
"privilege_type": "w",
"privilege": true,
"with_grant": false
}]
}]
},
"deftypeacl": {
"deleted": [{
"grantee": "PUBLIC",
"grantor": "enterprisedb",
"privileges": [{
"privilege_type": "U",
"privilege": true,
"with_grant": false
}]
}]
}
},
"expected_sql_file": "alter_schema_drop_priv.sql",
"expected_msql_file": "alter_schema_drop_priv_msql.sql"
}, {
"type": "delete",
"name": "Drop Schema",
"endpoint": "NODE-schema.obj_id",
"data": {
"name": "test_schema_$%{}[]()&*^!@\"\"'`\\/#"
}
}
]
}

View File

@ -12,6 +12,7 @@ import gettext from 'sources/gettext';
import BaseUISchema from 'sources/SchemaView/base_schema.ui'; import BaseUISchema from 'sources/SchemaView/base_schema.ui';
import SecLabelSchema from '../../../../../static/js/sec_label.ui'; import SecLabelSchema from '../../../../../static/js/sec_label.ui';
import { isEmptyString } from 'sources/validators'; import { isEmptyString } from 'sources/validators';
import { getPrivilegesForTableAndLikeObjects } from '../../../tables/static/js/table.ui';
export default class MViewSchema extends BaseUISchema { export default class MViewSchema extends BaseUISchema {
@ -119,7 +120,7 @@ export default class MViewSchema extends BaseUISchema {
}, },
{ {
id: 'datacl', label: gettext('Privileges'), type: 'collection', id: 'datacl', label: gettext('Privileges'), type: 'collection',
schema: this.getPrivilegeRoleSchema(['a', 'r', 'w', 'd', 'D', 'x', 't']), schema: this.getPrivilegeRoleSchema(getPrivilegesForTableAndLikeObjects(this.getServerVersion())),
uniqueCol : ['grantee'], uniqueCol : ['grantee'],
editable: false, editable: false,
group: gettext('Security'), mode: ['edit', 'create'], group: gettext('Security'), mode: ['edit', 'create'],

View File

@ -12,6 +12,7 @@ import gettext from 'sources/gettext';
import BaseUISchema from 'sources/SchemaView/base_schema.ui'; import BaseUISchema from 'sources/SchemaView/base_schema.ui';
import SecLabelSchema from '../../../../../static/js/sec_label.ui'; import SecLabelSchema from '../../../../../static/js/sec_label.ui';
import { isEmptyString } from 'sources/validators'; import { isEmptyString } from 'sources/validators';
import { getPrivilegesForTableAndLikeObjects } from '../../../tables/static/js/table.ui';
export default class ViewSchema extends BaseUISchema { export default class ViewSchema extends BaseUISchema {
@ -103,7 +104,7 @@ export default class ViewSchema extends BaseUISchema {
{ {
id: 'datacl', label: gettext('Privileges'), type: 'collection', id: 'datacl', label: gettext('Privileges'), type: 'collection',
schema: this.getPrivilegeRoleSchema(['a', 'r', 'w', 'd', 'D', 'x', 't']), schema: this.getPrivilegeRoleSchema(getPrivilegesForTableAndLikeObjects(this.getServerVersion())),
uniqueCol : ['grantee'], uniqueCol : ['grantee'],
editable: false, editable: false,
group: gettext('Security'), mode: ['edit', 'create'], group: gettext('Security'), mode: ['edit', 'create'],

View File

@ -0,0 +1,6 @@
{
"datacl": {
"type": "MVIEW",
"acl": ["a", "r", "w", "d", "D", "x", "t", "m"]
}
}

View File

@ -14,6 +14,7 @@ FROM
CASE d.privilege_type CASE d.privilege_type
WHEN 'DELETE' THEN 'd' WHEN 'DELETE' THEN 'd'
WHEN 'INSERT' THEN 'a' WHEN 'INSERT' THEN 'a'
WHEN 'MAINTAIN' THEN 'm'
WHEN 'REFERENCES' THEN 'x' WHEN 'REFERENCES' THEN 'x'
WHEN 'SELECT' THEN 'r' WHEN 'SELECT' THEN 'r'
WHEN 'TRIGGER' THEN 't' WHEN 'TRIGGER' THEN 't'

View File

@ -0,0 +1,6 @@
{
"datacl": {
"type": "MVIEW",
"acl": ["a", "r", "w", "d", "D", "x", "t", "m"]
}
}

View File

@ -14,6 +14,7 @@ FROM
CASE d.privilege_type CASE d.privilege_type
WHEN 'DELETE' THEN 'd' WHEN 'DELETE' THEN 'd'
WHEN 'INSERT' THEN 'a' WHEN 'INSERT' THEN 'a'
WHEN 'MAINTAIN' THEN 'm'
WHEN 'REFERENCES' THEN 'x' WHEN 'REFERENCES' THEN 'x'
WHEN 'SELECT' THEN 'r' WHEN 'SELECT' THEN 'r'
WHEN 'TRIGGER' THEN 't' WHEN 'TRIGGER' THEN 't'

View File

@ -0,0 +1,6 @@
{
"datacl": {
"type": "VIEW",
"acl": ["a", "r", "w", "d", "D", "x", "t", "m"]
}
}

View File

@ -12,6 +12,7 @@ FROM
CASE d.privilege_type CASE d.privilege_type
WHEN 'DELETE' THEN 'd' WHEN 'DELETE' THEN 'd'
WHEN 'INSERT' THEN 'a' WHEN 'INSERT' THEN 'a'
WHEN 'MAINTAIN' THEN 'm'
WHEN 'REFERENCES' THEN 'x' WHEN 'REFERENCES' THEN 'x'
WHEN 'SELECT' THEN 'r' WHEN 'SELECT' THEN 'r'
WHEN 'TRIGGER' THEN 't' WHEN 'TRIGGER' THEN 't'

View File

@ -0,0 +1,6 @@
{
"datacl": {
"type": "VIEW",
"acl": ["a", "r", "w", "d", "D", "x", "t", "m"]
}
}

View File

@ -12,6 +12,7 @@ FROM
CASE d.privilege_type CASE d.privilege_type
WHEN 'DELETE' THEN 'd' WHEN 'DELETE' THEN 'd'
WHEN 'INSERT' THEN 'a' WHEN 'INSERT' THEN 'a'
WHEN 'MAINTAIN' THEN 'm'
WHEN 'REFERENCES' THEN 'x' WHEN 'REFERENCES' THEN 'x'
WHEN 'SELECT' THEN 'r' WHEN 'SELECT' THEN 'r'
WHEN 'TRIGGER' THEN 't' WHEN 'TRIGGER' THEN 't'

View File

@ -11,18 +11,21 @@ import _ from 'lodash';
import gettext from 'sources/gettext'; import gettext from 'sources/gettext';
import BaseUISchema from 'sources/SchemaView/base_schema.ui'; import BaseUISchema from 'sources/SchemaView/base_schema.ui';
import SecLabelSchema from '../../../static/js/sec_label.ui'; import SecLabelSchema from '../../../static/js/sec_label.ui';
import { getPrivilegesForTableAndLikeObjects } from '../../schemas/tables/static/js/table.ui';
export class DefaultPrivSchema extends BaseUISchema { export class DefaultPrivSchema extends BaseUISchema {
constructor(getPrivilegeRoleSchema) { constructor(getPrivilegeRoleSchema, nodeInfo) {
super(); super();
this.getPrivilegeRoleSchema = getPrivilegeRoleSchema; this.getPrivilegeRoleSchema = getPrivilegeRoleSchema;
this.nodeInfo = nodeInfo;
} }
get baseFields() { get baseFields() {
return [ return [
{ {
id: 'deftblacl', type: 'collection', group: gettext('Tables'), id: 'deftblacl', type: 'collection', group: gettext('Tables'),
schema: this.getPrivilegeRoleSchema(['a', 'r', 'w', 'd', 'D', 'x', 't']), schema: this.getPrivilegeRoleSchema(getPrivilegesForTableAndLikeObjects(this.getServerVersion())),
mode: ['edit', 'create'], mode: ['edit', 'create'],
canAdd: true, canDelete: true, canAdd: true, canDelete: true,
uniqueCol : ['grantee', 'grantor'], uniqueCol : ['grantee', 'grantor'],
@ -293,7 +296,7 @@ export default class DatabaseSchema extends BaseUISchema {
},{ },{
type: 'nested-tab', group: gettext('Default Privileges'), type: 'nested-tab', group: gettext('Default Privileges'),
mode: ['edit'], mode: ['edit'],
schema: new DefaultPrivSchema(this.getPrivilegeRoleSchema), schema: new DefaultPrivSchema(this.getPrivilegeRoleSchema, this.nodeInfo),
}, },
{ {
id: 'schema_res', label: gettext('Schema restriction'), id: 'schema_res', label: gettext('Schema restriction'),

View File

@ -0,0 +1,26 @@
{# List down allowed privileges for PostgreSQL/PPAS 9.1, or less #}
{#
Format for allowed privileges are:
"acl_col": {
"type": "name",
"acl": [...]
}
#}
{
"datacl": {
"type": "DATABASE",
"acl": ["c", "C", "T"]
},
"deftblacl": {
"type": "TABLE",
"acl": ["a", "r", "w", "d", "D", "x", "t", "m"]
},
"defseqacl": {
"type": "SEQUENCE",
"acl": ["U", "r", "w"]
},
"deffuncacl": {
"type": "FUNCTION",
"acl": ["X"]
}
}

View File

@ -11,6 +11,7 @@ FROM
WHEN 'DELETE' THEN 'd' WHEN 'DELETE' THEN 'd'
WHEN 'EXECUTE' THEN 'X' WHEN 'EXECUTE' THEN 'X'
WHEN 'INSERT' THEN 'a' WHEN 'INSERT' THEN 'a'
WHEN 'MAINTAIN' THEN 'm'
WHEN 'REFERENCES' THEN 'x' WHEN 'REFERENCES' THEN 'x'
WHEN 'SELECT' THEN 'r' WHEN 'SELECT' THEN 'r'
WHEN 'TEMPORARY' THEN 'T' WHEN 'TEMPORARY' THEN 'T'

View File

@ -17,6 +17,7 @@ FROM
WHEN 'DELETE' THEN 'd' WHEN 'DELETE' THEN 'd'
WHEN 'EXECUTE' THEN 'X' WHEN 'EXECUTE' THEN 'X'
WHEN 'INSERT' THEN 'a' WHEN 'INSERT' THEN 'a'
WHEN 'MAINTAIN' THEN 'm'
WHEN 'REFERENCES' THEN 'x' WHEN 'REFERENCES' THEN 'x'
WHEN 'SELECT' THEN 'r' WHEN 'SELECT' THEN 'r'
WHEN 'TEMPORARY' THEN 'T' WHEN 'TEMPORARY' THEN 'T'
@ -55,6 +56,7 @@ FROM(
WHEN 'DELETE' THEN 'd' WHEN 'DELETE' THEN 'd'
WHEN 'EXECUTE' THEN 'X' WHEN 'EXECUTE' THEN 'X'
WHEN 'INSERT' THEN 'a' WHEN 'INSERT' THEN 'a'
WHEN 'MAINTAIN' THEN 'm'
WHEN 'REFERENCES' THEN 'x' WHEN 'REFERENCES' THEN 'x'
WHEN 'SELECT' THEN 'r' WHEN 'SELECT' THEN 'r'
WHEN 'TEMPORARY' THEN 'T' WHEN 'TEMPORARY' THEN 'T'
@ -117,6 +119,7 @@ FROM(
WHEN 'DELETE' THEN 'd' WHEN 'DELETE' THEN 'd'
WHEN 'EXECUTE' THEN 'X' WHEN 'EXECUTE' THEN 'X'
WHEN 'INSERT' THEN 'a' WHEN 'INSERT' THEN 'a'
WHEN 'MAINTAIN' THEN 'm'
WHEN 'REFERENCES' THEN 'x' WHEN 'REFERENCES' THEN 'x'
WHEN 'SELECT' THEN 'r' WHEN 'SELECT' THEN 'r'
WHEN 'TEMPORARY' THEN 'T' WHEN 'TEMPORARY' THEN 'T'

View File

@ -123,7 +123,7 @@
} }
] ]
} }
}, },
"expected_sql_file": "alter_default_db_privileges_types.sql" "expected_sql_file": "alter_default_db_privileges_types.sql"
}, },
@ -137,7 +137,7 @@
"data": { "data": {
"deffuncacl": {"added":[{"grantee":"PUBLIC","privileges":[{"privilege_type":"X","privilege":true,"with_grant":false}],"grantor":"postgres"}]}, "deffuncacl": {"added":[{"grantee":"PUBLIC","privileges":[{"privilege_type":"X","privilege":true,"with_grant":false}],"grantor":"postgres"}]},
"deftypeacl": {"added":[{"grantee":"PUBLIC","privileges":[{"privilege_type":"U","privilege":true,"with_grant":false}],"grantor":"postgres"}]}, "deftypeacl": {"added":[{"grantee":"PUBLIC","privileges":[{"privilege_type":"U","privilege":true,"with_grant":false}],"grantor":"postgres"}]},
"deftblacl":{"added":[{"grantee":"postgres","privileges":[{"privilege_type":"a","privilege":true,"with_grant":false},{"privilege_type":"r","privilege":true,"with_grant":false},{"privilege_type":"w","privilege":true,"with_grant":false},{"privilege_type":"d","privilege":true,"with_grant":false},{"privilege_type":"D","privilege":true,"with_grant":false},{"privilege_type":"x","privilege":true,"with_grant":false},{"privilege_type":"t","privilege":true,"with_grant":false}],"grantor":"postgres"}],"deleted":[{"grantor":"postgres","grantee":"PUBLIC","privileges":[{"privilege_type":"a","privilege":true,"with_grant":false,"cid":"nn626"},{"privilege_type":"r","privilege":true,"with_grant":false,"cid":"nn627"},{"privilege_type":"w","privilege":true,"with_grant":false,"cid":"nn628"},{"privilege_type":"d","privilege":true,"with_grant":false},{"privilege_type":"D","privilege":true,"with_grant":false},{"privilege_type":"x","privilege":true,"with_grant":false},{"privilege_type":"t","privilege":true,"with_grant":false}],"acltype":"defaultacls"}]}, "deftblacl":{"added":[{"grantee":"postgres","privileges":[{"privilege_type":"a","privilege":true,"with_grant":false},{"privilege_type":"r","privilege":true,"with_grant":false},{"privilege_type":"w","privilege":true,"with_grant":false},{"privilege_type":"d","privilege":true,"with_grant":false},{"privilege_type":"D","privilege":true,"with_grant":false},{"privilege_type":"x","privilege":true,"with_grant":false},{"privilege_type":"t","privilege":true,"with_grant":false},{"privilege_type":"m","privilege":true,"with_grant":false}],"grantor":"postgres"}],"deleted":[{"grantor":"postgres","grantee":"PUBLIC","privileges":[{"privilege_type":"a","privilege":true,"with_grant":false,"cid":"nn626"},{"privilege_type":"r","privilege":true,"with_grant":false,"cid":"nn627"},{"privilege_type":"w","privilege":true,"with_grant":false,"cid":"nn628"},{"privilege_type":"d","privilege":true,"with_grant":false},{"privilege_type":"D","privilege":true,"with_grant":false},{"privilege_type":"x","privilege":true,"with_grant":false},{"privilege_type":"t","privilege":true,"with_grant":false}],"acltype":"defaultacls"}]},
"defseqacl":{"added":[{"grantee":"postgres","privileges":[{"privilege_type":"r","privilege":true,"with_grant":false},{"privilege_type":"w","privilege":true,"with_grant":false},{"privilege_type":"U","privilege":true,"with_grant":false}],"grantor":"postgres"}],"deleted":[{"grantor":"postgres","grantee":"PUBLIC","privileges":[{"privilege_type":"r","privilege":true,"with_grant":false,"cid":"nn673"},{"privilege_type":"U","privilege":true,"with_grant":false}],"acltype":"defaultacls"}]} "defseqacl":{"added":[{"grantee":"postgres","privileges":[{"privilege_type":"r","privilege":true,"with_grant":false},{"privilege_type":"w","privilege":true,"with_grant":false},{"privilege_type":"U","privilege":true,"with_grant":false}],"grantor":"postgres"}],"deleted":[{"grantor":"postgres","grantee":"PUBLIC","privileges":[{"privilege_type":"r","privilege":true,"with_grant":false,"cid":"nn673"},{"privilege_type":"U","privilege":true,"with_grant":false}],"acltype":"defaultacls"}]}
}, },
"expected_sql_file": "alter_default_db_privileges_reset_all.sql" "expected_sql_file": "alter_default_db_privileges_reset_all.sql"
@ -200,6 +200,10 @@
"privilege_type": "t", "privilege_type": "t",
"privilege": true, "privilege": true,
"with_grant": false "with_grant": false
}, {
"privilege_type": "m",
"privilege": true,
"with_grant": false
}] }]
}], }],
"defseqacl": [{ "defseqacl": [{
@ -310,6 +314,10 @@
"privilege_type": "t", "privilege_type": "t",
"privilege": true, "privilege": true,
"with_grant": false "with_grant": false
}, {
"privilege_type": "m",
"privilege": true,
"with_grant": false
}] }]
}], }],
"defseqacl": [{ "defseqacl": [{
@ -421,6 +429,10 @@
"privilege_type": "t", "privilege_type": "t",
"privilege": true, "privilege": true,
"with_grant": false "with_grant": false
}, {
"privilege_type": "m",
"privilege": true,
"with_grant": false
}] }]
}], }],
"defseqacl": [{ "defseqacl": [{
@ -531,6 +543,10 @@
"privilege_type": "t", "privilege_type": "t",
"privilege": true, "privilege": true,
"with_grant": false "with_grant": false
}, {
"privilege_type": "m",
"privilege": true,
"with_grant": false
}] }]
}], }],
"defseqacl": [{ "defseqacl": [{
@ -582,4 +598,3 @@
} }
] ]
} }

View File

@ -94,7 +94,6 @@
{"privilege_type":"r","privilege":true,"with_grant":false}],"grantor":"enterprisedb"}] {"privilege_type":"r","privilege":true,"with_grant":false}],"grantor":"enterprisedb"}]
}, },
"deftblacl": {"deleted":[{"grantor":"enterprisedb","grantee":"PUBLIC","privileges":[{"privilege_type":"r","privilege":true,"with_grant":false}],"acltype":"defaultacls"}]} "deftblacl": {"deleted":[{"grantor":"enterprisedb","grantee":"PUBLIC","privileges":[{"privilege_type":"r","privilege":true,"with_grant":false}],"acltype":"defaultacls"}]}
}, },
"expected_sql_file": "alter_default_db_privileges_sequences.sql", "expected_sql_file": "alter_default_db_privileges_sequences.sql",
"expected_msql_file": "alter_default_db_privileges_sequences_msql.sql" "expected_msql_file": "alter_default_db_privileges_sequences_msql.sql"
@ -123,7 +122,7 @@
} }
] ]
} }
}, },
"expected_sql_file": "alter_default_db_privileges_types.sql" "expected_sql_file": "alter_default_db_privileges_types.sql"
}, },
@ -137,7 +136,7 @@
"data": { "data": {
"deffuncacl": {"added":[{"grantee":"PUBLIC","privileges":[{"privilege_type":"X","privilege":true,"with_grant":false}],"grantor":"enterprisedb"}]}, "deffuncacl": {"added":[{"grantee":"PUBLIC","privileges":[{"privilege_type":"X","privilege":true,"with_grant":false}],"grantor":"enterprisedb"}]},
"deftypeacl": {"added":[{"grantee":"PUBLIC","privileges":[{"privilege_type":"U","privilege":true,"with_grant":false}],"grantor":"enterprisedb"}]}, "deftypeacl": {"added":[{"grantee":"PUBLIC","privileges":[{"privilege_type":"U","privilege":true,"with_grant":false}],"grantor":"enterprisedb"}]},
"deftblacl":{"added":[{"grantee":"enterprisedb","privileges":[{"privilege_type":"a","privilege":true,"with_grant":false},{"privilege_type":"r","privilege":true,"with_grant":false},{"privilege_type":"w","privilege":true,"with_grant":false},{"privilege_type":"d","privilege":true,"with_grant":false},{"privilege_type":"D","privilege":true,"with_grant":false},{"privilege_type":"x","privilege":true,"with_grant":false},{"privilege_type":"t","privilege":true,"with_grant":false}],"grantor":"enterprisedb"}],"deleted":[{"grantor":"enterprisedb","grantee":"PUBLIC","privileges":[{"privilege_type":"a","privilege":true,"with_grant":false,"cid":"nn626"},{"privilege_type":"r","privilege":true,"with_grant":false,"cid":"nn627"},{"privilege_type":"w","privilege":true,"with_grant":false,"cid":"nn628"},{"privilege_type":"d","privilege":true,"with_grant":false},{"privilege_type":"D","privilege":true,"with_grant":false},{"privilege_type":"x","privilege":true,"with_grant":false},{"privilege_type":"t","privilege":true,"with_grant":false}],"acltype":"defaultacls"}]}, "deftblacl":{"added":[{"grantee":"enterprisedb","privileges":[{"privilege_type":"a","privilege":true,"with_grant":false},{"privilege_type":"r","privilege":true,"with_grant":false},{"privilege_type":"w","privilege":true,"with_grant":false},{"privilege_type":"d","privilege":true,"with_grant":false},{"privilege_type":"D","privilege":true,"with_grant":false},{"privilege_type":"x","privilege":true,"with_grant":false},{"privilege_type":"t","privilege":true,"with_grant":false},{"privilege_type":"m","privilege":true,"with_grant":false}],"grantor":"enterprisedb"}],"deleted":[{"grantor":"enterprisedb","grantee":"PUBLIC","privileges":[{"privilege_type":"a","privilege":true,"with_grant":false,"cid":"nn626"},{"privilege_type":"r","privilege":true,"with_grant":false,"cid":"nn627"},{"privilege_type":"w","privilege":true,"with_grant":false,"cid":"nn628"},{"privilege_type":"d","privilege":true,"with_grant":false},{"privilege_type":"D","privilege":true,"with_grant":false},{"privilege_type":"x","privilege":true,"with_grant":false},{"privilege_type":"t","privilege":true,"with_grant":false}],"acltype":"defaultacls"}]},
"defseqacl":{"added":[{"grantee":"enterprisedb","privileges":[{"privilege_type":"r","privilege":true,"with_grant":false},{"privilege_type":"w","privilege":true,"with_grant":false},{"privilege_type":"U","privilege":true,"with_grant":false}],"grantor":"enterprisedb"}],"deleted":[{"grantor":"enterprisedb","grantee":"PUBLIC","privileges":[{"privilege_type":"r","privilege":true,"with_grant":false,"cid":"nn673"},{"privilege_type":"U","privilege":true,"with_grant":false}],"acltype":"defaultacls"}]} "defseqacl":{"added":[{"grantee":"enterprisedb","privileges":[{"privilege_type":"r","privilege":true,"with_grant":false},{"privilege_type":"w","privilege":true,"with_grant":false},{"privilege_type":"U","privilege":true,"with_grant":false}],"grantor":"enterprisedb"}],"deleted":[{"grantor":"enterprisedb","grantee":"PUBLIC","privileges":[{"privilege_type":"r","privilege":true,"with_grant":false,"cid":"nn673"},{"privilege_type":"U","privilege":true,"with_grant":false}],"acltype":"defaultacls"}]}
}, },
"expected_sql_file": "alter_default_db_privileges_reset_all.sql" "expected_sql_file": "alter_default_db_privileges_reset_all.sql"
@ -200,6 +199,10 @@
"privilege_type": "t", "privilege_type": "t",
"privilege": true, "privilege": true,
"with_grant": false "with_grant": false
}, {
"privilege_type": "m",
"privilege": true,
"with_grant": false
}] }]
}], }],
"defseqacl": [{ "defseqacl": [{
@ -310,6 +313,10 @@
"privilege_type": "t", "privilege_type": "t",
"privilege": true, "privilege": true,
"with_grant": false "with_grant": false
}, {
"privilege_type": "m",
"privilege": true,
"with_grant": false
}] }]
}], }],
"defseqacl": [{ "defseqacl": [{
@ -421,6 +428,10 @@
"privilege_type": "t", "privilege_type": "t",
"privilege": true, "privilege": true,
"with_grant": false "with_grant": false
}, {
"privilege_type": "m",
"privilege": true,
"with_grant": false
}] }]
}], }],
"defseqacl": [{ "defseqacl": [{
@ -531,6 +542,10 @@
"privilege_type": "t", "privilege_type": "t",
"privilege": true, "privilege": true,
"with_grant": false "with_grant": false
}, {
"privilege_type": "m",
"privilege": true,
"with_grant": false
}] }]
}], }],
"defseqacl": [{ "defseqacl": [{
@ -582,4 +597,3 @@
} }
] ]
} }

View File

@ -120,7 +120,8 @@ def parse_priv_to_db(str_privileges, allowed_acls=[]):
'x': 'REFERENCES', 'x': 'REFERENCES',
't': 'TRIGGER', 't': 'TRIGGER',
'U': 'USAGE', 'U': 'USAGE',
'X': 'EXECUTE' 'X': 'EXECUTE',
'm': 'MAINTAIN'
} }
privileges = [] privileges = []

View File

@ -43,6 +43,7 @@ export default function Privilege({value, onChange, controlProps}) {
't': 'TRIGGER', 't': 'TRIGGER',
'U': 'USAGE', 'U': 'USAGE',
'X': 'EXECUTE', 'X': 'EXECUTE',
'm': 'MAINTAIN',
}; };
let all = false; let all = false;
let allWithGrant = false; let allWithGrant = false;

View File

@ -13,11 +13,11 @@
}, },
"table": { "table": {
"type": "TABLE", "type": "TABLE",
"acl": ["a", "r", "w", "d", "D", "x", "t"] "acl": ["a", "r", "w", "d", "D", "x", "t", "m"]
}, },
"foreign_table": { "foreign_table": {
"type": "FOREIGN TABLE", "type": "FOREIGN TABLE",
"acl": ["a", "r", "w","x"] "acl": ["a", "r", "w", "d", "D", "x", "t", "m"]
}, },
"sequence": { "sequence": {
"type": "SEQUENCE", "type": "SEQUENCE",

View File

@ -13,11 +13,11 @@
}, },
"table": { "table": {
"type": "TABLE", "type": "TABLE",
"acl": ["a", "r", "w", "d", "D", "x", "t"] "acl": ["a", "r", "w", "d", "D", "x", "t", "m"]
}, },
"foreign_table": { "foreign_table": {
"type": "FOREIGN TABLE", "type": "FOREIGN TABLE",
"acl": ["a", "r", "w","x"] "acl": ["a", "r", "w", "d", "D", "x", "t", "m"]
}, },
"sequence": { "sequence": {
"type": "SEQUENCE", "type": "SEQUENCE",

View File

@ -33,10 +33,10 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@babel/compat-data@npm:^7.20.5, @babel/compat-data@npm:^7.22.6, @babel/compat-data@npm:^7.25.9, @babel/compat-data@npm:^7.26.0": "@babel/compat-data@npm:^7.20.5, @babel/compat-data@npm:^7.22.6, @babel/compat-data@npm:^7.26.0, @babel/compat-data@npm:^7.26.5":
version: 7.26.3 version: 7.26.5
resolution: "@babel/compat-data@npm:7.26.3" resolution: "@babel/compat-data@npm:7.26.5"
checksum: 85c5a9fb365231688c7faeb977f1d659da1c039e17b416f8ef11733f7aebe11fe330dce20c1844cacf243766c1d643d011df1d13cac9eda36c46c6c475693d21 checksum: 7aaac0e79cf6f38478b877b1185413390bfe8ce9f2a19f906cfdf898df82f5a932579bee49c5d0d0a6fd838c715ff59d4958bfd161ef0e857e5eb083efb707b4
languageName: node languageName: node
linkType: hard linkType: hard
@ -63,9 +63,9 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@babel/eslint-parser@npm:^7.24.7": "@babel/eslint-parser@npm:^7.26.5":
version: 7.25.9 version: 7.26.5
resolution: "@babel/eslint-parser@npm:7.25.9" resolution: "@babel/eslint-parser@npm:7.26.5"
dependencies: dependencies:
"@nicolo-ribaudo/eslint-scope-5-internals": 5.1.1-v1 "@nicolo-ribaudo/eslint-scope-5-internals": 5.1.1-v1
eslint-visitor-keys: ^2.1.0 eslint-visitor-keys: ^2.1.0
@ -73,7 +73,7 @@ __metadata:
peerDependencies: peerDependencies:
"@babel/core": ^7.11.0 "@babel/core": ^7.11.0
eslint: ^7.5.0 || ^8.0.0 || ^9.0.0 eslint: ^7.5.0 || ^8.0.0 || ^9.0.0
checksum: dd2afa122b62a5b07c1e71d1c23b2cd4d655d96609eb2ba1b1ae3ec6f415f4365b77d6669ff859aa7b75952fb63a1d29c5db6e5811fc4012841491cb2dee36e4 checksum: 3ed969eabc940aa29a2e5bef525674b47ebccb8dfe686737e84fed2b09fbf4bd23c2503936ed340bde2a870fc1917668ec7ab357b97bab504aceb84e9608d213
languageName: node languageName: node
linkType: hard linkType: hard
@ -89,16 +89,16 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@babel/generator@npm:^7.26.0, @babel/generator@npm:^7.26.3, @babel/generator@npm:^7.7.2": "@babel/generator@npm:^7.26.0, @babel/generator@npm:^7.26.5, @babel/generator@npm:^7.7.2":
version: 7.26.3 version: 7.26.5
resolution: "@babel/generator@npm:7.26.3" resolution: "@babel/generator@npm:7.26.5"
dependencies: dependencies:
"@babel/parser": ^7.26.3 "@babel/parser": ^7.26.5
"@babel/types": ^7.26.3 "@babel/types": ^7.26.5
"@jridgewell/gen-mapping": ^0.3.5 "@jridgewell/gen-mapping": ^0.3.5
"@jridgewell/trace-mapping": ^0.3.25 "@jridgewell/trace-mapping": ^0.3.25
jsesc: ^3.0.2 jsesc: ^3.0.2
checksum: fb09fa55c66f272badf71c20a3a2cee0fa1a447fed32d1b84f16a668a42aff3e5f5ddc6ed5d832dda1e952187c002ca1a5cdd827022efe591b6ac44cada884ea checksum: baa42a98cd01efa3ae3634a6caa81d0738e5e0bdba4efbf1ac735216c8d7cf6bdffeab69c468e6ab2063b07db402346113def4962719746756518432f83c53ba
languageName: node languageName: node
linkType: hard linkType: hard
@ -112,15 +112,15 @@ __metadata:
linkType: hard linkType: hard
"@babel/helper-compilation-targets@npm:^7.20.7, @babel/helper-compilation-targets@npm:^7.22.6, @babel/helper-compilation-targets@npm:^7.25.9": "@babel/helper-compilation-targets@npm:^7.20.7, @babel/helper-compilation-targets@npm:^7.22.6, @babel/helper-compilation-targets@npm:^7.25.9":
version: 7.25.9 version: 7.26.5
resolution: "@babel/helper-compilation-targets@npm:7.25.9" resolution: "@babel/helper-compilation-targets@npm:7.26.5"
dependencies: dependencies:
"@babel/compat-data": ^7.25.9 "@babel/compat-data": ^7.26.5
"@babel/helper-validator-option": ^7.25.9 "@babel/helper-validator-option": ^7.25.9
browserslist: ^4.24.0 browserslist: ^4.24.0
lru-cache: ^5.1.1 lru-cache: ^5.1.1
semver: ^6.3.1 semver: ^6.3.1
checksum: 3af536e2db358b38f968abdf7d512d425d1018fef2f485d6f131a57a7bcaed32c606b4e148bb230e1508fa42b5b2ac281855a68eb78270f54698c48a83201b9b checksum: 6bc0107613bf1d4d21913606e8e517194e5099a24db2a8374568e56ef4626e8140f9b8f8a4aabc35479f5904459a0aead2a91ee0dc63aae110ccbc2bc4b4fda1
languageName: node languageName: node
linkType: hard linkType: hard
@ -211,10 +211,10 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.20.2, @babel/helper-plugin-utils@npm:^7.22.5, @babel/helper-plugin-utils@npm:^7.25.9, @babel/helper-plugin-utils@npm:^7.8.0": "@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.20.2, @babel/helper-plugin-utils@npm:^7.22.5, @babel/helper-plugin-utils@npm:^7.25.9, @babel/helper-plugin-utils@npm:^7.26.5, @babel/helper-plugin-utils@npm:^7.8.0":
version: 7.25.9 version: 7.26.5
resolution: "@babel/helper-plugin-utils@npm:7.25.9" resolution: "@babel/helper-plugin-utils@npm:7.26.5"
checksum: e19ec8acf0b696756e6d84531f532c5fe508dce57aa68c75572a77798bd04587a844a9a6c8ea7d62d673e21fdc174d091c9097fb29aea1c1b49f9c6eaa80f022 checksum: 4771fbb1711c624c62d12deabc2ed7435a6e6994b6ce09d5ede1bc1bf19be59c3775461a1e693bdd596af865685e87bb2abc778f62ceadc1b2095a8e2aa74180
languageName: node languageName: node
linkType: hard linkType: hard
@ -232,15 +232,15 @@ __metadata:
linkType: hard linkType: hard
"@babel/helper-replace-supers@npm:^7.25.9": "@babel/helper-replace-supers@npm:^7.25.9":
version: 7.25.9 version: 7.26.5
resolution: "@babel/helper-replace-supers@npm:7.25.9" resolution: "@babel/helper-replace-supers@npm:7.26.5"
dependencies: dependencies:
"@babel/helper-member-expression-to-functions": ^7.25.9 "@babel/helper-member-expression-to-functions": ^7.25.9
"@babel/helper-optimise-call-expression": ^7.25.9 "@babel/helper-optimise-call-expression": ^7.25.9
"@babel/traverse": ^7.25.9 "@babel/traverse": ^7.26.5
peerDependencies: peerDependencies:
"@babel/core": ^7.0.0 "@babel/core": ^7.0.0
checksum: 84f40e12520b7023e52d289bf9d569a06284879fe23bbbacad86bec5d978b2669769f11b073fcfeb1567d8c547168323005fda88607a4681ecaeb4a5cdd48bb9 checksum: c5ab31b29c7cc09e30278f8860ecdb873ce6c84b5c08bc5239c369c7c4fe9f0a63cda61b55b7bbd20edb4e5dc32e73087cc3c57d85264834bd191551d1499185
languageName: node languageName: node
linkType: hard linkType: hard
@ -296,14 +296,14 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.23.9, @babel/parser@npm:^7.25.9, @babel/parser@npm:^7.26.0, @babel/parser@npm:^7.26.3": "@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.23.9, @babel/parser@npm:^7.25.9, @babel/parser@npm:^7.26.0, @babel/parser@npm:^7.26.5":
version: 7.26.3 version: 7.26.5
resolution: "@babel/parser@npm:7.26.3" resolution: "@babel/parser@npm:7.26.5"
dependencies: dependencies:
"@babel/types": ^7.26.3 "@babel/types": ^7.26.5
bin: bin:
parser: ./bin/babel-parser.js parser: ./bin/babel-parser.js
checksum: e2bff2e9fa6540ee18fecc058bc74837eda2ddcecbe13454667314a93fc0ba26c1fb862c812d84f6d5f225c3bd8d191c3a42d4296e287a882c4e1f82ff2815ff checksum: 663aebf27c1dc04813e6c1d6e8e8fcb2954163ec297a95bdb3f1d0c2a0f04b504bddc09588fe4b176b43fad28c8a4b2914838a1edffdd426537a42f3ac644f1e
languageName: node languageName: node
linkType: hard linkType: hard
@ -650,13 +650,13 @@ __metadata:
linkType: hard linkType: hard
"@babel/plugin-transform-block-scoped-functions@npm:^7.25.9": "@babel/plugin-transform-block-scoped-functions@npm:^7.25.9":
version: 7.25.9 version: 7.26.5
resolution: "@babel/plugin-transform-block-scoped-functions@npm:7.25.9" resolution: "@babel/plugin-transform-block-scoped-functions@npm:7.26.5"
dependencies: dependencies:
"@babel/helper-plugin-utils": ^7.25.9 "@babel/helper-plugin-utils": ^7.26.5
peerDependencies: peerDependencies:
"@babel/core": ^7.0.0-0 "@babel/core": ^7.0.0-0
checksum: bf31896556b33a80f017af3d445ceb532ec0f5ca9d69bc211a963ac92514d172d5c24c5ac319f384d9dfa7f1a4d8dc23032c2fe3e74f98a59467ecd86f7033ae checksum: f2046c09bf8e588bfb1a6342d0eee733189102cf663ade27adb0130f3865123af5816b40a55ec8d8fa09271b54dfdaf977cd2f8e0b3dc97f18e690188d5a2174
languageName: node languageName: node
linkType: hard linkType: hard
@ -945,13 +945,13 @@ __metadata:
linkType: hard linkType: hard
"@babel/plugin-transform-nullish-coalescing-operator@npm:^7.25.9": "@babel/plugin-transform-nullish-coalescing-operator@npm:^7.25.9":
version: 7.25.9 version: 7.26.6
resolution: "@babel/plugin-transform-nullish-coalescing-operator@npm:7.25.9" resolution: "@babel/plugin-transform-nullish-coalescing-operator@npm:7.26.6"
dependencies: dependencies:
"@babel/helper-plugin-utils": ^7.25.9 "@babel/helper-plugin-utils": ^7.26.5
peerDependencies: peerDependencies:
"@babel/core": ^7.0.0-0 "@babel/core": ^7.0.0-0
checksum: 26e03b1c2c0408cc300e46d8f8cb639653ff3a7b03456d0d8afbb53c44f33a89323f51d99991dade3a5676921119bbdf869728bb7911799b5ef99ffafa2cdd24 checksum: 752837d532b85c41f6bb868e83809605f513bc9a3b8e88ac3d43757c9bf839af4f246874c1c6d6902bb2844d355efccae602c3856098911f8abdd603672f8379
languageName: node languageName: node
linkType: hard linkType: hard
@ -1229,17 +1229,17 @@ __metadata:
linkType: hard linkType: hard
"@babel/plugin-transform-typescript@npm:^7.25.9": "@babel/plugin-transform-typescript@npm:^7.25.9":
version: 7.26.3 version: 7.26.5
resolution: "@babel/plugin-transform-typescript@npm:7.26.3" resolution: "@babel/plugin-transform-typescript@npm:7.26.5"
dependencies: dependencies:
"@babel/helper-annotate-as-pure": ^7.25.9 "@babel/helper-annotate-as-pure": ^7.25.9
"@babel/helper-create-class-features-plugin": ^7.25.9 "@babel/helper-create-class-features-plugin": ^7.25.9
"@babel/helper-plugin-utils": ^7.25.9 "@babel/helper-plugin-utils": ^7.26.5
"@babel/helper-skip-transparent-expression-wrappers": ^7.25.9 "@babel/helper-skip-transparent-expression-wrappers": ^7.25.9
"@babel/plugin-syntax-typescript": ^7.25.9 "@babel/plugin-syntax-typescript": ^7.25.9
peerDependencies: peerDependencies:
"@babel/core": ^7.0.0-0 "@babel/core": ^7.0.0-0
checksum: 38ab210e80d4fc4eaa27e88705a961d53f5eae1dcd0ef8794affe3002fec557404e8bb29ca22d18e691a75690e3bcadbfeb8207a830f15cf83231ab5fd1ea08b checksum: d022c1ca9ee5a420c374efb209eaca4f94c06851edeea2b3577dad52ea6692b6b33d00217b33a74d91bd62381ace471e26cc6153bbc681b3af1b1436431ff9c0
languageName: node languageName: node
linkType: hard linkType: hard
@ -1433,28 +1433,28 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@babel/traverse@npm:^7.25.9": "@babel/traverse@npm:^7.25.9, @babel/traverse@npm:^7.26.5":
version: 7.26.4 version: 7.26.5
resolution: "@babel/traverse@npm:7.26.4" resolution: "@babel/traverse@npm:7.26.5"
dependencies: dependencies:
"@babel/code-frame": ^7.26.2 "@babel/code-frame": ^7.26.2
"@babel/generator": ^7.26.3 "@babel/generator": ^7.26.5
"@babel/parser": ^7.26.3 "@babel/parser": ^7.26.5
"@babel/template": ^7.25.9 "@babel/template": ^7.25.9
"@babel/types": ^7.26.3 "@babel/types": ^7.26.5
debug: ^4.3.1 debug: ^4.3.1
globals: ^11.1.0 globals: ^11.1.0
checksum: dcdf51b27ab640291f968e4477933465c2910bfdcbcff8f5315d1f29b8ff861864f363e84a71fb489f5e9708e8b36b7540608ce019aa5e57ef7a4ba537e62700 checksum: 28f28037ec6bb72ded695b2bd79c373f13dc993a408c6037c3d46a1234360342a688c031f9ed4fc8528183892a63b54edce0b516e723fb3dffd606da75496cdc
languageName: node languageName: node
linkType: hard linkType: hard
"@babel/types@npm:^7.0.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.21.3, @babel/types@npm:^7.25.9, @babel/types@npm:^7.26.0, @babel/types@npm:^7.26.3, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4": "@babel/types@npm:^7.0.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.21.3, @babel/types@npm:^7.25.9, @babel/types@npm:^7.26.0, @babel/types@npm:^7.26.5, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4":
version: 7.26.3 version: 7.26.5
resolution: "@babel/types@npm:7.26.3" resolution: "@babel/types@npm:7.26.5"
dependencies: dependencies:
"@babel/helper-string-parser": ^7.25.9 "@babel/helper-string-parser": ^7.25.9
"@babel/helper-validator-identifier": ^7.25.9 "@babel/helper-validator-identifier": ^7.25.9
checksum: 195f428080dcaadbcecc9445df7f91063beeaa91b49ccd78f38a5af6b75a6a58391d0c6614edb1ea322e57889a1684a0aab8e667951f820196901dd341f931e9 checksum: 65dc14aa32ace22655c5edadeb99df80776c09cd93c105feaf49cc0583f3116aff0581b7eab630888c39ba61151f251c1399ec982b93585b0d1d1bf4a45b54f9
languageName: node languageName: node
linkType: hard linkType: hard
@ -1478,14 +1478,14 @@ __metadata:
linkType: hard linkType: hard
"@codemirror/commands@npm:^6.0.0": "@codemirror/commands@npm:^6.0.0":
version: 6.7.1 version: 6.8.0
resolution: "@codemirror/commands@npm:6.7.1" resolution: "@codemirror/commands@npm:6.8.0"
dependencies: dependencies:
"@codemirror/language": ^6.0.0 "@codemirror/language": ^6.0.0
"@codemirror/state": ^6.4.0 "@codemirror/state": ^6.4.0
"@codemirror/view": ^6.27.0 "@codemirror/view": ^6.27.0
"@lezer/common": ^1.1.0 "@lezer/common": ^1.1.0
checksum: 507ae0cc7f3a7bd869bca0de7e942ecb2bc0bd95a42484e5b06835ebf8caf7626c39d2bea26cefab99d07ab83ba5934afd2d07ce00dac4190aca014523f3c97e checksum: 7d819bab4830ec7b8c5dffdec4b035dfa664bfd1d2675e639e08a459df65f45be111e1b8b569b1a8a3253d5980cf2ecf4394d8a13509996cca1b65cc16d47a4e
languageName: node languageName: node
linkType: hard linkType: hard
@ -1550,22 +1550,22 @@ __metadata:
linkType: hard linkType: hard
"@codemirror/state@npm:^6.0.0, @codemirror/state@npm:^6.4.0, @codemirror/state@npm:^6.5.0": "@codemirror/state@npm:^6.0.0, @codemirror/state@npm:^6.4.0, @codemirror/state@npm:^6.5.0":
version: 6.5.0 version: 6.5.1
resolution: "@codemirror/state@npm:6.5.0" resolution: "@codemirror/state@npm:6.5.1"
dependencies: dependencies:
"@marijn/find-cluster-break": ^1.0.0 "@marijn/find-cluster-break": ^1.0.0
checksum: f7fbed072cc67bf250f7d231668a00b988748cacaaa2ce3ea74ff13c7c392db76000e7d517933521cc6ad9dc3651c7b6d33accab3e3d4b9816cd3c5714661a84 checksum: b7d6de9a87d5b55dadfadaeb6e1c991e0a91845d3cdd0bd953391f05363fcbaf21de79a4eec2816ab8c3e31293faeca82cc2bb729d080779df94b14e28ae0d8a
languageName: node languageName: node
linkType: hard linkType: hard
"@codemirror/view@npm:^6.0.0, @codemirror/view@npm:^6.17.0, @codemirror/view@npm:^6.23.0, @codemirror/view@npm:^6.27.0, @codemirror/view@npm:^6.35.0": "@codemirror/view@npm:^6.0.0, @codemirror/view@npm:^6.17.0, @codemirror/view@npm:^6.23.0, @codemirror/view@npm:^6.27.0, @codemirror/view@npm:^6.35.0":
version: 6.36.1 version: 6.36.2
resolution: "@codemirror/view@npm:6.36.1" resolution: "@codemirror/view@npm:6.36.2"
dependencies: dependencies:
"@codemirror/state": ^6.5.0 "@codemirror/state": ^6.5.0
style-mod: ^4.1.0 style-mod: ^4.1.0
w3c-keyname: ^2.2.4 w3c-keyname: ^2.2.4
checksum: 77728cbc6f07f16abc4b98c487b6fad522781c928e4b31597b28d54364da6aa5542ed7c9b5c77b90bec5095527c3c062450f156f54fc8ddbcacdf86b4b32c608 checksum: a58c64b623ddc65bb864917297f3b37f8e95280deec442024c43a9513b26352c829665c5d98e4dfcae104e8ecdfdb774d94a395a29da98a919c83482d2c14152
languageName: node languageName: node
linkType: hard linkType: hard
@ -1772,12 +1772,12 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@eslint/core@npm:^0.9.0": "@eslint/core@npm:^0.10.0":
version: 0.9.1 version: 0.10.0
resolution: "@eslint/core@npm:0.9.1" resolution: "@eslint/core@npm:0.10.0"
dependencies: dependencies:
"@types/json-schema": ^7.0.15 "@types/json-schema": ^7.0.15
checksum: 33c8159842cc3a646caa267c008cb567ca60e0220bcdcf6e426128409953b8f6a9b142246db616c71d06331edf769c192d7e2792b3f19c2a6b8179e491512d89 checksum: 851fa099b3fef00e7ff8ece14523aff0822d3e1b47b047ab0a0d898e80c1362a22aa8b7778727231c383246932ecb63de79b4448ec1e500901c578580b087573
languageName: node languageName: node
linkType: hard linkType: hard
@ -1798,10 +1798,10 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@eslint/js@npm:9.17.0": "@eslint/js@npm:9.18.0":
version: 9.17.0 version: 9.18.0
resolution: "@eslint/js@npm:9.17.0" resolution: "@eslint/js@npm:9.18.0"
checksum: b68a14ff518ffa12e3b85fa9c72b818faeff092285acfbf02da2d0fb12a681b76651638881e98845f2df2ed346ed0d33faeb1d9caac163daf232c223b7efe89c checksum: a47cfcc684f87094992fe4a5c5e54018393231d8d42bd2150a08eb167813a6bf8d7c7ccbc9611933e5f782ff3b96a06c9be8d19342965cadd4530a45521b8981
languageName: node languageName: node
linkType: hard linkType: hard
@ -1812,31 +1812,32 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@eslint/plugin-kit@npm:^0.2.3": "@eslint/plugin-kit@npm:^0.2.5":
version: 0.2.4 version: 0.2.5
resolution: "@eslint/plugin-kit@npm:0.2.4" resolution: "@eslint/plugin-kit@npm:0.2.5"
dependencies: dependencies:
"@eslint/core": ^0.10.0
levn: ^0.4.1 levn: ^0.4.1
checksum: 5693465dca5fc6f27b090f987b51bc738f48c6a6b5678dcc1791522921834206388b462578edd362d458e8de6dcd21cce1a2e8cff47d1512411ba0389112c231 checksum: 423db33e67ff16f6db71bf8bfc8d5b0c2c4fe6f2209131e5886a573bf994bfc72ab4f825068d6521f186247731d4c9d48eb42a5e5ce389c6faa275752c0e9459
languageName: node languageName: node
linkType: hard linkType: hard
"@floating-ui/core@npm:^1.6.0": "@floating-ui/core@npm:^1.6.0":
version: 1.6.8 version: 1.6.9
resolution: "@floating-ui/core@npm:1.6.8" resolution: "@floating-ui/core@npm:1.6.9"
dependencies: dependencies:
"@floating-ui/utils": ^0.2.8 "@floating-ui/utils": ^0.2.9
checksum: 82faa6ea9d57e466779324e51308d6d49c098fb9d184a08d9bb7f4fad83f08cc070fc491f8d56f0cad44a16215fb43f9f829524288413e6c33afcb17303698de checksum: 21cbcac72a40172399570dedf0eb96e4f24b0d829980160e8d14edf08c2955ac6feffb7b94e1530c78fb7944635e52669c9257ad08570e0295efead3b5a9af91
languageName: node languageName: node
linkType: hard linkType: hard
"@floating-ui/dom@npm:^1.0.0, @floating-ui/dom@npm:^1.0.1": "@floating-ui/dom@npm:^1.0.0, @floating-ui/dom@npm:^1.0.1":
version: 1.6.12 version: 1.6.13
resolution: "@floating-ui/dom@npm:1.6.12" resolution: "@floating-ui/dom@npm:1.6.13"
dependencies: dependencies:
"@floating-ui/core": ^1.6.0 "@floating-ui/core": ^1.6.0
"@floating-ui/utils": ^0.2.8 "@floating-ui/utils": ^0.2.9
checksum: 956514ed100c0c853e73ace9e3c877b7e535444d7c31326f687a7690d49cb1e59ef457e9c93b76141aea0d280e83ed5a983bb852718b62eea581f755454660f6 checksum: eabab9d860d3b5beab1c2d6936287efc4d9ab352de99062380589ef62870d59e8730397489c34a96657e128498001b5672330c4a9da0159fe8b2401ac59fe314
languageName: node languageName: node
linkType: hard linkType: hard
@ -1852,10 +1853,10 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@floating-ui/utils@npm:^0.2.8": "@floating-ui/utils@npm:^0.2.9":
version: 0.2.8 version: 0.2.9
resolution: "@floating-ui/utils@npm:0.2.8" resolution: "@floating-ui/utils@npm:0.2.9"
checksum: deb98bba017c4e073c7ad5740d4dec33a4d3e0942d412e677ac0504f3dade15a68fc6fd164d43c93c0bb0bcc5dc5015c1f4080dfb1a6161140fe660624f7c875 checksum: d518b80cec5a323e54a069a1dd99a20f8221a4853ed98ac16c75275a0cc22f75de4f8ac5b121b4f8990bd45da7ad1fb015b9a1e4bac27bb1cd62444af84e9784
languageName: node languageName: node
linkType: hard linkType: hard
@ -2490,12 +2491,12 @@ __metadata:
linkType: hard linkType: hard
"@mui/x-date-pickers@npm:^7.23.2": "@mui/x-date-pickers@npm:^7.23.2":
version: 7.23.3 version: 7.23.6
resolution: "@mui/x-date-pickers@npm:7.23.3" resolution: "@mui/x-date-pickers@npm:7.23.6"
dependencies: dependencies:
"@babel/runtime": ^7.25.7 "@babel/runtime": ^7.25.7
"@mui/utils": ^5.16.6 || ^6.0.0 "@mui/utils": ^5.16.6 || ^6.0.0
"@mui/x-internals": 7.23.0 "@mui/x-internals": 7.23.6
"@types/react-transition-group": ^4.4.11 "@types/react-transition-group": ^4.4.11
clsx: ^2.1.1 clsx: ^2.1.1
prop-types: ^15.8.1 prop-types: ^15.8.1
@ -2506,7 +2507,7 @@ __metadata:
"@mui/material": ^5.15.14 || ^6.0.0 "@mui/material": ^5.15.14 || ^6.0.0
"@mui/system": ^5.15.14 || ^6.0.0 "@mui/system": ^5.15.14 || ^6.0.0
date-fns: ^2.25.0 || ^3.2.0 || ^4.0.0 date-fns: ^2.25.0 || ^3.2.0 || ^4.0.0
date-fns-jalali: ^2.13.0-0 || ^3.2.0-0 date-fns-jalali: ^2.13.0-0 || ^3.2.0-0 || ^4.0.0-0
dayjs: ^1.10.7 dayjs: ^1.10.7
luxon: ^3.0.2 luxon: ^3.0.2
moment: ^2.29.4 moment: ^2.29.4
@ -2533,19 +2534,19 @@ __metadata:
optional: true optional: true
moment-jalaali: moment-jalaali:
optional: true optional: true
checksum: 923ce6909ea9b5eac0e2c322e68ad9d9b762db6991e2dc31e49ac82694b705cee2b4bc20967fd738119c3caa610eafb5da1a73040dc5e878f1abb4aab065a408 checksum: 5ea654d0908e6ce5a7e62a7fbf2a7ad4bd47239a198bcd951856b5d5f0397c942c67c8b24d460a300b6f53324b03e62709d37544be8b7e2774a7cfb05b9a498f
languageName: node languageName: node
linkType: hard linkType: hard
"@mui/x-internals@npm:7.23.0": "@mui/x-internals@npm:7.23.6":
version: 7.23.0 version: 7.23.6
resolution: "@mui/x-internals@npm:7.23.0" resolution: "@mui/x-internals@npm:7.23.6"
dependencies: dependencies:
"@babel/runtime": ^7.25.7 "@babel/runtime": ^7.25.7
"@mui/utils": ^5.16.6 || ^6.0.0 "@mui/utils": ^5.16.6 || ^6.0.0
peerDependencies: peerDependencies:
react: ^17.0.0 || ^18.0.0 || ^19.0.0 react: ^17.0.0 || ^18.0.0 || ^19.0.0
checksum: 2af6f344ca6c7a503d5bb99757496b64cb15aeedf78d60faae77bf147c2c18e9cc674ad9865ad48843562a440a429c32e1362a6a3588bf5904ca39071dd44a85 checksum: 7f843a8c431554040351a12b895f9d7ccfbf1cc98daef863d4b74145f03b3d49a2c2924d89f0f4b299e4c5d63acb0983d40654981b0124e4151b788b26f4eb41
languageName: node languageName: node
linkType: hard linkType: hard
@ -3015,33 +3016,33 @@ __metadata:
linkType: hard linkType: hard
"@szhsin/react-menu@npm:^4.2.2": "@szhsin/react-menu@npm:^4.2.2":
version: 4.2.3 version: 4.2.4
resolution: "@szhsin/react-menu@npm:4.2.3" resolution: "@szhsin/react-menu@npm:4.2.4"
dependencies: dependencies:
prop-types: ^15.7.2 prop-types: ^15.7.2
react-transition-state: ^2.1.2 react-transition-state: ^2.1.2
peerDependencies: peerDependencies:
react: ">=16.14.0" react: ">=16.14.0"
react-dom: ">=16.14.0" react-dom: ">=16.14.0"
checksum: 890409f1ea7dc79e4d9178186d14f6536f427d3ac3b442d98507d101bb8e1bb87f5ee941d088f0c89144cd16625ffd138f813f78961be200056fae5b61cc0680 checksum: 2b779f8cfe46129788510440bc3df9b3d6d5aa223a4a5f8c9bcafdff156cd9ae99bccbfb9a260595e3e5570df1581b1d3fff17946d001a129335c2088115eeba
languageName: node languageName: node
linkType: hard linkType: hard
"@tanstack/query-core@npm:5.62.15": "@tanstack/query-core@npm:5.64.0":
version: 5.62.15 version: 5.64.0
resolution: "@tanstack/query-core@npm:5.62.15" resolution: "@tanstack/query-core@npm:5.64.0"
checksum: aac6b76e5a7797d8b4b561e460ff3582c262dc0c14c1730182f138c7215724d09cb6e1c987e105076dd039c2e72b32f62d108ed5bd3b7184b10ce8cef2eeb747 checksum: a489552af41419f9561baaff15073d63a4cf8634b5a9f4a484364a70734b6e37f7460560acccf61ef4b631ac4b6008000c4f13996b905f219b8099bd8343451c
languageName: node languageName: node
linkType: hard linkType: hard
"@tanstack/react-query@npm:5.62.15": "@tanstack/react-query@npm:5.64.0":
version: 5.62.15 version: 5.64.0
resolution: "@tanstack/react-query@npm:5.62.15" resolution: "@tanstack/react-query@npm:5.64.0"
dependencies: dependencies:
"@tanstack/query-core": 5.62.15 "@tanstack/query-core": 5.64.0
peerDependencies: peerDependencies:
react: ^18 || ^19 react: ^18 || ^19
checksum: 7a53d0c568803d61f01ebb62bdbdfad96d16f654fcd3126b7f992f93f18929d2376606bcdceb105b17ce2aa0d8ea695cd78038313ecb7a100229512d90d7b5cd checksum: d6676fd1481753af1c348c8084057f9c879a8ac69c5cd5ae3f90ae29a6734a32511de90b2b02f9ac31da1ca475ecd72d2fb5e06d01dfa78c78d59919d32364d5
languageName: node languageName: node
linkType: hard linkType: hard
@ -3341,11 +3342,11 @@ __metadata:
linkType: hard linkType: hard
"@types/node@npm:*": "@types/node@npm:*":
version: 22.10.5 version: 22.10.6
resolution: "@types/node@npm:22.10.5" resolution: "@types/node@npm:22.10.6"
dependencies: dependencies:
undici-types: ~6.20.0 undici-types: ~6.20.0
checksum: 3b0e966df4e130edac3ad034f1cddbe134e70f11556062468c9fbd749a3b07a44445a3a75a7eec68a104930bf05d4899f1a418c4ae48493d2c8c1544d8594bcc checksum: 3bf26c7df8b7f0085f7a53d1f4ee124f8af01c7e4c072c3c10ec0ba91a03611fce124fed279f512b1ff259835bee5589e02f1ba0914ca6b372a7f99aef5faa3c
languageName: node languageName: node
linkType: hard linkType: hard
@ -3437,15 +3438,15 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@typescript-eslint/eslint-plugin@npm:8.19.1": "@typescript-eslint/eslint-plugin@npm:8.20.0":
version: 8.19.1 version: 8.20.0
resolution: "@typescript-eslint/eslint-plugin@npm:8.19.1" resolution: "@typescript-eslint/eslint-plugin@npm:8.20.0"
dependencies: dependencies:
"@eslint-community/regexpp": ^4.10.0 "@eslint-community/regexpp": ^4.10.0
"@typescript-eslint/scope-manager": 8.19.1 "@typescript-eslint/scope-manager": 8.20.0
"@typescript-eslint/type-utils": 8.19.1 "@typescript-eslint/type-utils": 8.20.0
"@typescript-eslint/utils": 8.19.1 "@typescript-eslint/utils": 8.20.0
"@typescript-eslint/visitor-keys": 8.19.1 "@typescript-eslint/visitor-keys": 8.20.0
graphemer: ^1.4.0 graphemer: ^1.4.0
ignore: ^5.3.1 ignore: ^5.3.1
natural-compare: ^1.4.0 natural-compare: ^1.4.0
@ -3454,64 +3455,64 @@ __metadata:
"@typescript-eslint/parser": ^8.0.0 || ^8.0.0-alpha.0 "@typescript-eslint/parser": ^8.0.0 || ^8.0.0-alpha.0
eslint: ^8.57.0 || ^9.0.0 eslint: ^8.57.0 || ^9.0.0
typescript: ">=4.8.4 <5.8.0" typescript: ">=4.8.4 <5.8.0"
checksum: 07774aeb373882c9177b0da061dde12f08202107696d9947f11819f3e4b6223f922d944f1c8967438685041a9b0a5a61cfed1d246bb168b8a31c8ec1792c2405 checksum: f029bfcce3dc12d7b539f86142857d680e06d798eca213d9fb564685d12b479205b7f40b4996e30e3f7301c7bb6d15484741352f54ddd00d74a07ea2aca53cf6
languageName: node languageName: node
linkType: hard linkType: hard
"@typescript-eslint/parser@npm:8.19.1": "@typescript-eslint/parser@npm:8.20.0":
version: 8.19.1 version: 8.20.0
resolution: "@typescript-eslint/parser@npm:8.19.1" resolution: "@typescript-eslint/parser@npm:8.20.0"
dependencies: dependencies:
"@typescript-eslint/scope-manager": 8.19.1 "@typescript-eslint/scope-manager": 8.20.0
"@typescript-eslint/types": 8.19.1 "@typescript-eslint/types": 8.20.0
"@typescript-eslint/typescript-estree": 8.19.1 "@typescript-eslint/typescript-estree": 8.20.0
"@typescript-eslint/visitor-keys": 8.19.1 "@typescript-eslint/visitor-keys": 8.20.0
debug: ^4.3.4 debug: ^4.3.4
peerDependencies: peerDependencies:
eslint: ^8.57.0 || ^9.0.0 eslint: ^8.57.0 || ^9.0.0
typescript: ">=4.8.4 <5.8.0" typescript: ">=4.8.4 <5.8.0"
checksum: a321f03ecdf1b80da6b574cf15225d77b7d15835b8ebfdbfc98b3d8aa881c0ce23b7050c35f03aa0528db8a00ccca69391eeba4f7a10ed579b29e77c7bf3c368 checksum: 00b265ed42ee1d8eb715f9978d701be0958baf7a5be9de74a1b58c09c78e3558e1e6352c4476ec8ea376c28f1437de0b58b3e1e2a9975c489f2ecd369a9050eb
languageName: node languageName: node
linkType: hard linkType: hard
"@typescript-eslint/scope-manager@npm:8.19.1": "@typescript-eslint/scope-manager@npm:8.20.0":
version: 8.19.1 version: 8.20.0
resolution: "@typescript-eslint/scope-manager@npm:8.19.1" resolution: "@typescript-eslint/scope-manager@npm:8.20.0"
dependencies: dependencies:
"@typescript-eslint/types": 8.19.1 "@typescript-eslint/types": 8.20.0
"@typescript-eslint/visitor-keys": 8.19.1 "@typescript-eslint/visitor-keys": 8.20.0
checksum: 972ee3bc3339f549e206f01b3db30b71d99090b4d581ff1b73ce833d95e4e2f6520f7f227174c53393a2646980068463daaaeb945e417458cf6f37d60e31c173 checksum: d90d89f3dc8394e44652526b88c81a977b251702a9dc5be89ac0bf7412d79d18879e03c2d6018980a09bc7c50d28dbf91ba06e056e081e6000783d69bd280761
languageName: node languageName: node
linkType: hard linkType: hard
"@typescript-eslint/type-utils@npm:8.19.1": "@typescript-eslint/type-utils@npm:8.20.0":
version: 8.19.1 version: 8.20.0
resolution: "@typescript-eslint/type-utils@npm:8.19.1" resolution: "@typescript-eslint/type-utils@npm:8.20.0"
dependencies: dependencies:
"@typescript-eslint/typescript-estree": 8.19.1 "@typescript-eslint/typescript-estree": 8.20.0
"@typescript-eslint/utils": 8.19.1 "@typescript-eslint/utils": 8.20.0
debug: ^4.3.4 debug: ^4.3.4
ts-api-utils: ^2.0.0 ts-api-utils: ^2.0.0
peerDependencies: peerDependencies:
eslint: ^8.57.0 || ^9.0.0 eslint: ^8.57.0 || ^9.0.0
typescript: ">=4.8.4 <5.8.0" typescript: ">=4.8.4 <5.8.0"
checksum: 9345ba9f2399adc9b45a8b41e68749be4485cfd4e24558c42eb2a12199610370473307bc823e6715e4d1f136cd3f9a0a61a05a27bc4ce664468eab7f76efb549 checksum: 705a166dc2846f7fe79a123ee623da213a20289fba9c0cbbcc894fe7caaa1d4ddc81bf54db9dc918c29a34294a05768c38a4f00762ba3745e0e94e2e2963f104
languageName: node languageName: node
linkType: hard linkType: hard
"@typescript-eslint/types@npm:8.19.1": "@typescript-eslint/types@npm:8.20.0":
version: 8.19.1 version: 8.20.0
resolution: "@typescript-eslint/types@npm:8.19.1" resolution: "@typescript-eslint/types@npm:8.20.0"
checksum: 76756b9c5496e1463255aa3c881eaec51a6fe718894b91f49929e9e7e258111d86a9c38a9c76b5ada29293a4cb60b96cffac82a203ec47053aa138f298ffab67 checksum: 4cb0af48411f282db33e7110e2f97de874c637e7b90ded91b77304e96f49663ca4b7308afc569bdd93766fe5f2c194686e32078d5513b5ba4e7d56191998190c
languageName: node languageName: node
linkType: hard linkType: hard
"@typescript-eslint/typescript-estree@npm:8.19.1": "@typescript-eslint/typescript-estree@npm:8.20.0":
version: 8.19.1 version: 8.20.0
resolution: "@typescript-eslint/typescript-estree@npm:8.19.1" resolution: "@typescript-eslint/typescript-estree@npm:8.20.0"
dependencies: dependencies:
"@typescript-eslint/types": 8.19.1 "@typescript-eslint/types": 8.20.0
"@typescript-eslint/visitor-keys": 8.19.1 "@typescript-eslint/visitor-keys": 8.20.0
debug: ^4.3.4 debug: ^4.3.4
fast-glob: ^3.3.2 fast-glob: ^3.3.2
is-glob: ^4.0.3 is-glob: ^4.0.3
@ -3520,32 +3521,32 @@ __metadata:
ts-api-utils: ^2.0.0 ts-api-utils: ^2.0.0
peerDependencies: peerDependencies:
typescript: ">=4.8.4 <5.8.0" typescript: ">=4.8.4 <5.8.0"
checksum: 982ac1735d076c595c3b6bfb4c2d02a41bb3cc27d8d05bdac9a08e9f007be3f151ded0f7e691de00b2aa86458e1cd5ef49cf1c19dd38d24269b1f107db2a700b checksum: 9690df2d4ec90966b8d5752ad0f1658a951fe76ea3cae8e6935e698715a25c1eb0b118fa8e044065f04ea9f6bef41d991de5298590ef2a4aa98d435bf1df6e15
languageName: node languageName: node
linkType: hard linkType: hard
"@typescript-eslint/utils@npm:8.19.1, @typescript-eslint/utils@npm:^6.0.0 || ^7.0.0 || ^8.0.0": "@typescript-eslint/utils@npm:8.20.0, @typescript-eslint/utils@npm:^6.0.0 || ^7.0.0 || ^8.0.0":
version: 8.19.1 version: 8.20.0
resolution: "@typescript-eslint/utils@npm:8.19.1" resolution: "@typescript-eslint/utils@npm:8.20.0"
dependencies: dependencies:
"@eslint-community/eslint-utils": ^4.4.0 "@eslint-community/eslint-utils": ^4.4.0
"@typescript-eslint/scope-manager": 8.19.1 "@typescript-eslint/scope-manager": 8.20.0
"@typescript-eslint/types": 8.19.1 "@typescript-eslint/types": 8.20.0
"@typescript-eslint/typescript-estree": 8.19.1 "@typescript-eslint/typescript-estree": 8.20.0
peerDependencies: peerDependencies:
eslint: ^8.57.0 || ^9.0.0 eslint: ^8.57.0 || ^9.0.0
typescript: ">=4.8.4 <5.8.0" typescript: ">=4.8.4 <5.8.0"
checksum: 745c24b9538c2c4e41cda0cfe73b78d1a8aaec3958ece128cf086f1e8d09f3f53b3299610570ae5a921300c05e43d181eda099acfb3218fadf3b310bf49b290e checksum: 5c9d72eb0d4014e41de1faa4597371f19362ce47a491359be408bfba899277f8d5660f014651f7bd41435158ae4655ade205e92f175e2355ca51a07af35a53ed
languageName: node languageName: node
linkType: hard linkType: hard
"@typescript-eslint/visitor-keys@npm:8.19.1": "@typescript-eslint/visitor-keys@npm:8.20.0":
version: 8.19.1 version: 8.20.0
resolution: "@typescript-eslint/visitor-keys@npm:8.19.1" resolution: "@typescript-eslint/visitor-keys@npm:8.20.0"
dependencies: dependencies:
"@typescript-eslint/types": 8.19.1 "@typescript-eslint/types": 8.20.0
eslint-visitor-keys: ^4.2.0 eslint-visitor-keys: ^4.2.0
checksum: dc68a7e46cd73579c81ec5594315a8564fcc74984b3d399331e66abd48db956acfa24d445660f133609d7a969a88819ca73ded493f109f42ba659958df52be7e checksum: d0bf89e431a686197c517fbb7d63ce4c8ef31e6629a545fd08198c67810ddd68c047c01fcfed8ffc3fe438654a2647b3dedf28f04beac23a65614b2e788d929a
languageName: node languageName: node
linkType: hard linkType: hard
@ -3840,9 +3841,9 @@ __metadata:
linkType: hard linkType: hard
"ace-builds@npm:^1.36.2": "ace-builds@npm:^1.36.2":
version: 1.37.2 version: 1.37.4
resolution: "ace-builds@npm:1.37.2" resolution: "ace-builds@npm:1.37.4"
checksum: 4dd7029e0a2d72e05a540da56e58ba0eaf4f5037c1dabdb419b85d34964795c28271a33a3b6d40f743fde7fa87092da56753755b1bf9094ce699bf2d6c160a6d checksum: 66010b802cc40860f0a17e5a405a5b1dcae636c04fe9f33be8aea1b6079c3e216dbae451fe7079a24b1346d19a5f253a6e98437ad39504dfdcf57aaa17169484
languageName: node languageName: node
linkType: hard linkType: hard
@ -4866,9 +4867,9 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"browserslist@npm:^4.0.0, browserslist@npm:^4.23.3, browserslist@npm:^4.24.0, browserslist@npm:^4.24.2": "browserslist@npm:^4.0.0, browserslist@npm:^4.23.3, browserslist@npm:^4.24.0, browserslist@npm:^4.24.3":
version: 4.24.3 version: 4.24.4
resolution: "browserslist@npm:4.24.3" resolution: "browserslist@npm:4.24.4"
dependencies: dependencies:
caniuse-lite: ^1.0.30001688 caniuse-lite: ^1.0.30001688
electron-to-chromium: ^1.5.73 electron-to-chromium: ^1.5.73
@ -4876,7 +4877,7 @@ __metadata:
update-browserslist-db: ^1.1.1 update-browserslist-db: ^1.1.1
bin: bin:
browserslist: cli.js browserslist: cli.js
checksum: 016efc9953350e3a7212edcfdd72210cb33b339c1a974a77c0715eb67d23d7e5cd0a073ce1c801ab09235d8c213425ca51b92d41bbb829b833872b45f885fe7c checksum: 64074bf6cf0a9ae3094d753270e3eae9cf925149db45d646f0bc67bacc2e46d7ded64a4e835b95f5fdcf0350f63a83c3755b32f80831f643a47f0886deb8a065
languageName: node languageName: node
linkType: hard linkType: hard
@ -5133,9 +5134,9 @@ __metadata:
linkType: hard linkType: hard
"caniuse-lite@npm:^1.0.0, caniuse-lite@npm:^1.0.30001646, caniuse-lite@npm:^1.0.30001688": "caniuse-lite@npm:^1.0.0, caniuse-lite@npm:^1.0.30001646, caniuse-lite@npm:^1.0.30001688":
version: 1.0.30001690 version: 1.0.30001692
resolution: "caniuse-lite@npm:1.0.30001690" resolution: "caniuse-lite@npm:1.0.30001692"
checksum: f2c1b595f15d8de4d9ccd155d61ac9f00ac62f1515870505a0186266fd52aef169fcddc90d8a4814e52b77107244806466fadc2c216662f23f1022a430e735ee checksum: 484113e3fabbe223fff0380c25c861da265a34c3f75bb5af1f254423b43e713a3c7f0c313167df52fb203f42ea68bd0df8a9e73642becfe1e9fa5734b5fc55a5
languageName: node languageName: node
linkType: hard linkType: hard
@ -5546,11 +5547,11 @@ __metadata:
linkType: hard linkType: hard
"core-js-compat@npm:^3.38.0, core-js-compat@npm:^3.38.1": "core-js-compat@npm:^3.38.0, core-js-compat@npm:^3.38.1":
version: 3.39.0 version: 3.40.0
resolution: "core-js-compat@npm:3.39.0" resolution: "core-js-compat@npm:3.40.0"
dependencies: dependencies:
browserslist: ^4.24.2 browserslist: ^4.24.3
checksum: 2d7d087c3271d711d03a55203d4756f6288317a1ce35cdc8bafaf1833ef21fd67a92a50cff8dcf7df1325ac63720906ab3cf514c85b238c95f65fca1040f6ad6 checksum: 7ad00607c481ab2ded13d72be9ca5db5bbf42e221a175e905fb425e1ef520864aea28736c7283f57e9552d570eb6204bed87fbc8b9eab0fcfd9a7830dacccd43
languageName: node languageName: node
linkType: hard linkType: hard
@ -6575,9 +6576,9 @@ __metadata:
linkType: hard linkType: hard
"electron-to-chromium@npm:^1.5.73": "electron-to-chromium@npm:^1.5.73":
version: 1.5.78 version: 1.5.80
resolution: "electron-to-chromium@npm:1.5.78" resolution: "electron-to-chromium@npm:1.5.80"
checksum: 84034073990470a9bad79bbe9c7b3fcc7a92aea9ccb745ce411415562e2112ad089e924817c7e34ba9e08e581b9fc88f33c3acdc6d6ef2812d559bd5cfb6f801 checksum: b13b553345df4de777051a68fdea3912ef7e9024c7d065feb989a31ad940716d8fee44d98cd24a55555e540a624ba0f0511538df98fb53d4ae07ee49d82da65d
languageName: node languageName: node
linkType: hard linkType: hard
@ -6830,11 +6831,11 @@ __metadata:
linkType: hard linkType: hard
"es-object-atoms@npm:^1.0.0": "es-object-atoms@npm:^1.0.0":
version: 1.0.0 version: 1.0.1
resolution: "es-object-atoms@npm:1.0.0" resolution: "es-object-atoms@npm:1.0.1"
dependencies: dependencies:
es-errors: ^1.3.0 es-errors: ^1.3.0
checksum: 26f0ff78ab93b63394e8403c353842b2272836968de4eafe97656adfb8a7c84b9099bf0fe96ed58f4a4cddc860f6e34c77f91649a58a5daa4a9c40b902744e3c checksum: 3db1c784f2690904675a13c8ffa4768270e54e3400dfb5603e1dedfe2fb07999ba58121a871b7cdb62de974a4131f540fc41b058efb7c10e8f4cf9832221f9c3
languageName: node languageName: node
linkType: hard linkType: hard
@ -6935,8 +6936,8 @@ __metadata:
linkType: hard linkType: hard
"eslint-plugin-react@npm:^7.37.3": "eslint-plugin-react@npm:^7.37.3":
version: 7.37.3 version: 7.37.4
resolution: "eslint-plugin-react@npm:7.37.3" resolution: "eslint-plugin-react@npm:7.37.4"
dependencies: dependencies:
array-includes: ^3.1.8 array-includes: ^3.1.8
array.prototype.findlast: ^1.2.5 array.prototype.findlast: ^1.2.5
@ -6958,7 +6959,7 @@ __metadata:
string.prototype.repeat: ^1.0.0 string.prototype.repeat: ^1.0.0
peerDependencies: peerDependencies:
eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7 eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7
checksum: 670dcee215f560a394b8b9966aecfc3c5ee5c15603a690f5333b0e16863275958f9c1853b12355eb0e36ef74dfac8bf645e4f440cb9b985a3bae2ac09d5ed55a checksum: 8a37bdc9b347bf3a1273fef73dfbc39279cc3e58441940a5e13b3ba4e82b34132d1d1172db9d6746f153ee981280bd6bd06a9065fb453388c68f4bebe0d9f839
languageName: node languageName: node
linkType: hard linkType: hard
@ -7024,16 +7025,16 @@ __metadata:
linkType: hard linkType: hard
"eslint@npm:^9.17.0": "eslint@npm:^9.17.0":
version: 9.17.0 version: 9.18.0
resolution: "eslint@npm:9.17.0" resolution: "eslint@npm:9.18.0"
dependencies: dependencies:
"@eslint-community/eslint-utils": ^4.2.0 "@eslint-community/eslint-utils": ^4.2.0
"@eslint-community/regexpp": ^4.12.1 "@eslint-community/regexpp": ^4.12.1
"@eslint/config-array": ^0.19.0 "@eslint/config-array": ^0.19.0
"@eslint/core": ^0.9.0 "@eslint/core": ^0.10.0
"@eslint/eslintrc": ^3.2.0 "@eslint/eslintrc": ^3.2.0
"@eslint/js": 9.17.0 "@eslint/js": 9.18.0
"@eslint/plugin-kit": ^0.2.3 "@eslint/plugin-kit": ^0.2.5
"@humanfs/node": ^0.16.6 "@humanfs/node": ^0.16.6
"@humanwhocodes/module-importer": ^1.0.1 "@humanwhocodes/module-importer": ^1.0.1
"@humanwhocodes/retry": ^0.4.1 "@humanwhocodes/retry": ^0.4.1
@ -7068,7 +7069,7 @@ __metadata:
optional: true optional: true
bin: bin:
eslint: bin/eslint.js eslint: bin/eslint.js
checksum: 0caae58c53bf4dc9b4893d75e62339e4c40fe5589652a3cb63f30a15bad1f34f8f784ca4fca471bbffedabee516a9f9620ebc33818b55e1b715e8f000865c851 checksum: 5e05ae9d25a42ae8cad86a0118ea45107b42446f3614cd0ba822affa3eb85d746e0820529b1fde72820f24aa3c3447d3260505a5ee5e95be1b8b7455740a2256
languageName: node languageName: node
linkType: hard linkType: hard
@ -7308,9 +7309,9 @@ __metadata:
linkType: hard linkType: hard
"fast-equals@npm:^5.0.1": "fast-equals@npm:^5.0.1":
version: 5.2.1 version: 5.2.2
resolution: "fast-equals@npm:5.2.1" resolution: "fast-equals@npm:5.2.2"
checksum: f986ff7e5b4db1a8261be1c94ce5f4ab81dc5abcdaad9250ed2637779097b50f975e2cf0154a587a20322b76f8ab0e17936ec117fb15a5ec8811e118b4c4320b checksum: 7156bcade0be5ee4dc335969d255a5815348d57080e1876fa1584451eafd0c92588de5f5840e55f81841b6d907ade2a49a46e4ec33e6f7a283a209c0fd8f8a59
languageName: node languageName: node
linkType: hard linkType: hard
@ -11001,7 +11002,7 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"nanoid@npm:^3.0.0, nanoid@npm:^3.3.7": "nanoid@npm:^3.0.0, nanoid@npm:^3.3.8":
version: 3.3.8 version: 3.3.8
resolution: "nanoid@npm:3.3.8" resolution: "nanoid@npm:3.3.8"
bin: bin:
@ -11840,7 +11841,7 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"picocolors@npm:^1.0.0, picocolors@npm:^1.0.1, picocolors@npm:^1.1.0, picocolors@npm:^1.1.1": "picocolors@npm:^1.0.0, picocolors@npm:^1.0.1, picocolors@npm:^1.1.1":
version: 1.1.1 version: 1.1.1
resolution: "picocolors@npm:1.1.1" resolution: "picocolors@npm:1.1.1"
checksum: e1cf46bf84886c79055fdfa9dcb3e4711ad259949e3565154b004b260cd356c5d54b31a1437ce9782624bf766272fe6b0154f5f0c744fb7af5d454d2b60db045 checksum: e1cf46bf84886c79055fdfa9dcb3e4711ad259949e3565154b004b260cd356c5d54b31a1437ce9782624bf766272fe6b0154f5f0c744fb7af5d454d2b60db045
@ -11931,14 +11932,14 @@ __metadata:
linkType: hard linkType: hard
"postcss-calc@npm:^10.0.2": "postcss-calc@npm:^10.0.2":
version: 10.0.2 version: 10.1.0
resolution: "postcss-calc@npm:10.0.2" resolution: "postcss-calc@npm:10.1.0"
dependencies: dependencies:
postcss-selector-parser: ^6.1.2 postcss-selector-parser: ^7.0.0
postcss-value-parser: ^4.2.0 postcss-value-parser: ^4.2.0
peerDependencies: peerDependencies:
postcss: ^8.4.38 postcss: ^8.4.38
checksum: 79edb49f007736cb35ee0de76c334185cf9c8fb10edae5a9fc437ddd0ef52c88dc80fbda0f9830f3ecb0a5318a409e31b7f44e1db6b3054dd790665b76299e85 checksum: 0d4f6c7a7df759c87e410fb9e010e49f666dc749d2326be6c40dce61a13ee04118500cd340049a2abe470b85680c5d0c98f2e9f626847f794adb7093701b14c2
languageName: node languageName: node
linkType: hard linkType: hard
@ -12329,13 +12330,13 @@ __metadata:
linkType: hard linkType: hard
"postcss@npm:^8.4.31, postcss@npm:^8.4.33, postcss@npm:^8.4.38": "postcss@npm:^8.4.31, postcss@npm:^8.4.33, postcss@npm:^8.4.38":
version: 8.4.49 version: 8.5.0
resolution: "postcss@npm:8.4.49" resolution: "postcss@npm:8.5.0"
dependencies: dependencies:
nanoid: ^3.3.7 nanoid: ^3.3.8
picocolors: ^1.1.1 picocolors: ^1.1.1
source-map-js: ^1.2.1 source-map-js: ^1.2.1
checksum: eb5d6cbdca24f50399aafa5d2bea489e4caee4c563ea1edd5a2485bc5f84e9ceef3febf170272bc83a99c31d23a316ad179213e853f34c2a7a8ffa534559d63a checksum: 00cd3ad373fcbef960273124556c1a989877bfa4244c9095ba2e7bedb450328bc4cbd3429fbc54dfdd882b414fde311ca28fa476db11e18a0110789812c58152
languageName: node languageName: node
linkType: hard linkType: hard
@ -12727,8 +12728,8 @@ __metadata:
linkType: hard linkType: hard
"rc-overflow@npm:^1.2.0, rc-overflow@npm:^1.2.8": "rc-overflow@npm:^1.2.0, rc-overflow@npm:^1.2.8":
version: 1.3.2 version: 1.4.1
resolution: "rc-overflow@npm:1.3.2" resolution: "rc-overflow@npm:1.4.1"
dependencies: dependencies:
"@babel/runtime": ^7.11.1 "@babel/runtime": ^7.11.1
classnames: ^2.2.1 classnames: ^2.2.1
@ -12737,7 +12738,7 @@ __metadata:
peerDependencies: peerDependencies:
react: ">=16.9.0" react: ">=16.9.0"
react-dom: ">=16.9.0" react-dom: ">=16.9.0"
checksum: 7041f72e881ead9a484bddb6b6b6eb94455911f6b1cb06b16979ffe7d79e81058d5c77d0ca3f14faa0d1e43c81b966e65ed11678d09c2344cfd84dcfd803e620 checksum: d0b5417a346934dfb510b169063448408d5daf4f95d85e15d7a7e7f8c27bd7343dd473b28e6b01b52d31cd1b4efb7cf0d31c7c732a5dedf632812ff5bea367f3
languageName: node languageName: node
linkType: hard linkType: hard
@ -13562,7 +13563,7 @@ __metadata:
resolution: "root-workspace-0b6124@workspace:." resolution: "root-workspace-0b6124@workspace:."
dependencies: dependencies:
"@babel/core": ^7.10.2 "@babel/core": ^7.10.2
"@babel/eslint-parser": ^7.24.7 "@babel/eslint-parser": ^7.26.5
"@babel/eslint-plugin": ^7.24.7 "@babel/eslint-plugin": ^7.24.7
"@babel/plugin-proposal-class-properties": ^7.10.4 "@babel/plugin-proposal-class-properties": ^7.10.4
"@babel/plugin-proposal-object-rest-spread": ^7.10.1 "@babel/plugin-proposal-object-rest-spread": ^7.10.1
@ -13589,7 +13590,7 @@ __metadata:
"@simonwep/pickr": ^1.5.1 "@simonwep/pickr": ^1.5.1
"@svgr/webpack": ^8.1.0 "@svgr/webpack": ^8.1.0
"@szhsin/react-menu": ^4.2.2 "@szhsin/react-menu": ^4.2.2
"@tanstack/react-query": 5.62.15 "@tanstack/react-query": 5.64.0
"@tanstack/react-table": ^8.16.0 "@tanstack/react-table": ^8.16.0
"@tanstack/react-virtual": ^3.8.4 "@tanstack/react-virtual": ^3.8.4
"@testing-library/dom": 10.4.0 "@testing-library/dom": 10.4.0
@ -13703,7 +13704,7 @@ __metadata:
webpack-cli: ^5.1.4 webpack-cli: ^5.1.4
wkx: ^0.5.0 wkx: ^0.5.0
yarn-audit-html: 7.3.2 yarn-audit-html: 7.3.2
zustand: ^5.0.1 zustand: ^5.0.3
languageName: unknown languageName: unknown
linkType: soft linkType: soft
@ -14719,9 +14720,9 @@ __metadata:
linkType: hard linkType: hard
"stylis@npm:^4.3.4": "stylis@npm:^4.3.4":
version: 4.3.4 version: 4.3.5
resolution: "stylis@npm:4.3.4" resolution: "stylis@npm:4.3.5"
checksum: 7e3a482c7bba6e0e9e3187972e958acf800b1abe99f23e081fcb5dea8e4a05eca44286c1381ce2bc7179245ddbd7bf1f74237ed413fce7491320a543bcfebda9 checksum: ab7342ee0ebfbb37f7c40846fb0cb231eda849beaa766e19be6a54add9f43a616b306071755b1a655c8c91c6c77b175513efe7439807dcc47f9498c7ba3c2783
languageName: node languageName: node
linkType: hard linkType: hard
@ -15272,36 +15273,36 @@ __metadata:
linkType: hard linkType: hard
"typescript-eslint@npm:^8.8.0": "typescript-eslint@npm:^8.8.0":
version: 8.19.1 version: 8.20.0
resolution: "typescript-eslint@npm:8.19.1" resolution: "typescript-eslint@npm:8.20.0"
dependencies: dependencies:
"@typescript-eslint/eslint-plugin": 8.19.1 "@typescript-eslint/eslint-plugin": 8.20.0
"@typescript-eslint/parser": 8.19.1 "@typescript-eslint/parser": 8.20.0
"@typescript-eslint/utils": 8.19.1 "@typescript-eslint/utils": 8.20.0
peerDependencies: peerDependencies:
eslint: ^8.57.0 || ^9.0.0 eslint: ^8.57.0 || ^9.0.0
typescript: ">=4.8.4 <5.8.0" typescript: ">=4.8.4 <5.8.0"
checksum: 60d22b3c2378c56749f48df3b154a6c8645c25968f16c5f4517bbca2f182178623b085190cc8475641e09ee34f9211d5c126c89083f822b07ae8ab17bba2097d checksum: d8b4fbfcbbc0336821ab032cf942427eb9e11607bd340165bef75c7cb850d00c13187e92b29f05e3ada953a437da880ffb00414925da8bcba3faca00d4c646f1
languageName: node languageName: node
linkType: hard linkType: hard
"typescript@npm:^5.4.5": "typescript@npm:^5.4.5":
version: 5.7.2 version: 5.7.3
resolution: "typescript@npm:5.7.2" resolution: "typescript@npm:5.7.3"
bin: bin:
tsc: bin/tsc tsc: bin/tsc
tsserver: bin/tsserver tsserver: bin/tsserver
checksum: b55300c4cefee8ee380d14fa9359ccb41ff8b54c719f6bc49b424899d662a5ce62ece390ce769568c7f4d14af844085255e63788740084444eb12ef423b13433 checksum: 6c38b1e989918e576f0307e6ee013522ea480dfce5f3ca85c9b2d8adb1edeffd37f4f30cd68de0c38a44563d12ba922bdb7e36aa2dac9c51de5d561e6e9a2e9c
languageName: node languageName: node
linkType: hard linkType: hard
"typescript@patch:typescript@^5.4.5#~builtin<compat/typescript>": "typescript@patch:typescript@^5.4.5#~builtin<compat/typescript>":
version: 5.7.2 version: 5.7.3
resolution: "typescript@patch:typescript@npm%3A5.7.2#~builtin<compat/typescript>::version=5.7.2&hash=5786d5" resolution: "typescript@patch:typescript@npm%3A5.7.3#~builtin<compat/typescript>::version=5.7.3&hash=5786d5"
bin: bin:
tsc: bin/tsc tsc: bin/tsc
tsserver: bin/tsserver tsserver: bin/tsserver
checksum: e9fa1fd1f4203d399a5264e8612f9a64d9daf4ea7c926f346e11f6c8137acc6e29386c171c6b4085950ce714243be1627f60e76e5bd135124e226ce55309380f checksum: 081eb086b0247a54cd8d61e34c10c3325037b0fdf00e135738d923e4e79f492e128be31ed03980039874ef1aa2e6fded8067f7be0cd92790efd2576e1d70e723
languageName: node languageName: node
linkType: hard linkType: hard
@ -15470,16 +15471,16 @@ __metadata:
linkType: hard linkType: hard
"update-browserslist-db@npm:^1.1.1": "update-browserslist-db@npm:^1.1.1":
version: 1.1.1 version: 1.1.2
resolution: "update-browserslist-db@npm:1.1.1" resolution: "update-browserslist-db@npm:1.1.2"
dependencies: dependencies:
escalade: ^3.2.0 escalade: ^3.2.0
picocolors: ^1.1.0 picocolors: ^1.1.1
peerDependencies: peerDependencies:
browserslist: ">= 4.21.0" browserslist: ">= 4.21.0"
bin: bin:
update-browserslist-db: cli.js update-browserslist-db: cli.js
checksum: 2ea11bd2562122162c3e438d83a1f9125238c0844b6d16d366e3276d0c0acac6036822dc7df65fc5a89c699cdf9f174acf439c39bedf3f9a2f3983976e4b4c3e checksum: 088d2bad8ddeaeccd82d87d3f6d736d5256d697b725ffaa2b601dfd0ec16ba5fad20db8dcdccf55396e1a36194236feb69e3f5cce772e5be15a5e4261ff2815d
languageName: node languageName: node
linkType: hard linkType: hard
@ -16248,9 +16249,9 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"zustand@npm:^5.0.1": "zustand@npm:^5.0.3":
version: 5.0.2 version: 5.0.3
resolution: "zustand@npm:5.0.2" resolution: "zustand@npm:5.0.3"
peerDependencies: peerDependencies:
"@types/react": ">=18.0.0" "@types/react": ">=18.0.0"
immer: ">=9.0.6" immer: ">=9.0.6"
@ -16265,6 +16266,6 @@ __metadata:
optional: true optional: true
use-sync-external-store: use-sync-external-store:
optional: true optional: true
checksum: b8c3bf776112fc606b716bda9d65642300fd8f9d13d8f2264a811492d266afed1e0348aaaecc7f4c6f52090a46dcca040fcddc6cea0e4b2f21dc798dd3bf7d92 checksum: 72da39ac3017726c3562c615a0f76cee0c9ea678d664f82ee7669f8cb5e153ee81059363473094e4154d73a2935ee3459f6792d1ec9d08d2e72ebe641a16a6ba
languageName: node languageName: node
linkType: hard linkType: hard