@magda/typescript-common 1.2.1 → 2.0.0-alpha.1
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/OpaCompileResponseParser.d.ts +260 -36
- package/dist/OpaCompileResponseParser.js +697 -297
- package/dist/OpaCompileResponseParser.js.map +1 -1
- package/dist/SQLUtils.d.ts +70 -0
- package/dist/SQLUtils.js +263 -0
- package/dist/SQLUtils.js.map +1 -0
- package/dist/ServerError.d.ts +9 -0
- package/dist/ServerError.js +17 -0
- package/dist/ServerError.js.map +1 -0
- package/dist/authorization-api/authMiddleware.d.ts +60 -1
- package/dist/authorization-api/authMiddleware.js +155 -3
- package/dist/authorization-api/authMiddleware.js.map +1 -1
- package/dist/authorization-api/constants.d.ts +5 -0
- package/dist/authorization-api/constants.js +13 -0
- package/dist/authorization-api/constants.js.map +1 -0
- package/dist/authorization-api/model.d.ts +2 -7
- package/dist/express/getNoCacheHeaders.d.ts +6 -0
- package/dist/express/getNoCacheHeaders.js +9 -0
- package/dist/express/getNoCacheHeaders.js.map +1 -0
- package/dist/express/setResponseNoCache.d.ts +3 -0
- package/dist/express/setResponseNoCache.js +9 -0
- package/dist/express/setResponseNoCache.js.map +1 -0
- package/dist/generated/registry/api.d.ts +47 -2
- package/dist/generated/registry/api.js +197 -2
- package/dist/generated/registry/api.js.map +1 -1
- package/dist/getAbsoluteUrl.d.ts +3 -2
- package/dist/getAbsoluteUrl.js +2 -1
- package/dist/getAbsoluteUrl.js.map +1 -1
- package/dist/getStorageUrl.d.ts +34 -0
- package/dist/getStorageUrl.js +138 -0
- package/dist/getStorageUrl.js.map +1 -0
- package/dist/handleServerError.d.ts +2 -0
- package/dist/handleServerError.js +17 -0
- package/dist/handleServerError.js.map +1 -0
- package/dist/opa/AspectQuery.d.ts +71 -0
- package/dist/opa/AspectQuery.js +219 -0
- package/dist/opa/AspectQuery.js.map +1 -0
- package/dist/opa/AuthDecision.d.ts +51 -0
- package/dist/opa/AuthDecision.js +241 -0
- package/dist/opa/AuthDecision.js.map +1 -0
- package/dist/opa/AuthDecisionQueryClient.d.ts +23 -0
- package/dist/opa/AuthDecisionQueryClient.js +113 -0
- package/dist/opa/AuthDecisionQueryClient.js.map +1 -0
- package/dist/pgTypes.d.ts +1 -0
- package/dist/pgTypes.js +18 -0
- package/dist/pgTypes.js.map +1 -0
- package/dist/registry/AuthorizedRegistryClient.d.ts +1 -0
- package/dist/registry/AuthorizedRegistryClient.js +17 -0
- package/dist/registry/AuthorizedRegistryClient.js.map +1 -1
- package/dist/registry/RegistryClient.d.ts +11 -0
- package/dist/registry/RegistryClient.js +46 -0
- package/dist/registry/RegistryClient.js.map +1 -1
- package/dist/test/getAuthDecision.spec.js +2 -2
- package/dist/test/getAuthDecision.spec.js.map +1 -1
- package/dist/test/getStorageUrl.spec.d.ts +1 -0
- package/dist/test/getStorageUrl.spec.js +95 -0
- package/dist/test/getStorageUrl.spec.js.map +1 -0
- package/dist/test/sampleAuthDecisions/content.json +29 -0
- package/dist/test/sampleAuthDecisions/datasetPermissionWithOrgUnitConstraint.json +79 -0
- package/dist/test/sampleAuthDecisions/extraLargeResponse.json +2519 -0
- package/dist/test/sampleAuthDecisions/simple.json +29 -0
- package/dist/test/sampleAuthDecisions/singleTermAspectRef.json +39 -0
- package/dist/test/sampleAuthDecisions/unconditionalFalseSimple.json +6 -0
- package/dist/test/sampleAuthDecisions/unconditionalNotMacthed.json +6 -0
- package/dist/test/sampleAuthDecisions/unconditionalNotMacthedWithExtraRefs.json +6 -0
- package/dist/test/sampleAuthDecisions/unconditionalTrue.json +6 -0
- package/dist/test/sampleAuthDecisions/unconditionalTrueSimple.json +6 -0
- package/dist/test/sampleAuthDecisions/unconditionalTrueWithDefaultRule.json +6 -0
- package/dist/test/sampleAuthDecisions/withDefaultRule.json +6 -0
- package/dist/test/{sampleOpaResponse.json → sampleOpaResponses/content.json} +0 -0
- package/dist/test/sampleOpaResponses/datasetPermissionWithOrgUnitConstraint.json +341 -0
- package/dist/test/sampleOpaResponses/extraLargeResponse.json +104869 -0
- package/dist/test/{sampleOpaResponseSimple.json → sampleOpaResponses/simple.json} +0 -0
- package/dist/test/sampleOpaResponses/singleTermAspectRef.json +233 -0
- package/dist/test/sampleOpaResponses/unconditionalFalseSimple.json +3 -0
- package/dist/test/sampleOpaResponses/unconditionalNotMacthed.json +73 -0
- package/dist/test/sampleOpaResponses/unconditionalNotMacthedWithExtraRefs.json +155 -0
- package/dist/test/{sampleOpaResponseUnconditionalTrue.json → sampleOpaResponses/unconditionalTrue.json} +0 -0
- package/dist/test/sampleOpaResponses/unconditionalTrueSimple.json +48 -0
- package/dist/test/{sampleOpaResponseUnconditionalTrueWithDefaultRule.json → sampleOpaResponses/unconditionalTrueWithDefaultRule.json} +0 -0
- package/dist/test/{sampleOpaResponseWithDefaultRule.json → sampleOpaResponses/withDefaultRule.json} +0 -0
- package/dist/test/testOpaCompileResponseParser.spec.js +212 -20
- package/dist/test/testOpaCompileResponseParser.spec.js.map +1 -1
- package/package.json +9 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpaCompileResponseParser.js","sourceRoot":"","sources":["../src/OpaCompileResponseParser.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"OpaCompileResponseParser.js","sourceRoot":"","sources":["../src/OpaCompileResponseParser.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import SQLSyntax, { Value, RawValue } from "sql-syntax";
|
|
2
|
+
import pg from "pg";
|
|
3
|
+
import AuthDecision from "./opa/AuthDecision";
|
|
4
|
+
import { AspectQueryToSqlConfig } from "./opa/AspectQuery";
|
|
5
|
+
declare type PossibleObjectKind = "object" | "authObject";
|
|
6
|
+
/**
|
|
7
|
+
* Escape SQL identifier string
|
|
8
|
+
* Although postgreSQL does allow non-ASCII characters in identifiers, to make it simple, we will remove any non-ASCII characters.
|
|
9
|
+
*
|
|
10
|
+
* @export
|
|
11
|
+
* @param {string} idStr
|
|
12
|
+
* @return {*} {string}
|
|
13
|
+
*/
|
|
14
|
+
export declare function escapeIdentifierStr(idStr: string): string;
|
|
15
|
+
/**
|
|
16
|
+
* Escape SQL identifier (e.g. column names, or table names).
|
|
17
|
+
* `xxx."ss.dd` will be escaped as `"xxx"."""ss"."dd"`
|
|
18
|
+
* Although postgreSQL does allow non-ASCII characters in identifiers, to make it simple, we will remove any non-ASCII characters.
|
|
19
|
+
*
|
|
20
|
+
* @export
|
|
21
|
+
* @param {string} id
|
|
22
|
+
* @return {*} {SQLSyntax}
|
|
23
|
+
*/
|
|
24
|
+
export declare function escapeIdentifier(id: string): SQLSyntax;
|
|
25
|
+
/**
|
|
26
|
+
* Make a postgreSQL identifier in SQLSyntax from tableRef (optional) & column name.
|
|
27
|
+
*
|
|
28
|
+
* @export
|
|
29
|
+
* @param {String} columnName
|
|
30
|
+
* @param {String} [tableRef=""]
|
|
31
|
+
* @param {Boolean} [useLowerCaseColumnName=true]
|
|
32
|
+
* @return {*} {SQLSyntax}
|
|
33
|
+
*/
|
|
34
|
+
export declare function getTableColumnName(columnName: String, tableRef?: String, useLowerCaseColumnName?: Boolean): SQLSyntax;
|
|
35
|
+
/**
|
|
36
|
+
* Create a record for given table with given data object.
|
|
37
|
+
* This method will use the key / value pairs of the object as column name / value of the new record.
|
|
38
|
+
* It will return the newly created record
|
|
39
|
+
*
|
|
40
|
+
* @export
|
|
41
|
+
* @param {pg.Client | pg.Pool} poolOrClient
|
|
42
|
+
* @param {string} table
|
|
43
|
+
* @param {{ [key: string]: Value }} data
|
|
44
|
+
* @return {*}
|
|
45
|
+
*/
|
|
46
|
+
export declare function createTableRecord(poolOrClient: pg.Client | pg.Pool, table: string, data: {
|
|
47
|
+
[key: string]: RawValue;
|
|
48
|
+
}, allowFieldList?: string[], autoGenerateUuid?: boolean): Promise<any>;
|
|
49
|
+
export declare function updateTableRecord(poolOrClient: pg.Client | pg.Pool, table: string, id: string, data: {
|
|
50
|
+
[key: string]: Value;
|
|
51
|
+
}, allowFieldList?: string[]): Promise<any>;
|
|
52
|
+
export declare function deleteTableRecord(poolOrClient: pg.Client | pg.Pool, table: string, id: string): Promise<void>;
|
|
53
|
+
export declare function parseIntParam(p: number | string | undefined): number;
|
|
54
|
+
export declare const MAX_PAGE_RECORD_NUMBER = 500;
|
|
55
|
+
export declare function searchTableRecord<T = any>(poolOrClient: pg.Client | pg.Pool, table: string, contiditions?: SQLSyntax[], queryConfig?: {
|
|
56
|
+
offset?: number | string;
|
|
57
|
+
limit?: number | string;
|
|
58
|
+
authDecision?: AuthDecision;
|
|
59
|
+
objectKind?: PossibleObjectKind;
|
|
60
|
+
toSqlConfig?: AspectQueryToSqlConfig;
|
|
61
|
+
selectedFields?: SQLSyntax[];
|
|
62
|
+
leftJoins?: {
|
|
63
|
+
table: string;
|
|
64
|
+
joinCondition: SQLSyntax;
|
|
65
|
+
}[];
|
|
66
|
+
groupBy?: SQLSyntax | SQLSyntax[];
|
|
67
|
+
}): Promise<T[]>;
|
|
68
|
+
export declare function getTableRecord<T = any>(poolOrClient: pg.Client | pg.Pool, table: string, id: string, authDecision?: AuthDecision, objectKind?: PossibleObjectKind, toSqlConfig?: AspectQueryToSqlConfig): Promise<T | null>;
|
|
69
|
+
export declare function countTableRecord(poolOrClient: pg.Client | pg.Pool, table: string, contiditions?: SQLSyntax[], authDecision?: AuthDecision, objectKind?: PossibleObjectKind, toSqlConfig?: AspectQueryToSqlConfig): Promise<number>;
|
|
70
|
+
export {};
|
package/dist/SQLUtils.js
ADDED
|
@@ -0,0 +1,263 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
21
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
22
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
23
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
24
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
25
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
26
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
27
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
28
|
+
});
|
|
29
|
+
};
|
|
30
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
31
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
32
|
+
};
|
|
33
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
34
|
+
exports.countTableRecord = exports.getTableRecord = exports.searchTableRecord = exports.MAX_PAGE_RECORD_NUMBER = exports.parseIntParam = exports.deleteTableRecord = exports.updateTableRecord = exports.createTableRecord = exports.getTableColumnName = exports.escapeIdentifier = exports.escapeIdentifierStr = void 0;
|
|
35
|
+
const sql_syntax_1 = __importStar(require("sql-syntax"));
|
|
36
|
+
const AuthDecision_1 = require("./opa/AuthDecision");
|
|
37
|
+
const lodash_1 = require("lodash");
|
|
38
|
+
const ServerError_1 = __importDefault(require("./ServerError"));
|
|
39
|
+
/**
|
|
40
|
+
* Escape SQL identifier string
|
|
41
|
+
* Although postgreSQL does allow non-ASCII characters in identifiers, to make it simple, we will remove any non-ASCII characters.
|
|
42
|
+
*
|
|
43
|
+
* @export
|
|
44
|
+
* @param {string} idStr
|
|
45
|
+
* @return {*} {string}
|
|
46
|
+
*/
|
|
47
|
+
function escapeIdentifierStr(idStr) {
|
|
48
|
+
return '"' + idStr.replace(/[^\x20-\x7e]/g, "").replace(/"/g, "\"'") + '"';
|
|
49
|
+
}
|
|
50
|
+
exports.escapeIdentifierStr = escapeIdentifierStr;
|
|
51
|
+
/**
|
|
52
|
+
* Escape SQL identifier (e.g. column names, or table names).
|
|
53
|
+
* `xxx."ss.dd` will be escaped as `"xxx"."""ss"."dd"`
|
|
54
|
+
* Although postgreSQL does allow non-ASCII characters in identifiers, to make it simple, we will remove any non-ASCII characters.
|
|
55
|
+
*
|
|
56
|
+
* @export
|
|
57
|
+
* @param {string} id
|
|
58
|
+
* @return {*} {SQLSyntax}
|
|
59
|
+
*/
|
|
60
|
+
function escapeIdentifier(id) {
|
|
61
|
+
const sanitisedIdStr = id.replace(/[^\x20-\x7e]/g, "");
|
|
62
|
+
const parts = sanitisedIdStr.split(".");
|
|
63
|
+
const escapedIdStr = parts.length > 1
|
|
64
|
+
? parts.map((item) => escapeIdentifierStr(item)).join(".")
|
|
65
|
+
: escapeIdentifierStr(sanitisedIdStr);
|
|
66
|
+
return sql_syntax_1.default.createUnsafely(escapedIdStr);
|
|
67
|
+
}
|
|
68
|
+
exports.escapeIdentifier = escapeIdentifier;
|
|
69
|
+
/**
|
|
70
|
+
* Make a postgreSQL identifier in SQLSyntax from tableRef (optional) & column name.
|
|
71
|
+
*
|
|
72
|
+
* @export
|
|
73
|
+
* @param {String} columnName
|
|
74
|
+
* @param {String} [tableRef=""]
|
|
75
|
+
* @param {Boolean} [useLowerCaseColumnName=true]
|
|
76
|
+
* @return {*} {SQLSyntax}
|
|
77
|
+
*/
|
|
78
|
+
function getTableColumnName(columnName, tableRef = "", useLowerCaseColumnName = false) {
|
|
79
|
+
const id = [
|
|
80
|
+
tableRef,
|
|
81
|
+
useLowerCaseColumnName ? columnName.toLowerCase() : columnName
|
|
82
|
+
]
|
|
83
|
+
.filter((item) => item)
|
|
84
|
+
.join(".");
|
|
85
|
+
return escapeIdentifier(id);
|
|
86
|
+
}
|
|
87
|
+
exports.getTableColumnName = getTableColumnName;
|
|
88
|
+
/**
|
|
89
|
+
* Create a record for given table with given data object.
|
|
90
|
+
* This method will use the key / value pairs of the object as column name / value of the new record.
|
|
91
|
+
* It will return the newly created record
|
|
92
|
+
*
|
|
93
|
+
* @export
|
|
94
|
+
* @param {pg.Client | pg.Pool} poolOrClient
|
|
95
|
+
* @param {string} table
|
|
96
|
+
* @param {{ [key: string]: Value }} data
|
|
97
|
+
* @return {*}
|
|
98
|
+
*/
|
|
99
|
+
function createTableRecord(poolOrClient, table, data, allowFieldList, autoGenerateUuid = true) {
|
|
100
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
101
|
+
if (!table.trim()) {
|
|
102
|
+
throw new Error("invalid empty table name is supplied.");
|
|
103
|
+
}
|
|
104
|
+
if (allowFieldList === null || allowFieldList === void 0 ? void 0 : allowFieldList.length) {
|
|
105
|
+
const keys = Object.keys(data);
|
|
106
|
+
const diff = lodash_1.difference(keys, allowFieldList);
|
|
107
|
+
if (diff === null || diff === void 0 ? void 0 : diff.length) {
|
|
108
|
+
throw new ServerError_1.default(`Failed to create record, the following fields are not allowed: ${diff.join(",")}`, 400);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
if (autoGenerateUuid) {
|
|
112
|
+
data["id"] = sql_syntax_1.sqls `uuid_generate_v4()`;
|
|
113
|
+
}
|
|
114
|
+
const [fieldList, valueList] = Object.keys(data).reduce((result, currentKey) => {
|
|
115
|
+
const currentValue = data[currentKey];
|
|
116
|
+
result[0].push(escapeIdentifier(currentKey));
|
|
117
|
+
result[1].push(sql_syntax_1.sqls `${currentValue}`);
|
|
118
|
+
return result;
|
|
119
|
+
}, [[], []]);
|
|
120
|
+
const sqlSyntax = sql_syntax_1.sqls `INSERT INTO ${escapeIdentifier(table)}
|
|
121
|
+
(${sql_syntax_1.default.csv(...fieldList)})
|
|
122
|
+
VALUES
|
|
123
|
+
(${sql_syntax_1.default.csv(...valueList)})
|
|
124
|
+
RETURNING *`;
|
|
125
|
+
const result = yield poolOrClient.query(...sqlSyntax.toQuery());
|
|
126
|
+
return result.rows[0];
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
exports.createTableRecord = createTableRecord;
|
|
130
|
+
function updateTableRecord(poolOrClient, table, id, data, allowFieldList) {
|
|
131
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
132
|
+
if (!id.trim()) {
|
|
133
|
+
throw new ServerError_1.default("Failed to delete the record: empty id was provided.", 400);
|
|
134
|
+
}
|
|
135
|
+
if (!table.trim()) {
|
|
136
|
+
throw new ServerError_1.default("invalid empty table name is supplied.", 500);
|
|
137
|
+
}
|
|
138
|
+
if (allowFieldList === null || allowFieldList === void 0 ? void 0 : allowFieldList.length) {
|
|
139
|
+
const keys = Object.keys(data);
|
|
140
|
+
const diff = lodash_1.difference(keys, allowFieldList);
|
|
141
|
+
if (diff === null || diff === void 0 ? void 0 : diff.length) {
|
|
142
|
+
throw new ServerError_1.default(`Failed to update record, the following fields are not allowed: ${diff.join(",")}`, 400);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
const updates = Object.keys(data).reduce((result, currentKey) => {
|
|
146
|
+
const currentValue = data[currentKey];
|
|
147
|
+
result.push(sql_syntax_1.sqls `${escapeIdentifier(currentKey)} = ${sql_syntax_1.sqls `${currentValue}`}`);
|
|
148
|
+
return result;
|
|
149
|
+
}, []);
|
|
150
|
+
const sqlSyntax = sql_syntax_1.sqls `UPDATE ${escapeIdentifier(table)}
|
|
151
|
+
SET ${sql_syntax_1.default.csv(...updates)}
|
|
152
|
+
WHERE id = ${id}
|
|
153
|
+
RETURNING *`;
|
|
154
|
+
const result = yield poolOrClient.query(...sqlSyntax.toQuery());
|
|
155
|
+
return result.rows[0];
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
exports.updateTableRecord = updateTableRecord;
|
|
159
|
+
function deleteTableRecord(poolOrClient, table, id) {
|
|
160
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
161
|
+
if (!id.trim()) {
|
|
162
|
+
throw new ServerError_1.default("Failed to delete the record: empty id was provided.", 400);
|
|
163
|
+
}
|
|
164
|
+
if (!table.trim()) {
|
|
165
|
+
throw new ServerError_1.default("invalid empty table name is supplied.", 500);
|
|
166
|
+
}
|
|
167
|
+
const sqlSyntax = sql_syntax_1.sqls `DELETE FROM ${escapeIdentifier(table)} WHERE id = ${id}`;
|
|
168
|
+
yield poolOrClient.query(...sqlSyntax.toQuery());
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
exports.deleteTableRecord = deleteTableRecord;
|
|
172
|
+
function parseIntParam(p) {
|
|
173
|
+
if (!p) {
|
|
174
|
+
return 0;
|
|
175
|
+
}
|
|
176
|
+
const result = parseInt(p === null || p === void 0 ? void 0 : p.toString());
|
|
177
|
+
if (isNaN(result)) {
|
|
178
|
+
return 0;
|
|
179
|
+
}
|
|
180
|
+
return result;
|
|
181
|
+
}
|
|
182
|
+
exports.parseIntParam = parseIntParam;
|
|
183
|
+
exports.MAX_PAGE_RECORD_NUMBER = 500;
|
|
184
|
+
function searchTableRecord(poolOrClient, table, contiditions = [], queryConfig) {
|
|
185
|
+
var _a, _b, _c;
|
|
186
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
187
|
+
if (!table.trim()) {
|
|
188
|
+
throw new ServerError_1.default("invalid empty table name is supplied.");
|
|
189
|
+
}
|
|
190
|
+
const objectKind = (queryConfig === null || queryConfig === void 0 ? void 0 : queryConfig.objectKind) ? queryConfig.objectKind
|
|
191
|
+
: "authObject";
|
|
192
|
+
const authDecision = (queryConfig === null || queryConfig === void 0 ? void 0 : queryConfig.authDecision) ? queryConfig.authDecision
|
|
193
|
+
: AuthDecision_1.UnconditionalTrueDecision;
|
|
194
|
+
let limit = parseIntParam(queryConfig === null || queryConfig === void 0 ? void 0 : queryConfig.limit);
|
|
195
|
+
const offset = parseIntParam(queryConfig === null || queryConfig === void 0 ? void 0 : queryConfig.offset);
|
|
196
|
+
if (limit > exports.MAX_PAGE_RECORD_NUMBER) {
|
|
197
|
+
limit = exports.MAX_PAGE_RECORD_NUMBER;
|
|
198
|
+
}
|
|
199
|
+
const config = (queryConfig === null || queryConfig === void 0 ? void 0 : queryConfig.toSqlConfig) ? queryConfig.toSqlConfig
|
|
200
|
+
: {
|
|
201
|
+
prefixes: [
|
|
202
|
+
`input.${objectKind}.${lodash_1.camelCase(table.replace(/s$/, ""))}`
|
|
203
|
+
]
|
|
204
|
+
};
|
|
205
|
+
const authConditions = authDecision.toSql(config);
|
|
206
|
+
const where = sql_syntax_1.default.where(sql_syntax_1.default.joinWithAnd([...contiditions, authConditions]));
|
|
207
|
+
const sqlSyntax = sql_syntax_1.sqls `SELECT ${(queryConfig === null || queryConfig === void 0 ? void 0 : queryConfig.selectedFields) ? sql_syntax_1.default.csv(...queryConfig.selectedFields)
|
|
208
|
+
: sql_syntax_1.sqls `*`}
|
|
209
|
+
FROM ${escapeIdentifier(table)}
|
|
210
|
+
${((_a = queryConfig === null || queryConfig === void 0 ? void 0 : queryConfig.leftJoins) === null || _a === void 0 ? void 0 : _a.length) ? sql_syntax_1.default.join(queryConfig.leftJoins.map((joinItem) => sql_syntax_1.sqls `LEFT JOIN ${escapeIdentifier(joinItem.table)} ON ${joinItem.joinCondition}`), sql_syntax_1.sqls `\n`)
|
|
211
|
+
: sql_syntax_1.default.empty}
|
|
212
|
+
${where}
|
|
213
|
+
${(queryConfig === null || queryConfig === void 0 ? void 0 : queryConfig.groupBy) ? sql_syntax_1.sqls `GROUP BY ${typeof ((_b = queryConfig.groupBy) === null || _b === void 0 ? void 0 : _b.length) === "number"
|
|
214
|
+
? sql_syntax_1.default.csv(...queryConfig.groupBy)
|
|
215
|
+
: queryConfig.groupBy}`
|
|
216
|
+
: sql_syntax_1.default.empty}
|
|
217
|
+
${offset ? sql_syntax_1.sqls `OFFSET ${offset}` : sql_syntax_1.default.empty}
|
|
218
|
+
${limit ? sql_syntax_1.sqls `LIMIT ${limit}` : sql_syntax_1.default.empty}
|
|
219
|
+
`;
|
|
220
|
+
const result = yield poolOrClient.query(...sqlSyntax.toQuery());
|
|
221
|
+
if (!((_c = result === null || result === void 0 ? void 0 : result.rows) === null || _c === void 0 ? void 0 : _c.length)) {
|
|
222
|
+
return [];
|
|
223
|
+
}
|
|
224
|
+
else {
|
|
225
|
+
return result.rows;
|
|
226
|
+
}
|
|
227
|
+
});
|
|
228
|
+
}
|
|
229
|
+
exports.searchTableRecord = searchTableRecord;
|
|
230
|
+
function getTableRecord(poolOrClient, table, id, authDecision = AuthDecision_1.UnconditionalTrueDecision, objectKind = "authObject", toSqlConfig) {
|
|
231
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
232
|
+
const records = yield searchTableRecord(poolOrClient, table, [sql_syntax_1.sqls `id = ${id}`], {
|
|
233
|
+
authDecision,
|
|
234
|
+
objectKind,
|
|
235
|
+
toSqlConfig
|
|
236
|
+
});
|
|
237
|
+
if (!records.length) {
|
|
238
|
+
return null;
|
|
239
|
+
}
|
|
240
|
+
else {
|
|
241
|
+
return records[0];
|
|
242
|
+
}
|
|
243
|
+
});
|
|
244
|
+
}
|
|
245
|
+
exports.getTableRecord = getTableRecord;
|
|
246
|
+
function countTableRecord(poolOrClient, table, contiditions = [], authDecision, objectKind, toSqlConfig) {
|
|
247
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
248
|
+
const records = yield searchTableRecord(poolOrClient, table, contiditions, {
|
|
249
|
+
authDecision,
|
|
250
|
+
objectKind,
|
|
251
|
+
toSqlConfig,
|
|
252
|
+
selectedFields: [sql_syntax_1.sqls `COUNT(*) AS total`]
|
|
253
|
+
});
|
|
254
|
+
if (!records.length) {
|
|
255
|
+
return 0;
|
|
256
|
+
}
|
|
257
|
+
else {
|
|
258
|
+
return records[0]["total"];
|
|
259
|
+
}
|
|
260
|
+
});
|
|
261
|
+
}
|
|
262
|
+
exports.countTableRecord = countTableRecord;
|
|
263
|
+
//# sourceMappingURL=SQLUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SQLUtils.js","sourceRoot":"","sources":["../src/SQLUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
class ServerError extends Error {
|
|
4
|
+
constructor(message = "Unknown Error", statusCode = 500) {
|
|
5
|
+
super(message);
|
|
6
|
+
this.statusCode = statusCode;
|
|
7
|
+
}
|
|
8
|
+
toData() {
|
|
9
|
+
return {
|
|
10
|
+
isError: true,
|
|
11
|
+
errorCode: this.statusCode,
|
|
12
|
+
errorMessage: this.message
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
exports.default = ServerError;
|
|
17
|
+
//# sourceMappingURL=ServerError.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ServerError.js","sourceRoot":"","sources":["../src/ServerError.ts"],"names":[],"mappings":";;AAAA,MAAqB,WAAY,SAAQ,KAAK;IAG1C,YAAY,UAAkB,eAAe,EAAE,aAAqB,GAAG;QACnE,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IACjC,CAAC;IAED,MAAM;QACF,OAAO;YACH,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,IAAI,CAAC,UAAU;YAC1B,YAAY,EAAE,IAAI,CAAC,OAAO;SAC7B,CAAC;IACN,CAAC;CACJ;AAfD,8BAeC"}
|
|
@@ -1,7 +1,66 @@
|
|
|
1
1
|
import { Request, Response } from "express";
|
|
2
|
+
import AuthDecisionQueryClient, { AuthDecisionReqConfig } from "../opa/AuthDecisionQueryClient";
|
|
2
3
|
export declare const mustBeLoggedIn: (jwtSecret: string) => (this: any, req: Request, res: Response, next: () => void) => void;
|
|
3
4
|
/**
|
|
4
5
|
* Find the user making the request. Assign it to req passport style.
|
|
6
|
+
* !deprecated! should use middleware `getUserId` or `requireUserId` instead.
|
|
5
7
|
*/
|
|
6
|
-
export declare const getUser: (baseAuthUrl: string, jwtSecret: string) => (req: Request, res: Response, next: () => void) => void;
|
|
8
|
+
export declare const getUser: (baseAuthUrl: string, jwtSecret: string, actionUserId?: string) => (req: Request, res: Response, next: () => void) => void;
|
|
7
9
|
export declare const mustBeAdmin: (baseAuthUrl: string, jwtSecret: string) => (req: Request, res: Response, next: () => void) => void;
|
|
10
|
+
/**
|
|
11
|
+
* Make auth decision based on auth decision request config.
|
|
12
|
+
* Depends on the config provided, either partial eval (conditional decision on a set of records/objects)
|
|
13
|
+
* Or unconditional decision for a single record / object will be returned via `res.locals.authDecision`.
|
|
14
|
+
*
|
|
15
|
+
* @export
|
|
16
|
+
* @param {AuthDecisionQueryClient} authDecisionClient
|
|
17
|
+
* @param {AuthDecisionReqConfig} config
|
|
18
|
+
* @return {*}
|
|
19
|
+
*/
|
|
20
|
+
export declare function withAuthDecision(authDecisionClient: AuthDecisionQueryClient, config: AuthDecisionReqConfig): (req: Request, res: Response, next: () => void) => Promise<void>;
|
|
21
|
+
/**
|
|
22
|
+
* Require unconditional auth decision based on auth decision request config.
|
|
23
|
+
* When making decision on a group of records/objects, this method makes sure
|
|
24
|
+
* the user has permission to all records/objects regardless individual record / object's attributes.
|
|
25
|
+
*
|
|
26
|
+
* @export
|
|
27
|
+
* @param {AuthDecisionQueryClient} authDecisionClient
|
|
28
|
+
* @param {AuthDecisionReqConfig} config
|
|
29
|
+
* @param {boolean} [requiredDecision=true]
|
|
30
|
+
* @return {*}
|
|
31
|
+
*/
|
|
32
|
+
export declare function requireUnconditionalAuthDecision(authDecisionClient: AuthDecisionQueryClient, config: AuthDecisionReqConfig, requiredDecision?: boolean): (req: Request, res: Response, next: () => void) => void;
|
|
33
|
+
declare type InputDataOrFuncType = ((req: Request, res: Response) => Record<string, any>) | Record<string, any>;
|
|
34
|
+
/**
|
|
35
|
+
* require permission based on input data provided.
|
|
36
|
+
* Different from withAuthDecision, its method always set `unknowns` = Nil i.e. it will always attempt to make unconditional decision.
|
|
37
|
+
* It's for make decision for one single record / object. For partial eval for a set of records / objects, please use `withAuthDecision` or `requireUnconditionalAuthDecision`
|
|
38
|
+
*
|
|
39
|
+
* @export
|
|
40
|
+
* @param {AuthDecisionQueryClient} authDecisionClient
|
|
41
|
+
* @param {string} operationUri
|
|
42
|
+
* @param {InputDataOrFuncType} [inputDataFunc] either a function that produce input data (auth decision context data) from `req` & `req` or a plain object
|
|
43
|
+
* @return {*}
|
|
44
|
+
*/
|
|
45
|
+
export declare function requirePermission(authDecisionClient: AuthDecisionQueryClient, operationUri: string, inputDataOrFunc?: InputDataOrFuncType): (req: Request, res: Response, next: () => void) => void;
|
|
46
|
+
/**
|
|
47
|
+
* Try to locate userId from JwtToken.
|
|
48
|
+
* If can't find JWT token, return undefined via `res.locals.userId`
|
|
49
|
+
*
|
|
50
|
+
* @export
|
|
51
|
+
* @param {Request} req
|
|
52
|
+
* @param {Response} res
|
|
53
|
+
* @param {() => void} next
|
|
54
|
+
*/
|
|
55
|
+
export declare function getUserId(jwtSecret: string): (req: Request, res: Response, next: () => void) => void;
|
|
56
|
+
/**
|
|
57
|
+
* get current user ID from JWT token
|
|
58
|
+
* If can't locate userId, response 403 error
|
|
59
|
+
*
|
|
60
|
+
* @export
|
|
61
|
+
* @param {Request} req
|
|
62
|
+
* @param {Response} res
|
|
63
|
+
* @param {() => void} next
|
|
64
|
+
*/
|
|
65
|
+
export declare const requireUserId: (jwtSecret: string) => (req: Request, res: Response, next: () => void) => void;
|
|
66
|
+
export {};
|