@forgedevstack/harbor 1.0.0

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 (130) hide show
  1. package/CHANGELOG.md +126 -0
  2. package/README.md +927 -0
  3. package/dist/changelog/index.d.ts +3 -0
  4. package/dist/changelog/index.d.ts.map +1 -0
  5. package/dist/changelog/manager.d.ts +29 -0
  6. package/dist/changelog/manager.d.ts.map +1 -0
  7. package/dist/changelog/types.d.ts +41 -0
  8. package/dist/changelog/types.d.ts.map +1 -0
  9. package/dist/cli/index.d.ts +3 -0
  10. package/dist/cli/index.d.ts.map +1 -0
  11. package/dist/cli/index.js +43 -0
  12. package/dist/cli/index.js.map +1 -0
  13. package/dist/constants/config.const.d.ts +11 -0
  14. package/dist/constants/config.const.d.ts.map +1 -0
  15. package/dist/constants/defaults.const.d.ts +10 -0
  16. package/dist/constants/defaults.const.d.ts.map +1 -0
  17. package/dist/constants/http.const.d.ts +43 -0
  18. package/dist/constants/http.const.d.ts.map +1 -0
  19. package/dist/constants/index.d.ts +5 -0
  20. package/dist/constants/index.d.ts.map +1 -0
  21. package/dist/constants/validation.const.d.ts +35 -0
  22. package/dist/constants/validation.const.d.ts.map +1 -0
  23. package/dist/core/config.d.ts +6 -0
  24. package/dist/core/config.d.ts.map +1 -0
  25. package/dist/core/errorHandler.d.ts +25 -0
  26. package/dist/core/errorHandler.d.ts.map +1 -0
  27. package/dist/core/index.d.ts +6 -0
  28. package/dist/core/index.d.ts.map +1 -0
  29. package/dist/core/router.d.ts +68 -0
  30. package/dist/core/router.d.ts.map +1 -0
  31. package/dist/core/server.d.ts +4 -0
  32. package/dist/core/server.d.ts.map +1 -0
  33. package/dist/database/connection.d.ts +39 -0
  34. package/dist/database/connection.d.ts.map +1 -0
  35. package/dist/database/index.d.ts +28 -0
  36. package/dist/database/index.d.ts.map +1 -0
  37. package/dist/database/model.d.ts +118 -0
  38. package/dist/database/model.d.ts.map +1 -0
  39. package/dist/database/schema.d.ts +63 -0
  40. package/dist/database/schema.d.ts.map +1 -0
  41. package/dist/database/types.d.ts +270 -0
  42. package/dist/database/types.d.ts.map +1 -0
  43. package/dist/docker/index.d.ts +3 -0
  44. package/dist/docker/index.d.ts.map +1 -0
  45. package/dist/docker/index.js +2 -0
  46. package/dist/docker/index.js.map +1 -0
  47. package/dist/docker/manager.d.ts +21 -0
  48. package/dist/docker/manager.d.ts.map +1 -0
  49. package/dist/i18n/index.d.ts +38 -0
  50. package/dist/i18n/index.d.ts.map +1 -0
  51. package/dist/i18n/locales/en.d.ts +2 -0
  52. package/dist/i18n/locales/en.d.ts.map +1 -0
  53. package/dist/i18n/locales/he.d.ts +2 -0
  54. package/dist/i18n/locales/he.d.ts.map +1 -0
  55. package/dist/index.cjs.js +24 -0
  56. package/dist/index.cjs.js.map +1 -0
  57. package/dist/index.d.ts +21 -0
  58. package/dist/index.d.ts.map +1 -0
  59. package/dist/index.es.js +2094 -0
  60. package/dist/index.es.js.map +1 -0
  61. package/dist/logger-D7aJSi62.mjs +102 -0
  62. package/dist/logger-D7aJSi62.mjs.map +1 -0
  63. package/dist/logger-DEnWXtpk.js +3 -0
  64. package/dist/logger-DEnWXtpk.js.map +1 -0
  65. package/dist/manager-B1UKMjXW.js +4 -0
  66. package/dist/manager-B1UKMjXW.js.map +1 -0
  67. package/dist/manager-B6vqJgEn.mjs +152 -0
  68. package/dist/manager-B6vqJgEn.mjs.map +1 -0
  69. package/dist/portal.d.ts +13 -0
  70. package/dist/portal.d.ts.map +1 -0
  71. package/dist/types/config.types.d.ts +83 -0
  72. package/dist/types/config.types.d.ts.map +1 -0
  73. package/dist/types/docker.types.d.ts +92 -0
  74. package/dist/types/docker.types.d.ts.map +1 -0
  75. package/dist/types/index.d.ts +7 -0
  76. package/dist/types/index.d.ts.map +1 -0
  77. package/dist/types/logger.types.d.ts +35 -0
  78. package/dist/types/logger.types.d.ts.map +1 -0
  79. package/dist/types/route.types.d.ts +78 -0
  80. package/dist/types/route.types.d.ts.map +1 -0
  81. package/dist/types/server.types.d.ts +67 -0
  82. package/dist/types/server.types.d.ts.map +1 -0
  83. package/dist/types/validation.types.d.ts +64 -0
  84. package/dist/types/validation.types.d.ts.map +1 -0
  85. package/dist/utils/helpers.d.ts +7 -0
  86. package/dist/utils/helpers.d.ts.map +1 -0
  87. package/dist/utils/httpLogger.d.ts +52 -0
  88. package/dist/utils/httpLogger.d.ts.map +1 -0
  89. package/dist/utils/index.d.ts +6 -0
  90. package/dist/utils/index.d.ts.map +1 -0
  91. package/dist/utils/logger.d.ts +6 -0
  92. package/dist/utils/logger.d.ts.map +1 -0
  93. package/dist/utils/object.d.ts +6 -0
  94. package/dist/utils/object.d.ts.map +1 -0
  95. package/dist/validation/index.d.ts +5 -0
  96. package/dist/validation/index.d.ts.map +1 -0
  97. package/dist/validation/index.js +2 -0
  98. package/dist/validation/index.js.map +1 -0
  99. package/dist/validation/mongo.d.ts +13 -0
  100. package/dist/validation/mongo.d.ts.map +1 -0
  101. package/dist/validation/paramValidators.d.ts +18 -0
  102. package/dist/validation/paramValidators.d.ts.map +1 -0
  103. package/dist/validation/validators.d.ts +9 -0
  104. package/dist/validation/validators.d.ts.map +1 -0
  105. package/harbor.config.example.json +72 -0
  106. package/package.json +107 -0
  107. package/templates/default/.eslintrc.json +45 -0
  108. package/templates/default/README.md +97 -0
  109. package/templates/default/constants/config.ts +26 -0
  110. package/templates/default/constants/http.ts +32 -0
  111. package/templates/default/constants/index.ts +3 -0
  112. package/templates/default/controllers/index.ts +6 -0
  113. package/templates/default/controllers/user.controller.ts +77 -0
  114. package/templates/default/env.example +22 -0
  115. package/templates/default/harbor.version.json +7 -0
  116. package/templates/default/models/index.ts +6 -0
  117. package/templates/default/models/user.model.ts +68 -0
  118. package/templates/default/package.json +44 -0
  119. package/templates/default/routes/index.ts +12 -0
  120. package/templates/default/routes/user.routes.ts +21 -0
  121. package/templates/default/server.ts +45 -0
  122. package/templates/default/services/index.ts +6 -0
  123. package/templates/default/services/user.service.ts +84 -0
  124. package/templates/default/tsconfig.json +35 -0
  125. package/templates/default/types/index.ts +57 -0
  126. package/templates/default/utils/asyncHandler.ts +14 -0
  127. package/templates/default/utils/index.ts +5 -0
  128. package/templates/default/utils/logger.ts +52 -0
  129. package/templates/default/utils/response.ts +24 -0
  130. package/templates/default/utils/validation.ts +23 -0
