proto.io 0.0.172 → 0.0.174
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/adapters/file/database.d.ts +2 -2
- package/dist/adapters/file/database.js +2 -2
- package/dist/adapters/file/database.mjs +2 -2
- package/dist/adapters/file/filesystem.d.ts +2 -2
- package/dist/adapters/file/google-cloud-storage.d.ts +2 -2
- package/dist/adapters/storage/progres.d.ts +9 -2
- package/dist/adapters/storage/progres.js +58 -5
- package/dist/adapters/storage/progres.js.map +1 -1
- package/dist/adapters/storage/progres.mjs +58 -5
- package/dist/adapters/storage/progres.mjs.map +1 -1
- package/dist/client.d.ts +3 -3
- package/dist/client.js +2 -2
- package/dist/client.mjs +3 -3
- package/dist/index.d.ts +75 -3
- package/dist/index.js +242 -12
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +243 -13
- package/dist/index.mjs.map +1 -1
- package/dist/internals/{index-BYbMU-Ao.mjs → index--ifyu-GL.mjs} +139 -1
- package/dist/internals/index--ifyu-GL.mjs.map +1 -0
- package/dist/internals/{index-B1wqSio6.mjs → index-C3fbOqmn.mjs} +2 -2
- package/dist/internals/{index-B1wqSio6.mjs.map → index-C3fbOqmn.mjs.map} +1 -1
- package/dist/internals/index-CE5tdYK8.d.ts +1816 -0
- package/dist/internals/index-CE5tdYK8.d.ts.map +1 -0
- package/dist/internals/{index-K0jhERvZ.d.ts → index-CGX3qcjQ.d.ts} +2 -2
- package/dist/internals/index-CGX3qcjQ.d.ts.map +1 -0
- package/dist/internals/{index-CVutVPmd.js → index-DXuW8UiB.js} +139 -1
- package/dist/internals/index-DXuW8UiB.js.map +1 -0
- package/dist/internals/{index-CzfsyXvb.js → index-Dc3V_Bzw.js} +2 -2
- package/dist/internals/{index-CzfsyXvb.js.map → index-Dc3V_Bzw.js.map} +1 -1
- package/dist/internals/{index-D0hHgn2P.mjs → index-R0gbIGc-.mjs} +289 -2
- package/dist/internals/index-R0gbIGc-.mjs.map +1 -0
- package/dist/internals/{index-BJP46VGq.js → index-S_gTMQBh.js} +289 -2
- package/dist/internals/index-S_gTMQBh.js.map +1 -0
- package/dist/internals/{index-DchUjNEf.d.ts → index-uwXdnxqN.d.ts} +2 -2
- package/dist/internals/index-uwXdnxqN.d.ts.map +1 -0
- package/dist/internals/{random-BCpwYpyw.mjs → random-DPRG8oW6.mjs} +3 -3
- package/dist/internals/{random-BCpwYpyw.mjs.map → random-DPRG8oW6.mjs.map} +1 -1
- package/dist/internals/{random-Dytum6Nh.js → random-DVOUDDGg.js} +3 -3
- package/dist/internals/{random-Dytum6Nh.js.map → random-DVOUDDGg.js.map} +1 -1
- package/package.json +1 -1
- package/dist/internals/index-BJP46VGq.js.map +0 -1
- package/dist/internals/index-BYbMU-Ao.mjs.map +0 -1
- package/dist/internals/index-BhWRmBiq.d.ts +0 -726
- package/dist/internals/index-BhWRmBiq.d.ts.map +0 -1
- package/dist/internals/index-CVutVPmd.js.map +0 -1
- package/dist/internals/index-D0hHgn2P.mjs.map +0 -1
- package/dist/internals/index-DchUjNEf.d.ts.map +0 -1
- package/dist/internals/index-K0jhERvZ.d.ts.map +0 -1
|
@@ -1,726 +0,0 @@
|
|
|
1
|
-
import * as _o2ter_utils_js from '@o2ter/utils-js';
|
|
2
|
-
import { BinaryData, asyncStream, Awaitable } from '@o2ter/utils-js';
|
|
3
|
-
import jwt, { SignOptions, VerifyOptions } from 'jsonwebtoken';
|
|
4
|
-
import { Request, CookieOptions } from '@o2ter/server-js';
|
|
5
|
-
import Decimal$1, { Decimal } from 'decimal.js';
|
|
6
|
-
import _ from 'lodash';
|
|
7
|
-
import { Readable } from 'node:stream';
|
|
8
|
-
import { Socket } from 'socket.io-client';
|
|
9
|
-
|
|
10
|
-
type TNumber = number | Decimal | BigInt;
|
|
11
|
-
type TPrimitive = Date | string | TNumber | boolean | null | undefined;
|
|
12
|
-
type TDictionary = {
|
|
13
|
-
[x: string]: TSerializable;
|
|
14
|
-
};
|
|
15
|
-
type TSerializable = TDictionary | TSerializable[] | TPrimitive | TObject;
|
|
16
|
-
type SerializeOptions = {
|
|
17
|
-
space?: string | number;
|
|
18
|
-
objAttrs?: string[];
|
|
19
|
-
};
|
|
20
|
-
type DeserializeOptions = {
|
|
21
|
-
objAttrs?: string[];
|
|
22
|
-
};
|
|
23
|
-
declare const serialize: (x: TSerializable, options?: SerializeOptions) => string;
|
|
24
|
-
declare const deserialize: (buffer: string, options?: DeserializeOptions) => TSerializable;
|
|
25
|
-
|
|
26
|
-
type _Digit = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9;
|
|
27
|
-
type _Lower = 'a' | 'b' | 'c' | 'd' | 'e' | 'f' | 'g' | 'h' | 'i' | 'j' | 'k' | 'l' | 'm' | 'n' | 'o' | 'p' | 'q' | 'r' | 's' | 't' | 'u' | 'v' | 'w' | 'x' | 'y' | 'z';
|
|
28
|
-
type _Upper = Uppercase<_Lower>;
|
|
29
|
-
type _Alphabet = _Lower | _Upper;
|
|
30
|
-
type _String<T extends string, C extends string | number> = T extends `${infer H}${C}` ? H extends '' | _String<H, C> ? T : never : never;
|
|
31
|
-
type Digits<T extends string> = T extends `${number}` ? T : never;
|
|
32
|
-
type FieldName<T extends string> = string extends T ? string : T extends `${'_' | _Alphabet}${'' | _String<infer _U, '_' | '-' | _Alphabet | _Digit>}` ? T : never;
|
|
33
|
-
type PathArrayGetter<T extends string> = T extends `[${Digits<infer _T>}]` ? T : T extends `[${Digits<infer L>}]${infer R}` ? `[${L}]${PathArrayGetter<R>}` : never;
|
|
34
|
-
type PathComponent<T extends string> = T extends Digits<T> | FieldName<T> ? T : T extends `${Digits<infer L> | FieldName<infer L>}[${infer _R}` ? `${L}${PathArrayGetter<`[${_R}`>}` : never;
|
|
35
|
-
type PathComponents<T extends string> = T extends PathComponent<T> ? T : T extends `${PathComponent<infer L>}.${infer R}` ? `${L}.${PathComponents<R>}` : never;
|
|
36
|
-
type PathName<T extends string> = string extends T ? string : T extends '$' | PathComponent<T> ? T : T extends `${infer L}.${infer R}` ? `${PathComponent<L>}.${PathComponents<R>}` : never;
|
|
37
|
-
type IncludePath<T extends string> = T extends '*' | FieldName<T> ? T : T extends `${infer L}.${infer R}` ? `${FieldName<L>}.${IncludePath<R>}` : never;
|
|
38
|
-
type IncludePaths<T extends string[]> = T extends [] ? [] : T extends [infer H extends string, ...infer R extends string[]] ? H extends undefined ? IncludePaths<R> : [IncludePath<H>, ...IncludePaths<R>] : T;
|
|
39
|
-
type PathNameMap<T extends object> = Exact<T, {
|
|
40
|
-
[K in keyof T as K extends string ? PathName<K> : never]: T[K];
|
|
41
|
-
}>;
|
|
42
|
-
|
|
43
|
-
declare class TUser extends TObject {
|
|
44
|
-
constructor(attributes?: Record<string, TValue> | ((self: TObject) => Record<string, TValue>));
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
declare class TRole extends TObject {
|
|
48
|
-
constructor(attributes?: Record<string, TValue> | ((self: TObject) => Record<string, TValue>));
|
|
49
|
-
get name(): string | undefined;
|
|
50
|
-
get users(): TUser[];
|
|
51
|
-
set users(value: TUser[]);
|
|
52
|
-
get roles(): TRole[];
|
|
53
|
-
set roles(value: TRole[]);
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
type FileStream = ReadableStream | Readable;
|
|
57
|
-
type FileData = string | Blob | BinaryData | FileStream | {
|
|
58
|
-
base64: string;
|
|
59
|
-
};
|
|
60
|
-
|
|
61
|
-
interface TFile {
|
|
62
|
-
url: string | undefined;
|
|
63
|
-
fileData(options?: ExtraOptions<boolean>): FileStream;
|
|
64
|
-
save(options?: ExtraOptions<boolean> & {
|
|
65
|
-
cascadeSave?: boolean;
|
|
66
|
-
uploadToken?: string;
|
|
67
|
-
}): PromiseLike<this>;
|
|
68
|
-
}
|
|
69
|
-
declare class TFile extends TObject {
|
|
70
|
-
constructor(attributes?: Record<string, TValue> | ((self: TObject) => Record<string, TValue>));
|
|
71
|
-
get filename(): string | undefined;
|
|
72
|
-
get size(): number | undefined;
|
|
73
|
-
get type(): string | undefined;
|
|
74
|
-
get token(): string | undefined;
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
declare const TObjectTypes: {
|
|
78
|
-
User: typeof TUser;
|
|
79
|
-
Role: typeof TRole;
|
|
80
|
-
File: typeof TFile;
|
|
81
|
-
};
|
|
82
|
-
type _TObjectType<K> = K extends keyof typeof TObjectTypes ? InstanceType<(typeof TObjectTypes)[K]> : TObject;
|
|
83
|
-
type PickBy<T, C> = {
|
|
84
|
-
[P in keyof T as T[P] extends C ? P : never]: T[P];
|
|
85
|
-
};
|
|
86
|
-
type PropertyDescriptor<T> = {
|
|
87
|
-
enumerable?: boolean;
|
|
88
|
-
get: () => T;
|
|
89
|
-
set?: (value: T) => void;
|
|
90
|
-
};
|
|
91
|
-
type ReadOnlyProperty<T> = Pick<PropertyDescriptor<T>, 'get'>;
|
|
92
|
-
type ReadWriteProperty<T> = Required<Pick<PropertyDescriptor<T>, 'get' | 'set'>>;
|
|
93
|
-
type PropertyMapToMethods<T> = PickBy<T, Function> & {
|
|
94
|
-
[P in keyof PickBy<T, ReadWriteProperty<any>>]: T[P] extends PropertyDescriptor<infer V> ? V : never;
|
|
95
|
-
} & {
|
|
96
|
-
readonly [P in keyof PickBy<T, ReadOnlyProperty<any>>]: T[P] extends PropertyDescriptor<infer V> ? V : never;
|
|
97
|
-
};
|
|
98
|
-
type Property<T> = T extends Function ? T | PropertyDescriptor<T> : PropertyDescriptor<T>;
|
|
99
|
-
type PropertyMap<T, O, A> = {
|
|
100
|
-
[K in keyof T]: T[K] extends Property<any> ? T[K] : never;
|
|
101
|
-
} & ThisType<O & PropertyMapToMethods<T> & PropertyMapToMethods<A>>;
|
|
102
|
-
type TExtensions<E> = {
|
|
103
|
-
[K in keyof E]: PropertyMap<E[K], _TObjectType<K>, '*' extends keyof E ? Omit<E['*'], keyof E[K]> : {}>;
|
|
104
|
-
};
|
|
105
|
-
type _TMethods<K, E> = K extends keyof E ? '*' extends keyof E ? PropertyMapToMethods<Omit<E['*'], keyof E[K]> & E[K]> : PropertyMapToMethods<E[K]> : {};
|
|
106
|
-
type IfAny<T, Y, N> = 0 extends (1 & T) ? Y : N;
|
|
107
|
-
type TMethods<K, E> = IfAny<E, {}, _TMethods<K, E>>;
|
|
108
|
-
type TObjectType<K, E> = _TObjectType<K> & TMethods<K, E>;
|
|
109
|
-
declare const TUpdateOpKeys: readonly ["$set", "$inc", "$dec", "$mul", "$div", "$max", "$min", "$addToSet", "$push", "$removeAll", "$popFirst", "$popLast"];
|
|
110
|
-
type TUpdateOp = ExactOneProp<Record<(typeof TUpdateOpKeys)[number], TValue>>;
|
|
111
|
-
|
|
112
|
-
declare const TComparisonKeys: readonly ["$eq", "$gt", "$gte", "$lt", "$lte", "$ne"];
|
|
113
|
-
declare const TValueListKeys: readonly ["$in", "$nin"];
|
|
114
|
-
declare const TValueSetKeys: readonly ["$subset", "$superset", "$intersect"];
|
|
115
|
-
declare const TConditionalKeys: readonly ["$and", "$nor", "$or"];
|
|
116
|
-
declare const TDistanceKeys: readonly ["$distance", "$innerProduct", "$negInnerProduct", "$cosineDistance", "$rectilinearDistance"];
|
|
117
|
-
|
|
118
|
-
type TBooleanExpression = {
|
|
119
|
-
$not?: TBooleanExpression;
|
|
120
|
-
} & {
|
|
121
|
-
[x in (typeof TComparisonKeys)[number]]?: [TExpression, TExpression];
|
|
122
|
-
} & {
|
|
123
|
-
[x in (typeof TConditionalKeys)[number]]?: TBooleanExpression[];
|
|
124
|
-
};
|
|
125
|
-
type TDistanceExpression = {
|
|
126
|
-
[x in (typeof TDistanceKeys)[number]]?: [
|
|
127
|
-
TExpression[] | {
|
|
128
|
-
$key: string;
|
|
129
|
-
} | {
|
|
130
|
-
$value: number[];
|
|
131
|
-
},
|
|
132
|
-
TExpression[] | {
|
|
133
|
-
$key: string;
|
|
134
|
-
} | {
|
|
135
|
-
$value: number[];
|
|
136
|
-
}
|
|
137
|
-
];
|
|
138
|
-
};
|
|
139
|
-
type TExpression = {
|
|
140
|
-
$array?: TExpression[];
|
|
141
|
-
$key?: string;
|
|
142
|
-
$value?: TValue;
|
|
143
|
-
} & TBooleanExpression & TDistanceExpression;
|
|
144
|
-
|
|
145
|
-
type TThisQuerySelector = {
|
|
146
|
-
$?: TFieldQuerySelector;
|
|
147
|
-
};
|
|
148
|
-
type TFieldQuerySelector = {
|
|
149
|
-
$not?: TFieldQuerySelector;
|
|
150
|
-
$starts?: string;
|
|
151
|
-
$ends?: string;
|
|
152
|
-
$pattern?: RegExp | string;
|
|
153
|
-
$size?: number;
|
|
154
|
-
$empty?: boolean;
|
|
155
|
-
$every?: TQuerySelector | TThisQuerySelector;
|
|
156
|
-
$some?: TQuerySelector | TThisQuerySelector;
|
|
157
|
-
} & {
|
|
158
|
-
[x in (typeof TComparisonKeys)[number]]?: TValue;
|
|
159
|
-
} & {
|
|
160
|
-
[x in (typeof TValueListKeys)[number]]?: TValue[];
|
|
161
|
-
} & {
|
|
162
|
-
[x in (typeof TValueSetKeys)[number]]?: TValue[];
|
|
163
|
-
};
|
|
164
|
-
type TCoditionalQuerySelector = {
|
|
165
|
-
[x in (typeof TConditionalKeys)[number]]?: TQuerySelector[];
|
|
166
|
-
};
|
|
167
|
-
type TQuerySelector = (TCoditionalQuerySelector & {
|
|
168
|
-
$expr?: TBooleanExpression;
|
|
169
|
-
}) | {
|
|
170
|
-
[x: string]: TFieldQuerySelector;
|
|
171
|
-
};
|
|
172
|
-
|
|
173
|
-
interface TQueryFilterBaseOptions {
|
|
174
|
-
filter?: TQuerySelector | TQuerySelector[];
|
|
175
|
-
}
|
|
176
|
-
type TSortOption = {
|
|
177
|
-
expr: TExpression;
|
|
178
|
-
order: 1 | -1;
|
|
179
|
-
};
|
|
180
|
-
interface TQueryBaseOptions extends TQueryFilterBaseOptions {
|
|
181
|
-
sort?: Record<string, 1 | -1> | TSortOption[];
|
|
182
|
-
skip?: number;
|
|
183
|
-
limit?: number;
|
|
184
|
-
matches?: Record<string, TQueryBaseOptions>;
|
|
185
|
-
}
|
|
186
|
-
declare class TQueryFilterBase {
|
|
187
|
-
filter(filter: TQuerySelector): this;
|
|
188
|
-
equalTo<T extends string>(key: PathName<T>, value: TValue | undefined): this;
|
|
189
|
-
notEqualTo<T extends string>(key: PathName<T>, value: TValue | undefined): this;
|
|
190
|
-
lessThan<T extends string>(key: PathName<T>, value: TValue | undefined): this;
|
|
191
|
-
greaterThan<T extends string>(key: PathName<T>, value: TValue | undefined): this;
|
|
192
|
-
lessThanOrEqualTo<T extends string>(key: PathName<T>, value: TValue | undefined): this;
|
|
193
|
-
greaterThanOrEqualTo<T extends string>(key: PathName<T>, value: TValue | undefined): this;
|
|
194
|
-
pattern<T extends string>(key: PathName<T>, value: RegExp | string): this;
|
|
195
|
-
startsWith<T extends string>(key: PathName<T>, value: string): this;
|
|
196
|
-
endsWith<T extends string>(key: PathName<T>, value: string): this;
|
|
197
|
-
size<T extends string>(key: PathName<T>, value: number): this;
|
|
198
|
-
empty<T extends string>(key: PathName<T>): this;
|
|
199
|
-
notEmpty<T extends string>(key: PathName<T>): this;
|
|
200
|
-
containsIn<T extends string>(key: PathName<T>, value: TValue[]): this;
|
|
201
|
-
notContainsIn<T extends string>(key: PathName<T>, value: TValue[]): this;
|
|
202
|
-
isSubset<T extends string>(key: PathName<T>, value: TValue[]): this;
|
|
203
|
-
isSuperset<T extends string>(key: PathName<T>, value: TValue[]): this;
|
|
204
|
-
isDisjoint<T extends string>(key: PathName<T>, value: TValue[]): this;
|
|
205
|
-
isIntersect<T extends string>(key: PathName<T>, value: TValue[]): this;
|
|
206
|
-
every<T extends string>(key: PathName<T>, callback: (query: TQueryFilterBase) => void): this;
|
|
207
|
-
some<T extends string>(key: PathName<T>, callback: (query: TQueryFilterBase) => void): this;
|
|
208
|
-
and(...callbacks: _.Many<(query: TQueryFilterBase) => void>[]): this;
|
|
209
|
-
or(...callbacks: _.Many<(query: TQueryFilterBase) => void>[]): this;
|
|
210
|
-
nor(...callbacks: _.Many<(query: TQueryFilterBase) => void>[]): this;
|
|
211
|
-
}
|
|
212
|
-
declare class TQueryBase extends TQueryFilterBase {
|
|
213
|
-
sort<T extends Record<string, 1 | -1>>(sort: PathNameMap<T> | TSortOption[]): this;
|
|
214
|
-
skip(skip: number): this;
|
|
215
|
-
limit(limit: number): this;
|
|
216
|
-
match<T extends string>(key: PathName<T>, callback: (query: TQueryBase) => void): this;
|
|
217
|
-
}
|
|
218
|
-
|
|
219
|
-
interface TQueryOptions extends TQueryBaseOptions {
|
|
220
|
-
includes?: string[];
|
|
221
|
-
}
|
|
222
|
-
interface TQueryRandomOptions {
|
|
223
|
-
weight?: string;
|
|
224
|
-
}
|
|
225
|
-
declare abstract class TQuery<T extends string, Ext, M extends boolean> extends TQueryBase {
|
|
226
|
-
abstract clone(options?: TQueryOptions): TQuery<T, Ext, M>;
|
|
227
|
-
abstract explain(options?: ExtraOptions<M>): PromiseLike<any>;
|
|
228
|
-
abstract count(options?: ExtraOptions<M>): PromiseLike<number>;
|
|
229
|
-
abstract find(options?: ExtraOptions<M>): ReturnType<typeof asyncStream<TObjectType<T, Ext>>>;
|
|
230
|
-
abstract random(opts?: TQueryRandomOptions, options?: ExtraOptions<M>): ReturnType<typeof asyncStream<TObjectType<T, Ext>>>;
|
|
231
|
-
abstract nonrefs(options?: ExtraOptions<M>): ReturnType<typeof asyncStream<TObjectType<T, Ext>>>;
|
|
232
|
-
abstract insert(attrs: Record<string, TValue>, options?: ExtraOptions<M>): PromiseLike<TObjectType<T, Ext>>;
|
|
233
|
-
abstract insertMany(values: Record<string, TValue>[], options?: ExtraOptions<M>): PromiseLike<number>;
|
|
234
|
-
abstract updateOne(update: Record<string, TUpdateOp>, options?: ExtraOptions<M>): PromiseLike<TObjectType<T, Ext> | undefined>;
|
|
235
|
-
abstract upsertOne(update: Record<string, TUpdateOp>, setOnInsert: Record<string, TValue>, options?: ExtraOptions<M>): PromiseLike<TObjectType<T, Ext>>;
|
|
236
|
-
abstract deleteOne(options?: ExtraOptions<M>): PromiseLike<TObjectType<T, Ext> | undefined>;
|
|
237
|
-
abstract deleteMany(options?: ExtraOptions<M>): PromiseLike<number>;
|
|
238
|
-
includes<T extends string[]>(...includes: IncludePaths<T>): this;
|
|
239
|
-
get(id: string, options?: ExtraOptions<M>): Promise<TObjectType<T, Ext> | undefined>;
|
|
240
|
-
first(options?: ExtraOptions<M>): Promise<TObjectType<T, Ext> | undefined>;
|
|
241
|
-
randomOne(opts?: TQueryRandomOptions, options?: ExtraOptions<M>): Promise<TObjectType<T, Ext> | undefined>;
|
|
242
|
-
exists(options?: ExtraOptions<M>): Promise<boolean>;
|
|
243
|
-
eachBatch(callback: (batch: TObjectType<T, Ext>[]) => Awaitable<void>, options?: ExtraOptions<M> & {
|
|
244
|
-
batchSize?: number;
|
|
245
|
-
}): Promise<void>;
|
|
246
|
-
each(callback: (object: TObjectType<T, Ext>) => Awaitable<void>, options?: ExtraOptions<M> & {
|
|
247
|
-
batchSize?: number;
|
|
248
|
-
}): Promise<void>;
|
|
249
|
-
}
|
|
250
|
-
|
|
251
|
-
type Callback<T, R, E> = (request: ProtoService<E> & T) => Awaitable<R>;
|
|
252
|
-
type ProtoFunction<E> = Callback<{
|
|
253
|
-
params: TSerializable;
|
|
254
|
-
}, void | TSerializable, E>;
|
|
255
|
-
type ProtoTrigger<T, E> = Callback<{
|
|
256
|
-
object: TObjectType<T, E>;
|
|
257
|
-
context: TSerializable;
|
|
258
|
-
}, void, E>;
|
|
259
|
-
type Validator = {
|
|
260
|
-
requireUser?: boolean;
|
|
261
|
-
requireMaster?: boolean;
|
|
262
|
-
requireAnyUserRoles?: string[];
|
|
263
|
-
requireAllUserRoles?: string[];
|
|
264
|
-
};
|
|
265
|
-
type ProtoFunctionOptions<E> = {
|
|
266
|
-
callback: ProtoFunction<E>;
|
|
267
|
-
validator?: Validator;
|
|
268
|
-
};
|
|
269
|
-
|
|
270
|
-
type Session = jwt.JwtPayload & {
|
|
271
|
-
sessionId: string;
|
|
272
|
-
createdAt: Date;
|
|
273
|
-
loginedAt: Date;
|
|
274
|
-
};
|
|
275
|
-
|
|
276
|
-
type TransactionMode = 'default' | 'committed' | 'repeatable' | 'serializable';
|
|
277
|
-
type TransactionOptions = {
|
|
278
|
-
mode?: TransactionMode;
|
|
279
|
-
retry?: number | boolean;
|
|
280
|
-
};
|
|
281
|
-
type EventData = Record<string, _TValue> & {
|
|
282
|
-
_id: string;
|
|
283
|
-
_created_at: Date;
|
|
284
|
-
_rperm: string[];
|
|
285
|
-
};
|
|
286
|
-
declare abstract class ProtoType<Ext> {
|
|
287
|
-
abstract config(options?: {
|
|
288
|
-
master?: boolean;
|
|
289
|
-
}): Promise<Record<string, _TValue>>;
|
|
290
|
-
abstract configAcl(options: {
|
|
291
|
-
master: true;
|
|
292
|
-
}): PromiseLike<Record<string, string[]>>;
|
|
293
|
-
abstract setConfig(values: Record<string, _TValue>, options: {
|
|
294
|
-
master: true;
|
|
295
|
-
acl?: string[];
|
|
296
|
-
}): Promise<void>;
|
|
297
|
-
abstract run(name: string, data?: TSerializable, options?: ExtraOptions<boolean>): Promise<void | TSerializable>;
|
|
298
|
-
abstract Query<T extends string>(className: T): TQuery<T, Ext, boolean>;
|
|
299
|
-
abstract Relation<T extends string>(object: TObject, key: PathName<T>): TQuery<string, Ext, boolean>;
|
|
300
|
-
abstract refs(object: TObject, options?: ExtraOptions<boolean>): ReturnType<typeof asyncStream<TObjectType<string, Ext>>>;
|
|
301
|
-
online(): Promise<boolean>;
|
|
302
|
-
rebind<T extends TSerializable | undefined>(object: T): T;
|
|
303
|
-
Object<T extends string>(className: T, objectId?: string): TObjectType<T, Ext>;
|
|
304
|
-
File(filename: string, data: FileData, type?: string): TObjectType<"File", Ext>;
|
|
305
|
-
abstract notify(data: Record<string, _TValue> & {
|
|
306
|
-
_rperm?: string[];
|
|
307
|
-
}, options?: ExtraOptions<boolean>): Promise<void>;
|
|
308
|
-
abstract listen(callback: (data: EventData) => void): {
|
|
309
|
-
remove: VoidFunction;
|
|
310
|
-
socket?: Socket;
|
|
311
|
-
};
|
|
312
|
-
}
|
|
313
|
-
interface ProtoType<Ext> {
|
|
314
|
-
connect<R extends Request, T extends object>(req: R, attrs?: T | ((x: this & {
|
|
315
|
-
req: R;
|
|
316
|
-
}) => T)): this & {
|
|
317
|
-
req: R;
|
|
318
|
-
} & T;
|
|
319
|
-
connectWithSessionToken<T extends object>(token: string, attrs?: T | ((x: this & {
|
|
320
|
-
session?: Session;
|
|
321
|
-
}) => T)): Promise<this & {
|
|
322
|
-
session?: Session;
|
|
323
|
-
} & T>;
|
|
324
|
-
setSessionToken(token?: string): void;
|
|
325
|
-
userRoles(user: TUser): Promise<TRole[]>;
|
|
326
|
-
becomeUser(req: Request, user: TUser, options?: {
|
|
327
|
-
cookieOptions?: CookieOptions | undefined;
|
|
328
|
-
jwtSignOptions?: SignOptions | undefined;
|
|
329
|
-
}): Promise<void>;
|
|
330
|
-
logoutUser(req: Request, options?: {
|
|
331
|
-
cookieOptions?: CookieOptions | undefined;
|
|
332
|
-
jwtSignOptions?: SignOptions | undefined;
|
|
333
|
-
}): Promise<void>;
|
|
334
|
-
varifyPassword(user: TUser, password: string, options: ExtraOptions<true>): Promise<boolean>;
|
|
335
|
-
setPassword(user: TUser, password: string, options: ExtraOptions<true>): Promise<void>;
|
|
336
|
-
unsetPassword(user: TUser, options: ExtraOptions<true>): Promise<void>;
|
|
337
|
-
define(name: string, callback: ProtoFunction<Ext>, options?: Omit<ProtoFunctionOptions<Ext>, 'callback'>): void;
|
|
338
|
-
beforeSave<T extends string>(name: T, callback: ProtoTrigger<T, Ext>): void;
|
|
339
|
-
afterSave<T extends string>(name: T, callback: ProtoTrigger<T, Ext>): void;
|
|
340
|
-
beforeDelete<T extends string>(name: T, callback: ProtoTrigger<T, Ext>): void;
|
|
341
|
-
afterDelete<T extends string>(name: T, callback: ProtoTrigger<T, Ext>): void;
|
|
342
|
-
lockTable(className: string | string[], update: boolean): void;
|
|
343
|
-
withTransaction<T>(callback: (connection: ProtoType<Ext>) => PromiseLike<T>, options?: TransactionOptions): void;
|
|
344
|
-
generateUploadToken(options?: {
|
|
345
|
-
maxUploadSize?: number;
|
|
346
|
-
}): string;
|
|
347
|
-
jwtSign(payload: any, options: jwt.SignOptions): string;
|
|
348
|
-
jwtVarify(token: string, options?: jwt.VerifyOptions): jwt.JwtPayload | undefined;
|
|
349
|
-
}
|
|
350
|
-
|
|
351
|
-
type TriggerType = 'beforeSave' | 'afterSave' | 'beforeDelete' | 'afterDelete';
|
|
352
|
-
type ExtraOptions<M extends boolean> = {
|
|
353
|
-
master?: M;
|
|
354
|
-
context?: TSerializable;
|
|
355
|
-
silent?: TriggerType | TriggerType[];
|
|
356
|
-
session?: ProtoType<any>;
|
|
357
|
-
abortSignal?: AbortSignal;
|
|
358
|
-
};
|
|
359
|
-
|
|
360
|
-
interface TObject {
|
|
361
|
-
clone(): TObject;
|
|
362
|
-
relation<T extends string>(key: PathName<T>): TQuery<string, any, boolean>;
|
|
363
|
-
fetchWithInclude(keys: string[], options?: ExtraOptions<boolean>): PromiseLike<this>;
|
|
364
|
-
save(options?: ExtraOptions<boolean> & {
|
|
365
|
-
cascadeSave?: boolean;
|
|
366
|
-
}): PromiseLike<this>;
|
|
367
|
-
destroy(options?: ExtraOptions<boolean>): PromiseLike<this>;
|
|
368
|
-
}
|
|
369
|
-
declare class TObject {
|
|
370
|
-
static defaultReadonlyKeys: string[];
|
|
371
|
-
static defaultKeys: string[];
|
|
372
|
-
constructor(className: string, attributes?: Record<string, TValue> | ((self: TObject) => Record<string, TValue>));
|
|
373
|
-
get className(): string;
|
|
374
|
-
get attributes(): Record<string, TValue>;
|
|
375
|
-
get objectId(): string | undefined;
|
|
376
|
-
get createdAt(): Date | undefined;
|
|
377
|
-
get updatedAt(): Date | undefined;
|
|
378
|
-
get __v(): number;
|
|
379
|
-
get __i(): number;
|
|
380
|
-
get expiredAt(): Date | undefined;
|
|
381
|
-
set expiredAt(value: Date | undefined);
|
|
382
|
-
acl(): TSchema.ACLs;
|
|
383
|
-
setAcl(value: Partial<TSchema.ACLs>): void;
|
|
384
|
-
setReadAcl(value: TSchema.ACL): void;
|
|
385
|
-
setWriteAcl(value: TSchema.ACL): void;
|
|
386
|
-
keys(): string[];
|
|
387
|
-
entries(): Generator<[string, any], void, unknown>;
|
|
388
|
-
toObject(): _.Dictionary<_TValue>;
|
|
389
|
-
private _value;
|
|
390
|
-
get<T extends string>(key: PathName<T>): any;
|
|
391
|
-
set<T extends string>(key: PathName<T>, value: TValue | undefined): void;
|
|
392
|
-
get isDirty(): boolean;
|
|
393
|
-
increment<T extends string>(key: PathName<T>, value: number): void;
|
|
394
|
-
decrement<T extends string>(key: PathName<T>, value: number): void;
|
|
395
|
-
multiply<T extends string>(key: PathName<T>, value: number): void;
|
|
396
|
-
divide<T extends string>(key: PathName<T>, value: number): void;
|
|
397
|
-
max<T extends string>(key: PathName<T>, value: TValue): void;
|
|
398
|
-
min<T extends string>(key: PathName<T>, value: TValue): void;
|
|
399
|
-
addToSet<T extends string>(key: PathName<T>, values: TValue[]): void;
|
|
400
|
-
push<T extends string>(key: PathName<T>, values: TValue[]): void;
|
|
401
|
-
removeAll<T extends string>(key: PathName<T>, values: TValue[]): void;
|
|
402
|
-
popFirst<T extends string>(key: PathName<T>, count?: number): void;
|
|
403
|
-
popLast<T extends string>(key: PathName<T>, count?: number): void;
|
|
404
|
-
fetch(options?: ExtraOptions<boolean>): Promise<this>;
|
|
405
|
-
fetchIfNeeded(keys: string[], options?: ExtraOptions<boolean>): Promise<this>;
|
|
406
|
-
}
|
|
407
|
-
|
|
408
|
-
type TPrimitiveValue = boolean | number | Decimal$1 | string | Date | null;
|
|
409
|
-
type _TValue = {
|
|
410
|
-
[x: string]: _TValue;
|
|
411
|
-
} | _TValue[] | TPrimitiveValue;
|
|
412
|
-
type TValue = {
|
|
413
|
-
[x: string]: TValue;
|
|
414
|
-
} | TValue[] | TPrimitiveValue | TObject;
|
|
415
|
-
type Exact<T, Shape> = T extends Shape ? Exclude<keyof T, keyof Shape> extends never ? T : never : never;
|
|
416
|
-
type ExactOneProp<T> = {
|
|
417
|
-
[K in keyof T]-?: Pick<T, K> & {
|
|
418
|
-
[P in Exclude<keyof T, K>]?: never;
|
|
419
|
-
};
|
|
420
|
-
}[keyof T];
|
|
421
|
-
|
|
422
|
-
declare namespace TSchema {
|
|
423
|
-
type ACL = string[];
|
|
424
|
-
type ACLs = {
|
|
425
|
-
read: TSchema.ACL;
|
|
426
|
-
update: TSchema.ACL;
|
|
427
|
-
};
|
|
428
|
-
type Primitive = 'boolean' | 'number' | 'decimal' | 'string' | 'date' | 'object' | 'array';
|
|
429
|
-
type PrimitiveType = Primitive | {
|
|
430
|
-
type: Primitive;
|
|
431
|
-
default?: _TValue;
|
|
432
|
-
};
|
|
433
|
-
type VectorType = {
|
|
434
|
-
type: 'vector';
|
|
435
|
-
dimension: number;
|
|
436
|
-
default?: number[];
|
|
437
|
-
};
|
|
438
|
-
type ShapeType = {
|
|
439
|
-
type: 'shape';
|
|
440
|
-
shape: Record<string, DataType>;
|
|
441
|
-
};
|
|
442
|
-
type Relation = 'pointer' | 'relation';
|
|
443
|
-
type PointerType = {
|
|
444
|
-
type: 'pointer';
|
|
445
|
-
target: string;
|
|
446
|
-
};
|
|
447
|
-
type RelationType = {
|
|
448
|
-
type: 'relation';
|
|
449
|
-
target: string;
|
|
450
|
-
foreignField?: string;
|
|
451
|
-
};
|
|
452
|
-
type DataType = PrimitiveType | VectorType | ShapeType | PointerType | RelationType;
|
|
453
|
-
type CLPs = {
|
|
454
|
-
get?: TSchema.ACL;
|
|
455
|
-
find?: TSchema.ACL;
|
|
456
|
-
count?: TSchema.ACL;
|
|
457
|
-
create?: TSchema.ACL;
|
|
458
|
-
update?: TSchema.ACL;
|
|
459
|
-
delete?: TSchema.ACL;
|
|
460
|
-
};
|
|
461
|
-
type FLPs = {
|
|
462
|
-
read?: TSchema.ACL;
|
|
463
|
-
create?: TSchema.ACL;
|
|
464
|
-
update?: TSchema.ACL;
|
|
465
|
-
};
|
|
466
|
-
type Indexes = {
|
|
467
|
-
type?: 'basic';
|
|
468
|
-
keys: Record<string, 1 | -1>;
|
|
469
|
-
unique?: boolean;
|
|
470
|
-
} | {
|
|
471
|
-
type: 'vector';
|
|
472
|
-
keys: string | string[];
|
|
473
|
-
method?: 'hnsw' | 'ivfflat';
|
|
474
|
-
};
|
|
475
|
-
}
|
|
476
|
-
interface TSchema {
|
|
477
|
-
fields: Record<string, TSchema.DataType>;
|
|
478
|
-
classLevelPermissions?: TSchema.CLPs;
|
|
479
|
-
additionalObjectPermissions?: TSchema.ACLs;
|
|
480
|
-
fieldLevelPermissions?: Record<string, TSchema.FLPs>;
|
|
481
|
-
secureFields?: string[];
|
|
482
|
-
indexes?: TSchema.Indexes[];
|
|
483
|
-
}
|
|
484
|
-
|
|
485
|
-
type TFileInfo = {
|
|
486
|
-
mimeType?: string;
|
|
487
|
-
filename?: string;
|
|
488
|
-
};
|
|
489
|
-
interface TFileStorage {
|
|
490
|
-
schema: Record<string, TSchema>;
|
|
491
|
-
create<E>(proto: ProtoService<E>, stream: BinaryData | AsyncIterable<BinaryData>, info: TFileInfo, maxUploadSize: number): PromiseLike<{
|
|
492
|
-
_id: string;
|
|
493
|
-
size: number;
|
|
494
|
-
}>;
|
|
495
|
-
destroy<E>(proto: ProtoService<E>, id: string): PromiseLike<void>;
|
|
496
|
-
fileData<E>(proto: ProtoService<E>, id: string, start?: number, end?: number): AsyncIterable<BinaryData>;
|
|
497
|
-
}
|
|
498
|
-
|
|
499
|
-
declare class QueryExpression {
|
|
500
|
-
static decode(expr: _.Many<TExpression>, dollerSign: boolean): QueryExpression;
|
|
501
|
-
simplify(): QueryExpression;
|
|
502
|
-
keyPaths(): string[];
|
|
503
|
-
mapKey(callback: (key: string) => string): QueryExpression;
|
|
504
|
-
}
|
|
505
|
-
|
|
506
|
-
declare class QuerySelector {
|
|
507
|
-
static decode(selectors: _.Many<TQuerySelector>, dollerSign?: boolean): QuerySelector;
|
|
508
|
-
simplify(): QuerySelector;
|
|
509
|
-
keyPaths(): string[];
|
|
510
|
-
}
|
|
511
|
-
declare class FieldSelectorExpression {
|
|
512
|
-
type: keyof TFieldQuerySelector;
|
|
513
|
-
value: QuerySelector | FieldSelectorExpression | RegExp | TValue;
|
|
514
|
-
constructor(type: keyof TFieldQuerySelector, value: QuerySelector | FieldSelectorExpression | RegExp | TValue);
|
|
515
|
-
static decode(selector: TFieldQuerySelector): FieldSelectorExpression;
|
|
516
|
-
simplify(): FieldSelectorExpression;
|
|
517
|
-
keyPaths(field?: string): string[];
|
|
518
|
-
}
|
|
519
|
-
|
|
520
|
-
type CommonFindOptions = {
|
|
521
|
-
className: string;
|
|
522
|
-
};
|
|
523
|
-
type FindOptions = CommonFindOptions & TQueryOptions;
|
|
524
|
-
type FindOneOptions = CommonFindOptions & Omit<TQueryOptions, 'skip' | 'limit'>;
|
|
525
|
-
type RelationOptions = {
|
|
526
|
-
relatedBy?: {
|
|
527
|
-
className: string;
|
|
528
|
-
objectId: string;
|
|
529
|
-
key: string;
|
|
530
|
-
};
|
|
531
|
-
};
|
|
532
|
-
type Decoded<T, R> = Omit<T, keyof R> & R;
|
|
533
|
-
type DecodedSortOption = {
|
|
534
|
-
expr: QueryExpression;
|
|
535
|
-
order: 1 | -1;
|
|
536
|
-
};
|
|
537
|
-
type DecodedBaseQuery = Decoded<TQueryBaseOptions, {
|
|
538
|
-
filter?: QuerySelector;
|
|
539
|
-
matches: Record<string, DecodedBaseQuery>;
|
|
540
|
-
sort?: Record<string, 1 | -1> | DecodedSortOption[];
|
|
541
|
-
}>;
|
|
542
|
-
type DecodedQuery<T> = Decoded<T, {
|
|
543
|
-
filter: QuerySelector;
|
|
544
|
-
matches: Record<string, DecodedBaseQuery>;
|
|
545
|
-
includes: string[];
|
|
546
|
-
objectIdSize: number;
|
|
547
|
-
sort?: Record<string, 1 | -1> | DecodedSortOption[];
|
|
548
|
-
extraFilter?: (className: string) => QuerySelector;
|
|
549
|
-
}>;
|
|
550
|
-
type InsertOptions = {
|
|
551
|
-
className: string;
|
|
552
|
-
includes: string[];
|
|
553
|
-
matches: Record<string, DecodedBaseQuery>;
|
|
554
|
-
objectIdSize: number;
|
|
555
|
-
};
|
|
556
|
-
interface TStorage {
|
|
557
|
-
selectLock(): boolean;
|
|
558
|
-
prepare(schema: Record<string, TSchema>): PromiseLike<void>;
|
|
559
|
-
shutdown(): PromiseLike<void>;
|
|
560
|
-
classes(): string[];
|
|
561
|
-
config(acl?: string[]): PromiseLike<Record<string, _TValue>>;
|
|
562
|
-
configAcl(): PromiseLike<Record<string, string[]>>;
|
|
563
|
-
setConfig(values: Record<string, _TValue>, acl?: string[]): PromiseLike<void>;
|
|
564
|
-
explain(query: DecodedQuery<FindOptions & RelationOptions>): PromiseLike<any>;
|
|
565
|
-
count(query: DecodedQuery<FindOptions & RelationOptions>): PromiseLike<number>;
|
|
566
|
-
find(query: DecodedQuery<FindOptions & RelationOptions>): AsyncIterable<TObject>;
|
|
567
|
-
random(query: DecodedQuery<FindOptions & RelationOptions>, opts?: TQueryRandomOptions): AsyncIterable<TObject>;
|
|
568
|
-
refs(object: TObject, classNames: string[], roles?: string[]): AsyncIterable<TObject>;
|
|
569
|
-
nonrefs(query: DecodedQuery<FindOptions>): AsyncIterable<TObject>;
|
|
570
|
-
insert(options: InsertOptions, attrs: Record<string, TValue>): PromiseLike<TObject | undefined>;
|
|
571
|
-
insertMany(options: InsertOptions, values: Record<string, TValue>[]): PromiseLike<number>;
|
|
572
|
-
updateOne(query: DecodedQuery<FindOneOptions>, update: Record<string, TUpdateOp>): PromiseLike<TObject | undefined>;
|
|
573
|
-
upsertOne(query: DecodedQuery<FindOneOptions>, update: Record<string, TUpdateOp>, setOnInsert: Record<string, TValue>): PromiseLike<TObject | undefined>;
|
|
574
|
-
deleteOne(query: DecodedQuery<FindOneOptions>): PromiseLike<TObject | undefined>;
|
|
575
|
-
deleteMany(query: DecodedQuery<FindOptions>): PromiseLike<number>;
|
|
576
|
-
lockTable(className: string | string[], update: boolean): Promise<void>;
|
|
577
|
-
withConnection<T>(callback: (connection: TStorage) => PromiseLike<T>): PromiseLike<T>;
|
|
578
|
-
isDuplicateIdError(error: any): boolean;
|
|
579
|
-
atomic<T>(callback: (connection: TStorage) => PromiseLike<T>, options?: {
|
|
580
|
-
lockTable?: string;
|
|
581
|
-
retry?: boolean;
|
|
582
|
-
}): PromiseLike<T>;
|
|
583
|
-
withTransaction<T>(callback: (connection: TStorage) => PromiseLike<T>, options?: TransactionOptions): PromiseLike<T>;
|
|
584
|
-
}
|
|
585
|
-
|
|
586
|
-
type _PasswordHashOptions = {
|
|
587
|
-
'scrypt': {
|
|
588
|
-
log2n: number;
|
|
589
|
-
blockSize: number;
|
|
590
|
-
parallel: number;
|
|
591
|
-
keySize: number;
|
|
592
|
-
saltSize: number;
|
|
593
|
-
};
|
|
594
|
-
};
|
|
595
|
-
type PasswordHashOptions = {
|
|
596
|
-
[K in keyof _PasswordHashOptions]: {
|
|
597
|
-
alg: K;
|
|
598
|
-
} & _PasswordHashOptions[K];
|
|
599
|
-
}[keyof _PasswordHashOptions];
|
|
600
|
-
|
|
601
|
-
interface TPubSub {
|
|
602
|
-
subscribe(callback: (payload: EventData) => void): VoidFunction;
|
|
603
|
-
publish(payload: EventData): Awaitable<void>;
|
|
604
|
-
}
|
|
605
|
-
|
|
606
|
-
type ProtoServiceOptions<Ext> = {
|
|
607
|
-
endpoint: string;
|
|
608
|
-
schema: Record<string, TSchema>;
|
|
609
|
-
roleResolver?: {
|
|
610
|
-
inheritKeys?: string[];
|
|
611
|
-
resolver?: (user: TUser, defaultResolver: () => PromiseLike<TRole[]>) => PromiseLike<TRole[]>;
|
|
612
|
-
};
|
|
613
|
-
storage: TStorage;
|
|
614
|
-
fileStorage: TFileStorage;
|
|
615
|
-
pubsub?: TPubSub;
|
|
616
|
-
classExtends?: TExtensions<Ext>;
|
|
617
|
-
objectIdSize?: number;
|
|
618
|
-
maxFetchLimit?: number;
|
|
619
|
-
maxUploadSize?: number;
|
|
620
|
-
cookieOptions?: CookieOptions;
|
|
621
|
-
jwtSignOptions?: SignOptions;
|
|
622
|
-
jwtVerifyOptions?: VerifyOptions;
|
|
623
|
-
jwtUploadSignOptions?: SignOptions;
|
|
624
|
-
jwtUploadVerifyOptions?: VerifyOptions;
|
|
625
|
-
passwordHashOptions?: PasswordHashOptions;
|
|
626
|
-
};
|
|
627
|
-
type ProtoServiceKeyOptions = {
|
|
628
|
-
jwtToken: string;
|
|
629
|
-
masterUsers?: {
|
|
630
|
-
user: string;
|
|
631
|
-
pass: string;
|
|
632
|
-
}[];
|
|
633
|
-
};
|
|
634
|
-
|
|
635
|
-
declare class ProtoService<Ext = any> extends ProtoType<Ext> {
|
|
636
|
-
private _storage?;
|
|
637
|
-
private _schedule;
|
|
638
|
-
req?: Request;
|
|
639
|
-
session?: Session;
|
|
640
|
-
constructor(options: ProtoServiceOptions<Ext> & ProtoServiceKeyOptions);
|
|
641
|
-
shutdown(): Promise<void>;
|
|
642
|
-
classes(): string[];
|
|
643
|
-
Query<T extends string>(className: T): TQuery<T, Ext, boolean>;
|
|
644
|
-
Relation<T extends string>(object: TObject, key: PathName<T>): TQuery<string, Ext, boolean>;
|
|
645
|
-
InsecureQuery<T extends string>(className: T): TQuery<T, Ext, true>;
|
|
646
|
-
get sessionId(): string | undefined;
|
|
647
|
-
sessionInfo(): Promise<Session | {
|
|
648
|
-
loginedAt: Date | undefined;
|
|
649
|
-
user?: TObject | undefined;
|
|
650
|
-
_roles?: TObject[] | undefined;
|
|
651
|
-
iss?: string | undefined;
|
|
652
|
-
sub?: string | undefined;
|
|
653
|
-
aud?: string | string[] | undefined;
|
|
654
|
-
exp?: number | undefined;
|
|
655
|
-
nbf?: number | undefined;
|
|
656
|
-
iat?: number | undefined;
|
|
657
|
-
jti?: string | undefined;
|
|
658
|
-
sessionId?: string | undefined;
|
|
659
|
-
createdAt?: Date | undefined;
|
|
660
|
-
} | undefined>;
|
|
661
|
-
currentUser(): Promise<TUser | undefined>;
|
|
662
|
-
_currentRoles(): Promise<TRole[]>;
|
|
663
|
-
currentRoles(): Promise<string[]>;
|
|
664
|
-
get isMaster(): boolean;
|
|
665
|
-
get isInvalidMasterToken(): boolean;
|
|
666
|
-
connect<R extends Request, T extends object>(req: R, attrs?: T | ((x: this & {
|
|
667
|
-
req: R;
|
|
668
|
-
}) => T)): this & {
|
|
669
|
-
req: R;
|
|
670
|
-
} & T;
|
|
671
|
-
connectWithSessionToken<T extends object>(token: string, attrs?: T | ((x: this & {
|
|
672
|
-
session?: Session;
|
|
673
|
-
}) => T)): Promise<this & {
|
|
674
|
-
session?: Session;
|
|
675
|
-
} & T>;
|
|
676
|
-
userRoles(user: TUser): Promise<TRole[]>;
|
|
677
|
-
becomeUser(req: Request, user: TUser, options?: {
|
|
678
|
-
cookieOptions?: CookieOptions | undefined;
|
|
679
|
-
jwtSignOptions?: jwt.SignOptions | undefined;
|
|
680
|
-
}): Promise<void>;
|
|
681
|
-
logoutUser(req: Request, options?: {
|
|
682
|
-
cookieOptions?: CookieOptions | undefined;
|
|
683
|
-
jwtSignOptions?: jwt.SignOptions | undefined;
|
|
684
|
-
}): Promise<void>;
|
|
685
|
-
varifyPassword(user: TUser, password: string, options: ExtraOptions<true>): Promise<boolean>;
|
|
686
|
-
setPassword(user: TUser, password: string, options: ExtraOptions<true>): Promise<void>;
|
|
687
|
-
unsetPassword(user: TUser, options: ExtraOptions<true>): Promise<void>;
|
|
688
|
-
get schema(): ProtoServiceOptions<Ext>['schema'];
|
|
689
|
-
get storage(): ProtoServiceOptions<Ext>['storage'];
|
|
690
|
-
get fileStorage(): ProtoServiceOptions<Ext>['fileStorage'];
|
|
691
|
-
config(options?: {
|
|
692
|
-
master?: boolean;
|
|
693
|
-
}): Promise<Record<string, _TValue>>;
|
|
694
|
-
configAcl(options: {
|
|
695
|
-
master: true;
|
|
696
|
-
}): PromiseLike<Record<string, string[]>>;
|
|
697
|
-
setConfig(values: Record<string, _TValue>, options: {
|
|
698
|
-
master: true;
|
|
699
|
-
acl?: string[];
|
|
700
|
-
}): Promise<void>;
|
|
701
|
-
run(name: string, params?: TSerializable, options?: ExtraOptions<boolean>): Promise<void | TSerializable>;
|
|
702
|
-
define(name: string, callback: ProtoFunction<Ext>, options?: Omit<ProtoFunctionOptions<Ext>, 'callback'>): void;
|
|
703
|
-
beforeSave<T extends string>(name: T, callback: ProtoTrigger<T, Ext>): void;
|
|
704
|
-
afterSave<T extends string>(name: T, callback: ProtoTrigger<T, Ext>): void;
|
|
705
|
-
beforeDelete<T extends string>(name: T, callback: ProtoTrigger<T, Ext>): void;
|
|
706
|
-
afterDelete<T extends string>(name: T, callback: ProtoTrigger<T, Ext>): void;
|
|
707
|
-
lockTable(className: string | string[], update: boolean): Promise<void>;
|
|
708
|
-
withTransaction<T>(callback: (connection: ProtoService<Ext>) => PromiseLike<T>, options?: TransactionOptions): PromiseLike<T>;
|
|
709
|
-
generateUploadToken(options?: {
|
|
710
|
-
maxUploadSize?: number;
|
|
711
|
-
jwtSignOptions?: jwt.SignOptions;
|
|
712
|
-
}): string;
|
|
713
|
-
jwtSign(payload: any, options: jwt.SignOptions): string;
|
|
714
|
-
jwtVarify(token: string, options?: jwt.VerifyOptions): jwt.JwtPayload | undefined;
|
|
715
|
-
notify(data: Record<string, _TValue> & {
|
|
716
|
-
_rperm?: string[];
|
|
717
|
-
}): Promise<void>;
|
|
718
|
-
listen(callback: (data: EventData) => void): {
|
|
719
|
-
remove: VoidFunction;
|
|
720
|
-
};
|
|
721
|
-
refs(object: TObject, options?: ExtraOptions<boolean>): _o2ter_utils_js.AsyncStream<TObjectType<string, Ext>>;
|
|
722
|
-
gc(classNames?: string | string[]): Promise<void>;
|
|
723
|
-
}
|
|
724
|
-
|
|
725
|
-
export { type TPubSub as A, type TFileInfo as B, type DeserializeOptions as D, type ExtraOptions as E, type FindOptions as F, type InsertOptions as I, ProtoService as P, QuerySelector as Q, type RelationOptions as R, type SerializeOptions as S, TSchema as T, type _TValue as _, type ProtoServiceOptions as a, type ProtoServiceKeyOptions as b, type TFileStorage as c, type TSerializable as d, deserialize as e, type TExtensions as f, TQuery as g, TObject as h, TUser as i, TRole as j, TFile as k, ProtoType as l, type PathName as m, type TObjectType as n, type EventData as o, type DecodedQuery as p, type DecodedSortOption as q, type TValue as r, serialize as s, type FindOneOptions as t, type TUpdateOp as u, FieldSelectorExpression as v, QueryExpression as w, type TStorage as x, type TransactionOptions as y, type TQueryRandomOptions as z };
|
|
726
|
-
//# sourceMappingURL=index-BhWRmBiq.d.ts.map
|