itlab-internal-services 1.10.0 → 1.11.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.
package/dist/index.d.ts CHANGED
@@ -4,5 +4,6 @@ export * from './interceptors';
4
4
  export * from './interfaces';
5
5
  export * from './internal.module';
6
6
  export * from './pipes';
7
+ export * from './populate';
7
8
  export * from './services';
8
9
  export * from './swagger.config';
package/dist/index.js CHANGED
@@ -20,5 +20,6 @@ __exportStar(require("./interceptors"), exports);
20
20
  __exportStar(require("./interfaces"), exports);
21
21
  __exportStar(require("./internal.module"), exports);
22
22
  __exportStar(require("./pipes"), exports);
23
+ __exportStar(require("./populate"), exports);
23
24
  __exportStar(require("./services"), exports);
24
25
  __exportStar(require("./swagger.config"), exports);
@@ -0,0 +1,14 @@
1
+ import { ModelDefinition } from '@nestjs/mongoose';
2
+ import { Document } from 'mongoose';
3
+ declare class AvatarModel {
4
+ extension: string;
5
+ mimetype: string;
6
+ size: number;
7
+ }
8
+ export declare class AccountModel extends Document {
9
+ username: string;
10
+ email: string;
11
+ avatar?: AvatarModel;
12
+ }
13
+ export declare const AccountDefinition: ModelDefinition;
14
+ export {};
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.AccountDefinition = exports.AccountModel = void 0;
13
+ const mongoose_1 = require("@nestjs/mongoose");
14
+ const mongoose_2 = require("mongoose");
15
+ class AvatarModel {
16
+ }
17
+ const transform = {
18
+ virtuals: true,
19
+ transform: (_, ret) => {
20
+ if (ret.avatar)
21
+ ret.avatar = `https://services.svi-itlab.com/account/avatar/${ret.id}`;
22
+ delete ret._id;
23
+ delete ret.__v;
24
+ delete ret.createdAt;
25
+ delete ret.updatedAt;
26
+ return ret;
27
+ },
28
+ };
29
+ let AccountModel = class AccountModel extends mongoose_2.Document {
30
+ };
31
+ __decorate([
32
+ (0, mongoose_1.Prop)(),
33
+ __metadata("design:type", String)
34
+ ], AccountModel.prototype, "username", void 0);
35
+ __decorate([
36
+ (0, mongoose_1.Prop)(),
37
+ __metadata("design:type", String)
38
+ ], AccountModel.prototype, "email", void 0);
39
+ __decorate([
40
+ (0, mongoose_1.Prop)({ type: AvatarModel }),
41
+ __metadata("design:type", AvatarModel)
42
+ ], AccountModel.prototype, "avatar", void 0);
43
+ AccountModel = __decorate([
44
+ (0, mongoose_1.Schema)({ collection: 'accounts', toObject: transform, toJSON: transform })
45
+ ], AccountModel);
46
+ exports.AccountModel = AccountModel;
47
+ const AccountSchema = mongoose_1.SchemaFactory.createForClass(AccountModel);
48
+ exports.AccountDefinition = {
49
+ name: AccountModel.name,
50
+ schema: AccountSchema,
51
+ };
@@ -0,0 +1,12 @@
1
+ import { ModelDefinition } from '@nestjs/mongoose';
2
+ import { Document } from 'mongoose';
3
+ import { AccountModel } from './account.schema';
4
+ export declare class CommentModel extends Document {
5
+ target: string;
6
+ targetId: string;
7
+ html: string;
8
+ timestamp: number;
9
+ authorId: string;
10
+ author: AccountModel;
11
+ }
12
+ export declare const CommentDefinition: ModelDefinition;
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.CommentDefinition = exports.CommentModel = void 0;
13
+ const mongoose_1 = require("@nestjs/mongoose");
14
+ const mongoose_2 = require("mongoose");
15
+ const transform = {
16
+ virtuals: true,
17
+ transform: (_, ret) => {
18
+ const { html, timestamp, author, authorId } = ret;
19
+ return { html, timestamp, author, authorId };
20
+ },
21
+ };
22
+ let CommentModel = class CommentModel extends mongoose_2.Document {
23
+ };
24
+ __decorate([
25
+ (0, mongoose_1.Prop)(),
26
+ __metadata("design:type", String)
27
+ ], CommentModel.prototype, "target", void 0);
28
+ __decorate([
29
+ (0, mongoose_1.Prop)(),
30
+ __metadata("design:type", String)
31
+ ], CommentModel.prototype, "targetId", void 0);
32
+ __decorate([
33
+ (0, mongoose_1.Prop)(),
34
+ __metadata("design:type", String)
35
+ ], CommentModel.prototype, "html", void 0);
36
+ __decorate([
37
+ (0, mongoose_1.Prop)(),
38
+ __metadata("design:type", Number)
39
+ ], CommentModel.prototype, "timestamp", void 0);
40
+ __decorate([
41
+ (0, mongoose_1.Prop)(),
42
+ __metadata("design:type", String)
43
+ ], CommentModel.prototype, "authorId", void 0);
44
+ CommentModel = __decorate([
45
+ (0, mongoose_1.Schema)({ collection: 'comments', toObject: transform, toJSON: transform })
46
+ ], CommentModel);
47
+ exports.CommentModel = CommentModel;
48
+ const CommentSchema = mongoose_1.SchemaFactory.createForClass(CommentModel);
49
+ CommentSchema.virtual('author', {
50
+ ref: 'accounts',
51
+ foreignField: '_id',
52
+ localField: 'authorId',
53
+ justOne: true,
54
+ });
55
+ exports.CommentDefinition = {
56
+ name: CommentModel.name,
57
+ schema: CommentSchema,
58
+ };
@@ -0,0 +1,8 @@
1
+ import { ModelDefinition } from '@nestjs/mongoose';
2
+ import { Document } from 'mongoose';
3
+ export declare class ContentModel extends Document {
4
+ target: string;
5
+ targetId: string;
6
+ html: [];
7
+ }
8
+ export declare const ContentDefinition: ModelDefinition;
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.ContentDefinition = exports.ContentModel = void 0;
13
+ const mongoose_1 = require("@nestjs/mongoose");
14
+ const mongoose_2 = require("mongoose");
15
+ const transform = {
16
+ virtuals: true,
17
+ transform: (_, ret) => {
18
+ return ret.html;
19
+ },
20
+ };
21
+ let ContentModel = class ContentModel extends mongoose_2.Document {
22
+ };
23
+ __decorate([
24
+ (0, mongoose_1.Prop)(),
25
+ __metadata("design:type", String)
26
+ ], ContentModel.prototype, "target", void 0);
27
+ __decorate([
28
+ (0, mongoose_1.Prop)(),
29
+ __metadata("design:type", String)
30
+ ], ContentModel.prototype, "targetId", void 0);
31
+ __decorate([
32
+ (0, mongoose_1.Prop)(),
33
+ __metadata("design:type", Array)
34
+ ], ContentModel.prototype, "html", void 0);
35
+ ContentModel = __decorate([
36
+ (0, mongoose_1.Schema)({ collection: 'content', toObject: transform, toJSON: transform })
37
+ ], ContentModel);
38
+ exports.ContentModel = ContentModel;
39
+ const ContentSchema = mongoose_1.SchemaFactory.createForClass(ContentModel);
40
+ exports.ContentDefinition = {
41
+ name: ContentModel.name,
42
+ schema: ContentSchema,
43
+ };
@@ -0,0 +1,3 @@
1
+ export * from './populate.module';
2
+ export * from './populate.service';
3
+ export * from './virtuals';
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./populate.module"), exports);
18
+ __exportStar(require("./populate.service"), exports);
19
+ __exportStar(require("./virtuals"), exports);
@@ -0,0 +1,5 @@
1
+ import { DynamicModule } from '@nestjs/common';
2
+ export declare class PopulateModule {
3
+ static register(): DynamicModule;
4
+ static forRootAsync(): DynamicModule;
5
+ }
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var PopulateModule_1;
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.PopulateModule = void 0;
11
+ const common_1 = require("@nestjs/common");
12
+ const config_1 = require("@nestjs/config");
13
+ const mongoose_1 = require("@nestjs/mongoose");
14
+ const account_schema_1 = require("./account.schema");
15
+ const comment_schema_1 = require("./comment.schema");
16
+ const content_schema_1 = require("./content.schema");
17
+ const populate_service_1 = require("./populate.service");
18
+ const registerAsyncConnection = (database) => mongoose_1.MongooseModule.forRootAsync({
19
+ inject: [config_1.ConfigService],
20
+ connectionName: database.split('-')[1],
21
+ useFactory: (configService) => ({
22
+ uri: `${configService.get('MONGO_URI')}/${database}?authSource=admin`,
23
+ }),
24
+ });
25
+ let PopulateModule = PopulateModule_1 = class PopulateModule {
26
+ static register() {
27
+ return {
28
+ module: PopulateModule_1,
29
+ imports: [
30
+ mongoose_1.MongooseModule.forFeature([account_schema_1.AccountDefinition], 'account'),
31
+ mongoose_1.MongooseModule.forFeature([content_schema_1.ContentDefinition], 'content'),
32
+ mongoose_1.MongooseModule.forFeature([comment_schema_1.CommentDefinition], 'comments'),
33
+ ],
34
+ providers: [populate_service_1.PopulateService],
35
+ exports: [populate_service_1.PopulateService],
36
+ };
37
+ }
38
+ static forRootAsync() {
39
+ return {
40
+ module: PopulateModule_1,
41
+ imports: [
42
+ registerAsyncConnection('hub-account'),
43
+ registerAsyncConnection('hub-content'),
44
+ registerAsyncConnection('hub-comments'),
45
+ ],
46
+ global: true,
47
+ };
48
+ }
49
+ };
50
+ PopulateModule = PopulateModule_1 = __decorate([
51
+ (0, common_1.Module)({})
52
+ ], PopulateModule);
53
+ exports.PopulateModule = PopulateModule;
@@ -0,0 +1,14 @@
1
+ import { Model, PopulateOptions } from 'mongoose';
2
+ import { AccountModel } from './account.schema';
3
+ import { CommentModel } from './comment.schema';
4
+ import { ContentModel } from './content.schema';
5
+ export declare class PopulateService {
6
+ private readonly accountModel;
7
+ private readonly contentModel;
8
+ private readonly commentModel;
9
+ constructor(accountModel: Model<AccountModel>, contentModel: Model<ContentModel>, commentModel: Model<CommentModel>);
10
+ account: (path?: string) => PopulateOptions;
11
+ accounts: (path?: string) => PopulateOptions;
12
+ comments: (path?: string) => PopulateOptions;
13
+ content: (path?: string) => PopulateOptions;
14
+ }
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.PopulateService = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const mongoose_1 = require("@nestjs/mongoose");
18
+ const mongoose_2 = require("mongoose");
19
+ const account_schema_1 = require("./account.schema");
20
+ const comment_schema_1 = require("./comment.schema");
21
+ const content_schema_1 = require("./content.schema");
22
+ let PopulateService = class PopulateService {
23
+ constructor(accountModel, contentModel, commentModel) {
24
+ this.accountModel = accountModel;
25
+ this.contentModel = contentModel;
26
+ this.commentModel = commentModel;
27
+ this.account = (path = 'account') => ({
28
+ path,
29
+ justOne: true,
30
+ model: this.accountModel,
31
+ });
32
+ this.accounts = (path = 'accounts') => ({
33
+ path,
34
+ justOne: false,
35
+ model: this.accountModel,
36
+ });
37
+ this.comments = (path = 'comments') => ({
38
+ path,
39
+ justOne: false,
40
+ model: this.commentModel,
41
+ options: { populate: this.account('author') },
42
+ });
43
+ this.content = (path = 'content') => ({
44
+ path,
45
+ justOne: true,
46
+ model: this.contentModel,
47
+ });
48
+ }
49
+ };
50
+ PopulateService = __decorate([
51
+ (0, common_1.Injectable)(),
52
+ __param(0, (0, mongoose_1.InjectModel)(account_schema_1.AccountModel.name, 'account')),
53
+ __param(1, (0, mongoose_1.InjectModel)(content_schema_1.ContentModel.name, 'content')),
54
+ __param(2, (0, mongoose_1.InjectModel)(comment_schema_1.CommentModel.name, 'comments')),
55
+ __metadata("design:paramtypes", [mongoose_2.Model,
56
+ mongoose_2.Model,
57
+ mongoose_2.Model])
58
+ ], PopulateService);
59
+ exports.PopulateService = PopulateService;
@@ -0,0 +1,6 @@
1
+ import { VirtualTypeOptions } from 'mongoose';
2
+ import { Targets } from '../pipes';
3
+ export declare const accountVirtual: (localField?: string) => VirtualTypeOptions;
4
+ export declare const accountsVirtual: (localField?: string) => VirtualTypeOptions;
5
+ export declare const contentVirtual: (target: Targets) => VirtualTypeOptions;
6
+ export declare const commentsVirtual: (target: Targets) => VirtualTypeOptions;
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.commentsVirtual = exports.contentVirtual = exports.accountsVirtual = exports.accountVirtual = void 0;
4
+ const accountVirtual = (localField = 'accountId') => ({
5
+ ref: 'accounts',
6
+ foreignField: '_id',
7
+ localField,
8
+ justOne: true,
9
+ });
10
+ exports.accountVirtual = accountVirtual;
11
+ const accountsVirtual = (localField = 'accountId') => ({
12
+ ref: 'accounts',
13
+ foreignField: '_id',
14
+ localField,
15
+ justOne: false,
16
+ });
17
+ exports.accountsVirtual = accountsVirtual;
18
+ const contentVirtual = (target) => ({
19
+ ref: 'content',
20
+ foreignField: 'targetId',
21
+ localField: '_id',
22
+ match: { target },
23
+ justOne: true,
24
+ });
25
+ exports.contentVirtual = contentVirtual;
26
+ const commentsVirtual = (target) => ({
27
+ ref: 'comments',
28
+ foreignField: 'targetId',
29
+ localField: '_id',
30
+ match: { target },
31
+ justOne: false,
32
+ });
33
+ exports.commentsVirtual = commentsVirtual;
@@ -27,7 +27,7 @@ let MailService = class MailService {
27
27
  }
