proto.io 0.0.227 → 0.0.229
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/README.md +1017 -0
- package/dist/adapters/file/aliyun-oss.d.mts +26 -0
- package/dist/adapters/file/aliyun-oss.d.mts.map +1 -0
- package/dist/adapters/file/aliyun-oss.d.ts +3 -3
- package/dist/adapters/file/database.d.mts +23 -0
- package/dist/adapters/file/database.d.mts.map +1 -0
- package/dist/adapters/file/database.d.ts +2 -2
- package/dist/adapters/file/database.js +1 -1
- package/dist/adapters/file/database.mjs +1 -1
- package/dist/adapters/file/filesystem.d.mts +25 -0
- package/dist/adapters/file/filesystem.d.mts.map +1 -0
- package/dist/adapters/file/filesystem.d.ts +3 -3
- package/dist/adapters/file/google-cloud-storage.d.mts +29 -0
- package/dist/adapters/file/google-cloud-storage.d.mts.map +1 -0
- package/dist/adapters/file/google-cloud-storage.d.ts +3 -3
- package/dist/adapters/storage/postgres.d.mts +299 -0
- package/dist/adapters/storage/postgres.d.mts.map +1 -0
- package/dist/adapters/storage/postgres.d.ts +5 -1
- package/dist/adapters/storage/postgres.d.ts.map +1 -1
- package/dist/adapters/storage/postgres.js +182 -74
- package/dist/adapters/storage/postgres.js.map +1 -1
- package/dist/adapters/storage/postgres.mjs +182 -74
- package/dist/adapters/storage/postgres.mjs.map +1 -1
- package/dist/client.d.mts +16 -0
- package/dist/client.d.mts.map +1 -0
- package/dist/client.d.ts +3 -3
- package/dist/client.js +1 -1
- package/dist/client.mjs +2 -2
- package/dist/index.d.mts +151 -0
- package/dist/index.d.mts.map +1 -0
- package/dist/index.d.ts +3 -3
- package/dist/index.js +68 -25
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +69 -26
- package/dist/index.mjs.map +1 -1
- package/dist/internals/{base-DSo02iAX.d.ts → base-Bhrj5Pq1.d.ts} +2 -2
- package/dist/internals/{base-DSo02iAX.d.ts.map → base-Bhrj5Pq1.d.ts.map} +1 -1
- package/dist/internals/base-CiZHXD0o.d.mts +27 -0
- package/dist/internals/base-CiZHXD0o.d.mts.map +1 -0
- package/dist/internals/chunk-Cp2QN7ug.d.mts +17 -0
- package/dist/internals/chunk-Cp2QN7ug.d.mts.map +1 -0
- package/dist/internals/{chunk-BhwfdCdq.d.ts → chunk-o7lWIP-f.d.ts} +3 -3
- package/dist/internals/{chunk-BhwfdCdq.d.ts.map → chunk-o7lWIP-f.d.ts.map} +1 -1
- package/dist/internals/{index-vOFh8pVc.js → index-B0TO6h9r.js} +8 -1
- package/dist/internals/index-B0TO6h9r.js.map +1 -0
- package/dist/internals/{index-Cj45GkKv.d.ts → index-B710pfTH.d.ts} +2 -2
- package/dist/internals/{index-Cj45GkKv.d.ts.map → index-B710pfTH.d.ts.map} +1 -1
- package/dist/internals/{index-BWZIV3_T.mjs → index-DG2-4tQ1.mjs} +8 -1
- package/dist/internals/index-DG2-4tQ1.mjs.map +1 -0
- package/dist/internals/index-DwjvuRyl.d.mts +92 -0
- package/dist/internals/index-DwjvuRyl.d.mts.map +1 -0
- package/dist/internals/index-OwgXw07h.d.mts +2107 -0
- package/dist/internals/index-OwgXw07h.d.mts.map +1 -0
- package/dist/internals/{index-1ZK5N4yb.d.ts → index-OwgXw07h.d.ts} +49 -7
- package/dist/internals/index-OwgXw07h.d.ts.map +1 -0
- package/dist/internals/{validator-Bc1jRJfA.js → validator-CFlx3oyq.js} +33 -1
- package/dist/internals/validator-CFlx3oyq.js.map +1 -0
- package/dist/internals/{validator-Boj1PUjM.mjs → validator-DubDY921.mjs} +32 -2
- package/dist/internals/validator-DubDY921.mjs.map +1 -0
- package/package.json +7 -19
- package/dist/internals/index-1ZK5N4yb.d.ts.map +0 -1
- package/dist/internals/index-BWZIV3_T.mjs.map +0 -1
- package/dist/internals/index-vOFh8pVc.js.map +0 -1
- package/dist/internals/validator-Bc1jRJfA.js.map +0 -1
- package/dist/internals/validator-Boj1PUjM.mjs.map +0 -1
|
@@ -308,11 +308,23 @@ type TQueryAccumulator = {
|
|
|
308
308
|
p: number;
|
|
309
309
|
mode?: 'discrete' | 'continuous';
|
|
310
310
|
};
|
|
311
|
+
$group?: {
|
|
312
|
+
key: TExpression;
|
|
313
|
+
value: Omit<TQueryAccumulator, '$group'>;
|
|
314
|
+
};
|
|
311
315
|
} & {
|
|
312
316
|
[x in (typeof TZeroParamAccumulatorKeys)[number]]?: true | {};
|
|
313
317
|
} & {
|
|
314
318
|
[x in (typeof TUnaryAccumulatorKeys)[number]]?: TExpression;
|
|
315
319
|
};
|
|
320
|
+
type TAccumulatorResult<A extends TQueryAccumulator> = A extends {
|
|
321
|
+
$group: any;
|
|
322
|
+
} ? {
|
|
323
|
+
key: any;
|
|
324
|
+
value: any;
|
|
325
|
+
}[] : A extends {
|
|
326
|
+
$count: any;
|
|
327
|
+
} ? number : any;
|
|
316
328
|
|
|
317
329
|
/**
|
|
318
330
|
* Options for a query filter.
|
|
@@ -642,6 +654,15 @@ declare abstract class TQuery<T extends string, Ext, M extends boolean> extends
|
|
|
642
654
|
* @returns A stream of the random result.
|
|
643
655
|
*/
|
|
644
656
|
abstract random(opts?: TQueryRandomOptions, options?: ExtraOptions<M>): ReturnType<typeof asyncStream<TObjectType<T, Ext>>>;
|
|
657
|
+
/**
|
|
658
|
+
* Finds grouped results for the query.
|
|
659
|
+
* @param accumulators - The accumulators to use for grouping.
|
|
660
|
+
* @param options - Extra options for the query.
|
|
661
|
+
* @returns A stream of the grouped results.
|
|
662
|
+
*/
|
|
663
|
+
abstract groupFind<T extends Record<string, TQueryAccumulator>>(accumulators: T, options?: ExtraOptions<M>): Promise<{
|
|
664
|
+
[K in keyof T]: TAccumulatorResult<T[K]>;
|
|
665
|
+
}>;
|
|
645
666
|
/**
|
|
646
667
|
* Finds non-reference results for the query.
|
|
647
668
|
* @param options - Extra options for the query.
|
|
@@ -704,6 +725,10 @@ declare abstract class TQuery<T extends string, Ext, M extends boolean> extends
|
|
|
704
725
|
* @returns A promise that resolves to the deleted records.
|
|
705
726
|
*/
|
|
706
727
|
abstract deleteMany(options?: ExtraOptions<M>): PromiseLike<TObjectType<T, Ext>[]>;
|
|
728
|
+
/**
|
|
729
|
+
* Subscribes to live query updates.
|
|
730
|
+
* @returns A live query subscription.
|
|
731
|
+
*/
|
|
707
732
|
abstract subscribe(): LiveQuerySubscription<T, Ext>;
|
|
708
733
|
/**
|
|
709
734
|
* Adds fields to include in the query.
|
|
@@ -1102,7 +1127,7 @@ interface ProtoType<Ext> {
|
|
|
1102
1127
|
* @param options - Extra options.
|
|
1103
1128
|
* @returns A promise resolving to a boolean indicating if the password is correct.
|
|
1104
1129
|
*/
|
|
1105
|
-
|
|
1130
|
+
verifyPassword(user: TUser, password: string, options: ExtraOptions<true>): Promise<boolean>;
|
|
1106
1131
|
/**
|
|
1107
1132
|
* Sets a user's password.
|
|
1108
1133
|
* @param user - The user whose password is to be set.
|
|
@@ -1183,7 +1208,7 @@ interface ProtoType<Ext> {
|
|
|
1183
1208
|
* @param options - Options for verifying the JWT.
|
|
1184
1209
|
* @returns The decoded JWT payload or undefined if verification fails.
|
|
1185
1210
|
*/
|
|
1186
|
-
|
|
1211
|
+
jwtVerify(token: string, options?: jwt.VerifyOptions): jwt.JwtPayload | undefined;
|
|
1187
1212
|
}
|
|
1188
1213
|
|
|
1189
1214
|
/**
|
|
@@ -1820,6 +1845,7 @@ interface TStorage {
|
|
|
1820
1845
|
count(query: DecodedQuery<FindOptions & RelationOptions>): PromiseLike<number>;
|
|
1821
1846
|
find(query: DecodedQuery<FindOptions & RelationOptions>): AsyncIterable<TObject>;
|
|
1822
1847
|
random(query: DecodedQuery<FindOptions & RelationOptions>, opts?: QueryRandomOptions): AsyncIterable<TObject>;
|
|
1848
|
+
groupFind(query: DecodedQuery<FindOptions & RelationOptions>, accumulators: Record<string, QueryAccumulator>): PromiseLike<Record<string, any>>;
|
|
1823
1849
|
refs(object: TObject, classNames: string[], roles?: string[]): AsyncIterable<TObject>;
|
|
1824
1850
|
nonrefs(query: DecodedQuery<FindOptions>): AsyncIterable<TObject>;
|
|
1825
1851
|
insert(options: InsertOptions, values: Record<string, TValueWithUndefined>[]): PromiseLike<TObject[]>;
|
|
@@ -1952,6 +1978,22 @@ type ProtoServiceOptions<Ext> = {
|
|
|
1952
1978
|
* Password hash options.
|
|
1953
1979
|
*/
|
|
1954
1980
|
passwordHashOptions?: PasswordHashOptions;
|
|
1981
|
+
/**
|
|
1982
|
+
* Password policy options.
|
|
1983
|
+
*/
|
|
1984
|
+
passwordPolicy?: {
|
|
1985
|
+
/**
|
|
1986
|
+
* Do not allow reusing previous passwords.
|
|
1987
|
+
*/
|
|
1988
|
+
maxPasswordHistory?: number;
|
|
1989
|
+
/**
|
|
1990
|
+
* Custom validator callback for password strength.
|
|
1991
|
+
* @param password The password to validate.
|
|
1992
|
+
* @param user The user object (optional).
|
|
1993
|
+
* @returns A boolean or a promise that resolves to a boolean indicating whether the password is valid.
|
|
1994
|
+
*/
|
|
1995
|
+
validatorCallback?: (password: string, user?: TUser) => Awaitable<boolean>;
|
|
1996
|
+
};
|
|
1955
1997
|
};
|
|
1956
1998
|
type ProtoServiceKeyOptions = {
|
|
1957
1999
|
/**
|
|
@@ -2018,7 +2060,7 @@ declare class ProtoService<Ext = any> extends ProtoType<Ext> {
|
|
|
2018
2060
|
cookieOptions?: CookieOptions | undefined;
|
|
2019
2061
|
jwtSignOptions?: jwt.SignOptions | undefined;
|
|
2020
2062
|
}): Promise<void>;
|
|
2021
|
-
|
|
2063
|
+
verifyPassword(user: TUser, password: string, options: ExtraOptions<true>): Promise<boolean>;
|
|
2022
2064
|
setPassword(user: TUser, password: string, options: ExtraOptions<true>): Promise<void>;
|
|
2023
2065
|
unsetPassword(user: TUser, options: ExtraOptions<true>): Promise<void>;
|
|
2024
2066
|
get schema(): ProtoServiceOptions<Ext>['schema'];
|
|
@@ -2049,7 +2091,7 @@ declare class ProtoService<Ext = any> extends ProtoType<Ext> {
|
|
|
2049
2091
|
jwtSignOptions?: jwt.SignOptions;
|
|
2050
2092
|
}): string;
|
|
2051
2093
|
jwtSign(payload: any, options: jwt.SignOptions): string;
|
|
2052
|
-
|
|
2094
|
+
jwtVerify(token: string, options?: jwt.VerifyOptions): jwt.JwtPayload | undefined;
|
|
2053
2095
|
notify(data: Record<string, TValueWithoutObject> & {
|
|
2054
2096
|
_rperm?: string[];
|
|
2055
2097
|
}): Promise<void>;
|
|
@@ -2060,6 +2102,6 @@ declare class ProtoService<Ext = any> extends ProtoType<Ext> {
|
|
|
2060
2102
|
gc(classNames?: string | string[]): Promise<void>;
|
|
2061
2103
|
}
|
|
2062
2104
|
|
|
2063
|
-
export { FieldSelectorExpression as F, ProtoService as P, QueryExpression as Q, TSchema as T, deserialize as g, ProtoType as i, TQuery as j, TObject as k, TUser as n, serialize as s,
|
|
2064
|
-
export type { TransactionOptions as A, QueryRandomOptions as B, TPubSub as C, DeserializeOptions as D, ExtraOptions as E, TFileInfo as G, InsertOptions as I, RelationOptions as R, SerializeOptions as S, ProtoServiceOptions as a, ProtoServiceKeyOptions as b, TValueWithoutObject as c, TFileStorage as d, TNumber as e, TSerializable as f, TExtensions as h, PathName as l, TObjectType as m, EventData as o, TQuerySelector as p, TValueWithUndefined as q, TValue as r, TUpdateOp as t, DecodedQuery as
|
|
2065
|
-
//# sourceMappingURL=index-
|
|
2105
|
+
export { FieldSelectorExpression as F, ProtoService as P, QueryExpression as Q, TSchema as T, deserialize as g, ProtoType as i, TQuery as j, TObject as k, TUser as n, serialize as s, QueryAccumulator as u, QuerySelector as v };
|
|
2106
|
+
export type { TransactionOptions as A, QueryRandomOptions as B, TPubSub as C, DeserializeOptions as D, ExtraOptions as E, TFileInfo as G, InsertOptions as I, RelationOptions as R, SerializeOptions as S, ProtoServiceOptions as a, ProtoServiceKeyOptions as b, TValueWithoutObject as c, TFileStorage as d, TNumber as e, TSerializable as f, TExtensions as h, PathName as l, TObjectType as m, EventData as o, TQuerySelector as p, TValueWithUndefined as q, TValue as r, TUpdateOp as t, DecodedQuery as w, FindOptions as x, DecodedSortOption as y, TStorage as z };
|
|
2107
|
+
//# sourceMappingURL=index-OwgXw07h.d.ts.map
|