@cloud-copilot/iam-simulate 0.1.0 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/condition/baseConditionperatorTests.js +1 -1
- package/dist/cjs/condition/baseConditionperatorTests.js.map +1 -1
- package/dist/cjs/core_engine/coreSimulatorEngine.d.ts.map +1 -1
- package/dist/cjs/core_engine/coreSimulatorEngine.js +4 -1
- package/dist/cjs/core_engine/coreSimulatorEngine.js.map +1 -1
- package/dist/cjs/index.d.ts +4 -0
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +8 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/request/request.d.ts +9 -3
- package/dist/cjs/request/request.d.ts.map +1 -1
- package/dist/cjs/request/request.js +4 -7
- package/dist/cjs/request/request.js.map +1 -1
- package/dist/cjs/request/requestResource.d.ts +7 -1
- package/dist/cjs/request/requestResource.d.ts.map +1 -1
- package/dist/cjs/request/requestResource.js +6 -1
- package/dist/cjs/request/requestResource.js.map +1 -1
- package/dist/cjs/services/DefaultServiceAuthorizer.d.ts.map +1 -1
- package/dist/cjs/services/DefaultServiceAuthorizer.js +2 -2
- package/dist/cjs/services/DefaultServiceAuthorizer.js.map +1 -1
- package/dist/cjs/simulation_engine/contextKeys.d.ts +3 -0
- package/dist/cjs/simulation_engine/contextKeys.d.ts.map +1 -0
- package/dist/cjs/simulation_engine/contextKeys.js +53 -0
- package/dist/cjs/simulation_engine/contextKeys.js.map +1 -0
- package/dist/cjs/simulation_engine/simulationEngine.d.ts +25 -0
- package/dist/cjs/simulation_engine/simulationEngine.d.ts.map +1 -0
- package/dist/cjs/simulation_engine/simulationEngine.js +38 -0
- package/dist/cjs/simulation_engine/simulationEngine.js.map +1 -0
- package/dist/esm/StatementAnalysis.d.ts +27 -0
- package/dist/esm/StatementAnalysis.d.ts.map +1 -0
- package/dist/esm/StatementAnalysis.js +2 -0
- package/dist/esm/StatementAnalysis.js.map +1 -0
- package/dist/esm/action/action.d.ts +9 -1
- package/dist/esm/action/action.d.ts.map +1 -1
- package/dist/esm/action/action.js +16 -0
- package/dist/esm/action/action.js.map +1 -1
- package/dist/esm/condition/arn/ArnEquals.d.ts +3 -0
- package/dist/esm/condition/arn/ArnEquals.d.ts.map +1 -0
- package/dist/esm/condition/arn/ArnEquals.js +8 -0
- package/dist/esm/condition/arn/ArnEquals.js.map +1 -0
- package/dist/esm/condition/arn/ArnLike.d.ts +3 -0
- package/dist/esm/condition/arn/ArnLike.d.ts.map +1 -0
- package/dist/esm/condition/arn/ArnLike.js +47 -0
- package/dist/esm/condition/arn/ArnLike.js.map +1 -0
- package/dist/esm/condition/arn/ArnNotEquals.d.ts +3 -0
- package/dist/esm/condition/arn/ArnNotEquals.d.ts.map +1 -0
- package/dist/esm/condition/arn/ArnNotEquals.js +8 -0
- package/dist/esm/condition/arn/ArnNotEquals.js.map +1 -0
- package/dist/esm/condition/arn/ArnNotLike.d.ts +3 -0
- package/dist/esm/condition/arn/ArnNotLike.d.ts.map +1 -0
- package/dist/esm/condition/arn/ArnNotLike.js +10 -0
- package/dist/esm/condition/arn/ArnNotLike.js.map +1 -0
- package/dist/esm/condition/baseConditionperatorTests.d.ts +12 -0
- package/dist/esm/condition/baseConditionperatorTests.d.ts.map +1 -0
- package/dist/esm/condition/baseConditionperatorTests.js +18 -0
- package/dist/esm/condition/baseConditionperatorTests.js.map +1 -0
- package/dist/esm/condition/binary/BinaryEquals.d.ts +7 -0
- package/dist/esm/condition/binary/BinaryEquals.d.ts.map +1 -0
- package/dist/esm/condition/binary/BinaryEquals.js +13 -0
- package/dist/esm/condition/binary/BinaryEquals.js.map +1 -0
- package/dist/esm/condition/boolean/Bool.d.ts +3 -0
- package/dist/esm/condition/boolean/Bool.d.ts.map +1 -0
- package/dist/esm/condition/boolean/Bool.js +17 -0
- package/dist/esm/condition/boolean/Bool.js.map +1 -0
- package/dist/esm/condition/condition.d.ts +1 -0
- package/dist/esm/condition/condition.d.ts.map +1 -1
- package/dist/esm/condition/condition.js +60 -11
- package/dist/esm/condition/condition.js.map +1 -1
- package/dist/esm/condition/date/DateEquals.d.ts +3 -0
- package/dist/esm/condition/date/DateEquals.d.ts.map +1 -0
- package/dist/esm/condition/date/DateEquals.js +14 -0
- package/dist/esm/condition/date/DateEquals.js.map +1 -0
- package/dist/esm/condition/date/DateGreaterThan.d.ts +3 -0
- package/dist/esm/condition/date/DateGreaterThan.d.ts.map +1 -0
- package/dist/esm/condition/date/DateGreaterThan.js +14 -0
- package/dist/esm/condition/date/DateGreaterThan.js.map +1 -0
- package/dist/esm/condition/date/DateGreaterThanEquals.d.ts +3 -0
- package/dist/esm/condition/date/DateGreaterThanEquals.d.ts.map +1 -0
- package/dist/esm/condition/date/DateGreaterThanEquals.js +14 -0
- package/dist/esm/condition/date/DateGreaterThanEquals.js.map +1 -0
- package/dist/esm/condition/date/DateLessThan.d.ts +3 -0
- package/dist/esm/condition/date/DateLessThan.d.ts.map +1 -0
- package/dist/esm/condition/date/DateLessThan.js +14 -0
- package/dist/esm/condition/date/DateLessThan.js.map +1 -0
- package/dist/esm/condition/date/DateLessThanEquals.d.ts +3 -0
- package/dist/esm/condition/date/DateLessThanEquals.d.ts.map +1 -0
- package/dist/esm/condition/date/DateLessThanEquals.js +14 -0
- package/dist/esm/condition/date/DateLessThanEquals.js.map +1 -0
- package/dist/esm/condition/date/DateNotEquals.d.ts +3 -0
- package/dist/esm/condition/date/DateNotEquals.d.ts.map +1 -0
- package/dist/esm/condition/date/DateNotEquals.js +26 -0
- package/dist/esm/condition/date/DateNotEquals.js.map +1 -0
- package/dist/esm/condition/date/date.d.ts +17 -0
- package/dist/esm/condition/date/date.d.ts.map +1 -0
- package/dist/esm/condition/date/date.js +38 -0
- package/dist/esm/condition/date/date.js.map +1 -0
- package/dist/esm/condition/ipaddress/IpAddress.d.ts +3 -0
- package/dist/esm/condition/ipaddress/IpAddress.d.ts.map +1 -0
- package/dist/esm/condition/ipaddress/IpAddress.js +24 -0
- package/dist/esm/condition/ipaddress/IpAddress.js.map +1 -0
- package/dist/esm/condition/ipaddress/NotIpAddress.d.ts +3 -0
- package/dist/esm/condition/ipaddress/NotIpAddress.d.ts.map +1 -0
- package/dist/esm/condition/ipaddress/NotIpAddress.js +28 -0
- package/dist/esm/condition/ipaddress/NotIpAddress.js.map +1 -0
- package/dist/esm/condition/ipaddress/ipv4.d.ts +24 -0
- package/dist/esm/condition/ipaddress/ipv4.d.ts.map +1 -0
- package/dist/esm/condition/ipaddress/ipv4.js +54 -0
- package/dist/esm/condition/ipaddress/ipv4.js.map +1 -0
- package/dist/esm/condition/ipaddress/ipv6.d.ts +24 -0
- package/dist/esm/condition/ipaddress/ipv6.d.ts.map +1 -0
- package/dist/esm/condition/ipaddress/ipv6.js +106 -0
- package/dist/esm/condition/ipaddress/ipv6.js.map +1 -0
- package/dist/esm/condition/numeric/NumericEquals.d.ts +3 -0
- package/dist/esm/condition/numeric/NumericEquals.d.ts.map +1 -0
- package/dist/esm/condition/numeric/NumericEquals.js +14 -0
- package/dist/esm/condition/numeric/NumericEquals.js.map +1 -0
- package/dist/esm/condition/numeric/NumericGreaterThan.d.ts +3 -0
- package/dist/esm/condition/numeric/NumericGreaterThan.d.ts.map +1 -0
- package/dist/esm/condition/numeric/NumericGreaterThan.js +14 -0
- package/dist/esm/condition/numeric/NumericGreaterThan.js.map +1 -0
- package/dist/esm/condition/numeric/NumericGreaterThanEquals.d.ts +3 -0
- package/dist/esm/condition/numeric/NumericGreaterThanEquals.d.ts.map +1 -0
- package/dist/esm/condition/numeric/NumericGreaterThanEquals.js +14 -0
- package/dist/esm/condition/numeric/NumericGreaterThanEquals.js.map +1 -0
- package/dist/esm/condition/numeric/NumericLessThan.d.ts +3 -0
- package/dist/esm/condition/numeric/NumericLessThan.d.ts.map +1 -0
- package/dist/esm/condition/numeric/NumericLessThan.js +14 -0
- package/dist/esm/condition/numeric/NumericLessThan.js.map +1 -0
- package/dist/esm/condition/numeric/NumericLessThanEquals.d.ts +3 -0
- package/dist/esm/condition/numeric/NumericLessThanEquals.d.ts.map +1 -0
- package/dist/esm/condition/numeric/NumericLessThanEquals.js +14 -0
- package/dist/esm/condition/numeric/NumericLessThanEquals.js.map +1 -0
- package/dist/esm/condition/numeric/NumericNotEquals.d.ts +3 -0
- package/dist/esm/condition/numeric/NumericNotEquals.d.ts.map +1 -0
- package/dist/esm/condition/numeric/NumericNotEquals.js +26 -0
- package/dist/esm/condition/numeric/NumericNotEquals.js.map +1 -0
- package/dist/esm/condition/numeric/numeric.d.ts +17 -0
- package/dist/esm/condition/numeric/numeric.d.ts.map +1 -0
- package/dist/esm/condition/numeric/numeric.js +37 -0
- package/dist/esm/condition/numeric/numeric.js.map +1 -0
- package/dist/esm/condition/string/StringEquals.d.ts.map +1 -0
- package/dist/esm/condition/string/StringEquals.js.map +1 -0
- package/dist/esm/condition/string/StringEqualsIgnoreCase.d.ts +3 -0
- package/dist/esm/condition/string/StringEqualsIgnoreCase.d.ts.map +1 -0
- package/dist/esm/condition/string/StringEqualsIgnoreCase.js +14 -0
- package/dist/esm/condition/string/StringEqualsIgnoreCase.js.map +1 -0
- package/dist/esm/condition/string/StringLike.d.ts +3 -0
- package/dist/esm/condition/string/StringLike.d.ts.map +1 -0
- package/dist/esm/condition/string/StringLike.js +11 -0
- package/dist/esm/condition/string/StringLike.js.map +1 -0
- package/dist/esm/condition/string/StringNotEquals.d.ts +3 -0
- package/dist/esm/condition/string/StringNotEquals.d.ts.map +1 -0
- package/dist/esm/condition/string/StringNotEquals.js +11 -0
- package/dist/esm/condition/string/StringNotEquals.js.map +1 -0
- package/dist/esm/condition/string/StringNotEqualsIgnoreCase.d.ts +3 -0
- package/dist/esm/condition/string/StringNotEqualsIgnoreCase.d.ts.map +1 -0
- package/dist/esm/condition/string/StringNotEqualsIgnoreCase.js +10 -0
- package/dist/esm/condition/string/StringNotEqualsIgnoreCase.js.map +1 -0
- package/dist/esm/condition/string/StringNotLike.d.ts +3 -0
- package/dist/esm/condition/string/StringNotLike.d.ts.map +1 -0
- package/dist/esm/condition/string/StringNotLike.js +10 -0
- package/dist/esm/condition/string/StringNotLike.js.map +1 -0
- package/dist/esm/core_engine/coreSimulatorEngine.d.ts +44 -0
- package/dist/esm/core_engine/coreSimulatorEngine.d.ts.map +1 -0
- package/dist/esm/core_engine/coreSimulatorEngine.js +58 -0
- package/dist/esm/core_engine/coreSimulatorEngine.js.map +1 -0
- package/dist/esm/evaluate.d.ts +1 -1
- package/dist/esm/evaluate.d.ts.map +1 -1
- package/dist/esm/index.d.ts +4 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +3 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/principal/principal.d.ts +1 -2
- package/dist/esm/principal/principal.d.ts.map +1 -1
- package/dist/esm/request/request.d.ts +9 -5
- package/dist/esm/request/request.d.ts.map +1 -1
- package/dist/esm/request/request.js +4 -8
- package/dist/esm/request/request.js.map +1 -1
- package/dist/esm/request/requestResource.d.ts +7 -1
- package/dist/esm/request/requestResource.d.ts.map +1 -1
- package/dist/esm/request/requestResource.js +5 -1
- package/dist/esm/request/requestResource.js.map +1 -1
- package/dist/esm/resource/resource.d.ts +16 -1
- package/dist/esm/resource/resource.d.ts.map +1 -1
- package/dist/esm/resource/resource.js +24 -26
- package/dist/esm/resource/resource.js.map +1 -1
- package/dist/esm/services/DefaultServiceAuthorizer.d.ts +12 -0
- package/dist/esm/services/DefaultServiceAuthorizer.d.ts.map +1 -0
- package/dist/esm/services/DefaultServiceAuthorizer.js +75 -0
- package/dist/esm/services/DefaultServiceAuthorizer.js.map +1 -0
- package/dist/esm/services/ServiceAuthorizer.d.ts +11 -0
- package/dist/esm/services/ServiceAuthorizer.d.ts.map +1 -0
- package/dist/esm/services/ServiceAuthorizer.js +2 -0
- package/dist/esm/services/ServiceAuthorizer.js.map +1 -0
- package/dist/esm/simulation_engine/contextKeys.d.ts +3 -0
- package/dist/esm/simulation_engine/contextKeys.d.ts.map +1 -0
- package/dist/esm/simulation_engine/contextKeys.js +49 -0
- package/dist/esm/simulation_engine/contextKeys.js.map +1 -0
- package/dist/esm/simulation_engine/simulationEngine.d.ts +25 -0
- package/dist/esm/simulation_engine/simulationEngine.d.ts.map +1 -0
- package/dist/esm/simulation_engine/simulationEngine.js +35 -0
- package/dist/esm/simulation_engine/simulationEngine.js.map +1 -0
- package/dist/esm/util.d.ts +32 -0
- package/dist/esm/util.d.ts.map +1 -1
- package/dist/esm/util.js +78 -2
- package/dist/esm/util.js.map +1 -1
- package/package.json +1 -1
- package/dist/cjs/action.d.ts +0 -4
- package/dist/cjs/action.d.ts.map +0 -1
- package/dist/cjs/action.js +0 -21
- package/dist/cjs/action.js.map +0 -1
- package/dist/cjs/condition/strings/StringEquals.d.ts.map +0 -1
- package/dist/cjs/condition/strings/StringEquals.js +0 -14
- package/dist/cjs/condition/strings/StringEquals.js.map +0 -1
- package/dist/cjs/request/requestSupplementalData.d.ts +0 -19
- package/dist/cjs/request/requestSupplementalData.d.ts.map +0 -1
- package/dist/cjs/request/requestSupplementalData.js +0 -37
- package/dist/cjs/request/requestSupplementalData.js.map +0 -1
- package/dist/cjs/request.d.ts +0 -15
- package/dist/cjs/request.d.ts.map +0 -1
- package/dist/cjs/request.js +0 -17
- package/dist/cjs/request.js.map +0 -1
- package/dist/esm/action.d.ts +0 -4
- package/dist/esm/action.d.ts.map +0 -1
- package/dist/esm/action.js +0 -18
- package/dist/esm/action.js.map +0 -1
- package/dist/esm/condition/strings/StringEquals.d.ts +0 -3
- package/dist/esm/condition/strings/StringEquals.d.ts.map +0 -1
- package/dist/esm/condition/strings/StringEquals.js.map +0 -1
- package/dist/esm/request/requestSupplementalData.d.ts +0 -19
- package/dist/esm/request/requestSupplementalData.d.ts.map +0 -1
- package/dist/esm/request/requestSupplementalData.js +0 -30
- package/dist/esm/request/requestSupplementalData.js.map +0 -1
- package/dist/esm/request.d.ts +0 -15
- package/dist/esm/request.d.ts.map +0 -1
- package/dist/esm/request.js +0 -9
- package/dist/esm/request.js.map +0 -1
- /package/dist/{cjs/condition/strings → esm/condition/string}/StringEquals.d.ts +0 -0
- /package/dist/esm/condition/{strings → string}/StringEquals.js +0 -0
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { ValidationError } from "@cloud-copilot/iam-policy";
|
|
2
|
+
interface SimulationOptions {
|
|
3
|
+
assumeSecureTransport: boolean;
|
|
4
|
+
}
|
|
5
|
+
interface Simulation {
|
|
6
|
+
request: {
|
|
7
|
+
principal: string;
|
|
8
|
+
action: string;
|
|
9
|
+
resource: {
|
|
10
|
+
resource: string;
|
|
11
|
+
accountId: string;
|
|
12
|
+
};
|
|
13
|
+
contextVariables: Record<string, any>;
|
|
14
|
+
};
|
|
15
|
+
identityPolicies: Record<string, any>[];
|
|
16
|
+
}
|
|
17
|
+
export interface SimulationErrors {
|
|
18
|
+
identityPolicyErrors?: Record<string, ValidationError[]>;
|
|
19
|
+
message: string;
|
|
20
|
+
}
|
|
21
|
+
export interface SimulationResult {
|
|
22
|
+
}
|
|
23
|
+
export declare function runSimulation(simulation: Simulation, simulationOptions: SimulationOptions): Promise<SimulationResult>;
|
|
24
|
+
export {};
|
|
25
|
+
//# sourceMappingURL=simulationEngine.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"simulationEngine.d.ts","sourceRoot":"","sources":["../../../src/simulation_engine/simulationEngine.ts"],"names":[],"mappings":"AACA,OAAO,EAAwB,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAElF,UAAU,iBAAiB;IACzB,qBAAqB,EAAE,OAAO,CAAA;CAC/B;AAED,UAAU,UAAU;IAClB,OAAO,EAAE;QACP,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE;YACR,QAAQ,EAAE,MAAM,CAAC;YACjB,SAAS,EAAE,MAAM,CAAA;SAClB,CAAA;QACD,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KACvC,CAAA;IAED,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;CACzC;AAED,MAAM,WAAW,gBAAgB;IAC/B,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC;IACzD,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;CAEhC;AAED,wBAAsB,aAAa,CAAC,UAAU,EAAE,UAAU,EAAE,iBAAiB,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAoC3H"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { iamActionExists, iamServiceExists } from "@cloud-copilot/iam-data";
|
|
2
|
+
import { validatePolicySyntax } from "@cloud-copilot/iam-policy";
|
|
3
|
+
export async function runSimulation(simulation, simulationOptions) {
|
|
4
|
+
const identityPolicyErrors = Object.keys(simulation.identityPolicies).reduce((acc, key) => {
|
|
5
|
+
acc[key] == validatePolicySyntax(simulation.identityPolicies[key]);
|
|
6
|
+
return acc;
|
|
7
|
+
}, {});
|
|
8
|
+
const errorCount = Object.values(identityPolicyErrors).flat().length;
|
|
9
|
+
if (errorCount > 0) {
|
|
10
|
+
return {
|
|
11
|
+
identityPolicyErrors
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
if (simulation.request.action.split(":").length != 2) {
|
|
15
|
+
return {
|
|
16
|
+
message: 'invalid.action'
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
const [service, action] = simulation.request.action.split(":");
|
|
20
|
+
const validService = await iamServiceExists(service);
|
|
21
|
+
if (!validService) {
|
|
22
|
+
return {
|
|
23
|
+
message: 'invalid.service'
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
const validAction = await iamActionExists(service, action);
|
|
27
|
+
if (!validAction) {
|
|
28
|
+
return {
|
|
29
|
+
message: 'invalid.action'
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
// Implementation goes here
|
|
33
|
+
return {};
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=simulationEngine.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"simulationEngine.js","sourceRoot":"","sources":["../../../src/simulation_engine/simulationEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAmB,MAAM,2BAA2B,CAAC;AA6BlF,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,UAAsB,EAAE,iBAAoC;IAC9F,MAAM,oBAAoB,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAW,EAAE,EAAE;QAChG,GAAG,CAAC,GAAG,CAAC,IAAI,oBAAoB,CAAC,UAAU,CAAC,gBAAgB,CAAC,GAAU,CAAC,CAAC,CAAC;QAC1E,OAAO,GAAG,CAAA;IACZ,CAAC,EAAE,EAAuC,CAAC,CAAC;IAE5C,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC;IACrE,IAAG,UAAU,GAAG,CAAC,EAAE,CAAC;QAClB,OAAO;YACL,oBAAoB;SACrB,CAAA;IACH,CAAC;IAED,IAAG,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QACpD,OAAO;YACL,OAAO,EAAE,gBAAgB;SAC1B,CAAA;IACH,CAAC;IAED,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC/D,MAAM,YAAY,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACrD,IAAG,CAAC,YAAY,EAAE,CAAC;QACjB,OAAO;YACL,OAAO,EAAE,iBAAiB;SAC3B,CAAA;IACH,CAAC;IACD,MAAM,WAAW,GAAG,MAAM,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC3D,IAAG,CAAC,WAAW,EAAE,CAAC;QAChB,OAAO;YACL,OAAO,EAAE,gBAAgB;SAC1B,CAAA;IACH,CAAC;IAED,2BAA2B;IAC3B,OAAO,EAAsB,CAAC;AAEhC,CAAC"}
|
package/dist/esm/util.d.ts
CHANGED
|
@@ -11,5 +11,37 @@ interface StringReplaceOptions {
|
|
|
11
11
|
* @returns a regex that can be used to match against a string
|
|
12
12
|
*/
|
|
13
13
|
export declare function convertIamStringToRegex(value: string, request: AwsRequest, replaceOptions?: Partial<StringReplaceOptions>): RegExp;
|
|
14
|
+
export interface ArnParts {
|
|
15
|
+
partition: string | undefined;
|
|
16
|
+
service: string | undefined;
|
|
17
|
+
region: string | undefined;
|
|
18
|
+
accountId: string | undefined;
|
|
19
|
+
resource: string | undefined;
|
|
20
|
+
resourceType: string | undefined;
|
|
21
|
+
resourcePath: string | undefined;
|
|
22
|
+
}
|
|
23
|
+
export declare function splitArnParts(arn: string): ArnParts;
|
|
24
|
+
/**
|
|
25
|
+
* Splits a resource into two segments. The first segment is the product segment and the second segment is the resource id segment.
|
|
26
|
+
* This could be split by a colon or a slash, so it checks for both.
|
|
27
|
+
*
|
|
28
|
+
* @param resource The resource to split
|
|
29
|
+
* @returns a tuple with the first segment being the product segment (including the separator) and the second segment being the resource id.
|
|
30
|
+
*/
|
|
31
|
+
export declare function getResourceSegments(resource: string): [string, string];
|
|
32
|
+
/**
|
|
33
|
+
* Checks if a value is defined and not null and narrows the type to the defined type
|
|
34
|
+
*
|
|
35
|
+
* @param value the value to check if it is defined
|
|
36
|
+
* @returns if the value is defined and not null
|
|
37
|
+
*/
|
|
38
|
+
export declare function isDefined<T>(value: T | undefined): value is T;
|
|
39
|
+
/**
|
|
40
|
+
* Checks if a value is not defined or null
|
|
41
|
+
*
|
|
42
|
+
* @param value the value to check if it is not defined
|
|
43
|
+
* @returns if the value is not defined or null
|
|
44
|
+
*/
|
|
45
|
+
export declare function isNotDefined<T>(value: T | undefined): value is undefined;
|
|
14
46
|
export {};
|
|
15
47
|
//# sourceMappingURL=util.d.ts.map
|
package/dist/esm/util.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAIjD,UAAU,oBAAoB;IAC5B,gBAAgB,EAAE,OAAO,CAAA;CAC1B;AAMD;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAIjD,UAAU,oBAAoB;IAC5B,gBAAgB,EAAE,OAAO,CAAA;CAC1B;AAMD;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAAG,MAAM,CA4DlI;AAsCD,MAAM,WAAW,QAAQ;IACvB,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAA;IAC5B,YAAY,EAAE,MAAM,GAAG,SAAS,CAAA;IAChC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAA;CACjC;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAyBnD;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAgBtE;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,SAAS,GAAG,KAAK,IAAI,CAAC,CAE7D;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,SAAS,GAAG,KAAK,IAAI,SAAS,CAExE"}
|
package/dist/esm/util.js
CHANGED
|
@@ -48,14 +48,14 @@ export function convertIamStringToRegex(value, request, replaceOptions) {
|
|
|
48
48
|
const variableName = defaultParts.at(0).trim();
|
|
49
49
|
const requestValue = getContextSingleValue(request, variableName);
|
|
50
50
|
if (requestValue) {
|
|
51
|
-
return requestValue;
|
|
51
|
+
return escapeRegexCharacters(requestValue);
|
|
52
52
|
}
|
|
53
53
|
else if (defaultValue) {
|
|
54
54
|
/*
|
|
55
55
|
TODO: What happens in a request if a multi value context key is used in a string and there
|
|
56
56
|
is a default value? Will it use the default value or will it fail the condition test?
|
|
57
57
|
*/
|
|
58
|
-
return defaultValue;
|
|
58
|
+
return escapeRegexCharacters(defaultValue);
|
|
59
59
|
}
|
|
60
60
|
else {
|
|
61
61
|
invalidVariableFound = true;
|
|
@@ -71,6 +71,15 @@ export function convertIamStringToRegex(value, request, replaceOptions) {
|
|
|
71
71
|
}
|
|
72
72
|
return new RegExp('^' + newValue + '$');
|
|
73
73
|
}
|
|
74
|
+
/**
|
|
75
|
+
* Replace regex characters in a string with their escaped versions
|
|
76
|
+
*
|
|
77
|
+
* @param str the string to escape regex characters in
|
|
78
|
+
* @returns the string with regex characters escaped
|
|
79
|
+
*/
|
|
80
|
+
function escapeRegexCharacters(str) {
|
|
81
|
+
return str.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
82
|
+
}
|
|
74
83
|
/**
|
|
75
84
|
* Get the string value of a context key only if it is a single value key
|
|
76
85
|
*
|
|
@@ -94,4 +103,71 @@ function replacementValue(rawString, wildcard, replaceWildcards) {
|
|
|
94
103
|
}
|
|
95
104
|
return rawString;
|
|
96
105
|
}
|
|
106
|
+
export function splitArnParts(arn) {
|
|
107
|
+
const parts = arn.split(':');
|
|
108
|
+
const partition = parts.at(1);
|
|
109
|
+
const service = parts.at(2);
|
|
110
|
+
const region = parts.at(3);
|
|
111
|
+
const accountId = parts.at(4);
|
|
112
|
+
const resource = parts.slice(5).join(":");
|
|
113
|
+
let resourceType = undefined;
|
|
114
|
+
let resourcePath = undefined;
|
|
115
|
+
if (resource?.includes('/') || resource?.includes(':')) {
|
|
116
|
+
const [resourceTypeSegment, resourcePathSegment] = getResourceSegments(resource);
|
|
117
|
+
resourceType = resourceTypeSegment;
|
|
118
|
+
resourcePath = resourcePathSegment;
|
|
119
|
+
}
|
|
120
|
+
return {
|
|
121
|
+
partition,
|
|
122
|
+
service,
|
|
123
|
+
region,
|
|
124
|
+
accountId,
|
|
125
|
+
resource,
|
|
126
|
+
resourceType,
|
|
127
|
+
resourcePath
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Splits a resource into two segments. The first segment is the product segment and the second segment is the resource id segment.
|
|
132
|
+
* This could be split by a colon or a slash, so it checks for both.
|
|
133
|
+
*
|
|
134
|
+
* @param resource The resource to split
|
|
135
|
+
* @returns a tuple with the first segment being the product segment (including the separator) and the second segment being the resource id.
|
|
136
|
+
*/
|
|
137
|
+
export function getResourceSegments(resource) {
|
|
138
|
+
const slashIndex = resource.indexOf('/');
|
|
139
|
+
const colonIndex = resource.indexOf(':');
|
|
140
|
+
let splitIndex = slashIndex;
|
|
141
|
+
if (slashIndex != -1 && colonIndex != -1) {
|
|
142
|
+
splitIndex = Math.min(slashIndex, colonIndex) + 1;
|
|
143
|
+
}
|
|
144
|
+
else if (colonIndex == -1) {
|
|
145
|
+
splitIndex = slashIndex + 1;
|
|
146
|
+
}
|
|
147
|
+
else if (slashIndex == -1) {
|
|
148
|
+
splitIndex = colonIndex + 1;
|
|
149
|
+
}
|
|
150
|
+
else {
|
|
151
|
+
throw new Error(`Unable to split resource ${resource}`);
|
|
152
|
+
}
|
|
153
|
+
return [resource.slice(0, splitIndex), resource.slice(splitIndex)];
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Checks if a value is defined and not null and narrows the type to the defined type
|
|
157
|
+
*
|
|
158
|
+
* @param value the value to check if it is defined
|
|
159
|
+
* @returns if the value is defined and not null
|
|
160
|
+
*/
|
|
161
|
+
export function isDefined(value) {
|
|
162
|
+
return value !== undefined && value !== null;
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Checks if a value is not defined or null
|
|
166
|
+
*
|
|
167
|
+
* @param value the value to check if it is not defined
|
|
168
|
+
* @returns if the value is not defined or null
|
|
169
|
+
*/
|
|
170
|
+
export function isNotDefined(value) {
|
|
171
|
+
return !isDefined(value);
|
|
172
|
+
}
|
|
97
173
|
//# sourceMappingURL=util.js.map
|
package/dist/esm/util.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"AAEA,MAAM,cAAc,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,CAAA;AAMvC,MAAM,2BAA2B,GAAyB;IACxD,gBAAgB,EAAE,IAAI;CACvB,CAAA;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,uBAAuB,CAAC,KAAa,EAAE,OAAmB,EAAE,cAA8C;IACxH,MAAM,OAAO,GAAG,EAAC,GAAG,2BAA2B,EAAE,GAAG,cAAc,EAAC,CAAA;IAEnE,IAAI,oBAAoB,GAAG,KAAK,CAAA;IAChC,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,yBAAyB,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QAC3E,
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"AAEA,MAAM,cAAc,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,CAAA;AAMvC,MAAM,2BAA2B,GAAyB;IACxD,gBAAgB,EAAE,IAAI;CACvB,CAAA;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,uBAAuB,CAAC,KAAa,EAAE,OAAmB,EAAE,cAA8C;IACxH,MAAM,OAAO,GAAG,EAAC,GAAG,2BAA2B,EAAE,GAAG,cAAc,EAAC,CAAA;IAEnE,IAAI,oBAAoB,GAAG,KAAK,CAAA;IAChC,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,yBAAyB,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QAC3E,IAAI,KAAK,IAAI,GAAG,EAAE,CAAC;YACjB,OAAO,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAA;YAC7D,aAAa;QACf,CAAC;aAAM,IAAI,KAAK,IAAI,GAAG,EAAE,CAAC;YACxB,OAAO,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAA;YAC/D,eAAe;QACjB,CAAC;aAAM,IAAI,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,OAAO,gBAAgB,CAAC,cAAc,EAAE,KAAK,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAA;YACxE,eAAe;QACjB,CAAC;aAAM,IAAI,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,OAAO,gBAAgB,CAAC,cAAc,EAAE,KAAK,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAA;YACxE,eAAe;QACjB,CAAC;aAAM,IAAI,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,OAAO,gBAAgB,CAAC,cAAc,EAAE,KAAK,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAA;YACxE,eAAe;QACjB,CAAC;QACD,EAAE;QACF,4BAA4B;QAC5B,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QAExC,IAAI,YAAY,GAAG,SAAS,CAAA;QAC5B,MAAM,YAAY,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC9C,IAAG,YAAY,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YAC5B,MAAM,iBAAiB,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YAC5C,IAAG,iBAAiB,EAAE,UAAU,CAAC,GAAG,CAAC,IAAI,iBAAiB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBACzE,YAAY,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YAC/C,CAAC;QACH,CAAC;QACD,MAAM,YAAY,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAA;QAE/C,MAAM,YAAY,GAAG,qBAAqB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAA;QAEjE,IAAG,YAAY,EAAE,CAAC;YAChB,OAAO,qBAAqB,CAAC,YAAY,CAAC,CAAA;QAC5C,CAAC;aAAM,IAAG,YAAY,EAAE,CAAC;YACvB;;;cAGE;YACF,OAAO,qBAAqB,CAAC,YAAY,CAAC,CAAA;QAC5C,CAAC;aAAM,CAAC;YACN,oBAAoB,GAAG,IAAI,CAAA;YAC3B;;cAEE;YACF,OAAO,gBAAgB,CAAA;QACzB,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAA;IAC7C,CAAC,CAAC,CAAA;IAEF,IAAG,oBAAoB,EAAE,CAAC;QACxB,OAAO,cAAc,CAAA;IACvB,CAAC;IACD,OAAO,IAAI,MAAM,CAAC,GAAG,GAAG,QAAQ,GAAG,GAAG,CAAC,CAAA;AACzC,CAAC;AAED;;;;;GAKG;AACH,SAAS,qBAAqB,CAAC,GAAW;IACxC,OAAO,GAAG,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;AACpD,CAAC;AAED;;;;;;GAMG;AACH,SAAS,qBAAqB,CAAC,OAAmB,EAAE,cAAsB;IACxE,IAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,cAAc,CAAC,EAAE,CAAC;QAC7C,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,MAAM,QAAQ,GAAG,OAAO,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAA;IAC3D,IAAG,QAAQ,CAAC,aAAa,EAAE,EAAE,CAAC;QAC5B,OAAO,QAAQ,CAAC,KAAK,CAAA;IACvB,CAAC;IAED,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,SAAS,gBAAgB,CAAC,SAAiB,EAAE,QAAgB,EAAE,gBAAyB;IACtF,IAAG,gBAAgB,EAAE,CAAC;QACpB,OAAO,QAAQ,CAAA;IACjB,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAYD,MAAM,UAAU,aAAa,CAAC,GAAW;IACvC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC5B,MAAM,SAAS,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAC7B,MAAM,OAAO,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAC3B,MAAM,MAAM,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAC1B,MAAM,SAAS,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAC7B,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAEzC,IAAI,YAAY,GAAG,SAAS,CAAA;IAC5B,IAAI,YAAY,GAAG,SAAS,CAAA;IAC5B,IAAG,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACtD,MAAM,CAAC,mBAAmB,EAAE,mBAAmB,CAAC,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAA;QAChF,YAAY,GAAG,mBAAmB,CAAA;QAClC,YAAY,GAAG,mBAAmB,CAAA;IACpC,CAAC;IAED,OAAO;QACL,SAAS;QACT,OAAO;QACP,MAAM;QACN,SAAS;QACT,QAAQ;QACR,YAAY;QACZ,YAAY;KACb,CAAA;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CAAC,QAAgB;IAClD,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IACxC,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IAExC,IAAI,UAAU,GAAG,UAAU,CAAA;IAC3B,IAAG,UAAU,IAAI,CAAC,CAAC,IAAI,UAAU,IAAI,CAAC,CAAC,EAAE,CAAC;QACxC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,CAAA;IACnD,CAAC;SAAM,IAAI,UAAU,IAAI,CAAC,CAAC,EAAE,CAAC;QAC5B,UAAU,GAAG,UAAU,GAAG,CAAC,CAAA;IAC7B,CAAC;SAAM,IAAI,UAAU,IAAI,CAAC,CAAC,EAAE,CAAC;QAC5B,UAAU,GAAG,UAAU,GAAG,CAAC,CAAA;IAC7B,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,4BAA4B,QAAQ,EAAE,CAAC,CAAA;IACzD,CAAC;IAED,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAA;AACpE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAI,KAAoB;IAC/C,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,CAAC;AAC/C,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAI,KAAoB;IAClD,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;AAC1B,CAAC"}
|
package/package.json
CHANGED
package/dist/cjs/action.d.ts
DELETED
package/dist/cjs/action.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"action.d.ts","sourceRoot":"","sources":["../../src/action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAMvC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAajF"}
|
package/dist/cjs/action.js
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.requestMatchesAction = requestMatchesAction;
|
|
4
|
-
function convertActionToRegex(action) {
|
|
5
|
-
return action.replace(/\?/g, '.').replace(/\*/g, '.*');
|
|
6
|
-
}
|
|
7
|
-
function requestMatchesAction(request, actions) {
|
|
8
|
-
for (const action of actions) {
|
|
9
|
-
if (action.isWildcardAction()) {
|
|
10
|
-
return true;
|
|
11
|
-
}
|
|
12
|
-
else if (action.isServiceAction()) {
|
|
13
|
-
const actionRegex = new RegExp(convertActionToRegex(action.value()));
|
|
14
|
-
if (actionRegex.test(request.action)) {
|
|
15
|
-
return true;
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
return false;
|
|
20
|
-
}
|
|
21
|
-
//# sourceMappingURL=action.js.map
|
package/dist/cjs/action.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"action.js","sourceRoot":"","sources":["../../src/action.ts"],"names":[],"mappings":";;AAOA,oDAaC;AAjBD,SAAS,oBAAoB,CAAC,MAAc;IAC1C,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AACzD,CAAC;AAED,SAAgB,oBAAoB,CAAC,OAAgB,EAAE,OAAiB;IACtE,KAAI,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,MAAM,CAAC,gBAAgB,EAAE,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC;QACd,CAAC;aAAM,IAAG,MAAM,CAAC,eAAe,EAAE,EAAE,CAAC;YACnC,MAAM,WAAW,GAAG,IAAI,MAAM,CAAC,oBAAoB,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YACrE,IAAG,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBACpC,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;IAEH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"StringEquals.d.ts","sourceRoot":"","sources":["../../../../src/condition/strings/StringEquals.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAEpE,eAAO,MAAM,YAAY,EAAE,qBAQ1B,CAAA"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.StringEquals = void 0;
|
|
4
|
-
const util_js_1 = require("../../util.js");
|
|
5
|
-
exports.StringEquals = {
|
|
6
|
-
name: 'StringEquals',
|
|
7
|
-
matches: (request, keyValue, policyValues) => {
|
|
8
|
-
const patterns = policyValues.map(value => (0, util_js_1.convertIamStringToRegex)(value, request, { replaceWildcards: false }));
|
|
9
|
-
return patterns.some(pattern => pattern.test(keyValue));
|
|
10
|
-
},
|
|
11
|
-
allowsVariables: true,
|
|
12
|
-
allowsWildcards: false
|
|
13
|
-
};
|
|
14
|
-
//# sourceMappingURL=StringEquals.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"StringEquals.js","sourceRoot":"","sources":["../../../../src/condition/strings/StringEquals.ts"],"names":[],"mappings":";;;AAAA,2CAAwD;AAG3C,QAAA,YAAY,GAA0B;IACjD,IAAI,EAAE,cAAc;IACpB,OAAO,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE;QAC3C,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAA,iCAAuB,EAAC,KAAK,EAAE,OAAO,EAAE,EAAC,gBAAgB,EAAE,KAAK,EAAC,CAAC,CAAC,CAAA;QAC9G,OAAO,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAA;IACzD,CAAC;IACD,eAAe,EAAE,IAAI;IACrB,eAAe,EAAE,KAAK;CACvB,CAAA"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Supplemental data for the request
|
|
3
|
-
*/
|
|
4
|
-
export interface RequestSupplementalData {
|
|
5
|
-
contextKeysForAction: string[];
|
|
6
|
-
contextKeysForResource: string[];
|
|
7
|
-
contextKeysForPrincipal: string[];
|
|
8
|
-
contextKeyValidForRequest: (key: string) => boolean;
|
|
9
|
-
}
|
|
10
|
-
export declare class RequestSupplementalDataImpl implements RequestSupplementalData {
|
|
11
|
-
readonly contextKeysForAction: string[];
|
|
12
|
-
readonly contextKeysForResource: string[];
|
|
13
|
-
readonly contextKeysForPrincipal: string[];
|
|
14
|
-
private allActions;
|
|
15
|
-
constructor(contextKeysForAction: string[], contextKeysForResource: string[], contextKeysForPrincipal: string[]);
|
|
16
|
-
contextKeyValidForRequest(key: string): boolean;
|
|
17
|
-
}
|
|
18
|
-
export declare const MockRequestSupplementalData: RequestSupplementalData;
|
|
19
|
-
//# sourceMappingURL=requestSupplementalData.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"requestSupplementalData.d.ts","sourceRoot":"","sources":["../../../src/request/requestSupplementalData.ts"],"names":[],"mappings":"AACA;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,sBAAsB,EAAE,MAAM,EAAE,CAAC;IACjC,uBAAuB,EAAE,MAAM,EAAE,CAAC;IAClC,yBAAyB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;CACrD;AAED,qBAAa,2BAA4B,YAAW,uBAAuB;aAI7C,oBAAoB,EAAE,MAAM,EAAE;aAC9B,sBAAsB,EAAE,MAAM,EAAE;aAChC,uBAAuB,EAAE,MAAM,EAAE;IAJ7D,OAAO,CAAC,UAAU,CAA0B;gBAEhB,oBAAoB,EAAE,MAAM,EAAE,EAC9B,sBAAsB,EAAE,MAAM,EAAE,EAChC,uBAAuB,EAAE,MAAM,EAAE;IAY7D,yBAAyB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;CAMhD;AAED,eAAO,MAAM,2BAA2B,EAAE,uBAKzC,CAAA"}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.MockRequestSupplementalData = exports.RequestSupplementalDataImpl = void 0;
|
|
4
|
-
class RequestSupplementalDataImpl {
|
|
5
|
-
contextKeysForAction;
|
|
6
|
-
contextKeysForResource;
|
|
7
|
-
contextKeysForPrincipal;
|
|
8
|
-
allActions = new Set();
|
|
9
|
-
constructor(contextKeysForAction, contextKeysForResource, contextKeysForPrincipal) {
|
|
10
|
-
this.contextKeysForAction = contextKeysForAction;
|
|
11
|
-
this.contextKeysForResource = contextKeysForResource;
|
|
12
|
-
this.contextKeysForPrincipal = contextKeysForPrincipal;
|
|
13
|
-
for (const action of contextKeysForAction) {
|
|
14
|
-
this.allActions.add(action);
|
|
15
|
-
}
|
|
16
|
-
for (const resource of contextKeysForResource) {
|
|
17
|
-
this.allActions.add(resource);
|
|
18
|
-
}
|
|
19
|
-
for (const principal of contextKeysForPrincipal) {
|
|
20
|
-
this.allActions.add(...[principal]);
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
contextKeyValidForRequest(key) {
|
|
24
|
-
/*
|
|
25
|
-
Todo: Add a way to check if the key has a slash in it such as aws:RequestKeys or aws:ResourceTagKeys
|
|
26
|
-
*/
|
|
27
|
-
return this.allActions.has(key);
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
exports.RequestSupplementalDataImpl = RequestSupplementalDataImpl;
|
|
31
|
-
exports.MockRequestSupplementalData = {
|
|
32
|
-
contextKeysForAction: [],
|
|
33
|
-
contextKeysForResource: [],
|
|
34
|
-
contextKeysForPrincipal: [],
|
|
35
|
-
contextKeyValidForRequest: (key) => true
|
|
36
|
-
};
|
|
37
|
-
//# sourceMappingURL=requestSupplementalData.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"requestSupplementalData.js","sourceRoot":"","sources":["../../../src/request/requestSupplementalData.ts"],"names":[],"mappings":";;;AAWA,MAAa,2BAA2B;IAIV;IACA;IACA;IAJpB,UAAU,GAAgB,IAAI,GAAG,EAAE,CAAC;IAE5C,YAA4B,oBAA8B,EAC9B,sBAAgC,EAChC,uBAAiC;QAFjC,yBAAoB,GAApB,oBAAoB,CAAU;QAC9B,2BAAsB,GAAtB,sBAAsB,CAAU;QAChC,4BAAuB,GAAvB,uBAAuB,CAAU;QAC3D,KAAI,MAAM,MAAM,IAAI,oBAAoB,EAAE,CAAC;YACzC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QAC7B,CAAC;QACD,KAAI,MAAM,QAAQ,IAAI,sBAAsB,EAAE,CAAC;YAC7C,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAC/B,CAAC;QACD,KAAI,MAAM,SAAS,IAAI,uBAAuB,EAAE,CAAC;YAC/C,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAA;QACrC,CAAC;IACH,CAAC;IAED,yBAAyB,CAAC,GAAW;QACnC;;UAEE;QACF,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACjC,CAAC;CACF;AAxBD,kEAwBC;AAEY,QAAA,2BAA2B,GAA4B;IAClE,oBAAoB,EAAE,EAAE;IACxB,sBAAsB,EAAE,EAAE;IAC1B,uBAAuB,EAAE,EAAE;IAC3B,yBAAyB,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,IAAI;CACjD,CAAA"}
|
package/dist/cjs/request.d.ts
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { RequestContext } from "./requestContext.js";
|
|
2
|
-
export interface Request {
|
|
3
|
-
principal: string;
|
|
4
|
-
action: string;
|
|
5
|
-
resource: string;
|
|
6
|
-
context: RequestContext;
|
|
7
|
-
}
|
|
8
|
-
export declare class RequestImpl implements Request {
|
|
9
|
-
readonly principal: string;
|
|
10
|
-
readonly resource: string;
|
|
11
|
-
readonly action: string;
|
|
12
|
-
readonly context: RequestContext;
|
|
13
|
-
constructor(principal: string, resource: string, action: string, context: RequestContext);
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=request.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../src/request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,MAAM,WAAW,OAAO;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,cAAc,CAAA;CACxB;AAED,qBAAa,WAAY,YAAW,OAAO;aAEb,SAAS,EAAE,MAAM;aACjB,QAAQ,EAAE,MAAM;aAChB,MAAM,EAAE,MAAM;aACd,OAAO,EAAE,cAAc;gBAHvB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,cAAc;CAGpD"}
|
package/dist/cjs/request.js
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.RequestImpl = void 0;
|
|
4
|
-
class RequestImpl {
|
|
5
|
-
principal;
|
|
6
|
-
resource;
|
|
7
|
-
action;
|
|
8
|
-
context;
|
|
9
|
-
constructor(principal, resource, action, context) {
|
|
10
|
-
this.principal = principal;
|
|
11
|
-
this.resource = resource;
|
|
12
|
-
this.action = action;
|
|
13
|
-
this.context = context;
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
exports.RequestImpl = RequestImpl;
|
|
17
|
-
//# sourceMappingURL=request.js.map
|
package/dist/cjs/request.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../src/request.ts"],"names":[],"mappings":";;;AASA,MAAa,WAAW;IAEM;IACA;IACA;IACA;IAH5B,YAA4B,SAAiB,EACjB,QAAgB,EAChB,MAAc,EACd,OAAuB;QAHvB,cAAS,GAAT,SAAS,CAAQ;QACjB,aAAQ,GAAR,QAAQ,CAAQ;QAChB,WAAM,GAAN,MAAM,CAAQ;QACd,YAAO,GAAP,OAAO,CAAgB;IAEnD,CAAC;CACF;AARD,kCAQC"}
|
package/dist/esm/action.d.ts
DELETED
package/dist/esm/action.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"action.d.ts","sourceRoot":"","sources":["../../src/action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAMvC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAajF"}
|
package/dist/esm/action.js
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
function convertActionToRegex(action) {
|
|
2
|
-
return action.replace(/\?/g, '.').replace(/\*/g, '.*');
|
|
3
|
-
}
|
|
4
|
-
export function requestMatchesAction(request, actions) {
|
|
5
|
-
for (const action of actions) {
|
|
6
|
-
if (action.isWildcardAction()) {
|
|
7
|
-
return true;
|
|
8
|
-
}
|
|
9
|
-
else if (action.isServiceAction()) {
|
|
10
|
-
const actionRegex = new RegExp(convertActionToRegex(action.value()));
|
|
11
|
-
if (actionRegex.test(request.action)) {
|
|
12
|
-
return true;
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
return false;
|
|
17
|
-
}
|
|
18
|
-
//# sourceMappingURL=action.js.map
|
package/dist/esm/action.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"action.js","sourceRoot":"","sources":["../../src/action.ts"],"names":[],"mappings":"AAGA,SAAS,oBAAoB,CAAC,MAAc;IAC1C,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,OAAgB,EAAE,OAAiB;IACtE,KAAI,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,MAAM,CAAC,gBAAgB,EAAE,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC;QACd,CAAC;aAAM,IAAG,MAAM,CAAC,eAAe,EAAE,EAAE,CAAC;YACnC,MAAM,WAAW,GAAG,IAAI,MAAM,CAAC,oBAAoB,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YACrE,IAAG,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBACpC,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;IAEH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"StringEquals.d.ts","sourceRoot":"","sources":["../../../../src/condition/strings/StringEquals.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAEpE,eAAO,MAAM,YAAY,EAAE,qBAQ1B,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"StringEquals.js","sourceRoot":"","sources":["../../../../src/condition/strings/StringEquals.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAGxD,MAAM,CAAC,MAAM,YAAY,GAA0B;IACjD,IAAI,EAAE,cAAc;IACpB,OAAO,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE;QAC3C,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAAC,KAAK,EAAE,OAAO,EAAE,EAAC,gBAAgB,EAAE,KAAK,EAAC,CAAC,CAAC,CAAA;QAC9G,OAAO,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAA;IACzD,CAAC;IACD,eAAe,EAAE,IAAI;IACrB,eAAe,EAAE,KAAK;CACvB,CAAA"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Supplemental data for the request
|
|
3
|
-
*/
|
|
4
|
-
export interface RequestSupplementalData {
|
|
5
|
-
contextKeysForAction: string[];
|
|
6
|
-
contextKeysForResource: string[];
|
|
7
|
-
contextKeysForPrincipal: string[];
|
|
8
|
-
contextKeyValidForRequest: (key: string) => boolean;
|
|
9
|
-
}
|
|
10
|
-
export declare class RequestSupplementalDataImpl implements RequestSupplementalData {
|
|
11
|
-
readonly contextKeysForAction: string[];
|
|
12
|
-
readonly contextKeysForResource: string[];
|
|
13
|
-
readonly contextKeysForPrincipal: string[];
|
|
14
|
-
private allActions;
|
|
15
|
-
constructor(contextKeysForAction: string[], contextKeysForResource: string[], contextKeysForPrincipal: string[]);
|
|
16
|
-
contextKeyValidForRequest(key: string): boolean;
|
|
17
|
-
}
|
|
18
|
-
export declare const MockRequestSupplementalData: RequestSupplementalData;
|
|
19
|
-
//# sourceMappingURL=requestSupplementalData.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"requestSupplementalData.d.ts","sourceRoot":"","sources":["../../../src/request/requestSupplementalData.ts"],"names":[],"mappings":"AACA;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,sBAAsB,EAAE,MAAM,EAAE,CAAC;IACjC,uBAAuB,EAAE,MAAM,EAAE,CAAC;IAClC,yBAAyB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;CACrD;AAED,qBAAa,2BAA4B,YAAW,uBAAuB;aAI7C,oBAAoB,EAAE,MAAM,EAAE;aAC9B,sBAAsB,EAAE,MAAM,EAAE;aAChC,uBAAuB,EAAE,MAAM,EAAE;IAJ7D,OAAO,CAAC,UAAU,CAA0B;gBAEhB,oBAAoB,EAAE,MAAM,EAAE,EAC9B,sBAAsB,EAAE,MAAM,EAAE,EAChC,uBAAuB,EAAE,MAAM,EAAE;IAY7D,yBAAyB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;CAMhD;AAED,eAAO,MAAM,2BAA2B,EAAE,uBAKzC,CAAA"}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
export class RequestSupplementalDataImpl {
|
|
2
|
-
constructor(contextKeysForAction, contextKeysForResource, contextKeysForPrincipal) {
|
|
3
|
-
this.contextKeysForAction = contextKeysForAction;
|
|
4
|
-
this.contextKeysForResource = contextKeysForResource;
|
|
5
|
-
this.contextKeysForPrincipal = contextKeysForPrincipal;
|
|
6
|
-
this.allActions = new Set();
|
|
7
|
-
for (const action of contextKeysForAction) {
|
|
8
|
-
this.allActions.add(action);
|
|
9
|
-
}
|
|
10
|
-
for (const resource of contextKeysForResource) {
|
|
11
|
-
this.allActions.add(resource);
|
|
12
|
-
}
|
|
13
|
-
for (const principal of contextKeysForPrincipal) {
|
|
14
|
-
this.allActions.add(...[principal]);
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
contextKeyValidForRequest(key) {
|
|
18
|
-
/*
|
|
19
|
-
Todo: Add a way to check if the key has a slash in it such as aws:RequestKeys or aws:ResourceTagKeys
|
|
20
|
-
*/
|
|
21
|
-
return this.allActions.has(key);
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
export const MockRequestSupplementalData = {
|
|
25
|
-
contextKeysForAction: [],
|
|
26
|
-
contextKeysForResource: [],
|
|
27
|
-
contextKeysForPrincipal: [],
|
|
28
|
-
contextKeyValidForRequest: (key) => true
|
|
29
|
-
};
|
|
30
|
-
//# sourceMappingURL=requestSupplementalData.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"requestSupplementalData.js","sourceRoot":"","sources":["../../../src/request/requestSupplementalData.ts"],"names":[],"mappings":"AAWA,MAAM,OAAO,2BAA2B;IAItC,YAA4B,oBAA8B,EAC9B,sBAAgC,EAChC,uBAAiC;QAFjC,yBAAoB,GAApB,oBAAoB,CAAU;QAC9B,2BAAsB,GAAtB,sBAAsB,CAAU;QAChC,4BAAuB,GAAvB,uBAAuB,CAAU;QAJrD,eAAU,GAAgB,IAAI,GAAG,EAAE,CAAC;QAK1C,KAAI,MAAM,MAAM,IAAI,oBAAoB,EAAE,CAAC;YACzC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QAC7B,CAAC;QACD,KAAI,MAAM,QAAQ,IAAI,sBAAsB,EAAE,CAAC;YAC7C,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAC/B,CAAC;QACD,KAAI,MAAM,SAAS,IAAI,uBAAuB,EAAE,CAAC;YAC/C,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAA;QACrC,CAAC;IACH,CAAC;IAED,yBAAyB,CAAC,GAAW;QACnC;;UAEE;QACF,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACjC,CAAC;CACF;AAED,MAAM,CAAC,MAAM,2BAA2B,GAA4B;IAClE,oBAAoB,EAAE,EAAE;IACxB,sBAAsB,EAAE,EAAE;IAC1B,uBAAuB,EAAE,EAAE;IAC3B,yBAAyB,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,IAAI;CACjD,CAAA"}
|
package/dist/esm/request.d.ts
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { RequestContext } from "./requestContext.js";
|
|
2
|
-
export interface Request {
|
|
3
|
-
principal: string;
|
|
4
|
-
action: string;
|
|
5
|
-
resource: string;
|
|
6
|
-
context: RequestContext;
|
|
7
|
-
}
|
|
8
|
-
export declare class RequestImpl implements Request {
|
|
9
|
-
readonly principal: string;
|
|
10
|
-
readonly resource: string;
|
|
11
|
-
readonly action: string;
|
|
12
|
-
readonly context: RequestContext;
|
|
13
|
-
constructor(principal: string, resource: string, action: string, context: RequestContext);
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=request.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../src/request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,MAAM,WAAW,OAAO;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,cAAc,CAAA;CACxB;AAED,qBAAa,WAAY,YAAW,OAAO;aAEb,SAAS,EAAE,MAAM;aACjB,QAAQ,EAAE,MAAM;aAChB,MAAM,EAAE,MAAM;aACd,OAAO,EAAE,cAAc;gBAHvB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,cAAc;CAGpD"}
|
package/dist/esm/request.js
DELETED
package/dist/esm/request.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../src/request.ts"],"names":[],"mappings":"AASA,MAAM,OAAO,WAAW;IAEtB,YAA4B,SAAiB,EACjB,QAAgB,EAChB,MAAc,EACd,OAAuB;QAHvB,cAAS,GAAT,SAAS,CAAQ;QACjB,aAAQ,GAAR,QAAQ,CAAQ;QAChB,WAAM,GAAN,MAAM,CAAQ;QACd,YAAO,GAAP,OAAO,CAAgB;IAEnD,CAAC;CACF"}
|
|
File without changes
|
|
File without changes
|