@@ -19,7 +19,7 @@ import type * as mysql from 'mysql';
19
19
import type * as mysql2 from 'mysql2/promise' ;
20
20
import type * as sqlite3 from 'sqlite3' ;
21
21
import type * as mssql from 'mssql' ;
22
- // import type * as oracledb from 'oracledb';
22
+ import type * as oracledb from 'oracledb' ;
23
23
24
24
import { Helper } from 'casbin' ;
25
25
import * as Knex from 'knex' ;
@@ -33,6 +33,7 @@ export type Instance = {
33
33
mysql2 : Promise < mysql2 . Connection > ;
34
34
sqlite3 : sqlite3 . Database ;
35
35
mssql : mssql . ConnectionPool ;
36
+ oracledb : Promise < oracledb . Connection > ;
36
37
} ;
37
38
38
39
const CasbinRuleTable = 'casbin_rule' ;
@@ -103,13 +104,13 @@ export class BasicAdapter<T extends keyof Instance> implements Adapter {
103
104
return true ;
104
105
}
105
106
106
- async addPolicy ( sec : string , ptype : string , rule : string [ ] ) : Promise < void > {
107
+ async addPolicy ( _sec : string , ptype : string , rule : string [ ] ) : Promise < void > {
107
108
const line = this . savePolicyLine ( ptype , rule ) ;
108
109
await this . query ( this . knex . insert ( line ) . into ( CasbinRuleTable ) . toQuery ( ) ) ;
109
110
}
110
111
111
112
async addPolicies (
112
- sec : string ,
113
+ _sec : string ,
113
114
ptype : string ,
114
115
rules : string [ ] [ ]
115
116
) : Promise < void > {
@@ -126,7 +127,7 @@ export class BasicAdapter<T extends keyof Instance> implements Adapter {
126
127
}
127
128
128
129
async removePolicy (
129
- sec : string ,
130
+ _sec : string ,
130
131
ptype : string ,
131
132
rule : string [ ]
132
133
) : Promise < void > {
@@ -137,7 +138,7 @@ export class BasicAdapter<T extends keyof Instance> implements Adapter {
137
138
}
138
139
139
140
async removePolicies (
140
- sec : string ,
141
+ _sec : string ,
141
142
ptype : string ,
142
143
rules : string [ ] [ ]
143
144
) : Promise < void > {
@@ -154,7 +155,7 @@ export class BasicAdapter<T extends keyof Instance> implements Adapter {
154
155
}
155
156
156
157
async removeFilteredPolicy (
157
- sec : string ,
158
+ _sec : string ,
158
159
ptype : string ,
159
160
fieldIndex : number ,
160
161
...fieldValues : string [ ]
@@ -215,6 +216,11 @@ export class BasicAdapter<T extends keyof Instance> implements Adapter {
215
216
case 'mssql' : {
216
217
await ( < BasicAdapter < 'mssql' > > this ) . client . close ( ) ;
217
218
219
+ break ;
220
+ }
221
+ case 'oracledb' : {
222
+ await ( await ( < BasicAdapter < 'oracledb' > > this ) . client ) . close ( ) ;
223
+
218
224
break ;
219
225
}
220
226
}
@@ -302,6 +308,11 @@ export class BasicAdapter<T extends keyof Instance> implements Adapter {
302
308
case 'mssql' : {
303
309
await ( < BasicAdapter < 'mssql' > > this ) . client . connect ( ) ;
304
310
311
+ break ;
312
+ }
313
+ case 'oracledb' : {
314
+ await ( < BasicAdapter < 'oracledb' > > this ) . client ;
315
+
305
316
break ;
306
317
}
307
318
}
@@ -352,6 +363,15 @@ export class BasicAdapter<T extends keyof Instance> implements Adapter {
352
363
result = ( ( await ( < BasicAdapter < 'mssql' > > this ) . client . query ( sql ) )
353
364
. recordset as unknown ) as CasbinRule [ ] | undefined ;
354
365
366
+ break ;
367
+ }
368
+ case 'oracledb' : {
369
+ result = (
370
+ await ( await ( < BasicAdapter < 'oracledb' > > this ) . client ) . execute <
371
+ CasbinRule
372
+ > ( sql )
373
+ ) . rows ;
374
+
355
375
break ;
356
376
}
357
377
}
0 commit comments