@point-hub/papi 0.1.11 → 0.1.12

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.
Files changed (37) hide show
  1. package/lib/src/app.d.ts +3 -0
  2. package/lib/src/app.d.ts.map +1 -0
  3. package/lib/src/app.spec.d.ts +2 -0
  4. package/lib/src/app.spec.d.ts.map +1 -0
  5. package/lib/src/console/commands/make-command/index.command.d.ts +6 -0
  6. package/lib/src/console/commands/make-command/index.spec.d.ts +2 -0
  7. package/lib/src/console/commands/make-middleware/index.command.d.ts +8 -0
  8. package/lib/src/console/commands/make-middleware/index.spec.d.ts +2 -0
  9. package/lib/src/console/index.d.ts +13 -0
  10. package/lib/src/console/index.spec.d.ts +2 -0
  11. package/lib/src/database/connection.d.ts +33 -0
  12. package/lib/src/database/mongodb/connection.d.ts +38 -0
  13. package/lib/src/database/mongodb/mongodb-error-handler.d.ts +10 -0
  14. package/lib/src/database/mongodb/mongodb-error-handler.d.ts.map +1 -0
  15. package/lib/src/database/mongodb/mongodb-helper.d.ts +36 -0
  16. package/lib/src/database/mongodb/mongodb-querystring.d.ts +82 -0
  17. package/lib/src/database/mongodb/mongodb-querystring.d.ts.map +1 -0
  18. package/lib/src/database/mongodb/mongodb-querystring.spec.d.ts +2 -0
  19. package/lib/src/database/mongodb/mongodb-querystring.spec.d.ts.map +1 -0
  20. package/lib/src/interfaces/types.d.ts +193 -0
  21. package/lib/src/interfaces/types.d.ts.map +1 -0
  22. package/lib/src/server.d.ts +16 -0
  23. package/lib/src/server.d.ts.map +1 -0
  24. package/lib/src/server.spec.d.ts +2 -0
  25. package/lib/stub/command/index.command.d.ts +6 -0
  26. package/lib/stub/command/index.command.d.ts.map +1 -0
  27. package/lib/stub/command/index.spec.d.ts +2 -0
  28. package/lib/stub/command/index.spec.d.ts.map +1 -0
  29. package/lib/stub/middleware/configurable.middleware.d.ts +3 -0
  30. package/lib/stub/middleware/configurable.middleware.d.ts.map +1 -0
  31. package/lib/stub/middleware/configurable.spec.d.ts +2 -0
  32. package/lib/stub/middleware/configurable.spec.d.ts.map +1 -0
  33. package/lib/stub/middleware/new.middleware.d.ts +3 -0
  34. package/lib/stub/middleware/new.middleware.d.ts.map +1 -0
  35. package/lib/stub/middleware/new.spec.d.ts +2 -0
  36. package/lib/stub/middleware/new.spec.d.ts.map +1 -0
  37. package/package.json +2 -2
