prostgles-server 2.0.177 → 2.0.178
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/AuthHandler.d.ts +2 -2
- package/dist/AuthHandler.d.ts.map +1 -1
- package/dist/DBSchemaBuilder.d.ts +2 -2
- package/dist/DBSchemaBuilder.d.ts.map +1 -1
- package/dist/DBSchemaBuilder.js +21 -0
- package/dist/DBSchemaBuilder.js.map +1 -1
- package/dist/Prostgles.d.ts +2 -2
- package/dist/Prostgles.d.ts.map +1 -1
- package/dist/PublishParser.d.ts +36 -36
- package/dist/PublishParser.d.ts.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/lib/AuthHandler.ts +2 -2
- package/lib/DBSchemaBuilder.ts +25 -3
- package/lib/Prostgles.ts +2 -2
- package/lib/PublishParser.ts +36 -36
- package/lib/index.ts +1 -1
- package/package.json +1 -1
- package/tests/client/PID.txt +1 -1
- package/tests/server/package-lock.json +1 -1
package/dist/AuthHandler.d.ts
CHANGED
|
@@ -37,7 +37,7 @@ export declare type AuthClientRequest = {
|
|
|
37
37
|
} | {
|
|
38
38
|
httpReq: ExpressReq;
|
|
39
39
|
};
|
|
40
|
-
export declare type Auth<S extends DBSchema =
|
|
40
|
+
export declare type Auth<S extends DBSchema | undefined = undefined> = {
|
|
41
41
|
/**
|
|
42
42
|
* Name of the cookie or socket hadnshake query param that represents the session id.
|
|
43
43
|
* Defaults to "session_id"
|
|
@@ -116,7 +116,7 @@ export declare type ClientInfo = {
|
|
|
116
116
|
clientUser?: AnyObject;
|
|
117
117
|
sid?: string;
|
|
118
118
|
};
|
|
119
|
-
export default class AuthHandler<S extends DBSchema =
|
|
119
|
+
export default class AuthHandler<S extends DBSchema | undefined = undefined> {
|
|
120
120
|
protected opts?: Auth<S>;
|
|
121
121
|
dbo: DBHandlerServer;
|
|
122
122
|
db: DB;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthHandler.d.ts","sourceRoot":"","sources":["../lib/AuthHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAA0D,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC9G,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,EAAE,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7D,aAAK,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AACnC,aAAK,gBAAgB,GAAG;IACtB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,aAAK,UAAU,GAAG;IAChB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB,CAAA;AACD,aAAK,UAAU,GAAG;IAChB,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,CAAC;QAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,SAAS,KAAK,GAAG,CAAC;KAAE,CAAC,CAAC;IACpE,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,KAAK,GAAG,CAAC;IACjE,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CACjC,CAAA;AAED,oBAAY,YAAY,GAAG;IAEzB,iCAAiC;IACjC,GAAG,EAAE,MAAM,CAAC;IAEZ,iCAAiC;IACjC,OAAO,EAAE,MAAM,CAAC;CAEjB,CAAC;AACF,oBAAY,iBAAiB,GAAG;IAAE,MAAM,EAAE,GAAG,CAAA;CAAE,GAAG;IAAE,OAAO,EAAE,UAAU,CAAA;CAAE,CAAA;AACzE,oBAAY,IAAI,CAAC,CAAC,SAAS,QAAQ,GAAG,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"AuthHandler.d.ts","sourceRoot":"","sources":["../lib/AuthHandler.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@ export declare const getDBSchema: (dboBuilder: DboBuilder) => string;
|
|
|
5
5
|
export declare type DBOFullyTyped<Schema extends DBSchema | undefined = undefined> = Schema extends DBSchema ? ({
|
|
6
6
|
[tov_name in keyof Schema]: Schema[tov_name]["is_view"] extends true ? ViewHandler<DBSchemaColumns<Schema[tov_name]["columns"]>> : TableHandler<DBSchemaColumns<Schema[tov_name]["columns"]>>;
|
|
7
7
|
} & Pick<DBHandlerServer, "tx" | "sql">) : DBHandlerServer;
|
|
8
|
-
export declare type PublishFullyTyped<Schema extends DBSchema> = {
|
|
8
|
+
export declare type PublishFullyTyped<Schema extends DBSchema | undefined = undefined> = Schema extends DBSchema ? {
|
|
9
9
|
[tov_name in keyof Partial<Schema>]: PublishAllOrNothing | (Schema[tov_name]["is_view"] extends true ? PublishViewRule<Schema[tov_name]> : PublishTableRule<Schema[tov_name]>);
|
|
10
|
-
};
|
|
10
|
+
} : (PublishAllOrNothing | Record<string, PublishViewRule | PublishTableRule>);
|
|
11
11
|
//# sourceMappingURL=DBSchemaBuilder.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DBSchemaBuilder.d.ts","sourceRoot":"","sources":["../lib/DBSchemaBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAyB,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9G,OAAO,EAAE,eAAe,EAAE,UAAU,EAAmC,MAAM,cAAc,CAAC;AAC5F,OAAO,EAAE,mBAAmB,
|
|
1
|
+
{"version":3,"file":"DBSchemaBuilder.d.ts","sourceRoot":"","sources":["../lib/DBSchemaBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAyB,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9G,OAAO,EAAE,eAAe,EAAE,UAAU,EAAmC,MAAM,cAAc,CAAC;AAC5F,OAAO,EAAE,mBAAmB,EAAiB,gBAAgB,EAAE,eAAe,EAAuB,MAAM,iBAAiB,CAAC;AAG7H,eAAO,MAAM,WAAW,eAAgB,UAAU,KAAG,MAuBpD,CAAA;AASD,oBAAY,aAAa,CAAC,MAAM,SAAS,QAAQ,GAAG,SAAS,GAAG,SAAS,IAAI,MAAM,SAAS,QAAQ,GAAE,CAClG;KACG,QAAQ,IAAI,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,SAAS,IAAI,GAClE,WAAW,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GACzD,YAAY,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;CAC7D,GAAG,IAAI,CAAC,eAAe,EAAE,IAAI,GAAG,KAAK,CAAC,CACxC,GACD,eAAe,CAAC;AAoClB,oBAAY,iBAAiB,CAAC,MAAM,SAAS,QAAQ,GAAG,SAAS,GAAG,SAAS,IAAI,MAAM,SAAS,QAAQ,GAAE;KACvG,QAAQ,IAAI,MAAM,OAAO,CAAC,MAAM,CAAC,GAAG,mBAAmB,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,SAAS,IAAI,GAAE,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;CAC9K,GAAG,CAAC,mBAAmB,GAAG,MAAM,CAAC,MAAM,EAAE,eAAe,GAAG,gBAAgB,CAAC,CAAC,CAAC"}
|
package/dist/DBSchemaBuilder.js
CHANGED
|
@@ -35,12 +35,31 @@ const ccc = {
|
|
|
35
35
|
const ddb = 1;
|
|
36
36
|
ddb.dwad.insert;
|
|
37
37
|
ddb.dwad.delete;
|
|
38
|
+
const p = 1;
|
|
39
|
+
p.dbo.dwad.insert;
|
|
40
|
+
ddb.dwad.delete;
|
|
38
41
|
});
|
|
39
42
|
/** Test the created schema */
|
|
40
43
|
const c = 1;
|
|
41
44
|
const test = c;
|
|
42
45
|
const db = 1;
|
|
43
46
|
const publish = () => {
|
|
47
|
+
const r = {
|
|
48
|
+
tbl1: {
|
|
49
|
+
select: {
|
|
50
|
+
fields: "*",
|
|
51
|
+
forcedFilter: { col1: 32, col2: "" }
|
|
52
|
+
},
|
|
53
|
+
getColumns: true,
|
|
54
|
+
getInfo: true,
|
|
55
|
+
delete: {
|
|
56
|
+
filterFields: { col1: 1 }
|
|
57
|
+
}
|
|
58
|
+
},
|
|
59
|
+
tbl2: {
|
|
60
|
+
delete: { forcedFilter: { col1: 2 } }
|
|
61
|
+
}
|
|
62
|
+
};
|
|
44
63
|
const res = {
|
|
45
64
|
tbl1: {
|
|
46
65
|
select: {
|
|
@@ -57,6 +76,8 @@ const publish = () => {
|
|
|
57
76
|
delete: { forcedFilter: { col1: 2 } }
|
|
58
77
|
}
|
|
59
78
|
};
|
|
79
|
+
const res1 = r;
|
|
80
|
+
// const res2: PublishFullyTyped = res;
|
|
60
81
|
return res;
|
|
61
82
|
};
|
|
62
83
|
//# sourceMappingURL=DBSchemaBuilder.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DBSchemaBuilder.js","sourceRoot":"","sources":["../lib/DBSchemaBuilder.ts"],"names":[],"mappings":";;;AACA,6CAA4F;AAIrF,MAAM,WAAW,GAAG,CAAC,UAAsB,EAAU,EAAE;IAC5D,IAAI,MAAM,GAAa,EAAE,CAAC;IAE1B,kFAAkF;IAClF,UAAU,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QAC5F,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QACnF,MAAM,CAAC,IAAI,CAAC,GAAG,IAAA,0BAAa,EAAC,GAAG,CAAC,IAAI,CAAC;eACvB,GAAG,CAAC,OAAO;cACZ,GAAG,CAAC,UAAU,CAAC,MAAM;cACrB,GAAG,CAAC,UAAU,CAAC,MAAM;cACrB,GAAG,CAAC,UAAU,CAAC,MAAM;cACrB,GAAG,CAAC,UAAU,CAAC,MAAM;mBAChB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,IAAA,0BAAa,EAAC,CAAC,CAAC,IAAI,CAAC,KAAK,IAAA,6BAAgB,EAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,WAAW,CAAA,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;gBACxH,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACtB,IAAA,0BAAa,EAAC,CAAC,CAAC,IAAI,CAAC,aAAa,IAAA,6BAAgB,EAAC,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,WAAW,iCAAiC,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,WAAW,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;;SAE7K,CAAC,CAAA;IACR,CAAC,CAAC,CAAA;IACJ,OAAO;;IAEH,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;;CAElB,CAAC;AACF,CAAC,CAAA;AAvBY,QAAA,WAAW,eAuBvB;AAED,MAAM,GAAG,GAAiH;IACxH,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;CACT,CAAA;AAaD,kBAAkB;AAClB,CAAC,GAAG,EAAE;IACJ,MAAM,GAAG,GAAkB,CAAQ,CAAC;IACpC,GAAG,CAAC,IAAI,CAAC,MAAO,CAAC;IACjB,GAAG,CAAC,IAAI,CAAC,MAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"DBSchemaBuilder.js","sourceRoot":"","sources":["../lib/DBSchemaBuilder.ts"],"names":[],"mappings":"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"}
|
package/dist/Prostgles.d.ts
CHANGED
|
@@ -79,7 +79,7 @@ export declare type FileTableConfig = {
|
|
|
79
79
|
};
|
|
80
80
|
imageOptions?: ImageOptions;
|
|
81
81
|
};
|
|
82
|
-
export declare type ProstglesInitOptions<S extends DBSchema =
|
|
82
|
+
export declare type ProstglesInitOptions<S extends DBSchema | undefined = undefined> = {
|
|
83
83
|
dbConnection: DbConnection;
|
|
84
84
|
dbOptions?: DbConnectionOpts;
|
|
85
85
|
tsGeneratedTypesDir?: string;
|
|
@@ -140,7 +140,7 @@ export declare type OnReady = {
|
|
|
140
140
|
db: DB;
|
|
141
141
|
};
|
|
142
142
|
import { DBOFullyTyped } from "./DBSchemaBuilder";
|
|
143
|
-
export declare class Prostgles<S extends DBSchema =
|
|
143
|
+
export declare class Prostgles<S extends DBSchema | undefined = undefined> {
|
|
144
144
|
opts: ProstglesInitOptions<S>;
|
|
145
145
|
db?: DB;
|
|
146
146
|
pgp?: PGP;
|
package/dist/Prostgles.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Prostgles.d.ts","sourceRoot":"","sources":["../lib/Prostgles.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,SAAS,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,GAAG,QAAQ,iCAAiC,CAAC,CAAC;AACvD,OAAO,WAAW,EAAE,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAIjF,OAAO,WAAW,EAAE,EAAc,IAAI,EAAE,MAAM,eAAe,CAAC;AAG9D,OAAO,iBAAiB,EAAE,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG/D,OAAO,EAAE,UAAU,EAAE,eAAe,EAA2C,YAAY,EAAE,MAAM,cAAc,CAAC;AAElH,OAAO,EAAE,eAAe,EAAE,CAAA;AAC1B,oBAAY,GAAG,GAAG,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;AAElD,OAAO,EAA8C,SAAS,EAAwC,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACxI,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACxF,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,oBAAY,EAAE,GAAG,SAAS,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;AACrD,aAAK,YAAY,GAAG,MAAM,GAAG,EAAE,CAAC,qBAAqB,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;AAClE,aAAK,gBAAgB,GAAG,EAAE,CAAC,SAAS,CAAC;AACrC,eAAO,MAAM,aAAa,sEAAuE,CAAC;AAgDlG,eAAO,MAAM,UAAU,2DAA4D,CAAC;AACpF,oBAAY,IAAI,GAAG;IACf,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzB,EAAE,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IAC9B,IAAI,EAAE,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;CACnC,CAAC;AACF,oBAAY,KAAK,GAAG,IAAI,EAAE,GAAG,UAAU,CAAC;AAIxC,aAAK,QAAQ,GAAG;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,oBAAY,WAAW,CAAC,CAAC,IAAI;KACxB,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACrC,CAAC;AAYF,aAAK,UAAU,GAAG;IACd,GAAG,EAAE,CACD,SAAS,EAAE,MAAM,EACjB,EAAE,EAAE,CACA,GAAG,EAAE;QACD,MAAM,EAAE;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC;QACzB,OAAO,EAAE;YAAE,GAAG,EAAE,MAAM,CAAA;SAAE,CAAA;KAC3B,EACD,GAAG,EAAE;QACD,QAAQ,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,GAAG,CAAC;QACvC,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;QACpC,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,KAAK,GAAG,CAAC;QAC7D,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK;YACtB,IAAI,EAAE,CAAC,QAAQ,EAAE,SAAS,KAAK,GAAG,CAAC;SACtC,CAAA;KACJ,KACA,GAAG,KACP,GAAG,CAAA;CACX,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,oBAAY,eAAe,GAAG;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,WAAW,CAAC,EAAE,QAAQ,CAAC;IACvB,WAAW,CAAC,EAAE,WAAW,CAAC;IAO1B,UAAU,EAAE,UAAU,CAAC;IACvB,gBAAgB,CAAC,EAAE;QACf,CAAC,SAAS,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,CAAA;KACtC,CAAC;IACF,YAAY,CAAC,EAAE,YAAY,CAAA;CAC9B,CAAC;AAEF,oBAAY,oBAAoB,CAAC,CAAC,SAAS,QAAQ,GAAG,
|
|
1
|
+
{"version":3,"file":"Prostgles.d.ts","sourceRoot":"","sources":["../lib/Prostgles.ts"],"names":[],"mappings":"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"}
|
package/dist/PublishParser.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ import { CommonTableRules, LocalParams, PRGLIOSocket } from "./DboBuilder";
|
|
|
4
4
|
import { Prostgles, DBHandlerServer, DB } from "./Prostgles";
|
|
5
5
|
import type { DBOFullyTyped, PublishFullyTyped } from "./DBSchemaBuilder";
|
|
6
6
|
export declare type Method = (...args: any) => (any | Promise<any>);
|
|
7
|
-
export declare type PublishMethods<S extends DBSchema> = (params: PublishParams<S>) => {
|
|
7
|
+
export declare type PublishMethods<S extends DBSchema | undefined = undefined> = (params: PublishParams<S>) => {
|
|
8
8
|
[key: string]: Method;
|
|
9
9
|
} | Promise<{
|
|
10
10
|
[key: string]: Method;
|
|
@@ -53,11 +53,11 @@ export declare type ValidateUpdateRow<R extends AnyObject = AnyObject> = (args:
|
|
|
53
53
|
update: Partial<R>;
|
|
54
54
|
filter: FullFilter<R>;
|
|
55
55
|
}) => R | Promise<R>;
|
|
56
|
-
export declare type SelectRule<S extends DBTableSchema =
|
|
56
|
+
export declare type SelectRule<S extends DBTableSchema | undefined = undefined> = {
|
|
57
57
|
/**
|
|
58
58
|
* Fields allowed to be selected. Tip: Use false to exclude field
|
|
59
59
|
*/
|
|
60
|
-
fields: FieldFilter<DBSchemaColumns<S["columns"]
|
|
60
|
+
fields: FieldFilter<S extends DBTableSchema ? DBSchemaColumns<S["columns"]> : AnyObject>;
|
|
61
61
|
/**
|
|
62
62
|
* The maximum number of rows a user can get in a select query. null by default. Unless a null or higher limit is specified 100 rows will be returned by the default
|
|
63
63
|
*/
|
|
@@ -65,43 +65,43 @@ export declare type SelectRule<S extends DBTableSchema = any> = {
|
|
|
65
65
|
/**
|
|
66
66
|
* Filter added to every query (e.g. user_id) to restrict access
|
|
67
67
|
*/
|
|
68
|
-
forcedFilter?: FullFilter<DBSchemaColumns<S["columns"]
|
|
68
|
+
forcedFilter?: FullFilter<S extends DBTableSchema ? DBSchemaColumns<S["columns"]> : AnyObject>;
|
|
69
69
|
/**
|
|
70
70
|
* Fields user can filter by
|
|
71
71
|
* */
|
|
72
|
-
filterFields?: FieldFilter<DBSchemaColumns<S["columns"]
|
|
72
|
+
filterFields?: FieldFilter<S extends DBTableSchema ? DBSchemaColumns<S["columns"]> : AnyObject>;
|
|
73
73
|
/**
|
|
74
74
|
* Validation logic to check/update data for each request
|
|
75
75
|
*/
|
|
76
76
|
validate?(args: SelectRequestData): SelectRequestData | Promise<SelectRequestData>;
|
|
77
77
|
};
|
|
78
|
-
export declare type InsertRule<S extends DBTableSchema =
|
|
78
|
+
export declare type InsertRule<S extends DBTableSchema | undefined = undefined> = {
|
|
79
79
|
/**
|
|
80
80
|
* Fields allowed to be inserted. Tip: Use false to exclude field
|
|
81
81
|
*/
|
|
82
|
-
fields:
|
|
82
|
+
fields: SelectRule<S>["fields"];
|
|
83
83
|
/**
|
|
84
84
|
* Data to include/overwrite on each insert
|
|
85
85
|
*/
|
|
86
|
-
forcedData?: Partial<DBSchemaColumns<S["columns"]
|
|
86
|
+
forcedData?: Partial<S extends DBTableSchema ? DBSchemaColumns<S["columns"]> : AnyObject>;
|
|
87
87
|
/**
|
|
88
88
|
* Fields user can view after inserting
|
|
89
89
|
*/
|
|
90
|
-
returningFields?:
|
|
90
|
+
returningFields?: SelectRule<S>["fields"];
|
|
91
91
|
/**
|
|
92
92
|
* Validation logic to check/update data for each request. Happens before publish rule checks (for fields, forcedData/forcedFilter)
|
|
93
93
|
*/
|
|
94
|
-
preValidate?: ValidateRow<DBSchemaColumns<S["columns"]
|
|
94
|
+
preValidate?: ValidateRow<S extends DBTableSchema ? DBSchemaColumns<S["columns"]> : AnyObject>;
|
|
95
95
|
/**
|
|
96
96
|
* Validation logic to check/update data for each request. Happens after publish rule checks (for fields, forcedData/forcedFilter)
|
|
97
97
|
*/
|
|
98
|
-
validate?:
|
|
98
|
+
validate?: InsertRule<S>["preValidate"];
|
|
99
99
|
};
|
|
100
|
-
export declare type UpdateRule<S extends DBTableSchema =
|
|
100
|
+
export declare type UpdateRule<S extends DBTableSchema | undefined = undefined> = {
|
|
101
101
|
/**
|
|
102
102
|
* Fields allowed to be updated. Tip: Use false/0 to exclude field
|
|
103
103
|
*/
|
|
104
|
-
fields:
|
|
104
|
+
fields: SelectRule<S>["fields"];
|
|
105
105
|
/**
|
|
106
106
|
* Row level FGAC
|
|
107
107
|
* Used when the editable fields change based on the updated row
|
|
@@ -110,58 +110,58 @@ export declare type UpdateRule<S extends DBTableSchema = any> = {
|
|
|
110
110
|
* Specify in decreasing order of specificity otherwise a more general filter will match first
|
|
111
111
|
*/
|
|
112
112
|
dynamicFields?: {
|
|
113
|
-
filter:
|
|
114
|
-
fields:
|
|
113
|
+
filter: SelectRule<S>["forcedFilter"];
|
|
114
|
+
fields: SelectRule<S>["fields"];
|
|
115
115
|
}[];
|
|
116
116
|
/**
|
|
117
117
|
* Filter added to every query (e.g. user_id) to restrict access
|
|
118
118
|
* This filter cannot be updated
|
|
119
119
|
*/
|
|
120
|
-
forcedFilter?:
|
|
120
|
+
forcedFilter?: SelectRule<S>["forcedFilter"];
|
|
121
121
|
/**
|
|
122
122
|
* Data to include/overwrite on each updatDBe
|
|
123
123
|
*/
|
|
124
|
-
forcedData?:
|
|
124
|
+
forcedData?: InsertRule<S>["forcedData"];
|
|
125
125
|
/**
|
|
126
126
|
* Fields user can use to find the updates
|
|
127
127
|
*/
|
|
128
|
-
filterFields?:
|
|
128
|
+
filterFields?: SelectRule<S>["fields"];
|
|
129
129
|
/**
|
|
130
130
|
* Fields user can view after updating
|
|
131
131
|
*/
|
|
132
|
-
returningFields?:
|
|
132
|
+
returningFields?: SelectRule<S>["fields"];
|
|
133
133
|
/**
|
|
134
134
|
* Validation logic to check/update data for each request
|
|
135
135
|
*/
|
|
136
|
-
validate?: ValidateUpdateRow<DBSchemaColumns<S["columns"]
|
|
136
|
+
validate?: ValidateUpdateRow<S extends DBTableSchema ? DBSchemaColumns<S["columns"]> : AnyObject>;
|
|
137
137
|
};
|
|
138
|
-
export declare type DeleteRule<S extends DBTableSchema =
|
|
138
|
+
export declare type DeleteRule<S extends DBTableSchema | undefined = undefined> = {
|
|
139
139
|
/**
|
|
140
140
|
* Filter added to every query (e.g. user_id) to restrict access
|
|
141
141
|
*/
|
|
142
|
-
forcedFilter?: FullFilter<DBSchemaColumns<S["columns"]
|
|
142
|
+
forcedFilter?: FullFilter<S extends DBTableSchema ? DBSchemaColumns<S["columns"]> : AnyObject>;
|
|
143
143
|
/**
|
|
144
144
|
* Fields user can filter by
|
|
145
145
|
*/
|
|
146
|
-
filterFields?: FieldFilter<DBSchemaColumns<S["columns"]
|
|
146
|
+
filterFields?: FieldFilter<S extends DBTableSchema ? DBSchemaColumns<S["columns"]> : AnyObject>;
|
|
147
147
|
/**
|
|
148
148
|
* Fields user can view after deleting
|
|
149
149
|
*/
|
|
150
|
-
returningFields?: FieldFilter<DBSchemaColumns<S["columns"]
|
|
150
|
+
returningFields?: FieldFilter<S extends DBTableSchema ? DBSchemaColumns<S["columns"]> : AnyObject>;
|
|
151
151
|
/**
|
|
152
152
|
* Validation logic to check/update data for each request
|
|
153
153
|
*/
|
|
154
|
-
validate?(...args: any[]): UpdateRequestData<DBSchemaColumns<S["columns"]
|
|
154
|
+
validate?(...args: any[]): UpdateRequestData<S extends DBTableSchema ? DBSchemaColumns<S["columns"]> : AnyObject>;
|
|
155
155
|
};
|
|
156
|
-
export declare type SyncRule<S extends DBTableSchema =
|
|
156
|
+
export declare type SyncRule<S extends DBTableSchema | undefined = undefined> = {
|
|
157
157
|
/**
|
|
158
158
|
* Primary keys used in updating data
|
|
159
159
|
*/
|
|
160
|
-
id_fields: string[];
|
|
160
|
+
id_fields: S extends DBTableSchema ? (keyof S["dataTypes"])[] : string[];
|
|
161
161
|
/**
|
|
162
162
|
* Numerical incrementing fieldname (last updated timestamp) used to sync items
|
|
163
163
|
*/
|
|
164
|
-
synced_field: string;
|
|
164
|
+
synced_field: S extends DBTableSchema ? (keyof S["dataTypes"]) : string;
|
|
165
165
|
/**
|
|
166
166
|
* EXPERIMENTAL. Disabled by default. If true then server will attempt to delete any records missing from client.
|
|
167
167
|
*/
|
|
@@ -178,25 +178,25 @@ export declare type SyncRule<S extends DBTableSchema = any> = {
|
|
|
178
178
|
export declare type SubscribeRule = {
|
|
179
179
|
throttle?: number;
|
|
180
180
|
};
|
|
181
|
-
export declare type ViewRule<S extends DBTableSchema> = CommonTableRules & {
|
|
181
|
+
export declare type ViewRule<S extends DBTableSchema | undefined = undefined> = CommonTableRules & {
|
|
182
182
|
/**
|
|
183
183
|
* What can be read from the table
|
|
184
184
|
*/
|
|
185
185
|
select?: SelectRule<S>;
|
|
186
186
|
};
|
|
187
|
-
export declare type TableRule<S extends DBTableSchema =
|
|
187
|
+
export declare type TableRule<S extends DBTableSchema | undefined = undefined> = ViewRule<S> & {
|
|
188
188
|
insert?: InsertRule<S>;
|
|
189
189
|
update?: UpdateRule<S>;
|
|
190
190
|
delete?: DeleteRule<S>;
|
|
191
191
|
sync?: SyncRule<S>;
|
|
192
192
|
subscribe?: SubscribeRule;
|
|
193
193
|
};
|
|
194
|
-
export declare type PublishViewRule<S extends DBTableSchema =
|
|
194
|
+
export declare type PublishViewRule<S extends DBTableSchema | undefined = undefined> = {
|
|
195
195
|
select?: SelectRule<S> | PublishAllOrNothing;
|
|
196
196
|
getColumns?: PublishAllOrNothing;
|
|
197
197
|
getInfo?: PublishAllOrNothing;
|
|
198
198
|
};
|
|
199
|
-
export declare type PublishTableRule<S extends DBTableSchema =
|
|
199
|
+
export declare type PublishTableRule<S extends DBTableSchema | undefined = undefined> = PublishViewRule<S> & {
|
|
200
200
|
insert?: InsertRule<S> | PublishAllOrNothing;
|
|
201
201
|
update?: UpdateRule<S> | PublishAllOrNothing;
|
|
202
202
|
delete?: DeleteRule<S> | PublishAllOrNothing;
|
|
@@ -214,7 +214,7 @@ export declare type ParsedPublishTable = {
|
|
|
214
214
|
subscribe?: SubscribeRule;
|
|
215
215
|
subscribeOne?: SubscribeRule;
|
|
216
216
|
};
|
|
217
|
-
export declare type PublishParams<S extends DBSchema =
|
|
217
|
+
export declare type PublishParams<S extends DBSchema | undefined = undefined> = {
|
|
218
218
|
sid?: string;
|
|
219
219
|
dbo: DBOFullyTyped<S>;
|
|
220
220
|
db?: DB;
|
|
@@ -226,14 +226,14 @@ export declare type RequestParams = {
|
|
|
226
226
|
socket?: any;
|
|
227
227
|
};
|
|
228
228
|
export declare type PublishAllOrNothing = true | "*" | false | null;
|
|
229
|
-
export declare type PublishObject<Schema extends DBSchema =
|
|
229
|
+
export declare type PublishObject<Schema extends DBSchema | undefined = undefined> = {
|
|
230
230
|
[table_name: string]: (PublishTableRule | PublishViewRule | PublishAllOrNothing);
|
|
231
231
|
};
|
|
232
232
|
export declare type ParsedPublishTables = {
|
|
233
233
|
[table_name: string]: ParsedPublishTable;
|
|
234
234
|
};
|
|
235
|
-
export declare type PublishedResult<Schema extends DBSchema =
|
|
236
|
-
export declare type Publish<Schema extends DBSchema =
|
|
235
|
+
export declare type PublishedResult<Schema extends DBSchema | undefined = undefined> = PublishAllOrNothing | PublishFullyTyped<Schema>;
|
|
236
|
+
export declare type Publish<Schema extends DBSchema | undefined = undefined> = PublishedResult<Schema> | ((params: PublishParams<Schema>) => Awaitable<PublishedResult<Schema>>);
|
|
237
237
|
export declare class PublishParser {
|
|
238
238
|
publish: any;
|
|
239
239
|
publishMethods?: any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PublishParser.d.ts","sourceRoot":"","sources":["../lib/PublishParser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,SAAS,EAAO,oBAAoB,EAAE,aAAa,EAAwB,UAAU,EAAE,eAAe,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACzL,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAyB,WAAW,EAAE,YAAY,EAA6B,MAAM,cAAc,CAAC;AAC7H,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,EAAE,EAAiB,MAAM,aAAa,CAAC;AAC5E,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC1E,oBAAY,MAAM,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,CAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAE,CAAC;AAC9D,oBAAY,cAAc,CAAC,CAAC,SAAS,QAAQ,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK;IAAE,CAAC,GAAG,EAAC,MAAM,GAAG,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC;IAAE,CAAC,GAAG,EAAC,MAAM,GAAG,MAAM,CAAA;CAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"PublishParser.d.ts","sourceRoot":"","sources":["../lib/PublishParser.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ProstglesInitOptions } from "./Prostgles";
|
|
2
2
|
import { DBSchema } from "prostgles-types";
|
|
3
|
-
declare function prostgles<S extends DBSchema =
|
|
3
|
+
declare function prostgles<S extends DBSchema | undefined = undefined>(params: ProstglesInitOptions<S>): Promise<{
|
|
4
4
|
db: import("./DBSchemaBuilder").DBOFullyTyped<S>;
|
|
5
5
|
_db: import("./Prostgles").DB;
|
|
6
6
|
pgp: import("./Prostgles").PGP;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C,iBAAS,SAAS,CAAC,CAAC,SAAS,QAAQ,GAAG,GAAG,EAAE,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAC;;;;;;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C,iBAAS,SAAS,CAAC,CAAC,SAAS,QAAQ,GAAG,SAAS,GAAG,SAAS,EAAE,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAC;;;;;;GAI7F;AACD,SAAS,SAAS,CAAC"}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":";AAAA,2CAA8D;AAG9D,SAAS,SAAS,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":";AAAA,2CAA8D;AAG9D,SAAS,SAAS,CAA6C,MAA+B;IAE1F,IAAI,IAAI,GAAG,IAAI,qBAAS,CAAI,MAAa,CAAC,CAAC;IAC3C,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACrC,CAAC;AACD,iBAAS,SAAS,CAAC;AAGnB,gDAAgD;AAChD,wCAAwC;AACxC,iCAAiC;AACjC,IAAI;AAMJ,qBAAqB;AACrB,WAAW;AACX,YAAY;AACZ,gBAAgB;AAChB,IAAI;AACJ,8BAA8B;AAE9B,yBAAyB;AACzB,qCAAqC;AACrC,kDAAkD;AAClD,2BAA2B;AAC3B,4CAA4C;AAC5C,yDAAyD;AACzD,oCAAoC;AACpC,mCAAmC;AACnC,+BAA+B;AAC/B,6BAA6B;AAC7B,yEAAyE;AACzE,oCAAoC;AACpC,iDAAiD;AACjD,eAAe;AACf,aAAa;AACb,sBAAsB;AACtB,wBAAwB;AACxB,IAAI;AAGJ,YAAY;AAEZ,6CAA6C;AAE7C,wCAAwC;AACxC,iCAAiC;AACjC,IAAI;AAEJ,gDAAgD;AAChD,4CAA4C;AAC5C,qCAAqC;AACrC,IAAI;AAEJ,iBAAiB"}
|
package/lib/AuthHandler.ts
CHANGED
|
@@ -36,7 +36,7 @@ export type BasicSession = {
|
|
|
36
36
|
|
|
37
37
|
};
|
|
38
38
|
export type AuthClientRequest = { socket: any } | { httpReq: ExpressReq }
|
|
39
|
-
export type Auth<S extends DBSchema =
|
|
39
|
+
export type Auth<S extends DBSchema | undefined = undefined> = {
|
|
40
40
|
/**
|
|
41
41
|
* Name of the cookie or socket hadnshake query param that represents the session id.
|
|
42
42
|
* Defaults to "session_id"
|
|
@@ -136,7 +136,7 @@ export type ClientInfo = {
|
|
|
136
136
|
sid?: string;
|
|
137
137
|
}
|
|
138
138
|
|
|
139
|
-
export default class AuthHandler<S extends DBSchema =
|
|
139
|
+
export default class AuthHandler<S extends DBSchema | undefined = undefined> {
|
|
140
140
|
protected opts?: Auth<S>;
|
|
141
141
|
dbo: DBHandlerServer;
|
|
142
142
|
db: DB;
|
package/lib/DBSchemaBuilder.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { DBSchemaColumns, DBSchemaInsertColumns, DBSchema, TableHandler, ViewHandler } from "prostgles-types";
|
|
2
2
|
import { DBHandlerServer, DboBuilder, escapeTSNames, postgresToTsType } from "./DboBuilder";
|
|
3
|
-
import { PublishAllOrNothing, PublishTableRule, PublishViewRule, TableRule, ViewRule } from "./PublishParser";
|
|
3
|
+
import { PublishAllOrNothing, PublishParams, PublishTableRule, PublishViewRule, TableRule, ViewRule } from "./PublishParser";
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
export const getDBSchema = (dboBuilder: DboBuilder): string => {
|
|
@@ -50,6 +50,9 @@ export type DBOFullyTyped<Schema extends DBSchema | undefined = undefined> = Sch
|
|
|
50
50
|
ddb.dwad.insert!;
|
|
51
51
|
ddb.dwad.delete!;
|
|
52
52
|
|
|
53
|
+
const p: PublishParams = 1 as any;
|
|
54
|
+
p.dbo.dwad.insert!;
|
|
55
|
+
ddb.dwad.delete!;
|
|
53
56
|
})
|
|
54
57
|
|
|
55
58
|
type S = {
|
|
@@ -75,12 +78,28 @@ const test: DBSchema = c;
|
|
|
75
78
|
const db: DBOFullyTyped<S> = 1 as any;
|
|
76
79
|
|
|
77
80
|
|
|
78
|
-
export type PublishFullyTyped<Schema extends DBSchema> = {
|
|
81
|
+
export type PublishFullyTyped<Schema extends DBSchema | undefined = undefined> = Schema extends DBSchema? {
|
|
79
82
|
[tov_name in keyof Partial<Schema>]: PublishAllOrNothing | (Schema[tov_name]["is_view"] extends true? PublishViewRule<Schema[tov_name]> : PublishTableRule<Schema[tov_name]>);
|
|
80
|
-
};
|
|
83
|
+
} : (PublishAllOrNothing | Record<string, PublishViewRule | PublishTableRule>);
|
|
81
84
|
|
|
82
85
|
|
|
83
86
|
const publish = (): PublishFullyTyped<S> => {
|
|
87
|
+
const r = {
|
|
88
|
+
tbl1: {
|
|
89
|
+
select: {
|
|
90
|
+
fields: "*" as "*",
|
|
91
|
+
forcedFilter: { col1: 32, col2: "" }
|
|
92
|
+
},
|
|
93
|
+
getColumns: true,
|
|
94
|
+
getInfo: true,
|
|
95
|
+
delete: {
|
|
96
|
+
filterFields: {col1: 1}
|
|
97
|
+
}
|
|
98
|
+
},
|
|
99
|
+
tbl2: {
|
|
100
|
+
delete: {forcedFilter: {col1: 2}}
|
|
101
|
+
}
|
|
102
|
+
}
|
|
84
103
|
const res: PublishFullyTyped<S> = {
|
|
85
104
|
tbl1: {
|
|
86
105
|
select: {
|
|
@@ -97,6 +116,9 @@ const publish = (): PublishFullyTyped<S> => {
|
|
|
97
116
|
delete: {forcedFilter: {col1: 2}}
|
|
98
117
|
}
|
|
99
118
|
}
|
|
119
|
+
const res1: PublishFullyTyped = r
|
|
120
|
+
|
|
121
|
+
// const res2: PublishFullyTyped = res;
|
|
100
122
|
|
|
101
123
|
return res;
|
|
102
124
|
}
|
package/lib/Prostgles.ts
CHANGED
|
@@ -165,7 +165,7 @@ export type FileTableConfig = {
|
|
|
165
165
|
imageOptions?: ImageOptions
|
|
166
166
|
};
|
|
167
167
|
|
|
168
|
-
export type ProstglesInitOptions<S extends DBSchema =
|
|
168
|
+
export type ProstglesInitOptions<S extends DBSchema | undefined = undefined> = {
|
|
169
169
|
dbConnection: DbConnection;
|
|
170
170
|
dbOptions?: DbConnectionOpts;
|
|
171
171
|
tsGeneratedTypesDir?: string;
|
|
@@ -246,7 +246,7 @@ const DEFAULT_KEYWORDS = {
|
|
|
246
246
|
|
|
247
247
|
import * as fs from 'fs';
|
|
248
248
|
import { DBOFullyTyped } from "./DBSchemaBuilder";
|
|
249
|
-
export class Prostgles<S extends DBSchema =
|
|
249
|
+
export class Prostgles<S extends DBSchema | undefined = undefined> {
|
|
250
250
|
|
|
251
251
|
opts: ProstglesInitOptions<S> = {
|
|
252
252
|
DEBUG_MODE: false,
|
package/lib/PublishParser.ts
CHANGED
|
@@ -4,7 +4,7 @@ import { CommonTableRules, Filter, isPlainObject, LocalParams, PRGLIOSocket, Tab
|
|
|
4
4
|
import { Prostgles, DBHandlerServer, DB, TABLE_METHODS } from "./Prostgles";
|
|
5
5
|
import type { DBOFullyTyped, PublishFullyTyped } from "./DBSchemaBuilder";
|
|
6
6
|
export type Method = (...args: any) => ( any | Promise<any> );
|
|
7
|
-
export type PublishMethods<S extends DBSchema> = (params: PublishParams<S>) => { [key:string]: Method } | Promise<{ [key:string]: Method }>;
|
|
7
|
+
export type PublishMethods<S extends DBSchema | undefined = undefined> = (params: PublishParams<S>) => { [key:string]: Method } | Promise<{ [key:string]: Method }>;
|
|
8
8
|
|
|
9
9
|
export type Awaitable<T> = T | Promise<T>;
|
|
10
10
|
|
|
@@ -129,12 +129,12 @@ export type UpdateRequestData<R extends AnyObject = AnyObject> = UpdateRequestDa
|
|
|
129
129
|
export type ValidateRow<R extends AnyObject = AnyObject> = (row: R) => R | Promise<R>;
|
|
130
130
|
export type ValidateUpdateRow<R extends AnyObject = AnyObject> = (args: { update: Partial<R>, filter: FullFilter<R> }) => R | Promise<R>;
|
|
131
131
|
|
|
132
|
-
export type SelectRule<S extends DBTableSchema =
|
|
132
|
+
export type SelectRule<S extends DBTableSchema | undefined = undefined> = {
|
|
133
133
|
|
|
134
134
|
/**
|
|
135
135
|
* Fields allowed to be selected. Tip: Use false to exclude field
|
|
136
136
|
*/
|
|
137
|
-
fields: FieldFilter<DBSchemaColumns<S["columns"]
|
|
137
|
+
fields: FieldFilter<S extends DBTableSchema? DBSchemaColumns<S["columns"]> : AnyObject>;
|
|
138
138
|
|
|
139
139
|
/**
|
|
140
140
|
* The maximum number of rows a user can get in a select query. null by default. Unless a null or higher limit is specified 100 rows will be returned by the default
|
|
@@ -144,12 +144,12 @@ export type SelectRule<S extends DBTableSchema = any> = {
|
|
|
144
144
|
/**
|
|
145
145
|
* Filter added to every query (e.g. user_id) to restrict access
|
|
146
146
|
*/
|
|
147
|
-
forcedFilter?: FullFilter<DBSchemaColumns<S["columns"]
|
|
147
|
+
forcedFilter?: FullFilter<S extends DBTableSchema? DBSchemaColumns<S["columns"]> : AnyObject>;
|
|
148
148
|
|
|
149
149
|
/**
|
|
150
150
|
* Fields user can filter by
|
|
151
151
|
* */
|
|
152
|
-
filterFields?: FieldFilter<DBSchemaColumns<S["columns"]
|
|
152
|
+
filterFields?: FieldFilter<S extends DBTableSchema? DBSchemaColumns<S["columns"]> : AnyObject>;
|
|
153
153
|
|
|
154
154
|
/**
|
|
155
155
|
* Validation logic to check/update data for each request
|
|
@@ -157,39 +157,39 @@ export type SelectRule<S extends DBTableSchema = any> = {
|
|
|
157
157
|
validate?(args: SelectRequestData): SelectRequestData | Promise<SelectRequestData>;
|
|
158
158
|
|
|
159
159
|
}
|
|
160
|
-
export type InsertRule<S extends DBTableSchema =
|
|
160
|
+
export type InsertRule<S extends DBTableSchema | undefined = undefined> = {
|
|
161
161
|
|
|
162
162
|
/**
|
|
163
163
|
* Fields allowed to be inserted. Tip: Use false to exclude field
|
|
164
164
|
*/
|
|
165
|
-
fields:
|
|
165
|
+
fields: SelectRule<S>["fields"]
|
|
166
166
|
|
|
167
167
|
/**
|
|
168
168
|
* Data to include/overwrite on each insert
|
|
169
169
|
*/
|
|
170
|
-
forcedData?: Partial<DBSchemaColumns<S["columns"]
|
|
170
|
+
forcedData?: Partial<S extends DBTableSchema? DBSchemaColumns<S["columns"]> : AnyObject>;
|
|
171
171
|
|
|
172
172
|
/**
|
|
173
173
|
* Fields user can view after inserting
|
|
174
174
|
*/
|
|
175
|
-
returningFields?:
|
|
175
|
+
returningFields?: SelectRule<S>["fields"]
|
|
176
176
|
|
|
177
177
|
/**
|
|
178
178
|
* Validation logic to check/update data for each request. Happens before publish rule checks (for fields, forcedData/forcedFilter)
|
|
179
179
|
*/
|
|
180
|
-
preValidate?: ValidateRow<DBSchemaColumns<S["columns"]
|
|
180
|
+
preValidate?: ValidateRow<S extends DBTableSchema? DBSchemaColumns<S["columns"]> : AnyObject>;
|
|
181
181
|
|
|
182
182
|
/**
|
|
183
183
|
* Validation logic to check/update data for each request. Happens after publish rule checks (for fields, forcedData/forcedFilter)
|
|
184
184
|
*/
|
|
185
|
-
validate?:
|
|
185
|
+
validate?: InsertRule<S>["preValidate"]
|
|
186
186
|
}
|
|
187
|
-
export type UpdateRule<S extends DBTableSchema =
|
|
187
|
+
export type UpdateRule<S extends DBTableSchema | undefined = undefined> = {
|
|
188
188
|
|
|
189
189
|
/**
|
|
190
190
|
* Fields allowed to be updated. Tip: Use false/0 to exclude field
|
|
191
191
|
*/
|
|
192
|
-
fields:
|
|
192
|
+
fields: SelectRule<S>["fields"]
|
|
193
193
|
|
|
194
194
|
/**
|
|
195
195
|
* Row level FGAC
|
|
@@ -199,71 +199,71 @@ export type UpdateRule<S extends DBTableSchema = any> = {
|
|
|
199
199
|
* Specify in decreasing order of specificity otherwise a more general filter will match first
|
|
200
200
|
*/
|
|
201
201
|
dynamicFields?: {
|
|
202
|
-
filter:
|
|
203
|
-
fields:
|
|
202
|
+
filter: SelectRule<S>["forcedFilter"]
|
|
203
|
+
fields: SelectRule<S>["fields"]
|
|
204
204
|
}[];
|
|
205
205
|
|
|
206
206
|
/**
|
|
207
207
|
* Filter added to every query (e.g. user_id) to restrict access
|
|
208
208
|
* This filter cannot be updated
|
|
209
209
|
*/
|
|
210
|
-
forcedFilter?:
|
|
210
|
+
forcedFilter?: SelectRule<S>["forcedFilter"]
|
|
211
211
|
|
|
212
212
|
/**
|
|
213
213
|
* Data to include/overwrite on each updatDBe
|
|
214
214
|
*/
|
|
215
|
-
forcedData?:
|
|
215
|
+
forcedData?: InsertRule<S>["forcedData"]
|
|
216
216
|
|
|
217
217
|
/**
|
|
218
218
|
* Fields user can use to find the updates
|
|
219
219
|
*/
|
|
220
|
-
filterFields?:
|
|
220
|
+
filterFields?: SelectRule<S>["fields"]
|
|
221
221
|
|
|
222
222
|
/**
|
|
223
223
|
* Fields user can view after updating
|
|
224
224
|
*/
|
|
225
|
-
returningFields?:
|
|
225
|
+
returningFields?: SelectRule<S>["fields"]
|
|
226
226
|
|
|
227
227
|
/**
|
|
228
228
|
* Validation logic to check/update data for each request
|
|
229
229
|
*/
|
|
230
|
-
validate?: ValidateUpdateRow<DBSchemaColumns<S["columns"]
|
|
230
|
+
validate?: ValidateUpdateRow<S extends DBTableSchema? DBSchemaColumns<S["columns"]> : AnyObject>;
|
|
231
231
|
|
|
232
232
|
};
|
|
233
233
|
|
|
234
|
-
export type DeleteRule<S extends DBTableSchema =
|
|
234
|
+
export type DeleteRule<S extends DBTableSchema | undefined = undefined> = {
|
|
235
235
|
|
|
236
236
|
/**
|
|
237
237
|
* Filter added to every query (e.g. user_id) to restrict access
|
|
238
238
|
*/
|
|
239
|
-
forcedFilter?: FullFilter<DBSchemaColumns<S["columns"]
|
|
239
|
+
forcedFilter?: FullFilter<S extends DBTableSchema? DBSchemaColumns<S["columns"]> : AnyObject>;
|
|
240
240
|
|
|
241
241
|
/**
|
|
242
242
|
* Fields user can filter by
|
|
243
243
|
*/
|
|
244
|
-
filterFields?: FieldFilter<DBSchemaColumns<S["columns"]
|
|
244
|
+
filterFields?: FieldFilter<S extends DBTableSchema? DBSchemaColumns<S["columns"]> : AnyObject>;
|
|
245
245
|
|
|
246
246
|
/**
|
|
247
247
|
* Fields user can view after deleting
|
|
248
248
|
*/
|
|
249
|
-
returningFields?: FieldFilter<DBSchemaColumns<S["columns"]
|
|
249
|
+
returningFields?: FieldFilter<S extends DBTableSchema? DBSchemaColumns<S["columns"]> : AnyObject>;
|
|
250
250
|
|
|
251
251
|
/**
|
|
252
252
|
* Validation logic to check/update data for each request
|
|
253
253
|
*/
|
|
254
|
-
validate?(...args: any[]): UpdateRequestData<DBSchemaColumns<S["columns"]
|
|
254
|
+
validate?(...args: any[]): UpdateRequestData<S extends DBTableSchema? DBSchemaColumns<S["columns"]> : AnyObject>;
|
|
255
255
|
}
|
|
256
|
-
export type SyncRule<S extends DBTableSchema =
|
|
256
|
+
export type SyncRule<S extends DBTableSchema | undefined = undefined> = {
|
|
257
257
|
|
|
258
258
|
/**
|
|
259
259
|
* Primary keys used in updating data
|
|
260
260
|
*/
|
|
261
|
-
id_fields: string[];
|
|
261
|
+
id_fields: S extends DBTableSchema? (keyof S["dataTypes"])[] : string[];
|
|
262
262
|
|
|
263
263
|
/**
|
|
264
264
|
* Numerical incrementing fieldname (last updated timestamp) used to sync items
|
|
265
265
|
*/
|
|
266
|
-
synced_field: string;
|
|
266
|
+
synced_field: S extends DBTableSchema? (keyof S["dataTypes"]) : string;
|
|
267
267
|
|
|
268
268
|
/**
|
|
269
269
|
* EXPERIMENTAL. Disabled by default. If true then server will attempt to delete any records missing from client.
|
|
@@ -284,25 +284,25 @@ export type SubscribeRule = {
|
|
|
284
284
|
throttle?: number;
|
|
285
285
|
}
|
|
286
286
|
|
|
287
|
-
export type ViewRule<S extends DBTableSchema> = CommonTableRules & {
|
|
287
|
+
export type ViewRule<S extends DBTableSchema | undefined = undefined> = CommonTableRules & {
|
|
288
288
|
/**
|
|
289
289
|
* What can be read from the table
|
|
290
290
|
*/
|
|
291
291
|
select?: SelectRule<S>;
|
|
292
292
|
};
|
|
293
|
-
export type TableRule<S extends DBTableSchema =
|
|
293
|
+
export type TableRule<S extends DBTableSchema | undefined = undefined> = ViewRule<S> & {
|
|
294
294
|
insert?: InsertRule<S>;
|
|
295
295
|
update?: UpdateRule<S>;
|
|
296
296
|
delete?: DeleteRule<S>;
|
|
297
297
|
sync?: SyncRule<S>;
|
|
298
298
|
subscribe?: SubscribeRule;
|
|
299
299
|
};
|
|
300
|
-
export type PublishViewRule<S extends DBTableSchema =
|
|
300
|
+
export type PublishViewRule<S extends DBTableSchema | undefined = undefined> = {
|
|
301
301
|
select?: SelectRule<S> | PublishAllOrNothing
|
|
302
302
|
getColumns?: PublishAllOrNothing;
|
|
303
303
|
getInfo?: PublishAllOrNothing;
|
|
304
304
|
};
|
|
305
|
-
export type PublishTableRule<S extends DBTableSchema =
|
|
305
|
+
export type PublishTableRule<S extends DBTableSchema | undefined = undefined> = PublishViewRule<S> & {
|
|
306
306
|
insert?: InsertRule<S> | PublishAllOrNothing
|
|
307
307
|
update?: UpdateRule<S> | PublishAllOrNothing
|
|
308
308
|
delete?: DeleteRule<S> | PublishAllOrNothing
|
|
@@ -327,7 +327,7 @@ export type ParsedPublishTable = {
|
|
|
327
327
|
// export type Publish = {
|
|
328
328
|
// tablesOrViews: {[key:string]: TableRule | ViewRule | "*" }
|
|
329
329
|
// }
|
|
330
|
-
export type PublishParams<S extends DBSchema =
|
|
330
|
+
export type PublishParams<S extends DBSchema | undefined = undefined> = {
|
|
331
331
|
sid?: string;
|
|
332
332
|
dbo: DBOFullyTyped<S>;
|
|
333
333
|
db?: DB;
|
|
@@ -336,14 +336,14 @@ export type PublishParams<S extends DBSchema = any> = {
|
|
|
336
336
|
}
|
|
337
337
|
export type RequestParams = { dbo?: DBHandlerServer, socket?: any };
|
|
338
338
|
export type PublishAllOrNothing = true | "*" | false | null;
|
|
339
|
-
export type PublishObject<Schema extends DBSchema =
|
|
339
|
+
export type PublishObject<Schema extends DBSchema | undefined = undefined> = {
|
|
340
340
|
[table_name: string]: (PublishTableRule | PublishViewRule | PublishAllOrNothing )
|
|
341
341
|
};
|
|
342
342
|
export type ParsedPublishTables = {
|
|
343
343
|
[table_name: string]: ParsedPublishTable
|
|
344
344
|
};
|
|
345
|
-
export type PublishedResult<Schema extends DBSchema =
|
|
346
|
-
export type Publish<Schema extends DBSchema =
|
|
345
|
+
export type PublishedResult<Schema extends DBSchema | undefined = undefined> = PublishAllOrNothing | PublishFullyTyped<Schema> ;
|
|
346
|
+
export type Publish<Schema extends DBSchema | undefined = undefined> = PublishedResult<Schema> | ((params: PublishParams<Schema>) => Awaitable<PublishedResult<Schema>>);
|
|
347
347
|
|
|
348
348
|
export class PublishParser {
|
|
349
349
|
publish: any;
|
package/lib/index.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Prostgles, ProstglesInitOptions } from "./Prostgles";
|
|
2
2
|
import { DBSchema } from "prostgles-types";
|
|
3
3
|
|
|
4
|
-
function prostgles<S extends DBSchema =
|
|
4
|
+
function prostgles<S extends DBSchema | undefined = undefined>(params: ProstglesInitOptions<S>){
|
|
5
5
|
|
|
6
6
|
let prgl = new Prostgles<S>(params as any);
|
|
7
7
|
return prgl.init(params.onReady);
|
package/package.json
CHANGED
package/tests/client/PID.txt
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
85322
|