n8n 1.3.0 → 1.4.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/ActiveWebhooks.js +2 -5
- package/dist/ActiveWebhooks.js.map +1 -1
- package/dist/ActiveWorkflowRunner.js +6 -7
- package/dist/ActiveWorkflowRunner.js.map +1 -1
- package/dist/CredentialsHelper.d.ts +1 -0
- package/dist/CredentialsHelper.js +23 -0
- package/dist/CredentialsHelper.js.map +1 -1
- package/dist/InternalHooks.js +7 -11
- package/dist/InternalHooks.js.map +1 -1
- package/dist/PublicApi/v1/handlers/workflows/workflows.service.js +2 -2
- package/dist/PublicApi/v1/handlers/workflows/workflows.service.js.map +1 -1
- package/dist/Server.js +18 -10
- package/dist/Server.js.map +1 -1
- package/dist/UserManagement/PermissionChecker.js +2 -2
- package/dist/UserManagement/PermissionChecker.js.map +1 -1
- package/dist/WebhookHelpers.js +5 -0
- package/dist/WebhookHelpers.js.map +1 -1
- package/dist/WorkflowHelpers.d.ts +2 -2
- package/dist/WorkflowHelpers.js +62 -45
- package/dist/WorkflowHelpers.js.map +1 -1
- package/dist/commands/executeBatch.js +1 -4
- package/dist/commands/executeBatch.js.map +1 -1
- package/dist/commands/import/workflow.d.ts +1 -0
- package/dist/commands/import/workflow.js +5 -5
- package/dist/commands/import/workflow.js.map +1 -1
- package/dist/commands/worker.d.ts +0 -2
- package/dist/commands/worker.js +26 -5
- package/dist/commands/worker.js.map +1 -1
- package/dist/config/schema.js +1 -1
- package/dist/config/schema.js.map +1 -1
- package/dist/constants.d.ts +2 -0
- package/dist/constants.js +2 -0
- package/dist/constants.js.map +1 -1
- package/dist/controllers/auth.controller.d.ts +2 -2
- package/dist/controllers/auth.controller.js +5 -7
- package/dist/controllers/auth.controller.js.map +1 -1
- package/dist/controllers/me.controller.d.ts +3 -4
- package/dist/controllers/me.controller.js +12 -18
- package/dist/controllers/me.controller.js.map +1 -1
- package/dist/controllers/owner.controller.d.ts +7 -4
- package/dist/controllers/owner.controller.js +7 -4
- package/dist/controllers/owner.controller.js.map +1 -1
- package/dist/controllers/passwordReset.controller.d.ts +3 -6
- package/dist/controllers/passwordReset.controller.js +11 -14
- package/dist/controllers/passwordReset.controller.js.map +1 -1
- package/dist/controllers/tags.controller.d.ts +6 -10
- package/dist/controllers/tags.controller.js +10 -36
- package/dist/controllers/tags.controller.js.map +1 -1
- package/dist/controllers/users.controller.d.ts +3 -7
- package/dist/controllers/users.controller.js +20 -18
- package/dist/controllers/users.controller.js.map +1 -1
- package/dist/credentials/credentials.service.ee.js +2 -2
- package/dist/credentials/credentials.service.ee.js.map +1 -1
- package/dist/databases/migrations/common/1659888469333-AddJsonKeyPinData.js +2 -4
- package/dist/databases/migrations/common/1659888469333-AddJsonKeyPinData.js.map +1 -1
- package/dist/environments/sourceControl/sourceControl.service.ee.js.map +1 -1
- package/dist/environments/sourceControl/sourceControlImport.service.ee.js +2 -3
- package/dist/environments/sourceControl/sourceControlImport.service.ee.js.map +1 -1
- package/dist/eventbus/MessageEventBus/MessageEventBus.js +37 -4
- package/dist/eventbus/MessageEventBus/MessageEventBus.js.map +1 -1
- package/dist/eventbus/MessageEventBusWriter/MessageEventBusLogWriter.d.ts +4 -0
- package/dist/eventbus/MessageEventBusWriter/MessageEventBusLogWriter.js +16 -0
- package/dist/eventbus/MessageEventBusWriter/MessageEventBusLogWriter.js.map +1 -1
- package/dist/eventbus/MessageEventBusWriter/MessageEventBusLogWriterWorker.js +24 -0
- package/dist/eventbus/MessageEventBusWriter/MessageEventBusLogWriterWorker.js.map +1 -1
- package/dist/middlewares/listQuery/dtos/pagination.dto.d.ts +6 -0
- package/dist/middlewares/listQuery/dtos/pagination.dto.js +22 -0
- package/dist/middlewares/listQuery/dtos/pagination.dto.js.map +1 -0
- package/dist/middlewares/listQuery/dtos/workflow.filter.dto.d.ts +7 -0
- package/dist/middlewares/listQuery/dtos/workflow.filter.dto.js +55 -0
- package/dist/middlewares/listQuery/dtos/workflow.filter.dto.js.map +1 -0
- package/dist/middlewares/listQuery/dtos/workflow.select.dto.d.ts +5 -0
- package/dist/middlewares/listQuery/dtos/workflow.select.dto.js +31 -0
- package/dist/middlewares/listQuery/dtos/workflow.select.dto.js.map +1 -0
- package/dist/middlewares/listQuery/filter.d.ts +3 -2
- package/dist/middlewares/listQuery/filter.js +32 -15
- package/dist/middlewares/listQuery/filter.js.map +1 -1
- package/dist/middlewares/listQuery/index.d.ts +1 -1
- package/dist/middlewares/listQuery/pagination.js +33 -11
- package/dist/middlewares/listQuery/pagination.js.map +1 -1
- package/dist/middlewares/listQuery/select.js +8 -20
- package/dist/middlewares/listQuery/select.js.map +1 -1
- package/dist/requests.d.ts +33 -18
- package/dist/requests.js +5 -1
- package/dist/requests.js.map +1 -1
- package/dist/services/events.service.js +2 -2
- package/dist/services/events.service.js.map +1 -1
- package/dist/services/ownership.service.d.ts +7 -3
- package/dist/services/ownership.service.js +13 -4
- package/dist/services/ownership.service.js.map +1 -1
- package/dist/services/tag.service.d.ts +34 -0
- package/dist/services/tag.service.js +121 -0
- package/dist/services/tag.service.js.map +1 -0
- package/dist/services/user.service.d.ts +19 -0
- package/dist/services/user.service.js +62 -0
- package/dist/services/user.service.js.map +1 -0
- package/dist/sso/saml/schema/saml-schema-assertion-2.0.xsd.js +282 -282
- package/dist/sso/saml/schema/saml-schema-metadata-2.0.xsd.js +335 -335
- package/dist/sso/saml/schema/saml-schema-protocol-2.0.xsd.js +301 -301
- package/dist/telemetry/index.js +1 -1
- package/dist/telemetry/index.js.map +1 -1
- package/dist/utils.d.ts +3 -0
- package/dist/utils.js +5 -1
- package/dist/utils.js.map +1 -1
- package/dist/workflows/workflows.controller.ee.js +5 -14
- package/dist/workflows/workflows.controller.ee.js.map +1 -1
- package/dist/workflows/workflows.controller.js +5 -5
- package/dist/workflows/workflows.controller.js.map +1 -1
- package/dist/workflows/workflows.services.d.ts +5 -5
- package/dist/workflows/workflows.services.ee.d.ts +1 -4
- package/dist/workflows/workflows.services.ee.js +2 -13
- package/dist/workflows/workflows.services.ee.js.map +1 -1
- package/dist/workflows/workflows.services.js +51 -38
- package/dist/workflows/workflows.services.js.map +1 -1
- package/dist/workflows/workflows.types.d.ts +0 -4
- package/oclif.manifest.json +1 -1
- package/package.json +8 -8
- package/templates/oauth-error-callback.handlebars +6 -6
- package/dist/TagHelpers.d.ts +0 -7
- package/dist/TagHelpers.js +0 -59
- package/dist/TagHelpers.js.map +0 -1
- package/dist/middlewares/listQuery/error.d.ts +0 -1
- package/dist/middlewares/listQuery/error.js +0 -40
- package/dist/middlewares/listQuery/error.js.map +0 -1
- package/dist/middlewares/listQuery/schema.d.ts +0 -5
- package/dist/middlewares/listQuery/schema.js +0 -13
- package/dist/middlewares/listQuery/schema.js.map +0 -1
- package/dist/middlewares/listQuery/workflow.schema.d.ts +0 -10
- package/dist/middlewares/listQuery/workflow.schema.js +0 -59
- package/dist/middlewares/listQuery/workflow.schema.js.map +0 -1
- package/dist/user/user.service.d.ts +0 -9
- package/dist/user/user.service.js +0 -53
- package/dist/user/user.service.js.map +0 -1
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { TagRepository } from '../databases/repositories';
|
|
2
|
+
import type { ITagWithCountDb, IWorkflowToImport } from '../Interfaces';
|
|
3
|
+
import type { TagEntity } from '../databases/entities/TagEntity';
|
|
4
|
+
import type { EntityManager, FindManyOptions, FindOneOptions } from 'typeorm';
|
|
5
|
+
import type { UpsertOptions } from 'typeorm/repository/UpsertOptions';
|
|
6
|
+
import { ExternalHooks } from '../ExternalHooks';
|
|
7
|
+
type GetAllResult<T> = T extends {
|
|
8
|
+
withUsageCount: true;
|
|
9
|
+
} ? ITagWithCountDb[] : TagEntity[];
|
|
10
|
+
export declare class TagService {
|
|
11
|
+
private externalHooks;
|
|
12
|
+
private tagRepository;
|
|
13
|
+
constructor(externalHooks: ExternalHooks, tagRepository: TagRepository);
|
|
14
|
+
toEntity(attrs: {
|
|
15
|
+
name: string;
|
|
16
|
+
id?: string;
|
|
17
|
+
}): TagEntity;
|
|
18
|
+
save(tag: TagEntity, actionKind: 'create' | 'update'): Promise<TagEntity>;
|
|
19
|
+
delete(id: string): Promise<import("typeorm").DeleteResult>;
|
|
20
|
+
findOne(options: FindOneOptions<TagEntity>): Promise<TagEntity | null>;
|
|
21
|
+
findMany(options: FindManyOptions<TagEntity>): Promise<TagEntity[]>;
|
|
22
|
+
upsert(tag: TagEntity, options: UpsertOptions<TagEntity>): Promise<import("typeorm").InsertResult>;
|
|
23
|
+
getAll<T extends {
|
|
24
|
+
withUsageCount: boolean;
|
|
25
|
+
}>(options?: T): Promise<GetAllResult<T>>;
|
|
26
|
+
sortByRequestOrder(tags: TagEntity[], { requestOrder }: {
|
|
27
|
+
requestOrder: string[];
|
|
28
|
+
}): TagEntity[];
|
|
29
|
+
setTagsForImport(transactionManager: EntityManager, workflow: IWorkflowToImport, tags: TagEntity[]): Promise<void>;
|
|
30
|
+
private hasTags;
|
|
31
|
+
private findOrCreateTag;
|
|
32
|
+
private txCreateTag;
|
|
33
|
+
}
|
|
34
|
+
export {};
|
|
@@ -0,0 +1,121 @@
|
|
|
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.TagService = void 0;
|
|
13
|
+
const repositories_1 = require("../databases/repositories");
|
|
14
|
+
const typedi_1 = require("typedi");
|
|
15
|
+
const GenericHelpers_1 = require("../GenericHelpers");
|
|
16
|
+
const ExternalHooks_1 = require("../ExternalHooks");
|
|
17
|
+
let TagService = exports.TagService = class TagService {
|
|
18
|
+
constructor(externalHooks, tagRepository) {
|
|
19
|
+
this.externalHooks = externalHooks;
|
|
20
|
+
this.tagRepository = tagRepository;
|
|
21
|
+
}
|
|
22
|
+
toEntity(attrs) {
|
|
23
|
+
attrs.name = attrs.name.trim();
|
|
24
|
+
return this.tagRepository.create(attrs);
|
|
25
|
+
}
|
|
26
|
+
async save(tag, actionKind) {
|
|
27
|
+
await (0, GenericHelpers_1.validateEntity)(tag);
|
|
28
|
+
const action = actionKind[0].toUpperCase() + actionKind.slice(1);
|
|
29
|
+
await this.externalHooks.run(`tag.before${action}`, [tag]);
|
|
30
|
+
const savedTag = this.tagRepository.save(tag);
|
|
31
|
+
await this.externalHooks.run(`tag.after${action}`, [tag]);
|
|
32
|
+
return savedTag;
|
|
33
|
+
}
|
|
34
|
+
async delete(id) {
|
|
35
|
+
await this.externalHooks.run('tag.beforeDelete', [id]);
|
|
36
|
+
const deleteResult = this.tagRepository.delete(id);
|
|
37
|
+
await this.externalHooks.run('tag.afterDelete', [id]);
|
|
38
|
+
return deleteResult;
|
|
39
|
+
}
|
|
40
|
+
async findOne(options) {
|
|
41
|
+
return this.tagRepository.findOne(options);
|
|
42
|
+
}
|
|
43
|
+
async findMany(options) {
|
|
44
|
+
return this.tagRepository.find(options);
|
|
45
|
+
}
|
|
46
|
+
async upsert(tag, options) {
|
|
47
|
+
return this.tagRepository.upsert(tag, options);
|
|
48
|
+
}
|
|
49
|
+
async getAll(options) {
|
|
50
|
+
if (options === null || options === void 0 ? void 0 : options.withUsageCount) {
|
|
51
|
+
const allTags = await this.tagRepository.find({
|
|
52
|
+
select: ['id', 'name', 'createdAt', 'updatedAt'],
|
|
53
|
+
relations: ['workflowMappings'],
|
|
54
|
+
});
|
|
55
|
+
return allTags.map(({ workflowMappings, ...rest }) => {
|
|
56
|
+
return {
|
|
57
|
+
...rest,
|
|
58
|
+
usageCount: workflowMappings.length,
|
|
59
|
+
};
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
return this.tagRepository.find({
|
|
63
|
+
select: ['id', 'name', 'createdAt', 'updatedAt'],
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
sortByRequestOrder(tags, { requestOrder }) {
|
|
67
|
+
const tagMap = tags.reduce((acc, tag) => {
|
|
68
|
+
acc[tag.id] = tag;
|
|
69
|
+
return acc;
|
|
70
|
+
}, {});
|
|
71
|
+
return requestOrder.map((tagId) => tagMap[tagId]);
|
|
72
|
+
}
|
|
73
|
+
async setTagsForImport(transactionManager, workflow, tags) {
|
|
74
|
+
var _a;
|
|
75
|
+
if (!this.hasTags(workflow))
|
|
76
|
+
return;
|
|
77
|
+
const workflowTags = workflow.tags;
|
|
78
|
+
const tagLookupPromises = [];
|
|
79
|
+
for (let i = 0; i < workflowTags.length; i++) {
|
|
80
|
+
if ((_a = workflowTags[i]) === null || _a === void 0 ? void 0 : _a.name) {
|
|
81
|
+
const lookupPromise = this.findOrCreateTag(transactionManager, workflowTags[i], tags).then((tag) => {
|
|
82
|
+
workflowTags[i] = {
|
|
83
|
+
id: tag.id,
|
|
84
|
+
name: tag.name,
|
|
85
|
+
};
|
|
86
|
+
});
|
|
87
|
+
tagLookupPromises.push(lookupPromise);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
await Promise.all(tagLookupPromises);
|
|
91
|
+
}
|
|
92
|
+
hasTags(workflow) {
|
|
93
|
+
return 'tags' in workflow && Array.isArray(workflow.tags) && workflow.tags.length > 0;
|
|
94
|
+
}
|
|
95
|
+
async findOrCreateTag(transactionManager, importTag, tagsEntities) {
|
|
96
|
+
const identicalMatch = tagsEntities.find((existingTag) => existingTag.id === importTag.id &&
|
|
97
|
+
existingTag.createdAt &&
|
|
98
|
+
importTag.createdAt &&
|
|
99
|
+
existingTag.createdAt.getTime() === new Date(importTag.createdAt).getTime());
|
|
100
|
+
if (identicalMatch) {
|
|
101
|
+
return identicalMatch;
|
|
102
|
+
}
|
|
103
|
+
const nameMatch = tagsEntities.find((existingTag) => existingTag.name === importTag.name);
|
|
104
|
+
if (nameMatch) {
|
|
105
|
+
return nameMatch;
|
|
106
|
+
}
|
|
107
|
+
const created = await this.txCreateTag(transactionManager, importTag.name);
|
|
108
|
+
tagsEntities.push(created);
|
|
109
|
+
return created;
|
|
110
|
+
}
|
|
111
|
+
async txCreateTag(transactionManager, name) {
|
|
112
|
+
const tag = this.tagRepository.create({ name: name.trim() });
|
|
113
|
+
return transactionManager.save(tag);
|
|
114
|
+
}
|
|
115
|
+
};
|
|
116
|
+
exports.TagService = TagService = __decorate([
|
|
117
|
+
(0, typedi_1.Service)(),
|
|
118
|
+
__metadata("design:paramtypes", [ExternalHooks_1.ExternalHooks,
|
|
119
|
+
repositories_1.TagRepository])
|
|
120
|
+
], TagService);
|
|
121
|
+
//# sourceMappingURL=tag.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tag.service.js","sourceRoot":"","sources":["../../src/services/tag.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { EntityManager, FindManyOptions, FindOneOptions, FindOptionsWhere } from 'typeorm';
|
|
2
|
+
import { User } from '../databases/entities/User';
|
|
3
|
+
import type { IUserSettings } from 'n8n-workflow';
|
|
4
|
+
import { UserRepository } from '../databases/repositories';
|
|
5
|
+
export declare class UserService {
|
|
6
|
+
private readonly userRepository;
|
|
7
|
+
constructor(userRepository: UserRepository);
|
|
8
|
+
findOne(options: FindOneOptions<User>): Promise<User | null>;
|
|
9
|
+
findOneOrFail(options: FindOneOptions<User>): Promise<User>;
|
|
10
|
+
findMany(options: FindManyOptions<User>): Promise<User[]>;
|
|
11
|
+
findOneBy(options: FindOptionsWhere<User>): Promise<User | null>;
|
|
12
|
+
create(data: Partial<User>): User;
|
|
13
|
+
save(user: Partial<User>): Promise<Partial<User> & User>;
|
|
14
|
+
update(userId: string, data: Partial<User>): Promise<import("typeorm").UpdateResult>;
|
|
15
|
+
getByIds(transaction: EntityManager, ids: string[]): Promise<User[]>;
|
|
16
|
+
getManager(): EntityManager;
|
|
17
|
+
updateSettings(userId: string, newSettings: Partial<IUserSettings>): Promise<import("typeorm").UpdateResult>;
|
|
18
|
+
generatePasswordResetUrl(instanceBaseUrl: string, token: string): string;
|
|
19
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
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.UserService = void 0;
|
|
13
|
+
const typedi_1 = require("typedi");
|
|
14
|
+
const typeorm_1 = require("typeorm");
|
|
15
|
+
const User_1 = require("../databases/entities/User");
|
|
16
|
+
const repositories_1 = require("../databases/repositories");
|
|
17
|
+
let UserService = exports.UserService = class UserService {
|
|
18
|
+
constructor(userRepository) {
|
|
19
|
+
this.userRepository = userRepository;
|
|
20
|
+
}
|
|
21
|
+
async findOne(options) {
|
|
22
|
+
return this.userRepository.findOne({ relations: ['globalRole'], ...options });
|
|
23
|
+
}
|
|
24
|
+
async findOneOrFail(options) {
|
|
25
|
+
return this.userRepository.findOneOrFail({ relations: ['globalRole'], ...options });
|
|
26
|
+
}
|
|
27
|
+
async findMany(options) {
|
|
28
|
+
return this.userRepository.find({ relations: ['globalRole'], ...options });
|
|
29
|
+
}
|
|
30
|
+
async findOneBy(options) {
|
|
31
|
+
return this.userRepository.findOneBy(options);
|
|
32
|
+
}
|
|
33
|
+
create(data) {
|
|
34
|
+
return this.userRepository.create(data);
|
|
35
|
+
}
|
|
36
|
+
async save(user) {
|
|
37
|
+
return this.userRepository.save(user);
|
|
38
|
+
}
|
|
39
|
+
async update(userId, data) {
|
|
40
|
+
return this.userRepository.update(userId, data);
|
|
41
|
+
}
|
|
42
|
+
async getByIds(transaction, ids) {
|
|
43
|
+
return transaction.find(User_1.User, { where: { id: (0, typeorm_1.In)(ids) } });
|
|
44
|
+
}
|
|
45
|
+
getManager() {
|
|
46
|
+
return this.userRepository.manager;
|
|
47
|
+
}
|
|
48
|
+
async updateSettings(userId, newSettings) {
|
|
49
|
+
const { settings } = await this.userRepository.findOneOrFail({ where: { id: userId } });
|
|
50
|
+
return this.userRepository.update(userId, { settings: { ...settings, ...newSettings } });
|
|
51
|
+
}
|
|
52
|
+
generatePasswordResetUrl(instanceBaseUrl, token) {
|
|
53
|
+
const url = new URL(`${instanceBaseUrl}/change-password`);
|
|
54
|
+
url.searchParams.append('token', token);
|
|
55
|
+
return url.toString();
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
exports.UserService = UserService = __decorate([
|
|
59
|
+
(0, typedi_1.Service)(),
|
|
60
|
+
__metadata("design:paramtypes", [repositories_1.UserRepository])
|
|
61
|
+
], UserService);
|
|
62
|
+
//# sourceMappingURL=user.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user.service.js","sourceRoot":"","sources":["../../src/services/user.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mCAAiC;AAEjC,qCAA6B;AAC7B,4CAAyC;AAEzC,2DAA0D;AAGnD,IAAM,WAAW,yBAAjB,MAAM,WAAW;IACvB,YAA6B,cAA8B;QAA9B,mBAAc,GAAd,cAAc,CAAgB;IAAG,CAAC;IAE/D,KAAK,CAAC,OAAO,CAAC,OAA6B;QAC1C,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC,YAAY,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAC/E,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,OAA6B;QAChD,OAAO,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,SAAS,EAAE,CAAC,YAAY,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IACrF,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,OAA8B;QAC5C,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC,YAAY,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,OAA+B;QAC9C,OAAO,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,CAAC,IAAmB;QACzB,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,IAAmB;QAC7B,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,MAAc,EAAE,IAAmB;QAC/C,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,WAA0B,EAAE,GAAa;QACvD,OAAO,WAAW,CAAC,IAAI,CAAC,WAAI,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,IAAA,YAAE,EAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,UAAU;QACT,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,MAAc,EAAE,WAAmC;QACvE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QAExF,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,EAAE,GAAG,QAAQ,EAAE,GAAG,WAAW,EAAE,EAAE,CAAC,CAAC;IAC1F,CAAC;IAED,wBAAwB,CAAC,eAAuB,EAAE,KAAa;QAC9D,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,eAAe,kBAAkB,CAAC,CAAC;QAE1D,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAExC,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;IACvB,CAAC;CACD,CAAA;sBApDY,WAAW;IADvB,IAAA,gBAAO,GAAE;qCAEoC,6BAAc;GAD/C,WAAW,CAoDvB"}
|