@@ -0,0 +1,3 @@
1
+ import express from 'express';
2
+ export declare function createApp(): Promise<express.Express>;
3
+ //# sourceMappingURL=app.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/app.ts"],"names":[],"mappings":"AAAA,OAAO,OAAuC,MAAM,SAAS,CAAA;AAE7D,wBAAsB,SAAS,6BAU9B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=app.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.spec.d.ts","sourceRoot":"","sources":["../../src/app.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ import { BaseCommand } from '@point-hub/express-cli';
2
+ export default class MakeCommand extends BaseCommand {
3
+ constructor();
4
+ handle(): Promise<void>;
5
+ }
6
+ //# sourceMappingURL=index.command.d.ts.map
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.spec.d.ts.map
@@ -0,0 +1,8 @@
1
+ import { BaseCommand } from '@point-hub/express-cli';
2
+ export default class MakeMiddleware extends BaseCommand {
3
+ constructor();
4
+ handle(): Promise<void>;
5
+ private copyMiddleware;
6
+ private copyConfigureableMiddleware;
7
+ }
8
+ //# sourceMappingURL=index.command.d.ts.map
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.spec.d.ts.map
@@ -0,0 +1,13 @@
1
+ import { ExpressCli } from '@point-hub/express-cli';
2
+ export declare class ConsoleKernel {
3
+ private command;
4
+ constructor(command: ExpressCli);
5
+ /**
6
+ * Register the commands for the application.
7
+ *
8
+ * @example
9
+ * this.command.register(new ExampleCommand());
10
+ */
11
+ register(): Promise<void>;
12
+ }
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.spec.d.ts.map
@@ -0,0 +1,33 @@
1
+ import { IAggregateOutput, ICreateManyOutput, ICreateOutput, IDatabase, IDeleteManyOutput, IDeleteOutput, IDocument, IPipeline, IQuery, IRetrieveAllOutput, IRetrieveOutput, IUpdateManyOutput, IUpdateOutput } from '../index';
2
+ export declare class DatabaseConnection implements IDatabase {
3
+ adapter: IDatabase;
4
+ session: unknown;
5
+ constructor(adapter: IDatabase);
6
+ open(): Promise<void>;
7
+ close(): Promise<void>;
8
+ database(name: string): this;
9
+ collection(name: string): this;
10
+ listCollections(): Promise<{
11
+ name: string;
12
+ }[]>;
13
+ startSession(): import("../index").IClientSession;
14
+ endSession(): Promise<void>;
15
+ startTransaction(): void;
16
+ commitTransaction(): Promise<void>;
17
+ abortTransaction(): Promise<void>;
18
+ createIndex(name: string, spec: unknown, options?: unknown): Promise<void>;
19
+ createCollection(name: string, options?: unknown): Promise<void>;
20
+ dropCollection(name: string, options?: unknown): Promise<void>;
21
+ updateSchema(name: string, schema: unknown): Promise<void>;
22
+ create(document: IDocument, options?: unknown): Promise<ICreateOutput>;
23
+ createMany(documents: IDocument[], options?: unknown): Promise<ICreateManyOutput>;
24
+ retrieveAll(query: IQuery, options?: unknown): Promise<IRetrieveAllOutput>;
25
+ retrieve(_id: string, options?: unknown): Promise<IRetrieveOutput>;
26
+ update(_id: string, document: IDocument, options?: unknown): Promise<IUpdateOutput>;
27
+ updateMany(filter: IDocument, document: IDocument, options?: unknown): Promise<IUpdateManyOutput>;
28
+ delete(_id: string, options?: unknown): Promise<IDeleteOutput>;
29
+ deleteMany(_ids: string[], options?: unknown): Promise<IDeleteManyOutput>;
30
+ deleteAll(options?: unknown): Promise<IDeleteManyOutput>;
31
+ aggregate(pipeline: IPipeline[], query: IQuery, options?: unknown): Promise<IAggregateOutput>;
32
+ }
33
+ //# sourceMappingURL=connection.d.ts.map
@@ -0,0 +1,38 @@
1
+ import type { ClientSession, Collection, CollectionOptions, CreateIndexesOptions, Db, DbOptions, IndexSpecification } from 'mongodb';
2
+ import { MongoClient } from 'mongodb';
3
+ import { IAggregateOutput, ICreateManyOutput, ICreateOutput, IDatabase, IDeleteManyOutput, IDeleteOutput, IDocument, IPipeline, IQuery, IRetrieveAllOutput, IRetrieveOutput, IUpdateManyOutput, IUpdateOutput } from '../../index';
4
+ export declare class MongoDBConnection implements IDatabase {
5
+ databaseName: string;
6
+ client: MongoClient;
7
+ _database: Db | undefined;
8
+ _collection: Collection | undefined;
9
+ session: ClientSession | undefined;
10
+ constructor(connectionString: string, databaseName: string);
11
+ open(): Promise<void>;
12
+ close(): Promise<void>;
13
+ database(name: string, options?: DbOptions): this;
14
+ collection(name: string, options?: CollectionOptions): this;
15
+ listCollections(): Promise<{
16
+ name: string;
17
+ }[]>;
18
+ createIndex(name: string, spec: IndexSpecification, options: CreateIndexesOptions): Promise<void>;
19
+ updateSchema(name: string, schema: unknown): Promise<void>;
20
+ createCollection(name: string, options: any): Promise<void>;
21
+ dropCollection(name: string, options: any): Promise<void>;
22
+ startSession(): ClientSession;
23
+ endSession(): Promise<void>;
24
+ startTransaction(): void;
25
+ commitTransaction(): Promise<void>;
26
+ abortTransaction(): Promise<void>;
27
+ create(document: IDocument, options?: unknown): Promise<ICreateOutput>;
28
+ createMany(documents: IDocument[], options?: unknown): Promise<ICreateManyOutput>;
29
+ retrieveAll(query: IQuery, options?: any): Promise<IRetrieveAllOutput>;
30
+ retrieve(_id: string, options?: any): Promise<IRetrieveOutput>;
31
+ update(_id: string, document: IDocument, options?: any): Promise<IUpdateOutput>;
32
+ updateMany(filter: IDocument[], document: IDocument[], options?: any): Promise<IUpdateManyOutput>;
33
+ delete(_id: string, options?: any): Promise<IDeleteOutput>;
34
+ deleteMany(_ids: string[], options?: any): Promise<IDeleteManyOutput>;
35
+ deleteAll(options?: any): Promise<IDeleteManyOutput>;
36
+ aggregate(pipeline: IPipeline[], query: IQuery, options?: any): Promise<IAggregateOutput>;
37
+ }
38
+ //# sourceMappingURL=connection.d.ts.map
@@ -0,0 +1,10 @@
1
+ import { BaseError, type IError } from '@point-hub/express-error-handler';
2
+ import { MongoServerError } from 'mongodb';
3
+ export declare function handleSchemaValidation(err: MongoServerError, error: IError): void;
4
+ export declare function handleUniqueValidation(err: MongoServerError, error: IError): void;
5
+ export declare class MongoErrorHandler extends BaseError {
6
+ constructor(err: MongoServerError);
7
+ get isOperational(): boolean;
8
+ get name(): string;
9
+ }
10
+ //# sourceMappingURL=mongodb-error-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mongodb-error-handler.d.ts","sourceRoot":"","sources":["../../../../src/database/mongodb/mongodb-error-handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAQ,KAAK,MAAM,EAAoB,MAAM,kCAAkC,CAAA;AACjG,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAE1C,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,QAS1E;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,QA4B1E;AAED,qBAAa,iBAAkB,SAAQ,SAAS;gBAClC,GAAG,EAAE,gBAAgB;IAUjC,IAAI,aAAa,YAEhB;IACD,IAAa,IAAI,WAEhB;CACF"}
@@ -0,0 +1,36 @@
1
+ import { IDatabase } from '../../index';
2
+ /**
3
+ * https://www.mongodb.com/docs/drivers/node/current/fundamentals/indexes/
4
+ * https://www.mongodb.com/docs/manual/reference/collation/
5
+ * https://www.mongodb.com/docs/manual/core/index-sparse/
6
+ * https://www.mongodb.com/docs/manual/core/index-partial/
7
+ */
8
+ export declare class MongoDBHelper {
9
+ private db;
10
+ constructor(db: IDatabase);
11
+ /**
12
+ * Create unique column
13
+ *
14
+ * @example
15
+ * create unique attribute "name"
16
+ * createUnique(collection, {
17
+ * name: -1,
18
+ * })
19
+ *
20
+ * @example
21
+ * create unique attribute for multiple column "first_name" and "last_name"
22
+ * createUnique(collection, {
23
+ * firstName: -1,
24
+ * lastName: -1,
25
+ * })
26
+ */
27
+ createUnique(collection: string, properties: object): Promise<void>;
28
+ /**
29
+ * Create unique if column is exists
30
+ */
31
+ createUniqueIfNotNull(collection: string, properties: object): Promise<void>;
32
+ isExists(name: string): Promise<boolean>;
33
+ static stringToObjectId(val: any): any;
34
+ static objectIdToString(val: any): any;
35
+ }
36
+ //# sourceMappingURL=mongodb-helper.d.ts.map
@@ -0,0 +1,82 @@
1
+ import { SortDirection } from 'mongodb';
2
+ interface IFieldsObject {
3
+ [key: string]: number;
4
+ }
5
+ interface ISortObject {
6
+ [key: string]: SortDirection;
7
+ }
8
+ /**
9
+ * Parse query string to number
10
+ *
11
+ * @example
12
+ * page("10") // => 10
13
+ * page(10) // => 10
14
+ */
15
+ export declare function page(page?: string | number): number;
16
+ /**
17
+ * Parse query string to number
18
+ *
19
+ * @example
20
+ * limit("10") // => 10
21
+ * limit(10) // => 10
22
+ */
23
+ export declare function limit(pageSize?: string | number): number;
24
+ /**
25
+ * Skip number of data from page
26
+ *
27
+ * @example
28
+ * skip(1, 10) // => 0
29
+ * skip(2, 10) // => 10
30
+ * skip(3, 10) // => 20
31
+ */
32
+ export declare function skip(currentPage: string | number, pageSize: string | number): number;
33
+ export declare function filter(filter: never): never;
34
+ /**
35
+ * Convert string param to mongodb field object
36
+ *
37
+ * @example
38
+ * fields("name, address") // => { name: 1, address: 1 }
39
+ */
40
+ export declare function fields(fields?: string, excludeFields?: string[]): IFieldsObject;
41
+ /**
42
+ * Convert string to array
43
+ *
44
+ * @example
45
+ * convertStringToArray("name, address") // => ["name", "address"]
46
+ */
47
+ export declare function convertStringToArray(fields: string): string[];
48
+ /**
49
+ * Convert array to mongodb field object
50
+ *
51
+ * @example
52
+ * convertArrayToObject(["name", "address"]) // => { name: 1, address: 1 }
53
+ * convertArrayToObject(["name", "address"], -1) // => { name: -1, address: -1 }
54
+ */
55
+ export declare function convertArrayToObject(array: string[], value?: number): IFieldsObject;
56
+ /**
57
+ * Remove excluded fields
58
+ *
59
+ * @example
60
+ * ex: { password: 0 }
61
+ */
62
+ export declare function filterExludeFields(obj: IFieldsObject, excludeFields: string[]): IFieldsObject;
63
+ /**
64
+ * Convert string param to mongodb sort object
65
+ *
66
+ * @example
67
+ * sort("name, -createdAt") // => { name: 1, createdAt: -1 }
68
+ */
69
+ export declare function sort(fields: string): ISortObject;
70
+ declare const _default: {
71
+ page: typeof page;
72
+ limit: typeof limit;
73
+ skip: typeof skip;
74
+ sort: typeof sort;
75
+ fields: typeof fields;
76
+ filter: typeof filter;
77
+ filterExludeFields: typeof filterExludeFields;
78
+ convertStringToArray: typeof convertStringToArray;
79
+ convertArrayToObject: typeof convertArrayToObject;
80
+ };
81
+ export default _default;
82
+ //# sourceMappingURL=mongodb-querystring.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mongodb-querystring.d.ts","sourceRoot":"","sources":["../../../../src/database/mongodb/mongodb-querystring.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAEvC,UAAU,aAAa;IACrB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CACtB;AAED,UAAU,WAAW;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAAA;CAC7B;AAED;;;;;;GAMG;AACH,wBAAgB,IAAI,CAAC,IAAI,GAAE,MAAM,GAAG,MAAU,GAAG,MAAM,CAMtD;AAED;;;;;;GAMG;AACH,wBAAgB,KAAK,CAAC,QAAQ,GAAE,MAAM,GAAG,MAAW,GAAG,MAAM,CAM5D;AAED;;;;;;;GAOG;AACH,wBAAgB,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAEpF;AAED,wBAAgB,MAAM,CAAC,MAAM,EAAE,KAAK,SAEnC;AAED;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,MAAM,SAAK,EAAE,aAAa,GAAE,MAAM,EAAO,GAAG,aAAa,CAI/E;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAM7D;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,KAAK,SAAI,GAAG,aAAa,CAM9E;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,aAAa,CAK7F;AAED;;;;;GAKG;AACH,wBAAgB,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,CAchD;;;;;;;;;;;;AAED,wBAUC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=mongodb-querystring.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mongodb-querystring.spec.d.ts","sourceRoot":"","sources":["../../../../src/database/mongodb/mongodb-querystring.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,193 @@
1
+ /**
2
+ * Controller
3
+ */
4
+ export interface IHttpRequest {
5
+ [key: string]: any;
6
+ }
7
+ export interface IControllerInput {
8
+ httpRequest: IHttpRequest;
9
+ dbConnection: IDatabase;
10
+ }
11
+ export interface IController {
12
+ (input: IControllerInput): Promise<IControllerOutput>;
13
+ }
14
+ export interface IControllerOutput {
15
+ status: number;
16
+ json?: any;
17
+ }
18
+ /**
19
+ * UseCase
20
+ */
21
+ export interface IUseCase<TInput, TDeps, TOptions, TOutput> {
22
+ handle(input: TInput, deps: TDeps, options?: TOptions): Promise<TOutput>;
23
+ }
24
+ /**
25
+ * Repository
26
+ */
27
+ export interface IAggregateRepository {
28
+ collection: string;
29
+ handle(pipeline: IPipeline, query: IQuery, options?: unknown): Promise<IAggregateOutput>;
30
+ }
31
+ export interface ICreateManyRepository {
32
+ collection: string;
33
+ handle(documents: IDocument[], options?: unknown): Promise<ICreateManyOutput>;
34
+ }
35
+ export interface ICreateRepository {
36
+ collection: string;
37
+ handle(document: IDocument, options?: unknown): Promise<ICreateOutput>;
38
+ }
39
+ export interface IDeleteManyRepository {
40
+ collection: string;
41
+ handle(_ids: string[], options?: unknown): Promise<IDeleteManyOutput>;
42
+ }
43
+ export interface IDeleteRepository {
44
+ collection: string;
45
+ handle(_id: string, options?: unknown): Promise<IDeleteOutput>;
46
+ }
47
+ export interface IRetrieveAllRepository {
48
+ collection: string;
49
+ handle(query: IQuery, options?: unknown): Promise<IRetrieveAllOutput>;
50
+ }
51
+ export interface IRetrieveRepository {
52
+ collection: string;
53
+ handle(_id: string, options?: unknown): Promise<IRetrieveOutput>;
54
+ }
55
+ export interface IUpdateManyRepository {
56
+ collection: string;
57
+ handle(filter: IDocument, document: IDocument, options?: unknown): Promise<IUpdateManyOutput>;
58
+ }
59
+ export interface IUpdateRepository {
60
+ collection: string;
61
+ handle(_id: string, document: IDocument, options?: unknown): Promise<IUpdateOutput>;
62
+ }
63
+ /**
64
+ * Database
65
+ */
66
+ export interface IDocument {
67
+ [key: string]: any;
68
+ }
69
+ export interface IQuery {
70
+ fields?: string;
71
+ excludeFields?: string[];
72
+ filter?: {
73
+ [key: string]: unknown;
74
+ };
75
+ page?: number;
76
+ pageSize?: number;
77
+ sort?: string;
78
+ }
79
+ export interface IPipeline {
80
+ [key: string]: any;
81
+ }
82
+ export interface ICreateOutput {
83
+ insertedId: string;
84
+ }
85
+ export interface ICreateManyOutput {
86
+ insertedCount: number;
87
+ insertedIds: string[];
88
+ }
89
+ export interface IRetrieveOutput {
90
+ _id: string;
91
+ [key: string]: unknown;
92
+ }
93
+ export interface IRetrieveAllOutput {
94
+ data: IRetrieveOutput[];
95
+ pagination: {
96
+ page: number;
97
+ pageCount: number;
98
+ pageSize: number;
99
+ totalDocument: number;
100
+ };
101
+ }
102
+ export interface IUpdateOutput {
103
+ matchedCount: number;
104
+ modifiedCount: number;
105
+ }
106
+ export interface IUpdateManyOutput {
107
+ matchedCount: number;
108
+ modifiedCount: number;
109
+ }
110
+ export interface IDeleteOutput {
111
+ deletedCount: number;
112
+ }
113
+ export interface IDeleteManyOutput {
114
+ deletedCount: number;
115
+ }
116
+ export interface IAggregateOutput {
117
+ data: IRetrieveOutput[];
118
+ pagination: {
119
+ page: number;
120
+ pageCount: number;
121
+ pageSize: number;
122
+ totalDocument: number;
123
+ };
124
+ }
125
+ export interface IClientSession {
126
+ startTransaction(options?: unknown): void;
127
+ commitTransaction(): Promise<void>;
128
+ abortTransaction(): Promise<void>;
129
+ endSession(): Promise<void>;
130
+ }
131
+ export interface IDatabase {
132
+ session: unknown;
133
+ open(): Promise<void>;
134
+ close(): Promise<void>;
135
+ database(name: string, options?: unknown): this;
136
+ collection(name: string, options?: unknown): this;
137
+ listCollections(): Promise<{
138
+ name: string;
139
+ }[]>;
140
+ startSession(): IClientSession;
141
+ endSession(): Promise<void>;
142
+ startTransaction(): void;
143
+ commitTransaction(): Promise<void>;
144
+ abortTransaction(): Promise<void>;
145
+ createIndex(name: string, spec: unknown, options?: unknown): Promise<void>;
146
+ createCollection(name: string, options?: unknown): Promise<void>;
147
+ dropCollection(name: string, options?: unknown): Promise<void>;
148
+ updateSchema(name: string, schema: unknown): Promise<void>;
149
+ create(document: IDocument, options?: unknown): Promise<ICreateOutput>;
150
+ createMany(documents: IDocument[], options?: unknown): Promise<ICreateManyOutput>;
151
+ retrieveAll(query: IQuery, options?: unknown): Promise<IRetrieveAllOutput>;
152
+ retrieve(_id: string, options?: unknown): Promise<IRetrieveOutput>;
153
+ update(_id: string, document: IDocument, options?: unknown): Promise<IUpdateOutput>;
154
+ updateMany(filter: IDocument, document: IDocument, options?: unknown): Promise<IUpdateManyOutput>;
155
+ delete(_id: string, options?: unknown): Promise<IDeleteOutput>;
156
+ deleteMany(_ids: string[], options?: unknown): Promise<IDeleteManyOutput>;
157
+ deleteAll(options?: unknown): Promise<IDeleteManyOutput>;
158
+ aggregate(pipeline: IPipeline, query: IQuery, options?: unknown): Promise<IAggregateOutput>;
159
+ }
160
+ /**
161
+ * Express App
162
+ */
163
+ export interface IAppInput {
164
+ dbConnection: IDatabase;
165
+ }
166
+ export interface IMakeControllerInput {
167
+ controller: IController;
168
+ dbConnection: IDatabase;
169
+ }
170
+ /**
171
+ * Router
172
+ */
173
+ export interface IBaseRouterInput {
174
+ dbConnection: IDatabase;
175
+ }
176
+ /**
177
+ * Schema Validation
178
+ */
179
+ export interface ISchemaValidation {
180
+ (document: IDocument, schema: IDocument): Promise<void>;
181
+ }
182
+ /**
183
+ * Config
184
+ */
185
+ export interface IServerConfig {
186
+ port: number;
187
+ host: string;
188
+ }
189
+ export interface IMongoDBConfig {
190
+ url: string;
191
+ name: string;
192
+ }
193
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/interfaces/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /// <reference types="node" />
2
+ /// <reference types="bun-types" />
3
+ import { Express } from 'express';
4
+ import { Server as HttpServer } from 'http';
5
+ export declare class Server {
6
+ app: Express;
7
+ server: HttpServer | null;
8
+ constructor(app: Express);
9
+ listen(port: number, hostname?: string): Promise<unknown>;
10
+ start(port: number, hostname?: string): Promise<void>;
11
+ stop(): void;
12
+ get host(): string;
13
+ get port(): number;
14
+ get url(): string;
15
+ }
16
+ //# sourceMappingURL=server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,MAAM,CAAA;AAG3C,qBAAa,MAAM;IACjB,GAAG,EAAE,OAAO,CAAA;IACZ,MAAM,EAAE,UAAU,GAAG,IAAI,CAAO;gBAEpB,GAAG,EAAE,OAAO;IAIxB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM;IAUhC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM;IAI3C,IAAI;IAKJ,IAAI,IAAI,WAOP;IAED,IAAI,IAAI,WAGP;IAED,IAAI,GAAG,WAEN;CACF"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=server.spec.d.ts.map
@@ -0,0 +1,6 @@
1
+ import { BaseCommand } from '@point-hub/express-cli';
2
+ export default class NewCommand extends BaseCommand {
3
+ constructor();
4
+ handle(): Promise<void>;
5
+ }
6
+ //# sourceMappingURL=index.command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.command.d.ts","sourceRoot":"","sources":["../../../stub/command/index.command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAEpD,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,WAAW;;IAU3C,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;CAG9B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.spec.d.ts","sourceRoot":"","sources":["../../../stub/command/index.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ import { NextFunction, Request, Response } from 'express';
2
+ export default function newMiddleware<T>(options?: T): (req: Request, res: Response, next: NextFunction) => void;
3
+ //# sourceMappingURL=configurable.middleware.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configurable.middleware.d.ts","sourceRoot":"","sources":["../../../stub/middleware/configurable.middleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAEzD,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,SAC5B,OAAO,OAAO,QAAQ,QAAQ,YAAY,UAIjE"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=configurable.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configurable.spec.d.ts","sourceRoot":"","sources":["../../../stub/middleware/configurable.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ import { NextFunction, Request, Response } from 'express';
2
+ export default function (req: Request, res: Response, next: NextFunction): void;
3
+ //# sourceMappingURL=new.middleware.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"new.middleware.d.ts","sourceRoot":"","sources":["../../../stub/middleware/new.middleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAEzD,MAAM,CAAC,OAAO,WAAW,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,QAEvE"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=new.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"new.spec.d.ts","sourceRoot":"","sources":["../../../stub/middleware/new.spec.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@point-hub/papi",
3
- "version": "0.1.11",
3
+ "version": "0.1.12",
4
4
  "description": "Point API Framework",
5
5
  "type": "module",
6
6
  "main": "lib/index.js",
@@ -13,7 +13,7 @@
13
13
  "check-types": "tsc -p tsconfig.json",
14
14
  "dev": "shx rm -rf lib && bun run build.ts --watch",
15
15
  "build": "shx rm -rf lib && bun run check-types && bun run build.ts && bun run build:declaration",
16
- "build:declaration": "tsc -p tsconfig.types.json",
16
+ "build:declaration": "shx rm tsconfig.types.tsbuildinfo && tsc -p tsconfig.types.json",
17
17
  "lint": "eslint ./src/**/*.ts",
18
18
  "lint:fix": "bun run lint -- --fix"
19
19
  },