28
28
  sendToken(token, address) {
29
29
  this.instance
30
- .post('token', { token, address })
30
+ .post(`${this.prefix}/token`, { token, address })
31
31
  .then(() => this.logger.log('Token sent'))
32
32
  .catch((error) => this.logger.error("Couldn't send token", error));
33
33
  }
package/package.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "email": "timo.scheuermann@sv-informatik.de",
6
6
  "url": "https://timos.design"
7
7
  },
8
- "version": "1.10.0",
8
+ "version": "1.11.0",
9
9
  "type": "commonjs",
10
10
  "files": [
11
11
  "dist"
@@ -28,7 +28,9 @@
28
28
  },
29
29
  "devDependencies": {
30
30
  "@nestjs/common": "9.2.0",
31
+ "@nestjs/config": "^3.0.0",
31
32
  "@nestjs/core": "9.2.0",
33
+ "@nestjs/mongoose": "^10.0.0",
32
34
  "@nestjs/passport": "^9.0.0",
33
35
  "@nestjs/platform-express": "9.2.0",
34
36
  "@nestjs/swagger": "^6.1.3",
@@ -42,6 +44,7 @@
42
44
  "eslint-plugin-import": "2.26.0",
43
45
  "jest": "29.3.1",
44
46
  "lint-staged": "13.0.3",
47
+ "mongoose": "^7.3.1",
45
48
  "passport-jwt": "^4.0.0",
46
49
  "prettier": "2.7.1",
47
50
  "reflect-metadata": "0.1.13",
@@ -52,10 +55,13 @@
52
55
  },
53
56
  "peerDependencies": {
54
57
  "@nestjs/common": "^8.0.0 || ^9.0.0",
58
+ "@nestjs/config": "^3.0.0",
55
59
  "@nestjs/core": "^8.0.0 || ^9.0.0",
60
+ "@nestjs/mongoose": "^10.0.0",
56
61
  "@nestjs/passport": "^8.0.0 || ^9.0.0",
57
62
  "@nestjs/swagger": "^6.0.0",
58
63
  "class-validator": "^0.13.2",
64
+ "mongoose": "^7.3.1",
59
65
  "passport-jwt": "^4.0.0",
60
66
  "reflect-metadata": "^0.1.12",
61
67
  "rxjs": "^6.0.0 || ^7.0.0"