@@ -0,0 +1,118 @@
1
+ import { Schema } from './schema';
2
+ import { QueryOptions, UpdateResult, DeleteResult, IndexDefinition, IndexOptions, AggregateOptions, PopulateOptions, BulkWriteOperation, BulkWriteResult } from './types';
3
+
4
+ export declare class Query<T> implements PromiseLike<T> {
5
+ private _model;
6
+ private _operation;
7
+ private _filter;
8
+ private _projection;
9
+ private _options;
10
+ private _update;
11
+ private _currentPath;
12
+ constructor(model: Model<any>, operation: 'find' | 'findOne' | 'findOneAndUpdate' | 'findOneAndDelete', filter?: Record<string, unknown>, update?: Record<string, unknown>);
13
+ select(fields: string | Record<string, 0 | 1>): Query<T>;
14
+ sort(fields: string | Record<string, 1 | -1>): Query<T>;
15
+ limit(n: number): Query<T>;
16
+ skip(n: number): Query<T>;
17
+ lean(): Query<T>;
18
+ populate(path: string | PopulateOptions | PopulateOptions[]): Query<T>;
19
+ where(path: string, value?: unknown): Query<T>;
20
+ equals(value: unknown): Query<T>;
21
+ gt(value: unknown): Query<T>;
22
+ gte(value: unknown): Query<T>;
23
+ lt(value: unknown): Query<T>;
24
+ lte(value: unknown): Query<T>;
25
+ in(values: unknown[]): Query<T>;
26
+ nin(values: unknown[]): Query<T>;
27
+ ne(value: unknown): Query<T>;
28
+ regex(pattern: RegExp | string): Query<T>;
29
+ exists(value?: boolean): Query<T>;
30
+ or(conditions: Record<string, unknown>[]): Query<T>;
31
+ and(conditions: Record<string, unknown>[]): Query<T>;
32
+ nor(conditions: Record<string, unknown>[]): Query<T>;
33
+ exec(): Promise<T>;
34
+ then<TResult1 = T, TResult2 = never>(onfulfilled?: ((value: T) => TResult1 | PromiseLike<TResult1>) | null, onrejected?: ((reason: unknown) => TResult2 | PromiseLike<TResult2>) | null): Promise<TResult1 | TResult2>;
35
+ catch<TResult = never>(onrejected?: ((reason: unknown) => TResult | PromiseLike<TResult>) | null): Promise<T | TResult>;
36
+ finally(onfinally?: (() => void) | null): Promise<T>;
37
+ [Symbol.toStringTag]: string;
38
+ }
39
+ export declare class HarborDocument {
40
+ [key: string]: unknown;
41
+ _id: string;
42
+ __v?: number;
43
+ isNew: boolean;
44
+ private _model;
45
+ private _modified;
46
+ /** Snapshot of document at load time for change tracking */
47
+ private _original;
48
+ constructor(model: Model<any>, doc?: Record<string, unknown>);
49
+ /** Snapshot of document at load for change tracking */
50
+ get original(): Record<string, unknown>;
51
+ get id(): string;
52
+ isModified(path?: string): boolean;
53
+ markModified(path: string): void;
54
+ save(): Promise<this>;
55
+ remove(): Promise<this>;
56
+ deleteOne(): Promise<DeleteResult>;
57
+ updateOne(update: Record<string, unknown>): Promise<UpdateResult>;
58
+ populate(_path: string | PopulateOptions): Promise<this>;
59
+ toObject(): Record<string, unknown>;
60
+ toJSON(): Record<string, unknown>;
61
+ }
62
+ export declare class Model<T extends HarborDocument = HarborDocument> {
63
+ private _name;
64
+ private _schema;
65
+ private _collectionName;
66
+ static models: Map<string, Model<any>>;
67
+ constructor(name: string, schema: Schema, collectionName?: string);
68
+ get modelName(): string;
69
+ get schema(): Schema;
70
+ get collection(): {
71
+ name: string;
72
+ };
73
+ getCollection(): any;
74
+ new(doc?: Partial<T>): T;
75
+ hydrate(doc: Record<string, unknown>): T;
76
+ find(filter?: Record<string, unknown>, projection?: Record<string, 0 | 1>, options?: QueryOptions): Query<T[]>;
77
+ findOne(filter?: Record<string, unknown>, projection?: Record<string, 0 | 1>, options?: QueryOptions): Query<T | null>;
78
+ findById(id: string, projection?: Record<string, 0 | 1>, options?: QueryOptions): Query<T | null>;
79
+ create(doc: Partial<T> | Partial<T>[]): Promise<T | T[]>;
80
+ insertMany(docs: Partial<T>[], options?: {
81
+ ordered?: boolean;
82
+ }): Promise<{
83
+ insertedCount: number;
84
+ insertedIds: string[];
85
+ }>;
86
+ updateOne(filter: Record<string, unknown>, update: Record<string, unknown>, options?: QueryOptions): Promise<UpdateResult>;
87
+ updateMany(filter: Record<string, unknown>, update: Record<string, unknown>, options?: QueryOptions): Promise<UpdateResult>;
88
+ findOneAndUpdate(filter: Record<string, unknown>, update: Record<string, unknown>, options?: QueryOptions): Query<T | null>;
89
+ findByIdAndUpdate(id: string, update: Record<string, unknown>, options?: QueryOptions): Query<T | null>;
90
+ replaceOne(filter: Record<string, unknown>, replacement: Partial<T>, options?: QueryOptions): Promise<UpdateResult>;
91
+ deleteOne(filter: Record<string, unknown>): Promise<DeleteResult>;
92
+ deleteMany(filter: Record<string, unknown>): Promise<DeleteResult>;
93
+ findOneAndDelete(filter: Record<string, unknown>, options?: QueryOptions): Query<T | null>;
94
+ findByIdAndDelete(id: string, options?: QueryOptions): Query<T | null>;
95
+ countDocuments(filter?: Record<string, unknown>): Promise<number>;
96
+ estimatedDocumentCount(): Promise<number>;
97
+ aggregate<R = unknown>(pipeline: Record<string, unknown>[], options?: AggregateOptions): Promise<R[]>;
98
+ distinct(field: string, filter?: Record<string, unknown>): Promise<unknown[]>;
99
+ exists(filter: Record<string, unknown>): Promise<{
100
+ _id: string;
101
+ } | null>;
102
+ bulkWrite(operations: BulkWriteOperation<T>[]): Promise<BulkWriteResult>;
103
+ createIndex(fields: IndexDefinition, options?: IndexOptions): Promise<string>;
104
+ createIndexes(indexes: Array<{
105
+ fields: IndexDefinition;
106
+ options?: IndexOptions;
107
+ }>): Promise<string[]>;
108
+ listIndexes(): Promise<unknown[]>;
109
+ dropIndex(indexName: string): Promise<void>;
110
+ populate<P extends T>(docs: P | P[], _options: PopulateOptions | PopulateOptions[]): Promise<P | P[]>;
111
+ watch(pipeline?: Record<string, unknown>[], options?: {
112
+ fullDocument?: 'default' | 'updateLookup';
113
+ }): unknown;
114
+ runPreHooks(hookName: string, context: unknown): Promise<void>;
115
+ runPostHooks(hookName: string, context: unknown): Promise<void>;
116
+ }
117
+ export declare function model<T extends HarborDocument = HarborDocument>(name: string, schema: Schema, collectionName?: string): Model<T>;
118
+ //# sourceMappingURL=model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/database/model.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,63 @@
1
+ import { SchemaDefinition, SchemaFieldDefinition, SchemaOptions, MiddlewareFunction, VirtualDefinition, HookType, QueryHookType, IndexDefinition, IndexOptions } from './types';
2
+
3
+ export declare class Schema<T = unknown> {
4
+ private _definition;
5
+ private _options;
6
+ private _paths;
7
+ private _virtuals;
8
+ private _methods;
9
+ private _statics;
10
+ private _preHooks;
11
+ private _postHooks;
12
+ private _indexes;
13
+ private _plugins;
14
+ methods: Record<string, Function>;
15
+ statics: Record<string, Function>;
16
+ virtuals: Record<string, VirtualDefinition>;
17
+ constructor(definition: SchemaDefinition, options?: SchemaOptions);
18
+ private _parseDefinition;
19
+ add(definition: SchemaDefinition, prefix?: string): this;
20
+ path(name: string): SchemaFieldDefinition | undefined;
21
+ paths(): Map<string, SchemaFieldDefinition>;
22
+ virtual(name: string): VirtualBuilder;
23
+ method(name: string, fn: Function): this;
24
+ static(name: string, fn: Function): this;
25
+ pre<K extends HookType | QueryHookType>(hookName: K | K[], fn: MiddlewareFunction<T>): this;
26
+ post<K extends HookType | QueryHookType>(hookName: K | K[], fn: MiddlewareFunction<T>): this;
27
+ index(fields: IndexDefinition, options?: IndexOptions): this;
28
+ plugin(fn: (schema: Schema<T>, options?: unknown) => void, options?: unknown): this;
29
+ loadClass(cls: new () => unknown): this;
30
+ clone(): Schema<T>;
31
+ get options(): SchemaOptions;
32
+ get definition(): SchemaDefinition;
33
+ getMethods(): Map<string, Function>;
34
+ getStatics(): Map<string, Function>;
35
+ getVirtuals(): Map<string, VirtualDefinition>;
36
+ getPreHooks(): Map<string, MiddlewareFunction[]>;
37
+ getPostHooks(): Map<string, MiddlewareFunction[]>;
38
+ getIndexes(): Array<{
39
+ fields: IndexDefinition;
40
+ options?: IndexOptions;
41
+ }>;
42
+ validate(doc: Record<string, unknown>): Promise<{
43
+ valid: boolean;
44
+ errors?: Array<{
45
+ path: string;
46
+ message: string;
47
+ }>;
48
+ }>;
49
+ private _getNestedValue;
50
+ private _validateField;
51
+ private _validateType;
52
+ transformValue(path: string, value: unknown): unknown;
53
+ getDefault(path: string): unknown;
54
+ }
55
+ declare class VirtualBuilder {
56
+ private schema;
57
+ private name;
58
+ constructor(schema: Schema, name: string);
59
+ get(fn: () => unknown): this;
60
+ set(fn: (value: unknown) => void): this;
61
+ }
62
+ export { Schema as default };
63
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/database/schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,270 @@
1
+ export type SchemaType = 'String' | 'Number' | 'Boolean' | 'Date' | 'ObjectId' | 'Array' | 'Object' | 'Mixed' | 'Buffer' | 'Decimal128' | 'Map' | 'UUID';
2
+ export interface SchemaFieldDefinition {
3
+ type: SchemaType | SchemaFieldDefinition | SchemaFieldDefinition[];
4
+ required?: boolean;
5
+ default?: unknown | (() => unknown);
6
+ unique?: boolean;
7
+ index?: boolean;
8
+ sparse?: boolean;
9
+ lowercase?: boolean;
10
+ uppercase?: boolean;
11
+ trim?: boolean;
12
+ minLength?: number;
13
+ maxLength?: number;
14
+ min?: number | Date;
15
+ max?: number | Date;
16
+ enum?: unknown[];
17
+ match?: RegExp;
18
+ ref?: string;
19
+ validate?: {
20
+ validator: (value: unknown) => boolean | Promise<boolean>;
21
+ message?: string;
22
+ };
23
+ get?: (value: unknown) => unknown;
24
+ set?: (value: unknown) => unknown;
25
+ alias?: string;
26
+ immutable?: boolean;
27
+ select?: boolean;
28
+ }
29
+ export type SchemaDefinition = Record<string, SchemaType | SchemaFieldDefinition>;
30
+ export interface SchemaOptions {
31
+ timestamps?: boolean | {
32
+ createdAt?: string | boolean;
33
+ updatedAt?: string | boolean;
34
+ };
35
+ collection?: string;
36
+ strict?: boolean;
37
+ strictQuery?: boolean;
38
+ _id?: boolean;
39
+ id?: boolean;
40
+ versionKey?: string | boolean;
41
+ autoIndex?: boolean;
42
+ autoCreate?: boolean;
43
+ minimize?: boolean;
44
+ toJSON?: {
45
+ virtuals?: boolean;
46
+ getters?: boolean;
47
+ };
48
+ toObject?: {
49
+ virtuals?: boolean;
50
+ getters?: boolean;
51
+ };
52
+ }
53
+ export interface MiddlewareFunction<T = unknown> {
54
+ (this: T, next: () => void): void | Promise<void>;
55
+ }
56
+ export interface QueryMiddlewareFunction<T = unknown> {
57
+ (this: T, next: () => void): void | Promise<void>;
58
+ }
59
+ export interface VirtualDefinition {
60
+ get?: () => unknown;
61
+ set?: (value: unknown) => void;
62
+ }
63
+ export interface QueryOptions {
64
+ lean?: boolean;
65
+ populate?: string | string[] | PopulateOptions | PopulateOptions[];
66
+ select?: string | Record<string, 0 | 1>;
67
+ sort?: string | Record<string, 1 | -1 | 'asc' | 'desc'>;
68
+ limit?: number;
69
+ skip?: number;
70
+ projection?: Record<string, 0 | 1>;
71
+ session?: unknown;
72
+ new?: boolean;
73
+ upsert?: boolean;
74
+ runValidators?: boolean;
75
+ }
76
+ export interface PopulateOptions {
77
+ path: string;
78
+ select?: string;
79
+ model?: string;
80
+ match?: Record<string, unknown>;
81
+ options?: QueryOptions;
82
+ populate?: PopulateOptions | PopulateOptions[];
83
+ }
84
+ export interface UpdateResult {
85
+ acknowledged: boolean;
86
+ modifiedCount: number;
87
+ matchedCount: number;
88
+ upsertedCount?: number;
89
+ upsertedId?: string;
90
+ }
91
+ export interface DeleteResult {
92
+ acknowledged: boolean;
93
+ deletedCount: number;
94
+ }
95
+ export interface InsertManyResult<T> {
96
+ acknowledged: boolean;
97
+ insertedCount: number;
98
+ insertedIds: Record<number, string>;
99
+ ops: T[];
100
+ }
101
+ export interface AggregateOptions {
102
+ allowDiskUse?: boolean;
103
+ maxTimeMS?: number;
104
+ readPreference?: string;
105
+ hint?: Record<string, 1 | -1> | string;
106
+ session?: unknown;
107
+ }
108
+ export interface IndexDefinition {
109
+ [key: string]: 1 | -1 | 'text' | '2dsphere' | '2d' | 'hashed';
110
+ }
111
+ export interface IndexOptions {
112
+ unique?: boolean;
113
+ sparse?: boolean;
114
+ background?: boolean;
115
+ expireAfterSeconds?: number;
116
+ name?: string;
117
+ partialFilterExpression?: Record<string, unknown>;
118
+ }
119
+ export interface ConnectionOptions {
120
+ useNewUrlParser?: boolean;
121
+ useUnifiedTopology?: boolean;
122
+ maxPoolSize?: number;
123
+ minPoolSize?: number;
124
+ serverSelectionTimeoutMS?: number;
125
+ socketTimeoutMS?: number;
126
+ family?: 4 | 6;
127
+ authSource?: string;
128
+ authMechanism?: string;
129
+ replicaSet?: string;
130
+ ssl?: boolean;
131
+ tls?: boolean;
132
+ tlsCAFile?: string;
133
+ tlsCertificateKeyFile?: string;
134
+ retryWrites?: boolean;
135
+ w?: number | 'majority';
136
+ wtimeoutMS?: number;
137
+ journal?: boolean;
138
+ appName?: string;
139
+ compressors?: string[];
140
+ directConnection?: boolean;
141
+ }
142
+ export interface ConnectionState {
143
+ connected: boolean;
144
+ readyState: 0 | 1 | 2 | 3;
145
+ host?: string;
146
+ port?: number;
147
+ name?: string;
148
+ }
149
+ export type HookType = 'save' | 'validate' | 'remove' | 'updateOne' | 'deleteOne' | 'deleteMany' | 'findOneAndUpdate' | 'findOneAndDelete' | 'init';
150
+ export type QueryHookType = 'find' | 'findOne' | 'findOneAndUpdate' | 'findOneAndDelete' | 'updateOne' | 'updateMany' | 'deleteOne' | 'deleteMany' | 'countDocuments' | 'estimatedDocumentCount';
151
+ export interface Document {
152
+ _id: string;
153
+ __v?: number;
154
+ createdAt?: Date;
155
+ updatedAt?: Date;
156
+ save(): Promise<this>;
157
+ remove(): Promise<this>;
158
+ deleteOne(): Promise<DeleteResult>;
159
+ updateOne(update: Record<string, unknown>): Promise<UpdateResult>;
160
+ toJSON(): Record<string, unknown>;
161
+ toObject(): Record<string, unknown>;
162
+ populate(path: string | PopulateOptions): Promise<this>;
163
+ isModified(path?: string): boolean;
164
+ isNew: boolean;
165
+ id: string;
166
+ }
167
+ export interface ModelStatic<T extends Document = Document> {
168
+ new (doc?: Partial<T>): T;
169
+ modelName: string;
170
+ collection: {
171
+ name: string;
172
+ };
173
+ schema: unknown;
174
+ find(filter?: Record<string, unknown>, projection?: Record<string, 0 | 1>, options?: QueryOptions): Query<T[]>;
175
+ findOne(filter?: Record<string, unknown>, projection?: Record<string, 0 | 1>, options?: QueryOptions): Query<T | null>;
176
+ findById(id: string, projection?: Record<string, 0 | 1>, options?: QueryOptions): Query<T | null>;
177
+ create(doc: Partial<T> | Partial<T>[]): Promise<T | T[]>;
178
+ insertMany(docs: Partial<T>[], options?: {
179
+ ordered?: boolean;
180
+ }): Promise<InsertManyResult<T>>;
181
+ updateOne(filter: Record<string, unknown>, update: Record<string, unknown>, options?: QueryOptions): Promise<UpdateResult>;
182
+ updateMany(filter: Record<string, unknown>, update: Record<string, unknown>, options?: QueryOptions): Promise<UpdateResult>;
183
+ findOneAndUpdate(filter: Record<string, unknown>, update: Record<string, unknown>, options?: QueryOptions): Query<T | null>;
184
+ findByIdAndUpdate(id: string, update: Record<string, unknown>, options?: QueryOptions): Query<T | null>;
185
+ replaceOne(filter: Record<string, unknown>, replacement: Partial<T>, options?: QueryOptions): Promise<UpdateResult>;
186
+ deleteOne(filter: Record<string, unknown>): Promise<DeleteResult>;
187
+ deleteMany(filter: Record<string, unknown>): Promise<DeleteResult>;
188
+ findOneAndDelete(filter: Record<string, unknown>, options?: QueryOptions): Query<T | null>;
189
+ findByIdAndDelete(id: string, options?: QueryOptions): Query<T | null>;
190
+ countDocuments(filter?: Record<string, unknown>): Promise<number>;
191
+ estimatedDocumentCount(): Promise<number>;
192
+ aggregate<R = unknown>(pipeline: Record<string, unknown>[], options?: AggregateOptions): Promise<R[]>;
193
+ distinct(field: string, filter?: Record<string, unknown>): Promise<unknown[]>;
194
+ exists(filter: Record<string, unknown>): Promise<{
195
+ _id: string;
196
+ } | null>;
197
+ bulkWrite(operations: BulkWriteOperation<T>[]): Promise<BulkWriteResult>;
198
+ createIndex(fields: IndexDefinition, options?: IndexOptions): Promise<string>;
199
+ createIndexes(indexes: Array<{
200
+ fields: IndexDefinition;
201
+ options?: IndexOptions;
202
+ }>): Promise<string[]>;
203
+ listIndexes(): Promise<unknown[]>;
204
+ dropIndex(indexName: string): Promise<void>;
205
+ populate<P extends T>(docs: P | P[], options: PopulateOptions | PopulateOptions[]): Promise<P | P[]>;
206
+ watch(pipeline?: Record<string, unknown>[], options?: {
207
+ fullDocument?: 'default' | 'updateLookup';
208
+ }): unknown;
209
+ }
210
+ export interface Query<T> extends Promise<T> {
211
+ select(fields: string | Record<string, 0 | 1>): Query<T>;
212
+ sort(fields: string | Record<string, 1 | -1>): Query<T>;
213
+ limit(n: number): Query<T>;
214
+ skip(n: number): Query<T>;
215
+ lean(): Query<T>;
216
+ populate(path: string | PopulateOptions | PopulateOptions[]): Query<T>;
217
+ where(path: string, value?: unknown): Query<T>;
218
+ equals(value: unknown): Query<T>;
219
+ gt(value: unknown): Query<T>;
220
+ gte(value: unknown): Query<T>;
221
+ lt(value: unknown): Query<T>;
222
+ lte(value: unknown): Query<T>;
223
+ in(values: unknown[]): Query<T>;
224
+ nin(values: unknown[]): Query<T>;
225
+ ne(value: unknown): Query<T>;
226
+ regex(pattern: RegExp | string): Query<T>;
227
+ exists(value?: boolean): Query<T>;
228
+ or(conditions: Record<string, unknown>[]): Query<T>;
229
+ and(conditions: Record<string, unknown>[]): Query<T>;
230
+ nor(conditions: Record<string, unknown>[]): Query<T>;
231
+ exec(): Promise<T>;
232
+ then<TResult1 = T, TResult2 = never>(onfulfilled?: ((value: T) => TResult1 | PromiseLike<TResult1>) | undefined | null, onrejected?: ((reason: unknown) => TResult2 | PromiseLike<TResult2>) | undefined | null): Promise<TResult1 | TResult2>;
233
+ }
234
+ export interface BulkWriteOperation<T> {
235
+ insertOne?: {
236
+ document: Partial<T>;
237
+ };
238
+ updateOne?: {
239
+ filter: Record<string, unknown>;
240
+ update: Record<string, unknown>;
241
+ upsert?: boolean;
242
+ };
243
+ updateMany?: {
244
+ filter: Record<string, unknown>;
245
+ update: Record<string, unknown>;
246
+ upsert?: boolean;
247
+ };
248
+ deleteOne?: {
249
+ filter: Record<string, unknown>;
250
+ };
251
+ deleteMany?: {
252
+ filter: Record<string, unknown>;
253
+ };
254
+ replaceOne?: {
255
+ filter: Record<string, unknown>;
256
+ replacement: Partial<T>;
257
+ upsert?: boolean;
258
+ };
259
+ }
260
+ export interface BulkWriteResult {
261
+ ok: number;
262
+ insertedCount: number;
263
+ matchedCount: number;
264
+ modifiedCount: number;
265
+ deletedCount: number;
266
+ upsertedCount: number;
267
+ insertedIds: Record<number, string>;
268
+ upsertedIds: Record<number, string>;
269
+ }
270
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/database/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export { DockerManager, createDockerManager } from './manager';
2
+ export type { DockerManagerConfig, DockerContainer, DockerImage } from '../types';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/docker/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAC/D,YAAY,EAAE,mBAAmB,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../manager-B1UKMjXW.js");exports.DockerManager=e.DockerManager;exports.createDockerManager=e.createDockerManager;
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,21 @@
1
+ import { DockerManager as IDockerManager, DockerManagerConfig, DockerContainer, DockerImage } from '../types';
2
+
3
+ export declare function createDockerManager(config?: DockerManagerConfig): IDockerManager;
4
+ export declare class DockerManager implements IDockerManager {
5
+ private manager;
6
+ constructor(config?: DockerManagerConfig);
7
+ listContainers: () => Promise<DockerContainer[]>;
8
+ listImages: () => Promise<DockerImage[]>;
9
+ startContainer: (nameOrId: string) => Promise<void>;
10
+ stopContainer: (nameOrId: string) => Promise<void>;
11
+ restartContainer: (nameOrId: string) => Promise<void>;
12
+ removeContainer: (nameOrId: string, force?: boolean) => Promise<void>;
13
+ buildImage: (name: string, tag?: string) => Promise<void>;
14
+ pushImage: (name: string, tag?: string) => Promise<void>;
15
+ pullImage: (name: string, tag?: string) => Promise<void>;
16
+ composeUp: (detach?: boolean) => Promise<void>;
17
+ composeDown: (removeVolumes?: boolean) => Promise<void>;
18
+ composeLogs: (service?: string, follow?: boolean) => Promise<string>;
19
+ exec: (container: string, command: string) => Promise<string>;
20
+ }
21
+ //# sourceMappingURL=manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/docker/manager.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,aAAa,IAAI,cAAc,EAC/B,mBAAmB,EACnB,eAAe,EACf,WAAW,EAGZ,MAAM,UAAU,CAAC;AAMlB,wBAAgB,mBAAmB,CAAC,MAAM,GAAE,mBAAwB,GAAG,cAAc,CAiKpF;AAqCD,qBAAa,aAAc,YAAW,cAAc;IAClD,OAAO,CAAC,OAAO,CAAiB;gBAEpB,MAAM,GAAE,mBAAwB;IAI5C,cAAc,mCAAuC;IACrD,UAAU,+BAAmC;IAC7C,cAAc,GAAI,UAAU,MAAM,mBAA2C;IAC7E,aAAa,GAAI,UAAU,MAAM,mBAA0C;IAC3E,gBAAgB,GAAI,UAAU,MAAM,mBAA6C;IACjF,eAAe,GAAI,UAAU,MAAM,EAAE,QAAQ,OAAO,mBAAmD;IACvG,UAAU,GAAI,MAAM,MAAM,EAAE,MAAM,MAAM,mBAAwC;IAChF,SAAS,GAAI,MAAM,MAAM,EAAE,MAAM,MAAM,mBAAuC;IAC9E,SAAS,GAAI,MAAM,MAAM,EAAE,MAAM,MAAM,mBAAuC;IAC9E,SAAS,GAAI,SAAS,OAAO,mBAAoC;IACjE,WAAW,GAAI,gBAAgB,OAAO,mBAA6C;IACnF,WAAW,GAAI,UAAU,MAAM,EAAE,SAAS,OAAO,qBAA+C;IAChG,IAAI,GAAI,WAAW,MAAM,EAAE,SAAS,MAAM,qBAA2C;CACtF"}
@@ -0,0 +1,38 @@
1
+ import { en } from './locales/en';
2
+ import { he } from './locales/he';
3
+
4
+ export type Locale = 'en' | 'he';
5
+ export type TranslationKey = keyof typeof en;
6
+ export interface TranslationParams {
7
+ [key: string]: string | number | boolean | undefined;
8
+ }
9
+ /**
10
+ * Set the current locale
11
+ */
12
+ export declare function setLocale(locale: Locale): void;
13
+ /**
14
+ * Get the current locale
15
+ */
16
+ export declare function getLocale(): Locale;
17
+ /**
18
+ * Get all available locales
19
+ */
20
+ export declare function getAvailableLocales(): Locale[];
21
+ /**
22
+ * Translate a key with optional parameters
23
+ */
24
+ export declare function t(key: string, params?: TranslationParams): string;
25
+ /**
26
+ * Translate a key for a specific locale
27
+ */
28
+ export declare function tLocale(locale: Locale, key: string, params?: TranslationParams): string;
29
+ /**
30
+ * Add or update translations for a locale
31
+ */
32
+ export declare function addTranslations(locale: Locale, translations: Record<string, string>): void;
33
+ /**
34
+ * Register a new locale
35
+ */
36
+ export declare function registerLocale(locale: string, translations: Record<string, string>): void;
37
+ export { en, he };
38
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/i18n/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAElC,MAAM,MAAM,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;AAEjC,MAAM,MAAM,cAAc,GAAG,MAAM,OAAO,EAAE,CAAC;AAE7C,MAAM,WAAW,iBAAiB;IAChC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;CACtD;AASD;;GAEG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAO9C;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,MAAM,CAElC;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,EAAE,CAE9C;AAED;;GAEG;AACH,wBAAgB,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,iBAAiB,GAAG,MAAM,CAWjE;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,iBAAiB,GAAG,MAAM,CAWvF;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAK1F;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAEzF;AAED,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const en: Record<string, string>;
2
+ //# sourceMappingURL=en.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../../src/i18n/locales/en.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAoGrC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const he: Record<string, string>;
2
+ //# sourceMappingURL=he.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"he.d.ts","sourceRoot":"","sources":["../../../src/i18n/locales/he.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAoGrC,CAAC"}