@campxdev/server-shared 1.3.0-alpha.2 → 1.3.0-alpha.21
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/common/filters/unhandled-exception.filter.js +2 -3
- package/dist/common/filters/unhandled-exception.filter.js.map +1 -1
- package/dist/common/index.d.ts +0 -1
- package/dist/common/index.d.ts.map +1 -1
- package/dist/common/index.js +0 -1
- package/dist/common/index.js.map +1 -1
- package/dist/common/interceptors/request.interceptor.d.ts.map +1 -1
- package/dist/common/interceptors/request.interceptor.js +15 -4
- package/dist/common/interceptors/request.interceptor.js.map +1 -1
- package/dist/common/interfaces/context.interface.d.ts +6 -0
- package/dist/common/interfaces/context.interface.d.ts.map +1 -1
- package/dist/common/store/store.interceptor.js +2 -3
- package/dist/common/store/store.interceptor.js.map +1 -1
- package/dist/domain/db-connection.module.js +2 -3
- package/dist/domain/db-connection.module.js.map +1 -1
- package/dist/domain/entities/evaluator.entity.js +2 -3
- package/dist/domain/entities/evaluator.entity.js.map +1 -1
- package/dist/domain/entities/leads.entity.js +2 -3
- package/dist/domain/entities/leads.entity.js.map +1 -1
- package/dist/domain/entities/profile-permission.entity.js +2 -3
- package/dist/domain/entities/profile-permission.entity.js.map +1 -1
- package/dist/domain/entities/profile.entity.d.ts +1 -1
- package/dist/domain/entities/profile.entity.js +3 -4
- package/dist/domain/entities/profile.entity.js.map +1 -1
- package/dist/domain/entities/student.entity.d.ts +12 -5
- package/dist/domain/entities/student.entity.d.ts.map +1 -1
- package/dist/domain/entities/student.entity.js +62 -28
- package/dist/domain/entities/student.entity.js.map +1 -1
- package/dist/domain/entities/user.entity.js +2 -3
- package/dist/domain/entities/user.entity.js.map +1 -1
- package/dist/domain/schemas/global-users.schema.d.ts +5 -3
- package/dist/domain/schemas/global-users.schema.d.ts.map +1 -1
- package/dist/domain/schemas/global-users.schema.js +17 -6
- package/dist/domain/schemas/global-users.schema.js.map +1 -1
- package/dist/domain/schemas/tenant.schema.d.ts +20 -3
- package/dist/domain/schemas/tenant.schema.d.ts.map +1 -1
- package/dist/domain/schemas/tenant.schema.js +85 -29
- package/dist/domain/schemas/tenant.schema.js.map +1 -1
- package/dist/domain/shared-domain.module.js +2 -3
- package/dist/domain/shared-domain.module.js.map +1 -1
- package/dist/permissions/app-permissions/commute-x-permissions.d.ts +119 -0
- package/dist/permissions/app-permissions/commute-x-permissions.d.ts.map +1 -0
- package/dist/permissions/app-permissions/commute-x-permissions.js +129 -0
- package/dist/permissions/app-permissions/commute-x-permissions.js.map +1 -0
- package/dist/permissions/app-permissions/enroll-x-permissions.d.ts.map +1 -1
- package/dist/permissions/app-permissions/enroll-x-permissions.js +5 -0
- package/dist/permissions/app-permissions/enroll-x-permissions.js.map +1 -1
- package/dist/permissions/app-permissions/exams-permissions.d.ts +66 -0
- package/dist/permissions/app-permissions/exams-permissions.d.ts.map +1 -1
- package/dist/permissions/app-permissions/exams-permissions.js +130 -5
- package/dist/permissions/app-permissions/exams-permissions.js.map +1 -1
- package/dist/permissions/app-permissions/hostels-permissions.d.ts +27 -0
- package/dist/permissions/app-permissions/hostels-permissions.d.ts.map +1 -1
- package/dist/permissions/app-permissions/hostels-permissions.js +42 -0
- package/dist/permissions/app-permissions/hostels-permissions.js.map +1 -1
- package/dist/permissions/app-permissions/payments-permissions.d.ts +96 -0
- package/dist/permissions/app-permissions/payments-permissions.d.ts.map +1 -1
- package/dist/permissions/app-permissions/payments-permissions.js +286 -1
- package/dist/permissions/app-permissions/payments-permissions.js.map +1 -1
- package/dist/permissions/app-permissions/people-x-permissions.d.ts +69 -0
- package/dist/permissions/app-permissions/people-x-permissions.d.ts.map +1 -1
- package/dist/permissions/app-permissions/people-x-permissions.js +141 -1
- package/dist/permissions/app-permissions/people-x-permissions.js.map +1 -1
- package/dist/permissions/app-permissions/square-permissions.d.ts +256 -7
- package/dist/permissions/app-permissions/square-permissions.d.ts.map +1 -1
- package/dist/permissions/app-permissions/square-permissions.js +465 -110
- package/dist/permissions/app-permissions/square-permissions.js.map +1 -1
- package/dist/permissions/index.d.ts +1 -0
- package/dist/permissions/index.d.ts.map +1 -1
- package/dist/permissions/index.js +3 -1
- package/dist/permissions/index.js.map +1 -1
- package/dist/permissions/permissions.d.ts +1315 -71
- package/dist/permissions/permissions.d.ts.map +1 -1
- package/dist/permissions/permissions.js +3 -0
- package/dist/permissions/permissions.js.map +1 -1
- package/dist/shared-module/shared.module.d.ts +1 -0
- package/dist/shared-module/shared.module.d.ts.map +1 -1
- package/dist/shared-module/shared.module.js +2 -3
- package/dist/shared-module/shared.module.js.map +1 -1
- package/dist/shared-module/shared.service.d.ts +4 -4
- package/dist/shared-module/shared.service.d.ts.map +1 -1
- package/dist/shared-module/shared.service.js +4 -3
- package/dist/shared-module/shared.service.js.map +1 -1
- package/dist/utils/constants.d.ts +11 -0
- package/dist/utils/constants.d.ts.map +1 -1
- package/dist/utils/constants.js +7 -1
- package/dist/utils/constants.js.map +1 -1
- package/dist/utils/utils.d.ts +11 -5
- package/dist/utils/utils.d.ts.map +1 -1
- package/dist/utils/utils.js +62 -23
- package/dist/utils/utils.js.map +1 -1
- package/package.json +11 -9
- package/dist/common/databases/mongoose.repository.d.ts +0 -41
- package/dist/common/databases/mongoose.repository.d.ts.map +0 -1
- package/dist/common/databases/mongoose.repository.js +0 -95
- package/dist/common/databases/mongoose.repository.js.map +0 -1
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
/// <reference types="mongoose/types/aggregate" />
|
|
2
|
-
/// <reference types="mongoose/types/callback" />
|
|
3
|
-
/// <reference types="mongoose/types/collection" />
|
|
4
|
-
/// <reference types="mongoose/types/connection" />
|
|
5
|
-
/// <reference types="mongoose/types/cursor" />
|
|
6
|
-
/// <reference types="mongoose/types/document" />
|
|
7
|
-
/// <reference types="mongoose/types/error" />
|
|
8
|
-
/// <reference types="mongoose/types/expressions" />
|
|
9
|
-
/// <reference types="mongoose/types/helpers" />
|
|
10
|
-
/// <reference types="mongoose/types/middlewares" />
|
|
11
|
-
/// <reference types="mongoose/types/indexes" />
|
|
12
|
-
/// <reference types="mongoose/types/models" />
|
|
13
|
-
/// <reference types="mongoose/types/mongooseoptions" />
|
|
14
|
-
/// <reference types="mongoose/types/pipelinestage" />
|
|
15
|
-
/// <reference types="mongoose/types/populate" />
|
|
16
|
-
/// <reference types="mongoose/types/query" />
|
|
17
|
-
/// <reference types="mongoose/types/schemaoptions" />
|
|
18
|
-
/// <reference types="mongoose/types/schematypes" />
|
|
19
|
-
/// <reference types="mongoose/types/session" />
|
|
20
|
-
/// <reference types="mongoose/types/types" />
|
|
21
|
-
/// <reference types="mongoose/types/utility" />
|
|
22
|
-
/// <reference types="mongoose/types/validation" />
|
|
23
|
-
/// <reference types="mongoose/types/virtuals" />
|
|
24
|
-
/// <reference types="mongoose/types/inferschematype" />
|
|
25
|
-
import { AggregateOptions, Document, FilterQuery, Model, PipelineStage, ProjectionType, UpdateQuery } from 'mongoose';
|
|
26
|
-
export declare abstract class MongooseRepository<T extends Document> {
|
|
27
|
-
protected readonly schemaModel: Model<T>;
|
|
28
|
-
constructor(schemaModel: Model<T>);
|
|
29
|
-
instance(data: unknown): import("mongoose").IfAny<T, any, Document<unknown, {}, T> & Omit<import("mongoose").Require_id<T>, never>>;
|
|
30
|
-
save(entity: T): Promise<T>;
|
|
31
|
-
create(createEntityData: unknown): Promise<T>;
|
|
32
|
-
findOne(entityFilterQuery: FilterQuery<T>, projection?: Record<string, unknown>): Promise<import("mongoose").IfAny<T, any, Document<unknown, {}, T> & Omit<import("mongoose").Require_id<T>, never>>>;
|
|
33
|
-
findById(id: string, projection?: Record<string, unknown>): Promise<import("mongoose").IfAny<T, any, Document<unknown, {}, T> & Omit<import("mongoose").Require_id<T>, never>>>;
|
|
34
|
-
find(entityFilterQuery: FilterQuery<T>, projection?: ProjectionType<T>): import("mongoose").Query<import("mongoose").IfAny<T, any, Document<unknown, {}, T> & Omit<import("mongoose").Require_id<T>, never>>[], import("mongoose").IfAny<T, any, Document<unknown, {}, T> & Omit<import("mongoose").Require_id<T>, never>>, {}, T>;
|
|
35
|
-
countDocuments(entityFilterQuery: FilterQuery<T>): Promise<number>;
|
|
36
|
-
findOneAndUpdate(entityFilterQuery: FilterQuery<T>, updateEntityData: UpdateQuery<unknown>): Promise<import("mongoose").IfAny<T, any, Document<unknown, {}, T> & Omit<import("mongoose").Require_id<T>, never>>>;
|
|
37
|
-
deleteMany(entityFilterQuery: FilterQuery<T>): Promise<boolean>;
|
|
38
|
-
deleteById(id: string): Promise<import("mongoose").IfAny<T, any, Document<unknown, {}, T> & Omit<import("mongoose").Require_id<T>, never>>>;
|
|
39
|
-
aggregate(pipelines: PipelineStage[], options?: AggregateOptions): Promise<any[]>;
|
|
40
|
-
}
|
|
41
|
-
//# sourceMappingURL=mongoose.repository.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mongoose.repository.d.ts","sourceRoot":"","sources":["../../../src/common/databases/mongoose.repository.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EACL,gBAAgB,EAChB,QAAQ,EACR,WAAW,EACX,KAAK,EACL,aAAa,EACb,cAAc,EACd,WAAW,EACZ,MAAM,UAAU,CAAC;AAIlB,8BAAsB,kBAAkB,CAAC,CAAC,SAAS,QAAQ;IAC7C,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC;gBAArB,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC;IAEpD,QAAQ,CAAC,IAAI,EAAE,OAAO;IAIhB,IAAI,CAAC,MAAM,EAAE,CAAC;IAWd,MAAM,CAAC,gBAAgB,EAAE,OAAO;IAKhC,OAAO,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAW/E,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAW/D,IAAI,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC;IAOhE,cAAc,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAAC,CAAC;IAQhD,gBAAgB,CACpB,iBAAiB,EAAE,WAAW,CAAC,CAAC,CAAC,EACjC,gBAAgB,EAAE,WAAW,CAAC,OAAO,CAAC;IAYlC,UAAU,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAS/D,UAAU,CAAC,EAAE,EAAE,MAAM;IAQrB,SAAS,CAAC,SAAS,EAAE,aAAa,EAAE,EAAE,OAAO,CAAC,EAAE,gBAAgB;CAMvE"}
|
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.MongooseRepository = void 0;
|
|
4
|
-
const request_store_1 = require("../store/request-store");
|
|
5
|
-
const utils_1 = require("../../utils");
|
|
6
|
-
class MongooseRepository {
|
|
7
|
-
schemaModel;
|
|
8
|
-
constructor(schemaModel) {
|
|
9
|
-
this.schemaModel = schemaModel;
|
|
10
|
-
}
|
|
11
|
-
instance(data) {
|
|
12
|
-
return new this.schemaModel(data);
|
|
13
|
-
}
|
|
14
|
-
async save(entity) {
|
|
15
|
-
entity.set('tenantId', (0, request_store_1.getTenantDetails)()._id);
|
|
16
|
-
const res = await this.schemaModel.exists({ _id: entity._id });
|
|
17
|
-
if (res) {
|
|
18
|
-
entity.set('updatedBy', (0, request_store_1.getUserData)()?.userId);
|
|
19
|
-
}
|
|
20
|
-
else {
|
|
21
|
-
entity.set('createdBy', (0, request_store_1.getUserData)()?.userId);
|
|
22
|
-
}
|
|
23
|
-
return entity.save();
|
|
24
|
-
}
|
|
25
|
-
async create(createEntityData) {
|
|
26
|
-
const entity = new this.schemaModel(createEntityData);
|
|
27
|
-
return this.save(entity);
|
|
28
|
-
}
|
|
29
|
-
async findOne(entityFilterQuery, projection) {
|
|
30
|
-
return this.schemaModel
|
|
31
|
-
.findOne(entityFilterQuery, {
|
|
32
|
-
__v: 0,
|
|
33
|
-
...projection,
|
|
34
|
-
})
|
|
35
|
-
.where('tenantId')
|
|
36
|
-
.equals((0, request_store_1.getTenantDetails)()._id)
|
|
37
|
-
.exec();
|
|
38
|
-
}
|
|
39
|
-
async findById(id, projection) {
|
|
40
|
-
return this.schemaModel
|
|
41
|
-
.findById(id, {
|
|
42
|
-
__v: 0,
|
|
43
|
-
...projection,
|
|
44
|
-
})
|
|
45
|
-
.where('tenantId')
|
|
46
|
-
.equals((0, request_store_1.getTenantDetails)()._id)
|
|
47
|
-
.exec();
|
|
48
|
-
}
|
|
49
|
-
find(entityFilterQuery, projection) {
|
|
50
|
-
return this.schemaModel
|
|
51
|
-
.find(entityFilterQuery, projection)
|
|
52
|
-
.where('tenantId')
|
|
53
|
-
.equals((0, request_store_1.getTenantDetails)()._id);
|
|
54
|
-
}
|
|
55
|
-
async countDocuments(entityFilterQuery) {
|
|
56
|
-
return this.schemaModel
|
|
57
|
-
.countDocuments(entityFilterQuery)
|
|
58
|
-
.where('tenantId')
|
|
59
|
-
.equals((0, request_store_1.getTenantDetails)()._id)
|
|
60
|
-
.exec();
|
|
61
|
-
}
|
|
62
|
-
async findOneAndUpdate(entityFilterQuery, updateEntityData) {
|
|
63
|
-
updateEntityData.set('updatedBy', (0, request_store_1.getUserData)()?.userId);
|
|
64
|
-
return this.schemaModel
|
|
65
|
-
.findOneAndUpdate(entityFilterQuery, updateEntityData, {
|
|
66
|
-
new: true,
|
|
67
|
-
})
|
|
68
|
-
.where('tenantId')
|
|
69
|
-
.equals((0, request_store_1.getTenantDetails)()._id)
|
|
70
|
-
.exec();
|
|
71
|
-
}
|
|
72
|
-
async deleteMany(entityFilterQuery) {
|
|
73
|
-
const deleteResult = await this.schemaModel
|
|
74
|
-
.deleteMany(entityFilterQuery)
|
|
75
|
-
.where('tenantId')
|
|
76
|
-
.equals((0, request_store_1.getTenantDetails)()._id)
|
|
77
|
-
.exec();
|
|
78
|
-
return deleteResult.deletedCount >= 1;
|
|
79
|
-
}
|
|
80
|
-
async deleteById(id) {
|
|
81
|
-
return this.schemaModel
|
|
82
|
-
.findByIdAndDelete(id)
|
|
83
|
-
.where('tenantId')
|
|
84
|
-
.equals((0, request_store_1.getTenantDetails)()._id)
|
|
85
|
-
.exec();
|
|
86
|
-
}
|
|
87
|
-
async aggregate(pipelines, options) {
|
|
88
|
-
pipelines.unshift({
|
|
89
|
-
$match: { tenantId: (0, utils_1.getObjectId)((0, request_store_1.getTenantDetails)()._id) },
|
|
90
|
-
});
|
|
91
|
-
return this.schemaModel.aggregate(pipelines, options).exec();
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
exports.MongooseRepository = MongooseRepository;
|
|
95
|
-
//# sourceMappingURL=mongoose.repository.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mongoose.repository.js","sourceRoot":"","sources":["../../../src/common/databases/mongoose.repository.ts"],"names":[],"mappings":"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"}
|