Skip to content

Commit d84ba86

Browse files
authored
Merge pull request #301 from dferrand/iss266
Add "View authorities" option on SQL objects. Resolves #266
2 parents a56a3b3 + abe1bf8 commit d84ba86

File tree

3 files changed

+36
-0
lines changed

3 files changed

+36
-0
lines changed

package.json

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -424,6 +424,11 @@
424424
"category": "Db2 for i",
425425
"icon": "$(search)"
426426
},
427+
{
428+
"command": "vscode-db2i.viewPermissions",
429+
"title": "View permissions",
430+
"category": "Db2 for i"
431+
},
427432
{
428433
"command": "vscode-db2i.runEditorStatement",
429434
"title": "Run statement",
@@ -1017,6 +1022,11 @@
10171022
"when": "viewItem == table || viewItem == view || viewItem == index",
10181023
"group": "db2data@4"
10191024
},
1025+
{
1026+
"command": "vscode-db2i.viewPermissions",
1027+
"when": "viewItem == table || viewItem == view || viewItem == alias || viewItem == function || viewItem == variable || viewItem == index || viewItem == procedure || viewItem == sequence || viewItem == package || viewItem == trigger || viewItem == type",
1028+
"group": "db2data@5"
1029+
},
10201030
{
10211031
"command": "vscode-db2i.advisedIndexes",
10221032
"when": "viewItem == table || viewItem == schema",

src/views/schemaBrowser/contributes.json

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,11 @@
105105
"title": "Set filter",
106106
"category": "Db2 for i",
107107
"icon": "$(search)"
108+
},
109+
{
110+
"command": "vscode-db2i.viewPermissions",
111+
"title": "View permissions",
112+
"category": "Db2 for i"
108113
}
109114
],
110115
"menus": {
@@ -197,6 +202,11 @@
197202
"when": "viewItem == table || viewItem == view || viewItem == index",
198203
"group": "db2data@4"
199204
},
205+
{
206+
"command": "vscode-db2i.viewPermissions",
207+
"when": "viewItem == table || viewItem == view || viewItem == alias || viewItem == function || viewItem == variable || viewItem == index || viewItem == procedure || viewItem == sequence || viewItem == package || viewItem == trigger || viewItem == type",
208+
"group": "db2data@5"
209+
},
200210
{
201211
"command": "vscode-db2i.advisedIndexes",
202212
"when": "viewItem == table || viewItem == schema",

src/views/schemaBrowser/index.ts

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -165,6 +165,22 @@ export default class schemaBrowser {
165165
}
166166
}),
167167

168+
vscode.commands.registerCommand(`vscode-db2i.viewPermissions`, async (object: SQLObject) => {
169+
if (object) {
170+
const content = `SELECT AUTHORIZATION_NAME, OBJECT_AUTHORITY,
171+
OWNER, OBJECT_OPERATIONAL, OBJECT_MANAGEMENT, OBJECT_EXISTENCE, OBJECT_ALTER, OBJECT_REFERENCE,
172+
DATA_READ, DATA_ADD, DATA_UPDATE, DATA_DELETE, DATA_EXECUTE FROM QSYS2.OBJECT_PRIVILEGES
173+
WHERE OBJECT_SCHEMA='${object.schema}' AND OBJECT_NAME='${object.name}' AND
174+
SQL_OBJECT_TYPE='${object.type.toUpperCase()}'`;
175+
176+
vscode.commands.executeCommand(`vscode-db2i.runEditorStatement`, {
177+
content,
178+
qualifier: `statement`,
179+
open: false,
180+
});
181+
}
182+
}),
183+
168184
vscode.commands.registerCommand(`vscode-db2i.getMTIs`, async (object: SQLObject | SchemaItem) => {
169185
if (object) {
170186
const content = getMTIStatement(object.schema, (`name` in object ? object.name : undefined));

0 commit comments

Comments
 (0)