@lifeready/core 6.0.5 → 6.1.2

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 (101) hide show
  1. package/bundles/lifeready-core.umd.js +3485 -7369
  2. package/bundles/lifeready-core.umd.js.map +1 -1
  3. package/bundles/lifeready-core.umd.min.js +1 -1
  4. package/bundles/lifeready-core.umd.min.js.map +1 -1
  5. package/esm2015/lib/auth2/auth.config.js +57 -0
  6. package/esm2015/lib/auth2/auth2.gql.private.js +8 -1
  7. package/esm2015/lib/auth2/auth2.service.js +3 -4
  8. package/esm2015/lib/auth2/auth2.types.js +1 -1
  9. package/esm2015/lib/encryption/encryption.service.js +7 -6
  10. package/esm2015/lib/file-upload/file-upload.service.js +4 -4
  11. package/esm2015/lib/idle/idle.service.js +1 -2
  12. package/esm2015/lib/item2/item2.service.js +17 -46
  13. package/esm2015/lib/key/key-graph.service.js +3 -3
  14. package/esm2015/lib/key/key-meta.service.js +16 -64
  15. package/esm2015/lib/key/key.types.js +6 -1
  16. package/esm2015/lib/key-exchange/key-exchange2.service.js +6 -25
  17. package/esm2015/lib/life-ready.module.js +2 -9
  18. package/esm2015/lib/password/password.service.js +1 -1
  19. package/esm2015/lib/profile/profile-details.service.js +120 -75
  20. package/esm2015/lib/profile/profile.gql.js +134 -1
  21. package/esm2015/lib/profile/profile.service.js +8 -5
  22. package/esm2015/lib/profile/profile.types.js +14 -3
  23. package/esm2015/lib/shared-contact-card/shared-contact-card.service.js +2 -2
  24. package/esm2015/lib/tp-password-reset/tp-password-reset.types.js +1 -1
  25. package/esm2015/lib/trusted-party/trusted-party2.service.js +3 -7
  26. package/esm2015/lifeready-core.js +7 -9
  27. package/esm2015/public-api.js +2 -20
  28. package/fesm2015/lifeready-core.js +3223 -6588
  29. package/fesm2015/lifeready-core.js.map +1 -1
  30. package/lib/auth2/auth2.gql.private.d.ts +15 -2
  31. package/lib/auth2/auth2.service.d.ts +1 -1
  32. package/lib/auth2/auth2.types.d.ts +19 -2
  33. package/lib/file-upload/file-upload.service.d.ts +2 -2
  34. package/lib/item2/item2.service.d.ts +12 -75
  35. package/lib/key/key-meta.service.d.ts +8 -1
  36. package/lib/key/key.types.d.ts +4 -1
  37. package/lib/key-exchange/key-exchange2.service.d.ts +5 -66
  38. package/lib/password/password.service.d.ts +1 -1
  39. package/lib/profile/profile-details.service.d.ts +10 -11
  40. package/lib/profile/profile.gql.d.ts +12 -0
  41. package/lib/profile/profile.service.d.ts +1 -3
  42. package/lib/profile/profile.types.d.ts +31 -4
  43. package/lib/shared-contact-card/shared-contact-card.service.d.ts +1 -2
  44. package/lib/tp-password-reset/tp-password-reset.types.d.ts +3 -3
  45. package/lib/trusted-party/trusted-party2.service.d.ts +2 -7
  46. package/lifeready-core.d.ts +6 -8
  47. package/lifeready-core.metadata.json +1 -1
  48. package/package.json +1 -1
  49. package/public-api.d.ts +1 -19
  50. package/esm2015/lib/auth/auth.config.js +0 -57
  51. package/esm2015/lib/auth/auth.gql.js +0 -16
  52. package/esm2015/lib/auth/auth.types.js +0 -18
  53. package/esm2015/lib/auth/life-ready-auth.service.js +0 -568
  54. package/esm2015/lib/category/category-meta.service.js +0 -99
  55. package/esm2015/lib/category/category.gql.js +0 -385
  56. package/esm2015/lib/category/category.service.js +0 -361
  57. package/esm2015/lib/category/category.types.js +0 -29
  58. package/esm2015/lib/key-exchange/key-exchange.gql.js +0 -188
  59. package/esm2015/lib/key-exchange/key-exchange.service.js +0 -436
  60. package/esm2015/lib/key-exchange/key-exchange.types.js +0 -7
  61. package/esm2015/lib/message/message.gql.js +0 -32
  62. package/esm2015/lib/message/message.service.js +0 -118
  63. package/esm2015/lib/message/message.types.js +0 -2
  64. package/esm2015/lib/plan/plan.gql.js +0 -123
  65. package/esm2015/lib/plan/plan.service.js +0 -150
  66. package/esm2015/lib/plan/plan.types.js +0 -11
  67. package/esm2015/lib/record/record-attachment.service.js +0 -102
  68. package/esm2015/lib/record/record.gql.js +0 -182
  69. package/esm2015/lib/record/record.service.js +0 -194
  70. package/esm2015/lib/record/record.types.js +0 -15
  71. package/esm2015/lib/record-type/record-type.service.js +0 -75
  72. package/esm2015/lib/record-type/record-type.types.js +0 -28
  73. package/esm2015/lib/trusted-party/trusted-party.gql.js +0 -148
  74. package/esm2015/lib/trusted-party/trusted-party.service.js +0 -308
  75. package/esm2015/lib/trusted-party/trusted-party.types.js +0 -41
  76. package/lib/auth/auth.gql.d.ts +0 -12
  77. package/lib/auth/auth.types.d.ts +0 -52
  78. package/lib/auth/life-ready-auth.service.d.ts +0 -73
  79. package/lib/category/category-meta.service.d.ts +0 -23
  80. package/lib/category/category.gql.d.ts +0 -44
  81. package/lib/category/category.service.d.ts +0 -66
  82. package/lib/category/category.types.d.ts +0 -75
  83. package/lib/key-exchange/key-exchange.gql.d.ts +0 -9
  84. package/lib/key-exchange/key-exchange.service.d.ts +0 -37
  85. package/lib/key-exchange/key-exchange.types.d.ts +0 -188
  86. package/lib/message/message.gql.d.ts +0 -13
  87. package/lib/message/message.service.d.ts +0 -36
  88. package/lib/message/message.types.d.ts +0 -12
  89. package/lib/plan/plan.gql.d.ts +0 -11
  90. package/lib/plan/plan.service.d.ts +0 -34
  91. package/lib/plan/plan.types.d.ts +0 -32
  92. package/lib/record/record-attachment.service.d.ts +0 -16
  93. package/lib/record/record.gql.d.ts +0 -14
  94. package/lib/record/record.service.d.ts +0 -25
  95. package/lib/record/record.types.d.ts +0 -56
  96. package/lib/record-type/record-type.service.d.ts +0 -11
  97. package/lib/record-type/record-type.types.d.ts +0 -50
  98. package/lib/trusted-party/trusted-party.gql.d.ts +0 -9
  99. package/lib/trusted-party/trusted-party.service.d.ts +0 -43
  100. package/lib/trusted-party/trusted-party.types.d.ts +0 -101
  101. /package/lib/{auth → auth2}/auth.config.d.ts +0 -0
@@ -1,118 +0,0 @@
1
- import { __awaiter, __decorate } from "tslib";
2
- import { Injectable, Injector, NgZone } from '@angular/core';
3
- import { LrMutation, LrService } from '../api/lr-graphql';
4
- import { EncryptionService } from '../encryption/encryption.service';
5
- import { KeyExchangeService } from '../key-exchange/key-exchange.service';
6
- import { KeyGraphService } from '../key/key-graph.service';
7
- import { RunOutsideAngular } from '../_common/run-outside-angular';
8
- import { MessageQuery, SendMessageMutation } from './message.gql';
9
- import * as i0 from "@angular/core";
10
- import * as i1 from "../key/key-graph.service";
11
- import * as i2 from "../encryption/encryption.service";
12
- import * as i3 from "../key-exchange/key-exchange.service";
13
- let MessageService = class MessageService extends LrService {
14
- constructor(ngZone, injector, keyGraph, encryptionService, keyExchangeService) {
15
- super(injector);
16
- this.ngZone = ngZone;
17
- this.injector = injector;
18
- this.keyGraph = keyGraph;
19
- this.encryptionService = encryptionService;
20
- this.keyExchangeService = keyExchangeService;
21
- this.encrypt = this.encryptionService.encrypt.bind(this.encryptionService);
22
- this.decrypt = this.encryptionService.decrypt.bind(this.encryptionService);
23
- this.sign = this.encryptionService.sign.bind(this.encryptionService);
24
- this.verify = this.encryptionService.verify.bind(this.encryptionService);
25
- }
26
- sendMessage(input) {
27
- return __awaiter(this, void 0, void 0, function* () {
28
- return this.mutate(this.sendMessageMutation(input));
29
- });
30
- }
31
- sendMessageMutation({ username, userId, plainMessageJson, plainCipherMessageJson, }) {
32
- return __awaiter(this, void 0, void 0, function* () {
33
- const userSharedKey = yield this.keyExchangeService.currentUserSharedKey({
34
- username,
35
- userId,
36
- });
37
- let signedCipherMessage;
38
- if (plainCipherMessageJson) {
39
- const sharedKey = yield this.keyGraph.getJwkKey(userSharedKey.sharedKey.id);
40
- const cipherMessage = yield this.encrypt(sharedKey, plainCipherMessageJson);
41
- const senderSigPrk = yield this.keyGraph.getJwkKey(userSharedKey.userSigPrk.id);
42
- signedCipherMessage = JSON.stringify(yield this.sign(senderSigPrk, cipherMessage));
43
- }
44
- let plainMessage;
45
- if (plainMessageJson) {
46
- plainMessage = JSON.stringify(plainMessageJson);
47
- }
48
- return new LrMutation({
49
- mutation: SendMessageMutation,
50
- variables: {
51
- input: {
52
- receiverUsername: username,
53
- receiverId: userId,
54
- sharedKeyId: userSharedKey.sharedKey.id,
55
- senderSigPbkId: userSharedKey.userSigPrk.id,
56
- signedCipherMessage,
57
- plainMessage,
58
- },
59
- },
60
- });
61
- });
62
- }
63
- decryptMessage(message, options) {
64
- return __awaiter(this, void 0, void 0, function* () {
65
- const signedCipherMessage = yield this.verify(options.senderSigPbk, JSON.parse(message.signedCipherMessage));
66
- message.signedCipherMessageClearJson = yield this.decrypt(options.sharedKey, signedCipherMessage);
67
- });
68
- }
69
- getMessage(id) {
70
- return __awaiter(this, void 0, void 0, function* () {
71
- const res = yield this.query({
72
- query: MessageQuery,
73
- variables: {
74
- id,
75
- },
76
- });
77
- // this.keyGraph.addKeys(res.keyGraph);
78
- const message = res.message;
79
- const sharedKey = yield this.keyGraph.getJwkKey(message.sharedKey.id);
80
- // The sender would be getting the Prk back. The receiver gets the Pbk back.
81
- // But only the Pbk is needed here to verify signature.
82
- // So both sender and receiver can access this message.
83
- const senderSigPbk = yield this.keyGraph.getJwkKey(message.senderSigPbk.id);
84
- // Test bad signature
85
- // senderSigPbk = senderSigPbk.toJSON();
86
- // senderSigPbk.n = "x" + senderSigPbk.n.substring(1);
87
- // senderSigPbk = await KFS.asKey(senderSigPbk);
88
- yield this.decryptMessage(message, {
89
- sharedKey,
90
- senderSigPbk,
91
- });
92
- if (message.plainMessage) {
93
- message.plainMessageJson = JSON.parse(message.plainMessage);
94
- }
95
- return res.message;
96
- });
97
- }
98
- };
99
- MessageService.ɵprov = i0.ɵɵdefineInjectable({ factory: function MessageService_Factory() { return new MessageService(i0.ɵɵinject(i0.NgZone), i0.ɵɵinject(i0.INJECTOR), i0.ɵɵinject(i1.KeyGraphService), i0.ɵɵinject(i2.EncryptionService), i0.ɵɵinject(i3.KeyExchangeService)); }, token: MessageService, providedIn: "root" });
100
- MessageService.decorators = [
101
- { type: Injectable, args: [{
102
- providedIn: 'root',
103
- },] }
104
- ];
105
- MessageService.ctorParameters = () => [
106
- { type: NgZone },
107
- { type: Injector },
108
- { type: KeyGraphService },
109
- { type: EncryptionService },
110
- { type: KeyExchangeService }
111
- ];
112
- MessageService = __decorate([
113
- RunOutsideAngular({
114
- ngZoneName: 'ngZone',
115
- })
116
- ], MessageService);
117
- export { MessageService };
118
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbGliL21lc3NhZ2UvbWVzc2FnZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFN0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUUxRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbkUsT0FBTyxFQUFFLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7SUFTckQsY0FBYyxTQUFkLGNBQWUsU0FBUSxTQUFTO0lBYzNDLFlBQ1UsTUFBYyxFQUNkLFFBQWtCLEVBQ2xCLFFBQXlCLEVBQ3pCLGlCQUFvQyxFQUNwQyxrQkFBc0M7UUFFOUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBTlIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDbEIsYUFBUSxHQUFSLFFBQVEsQ0FBaUI7UUFDekIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBbEIvQixZQUFPLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQzVELElBQUksQ0FBQyxpQkFBaUIsQ0FDdkIsQ0FBQztRQUNlLFlBQU8sR0FBRyxJQUFJLENBQUMsaUJBQWlCLENB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QUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBRXRFLDRFQUE0RTtZQUM1RSx1REFBdUQ7WUFDdkQsdURBQXVEO1lBQ3ZELE1BQU0sWUFBWSxHQUFHLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUU1RSxxQkFBcUI7WUFDckIsd0NBQXdDO1lBQ3hDLHNEQUFzRDtZQUN0RCxnREFBZ0Q7WUFFaEQsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRTtnQkFDakMsU0FBUztnQkFDVCxZQUFZO2FBQ2IsQ0FBQyxDQUFDO1lBRUgsSUFBSSxPQUFPLENBQUMsWUFBWSxFQUFFO2dCQUN4QixPQUFPLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDN0Q7WUFFRCxPQUFPLEdBQUcsQ0FBQyxPQUFPLENBQUM7UUFDckIsQ0FBQztLQUFBO0NBQ0YsQ0FBQTs7O1lBbklBLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7O1lBaEI4QixNQUFNO1lBQWhCLFFBQVE7WUFNcEIsZUFBZTtZQUZmLGlCQUFpQjtZQUNqQixrQkFBa0I7O0FBWWQsY0FBYztJQU4xQixpQkFBaUIsQ0FBQztRQUNqQixVQUFVLEVBQUUsUUFBUTtLQUNyQixDQUFDO0dBSVcsY0FBYyxDQWdJMUI7U0FoSVksY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdG9yLCBOZ1pvbmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEpXSyB9IGZyb20gJ25vZGUtam9zZSc7XG5pbXBvcnQgeyBMck11dGF0aW9uLCBMclNlcnZpY2UgfSBmcm9tICcuLi9hcGkvbHItZ3JhcGhxbCc7XG5pbXBvcnQgeyBNZXNzYWdlTm9kZSB9IGZyb20gJy4uL2FwaS90eXBlcyc7XG5pbXBvcnQgeyBFbmNyeXB0aW9uU2VydmljZSB9IGZyb20gJy4uL2VuY3J5cHRpb24vZW5jcnlwdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IEtleUV4Y2hhbmdlU2VydmljZSB9IGZyb20gJy4uL2tleS1leGNoYW5nZS9rZXktZXhjaGFuZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyBLZXlHcmFwaFNlcnZpY2UgfSBmcm9tICcuLi9rZXkva2V5LWdyYXBoLnNlcnZpY2UnO1xuaW1wb3J0IHsgUnVuT3V0c2lkZUFuZ3VsYXIgfSBmcm9tICcuLi9fY29tbW9uL3J1bi1vdXRzaWRlLWFuZ3VsYXInO1xuaW1wb3J0IHsgTWVzc2FnZVF1ZXJ5LCBTZW5kTWVzc2FnZU11dGF0aW9uIH0gZnJvbSAnLi9tZXNzYWdlLmdxbCc7XG5pbXBvcnQgeyBTZW5kTWVzc2FnZUlucHV0IH0gZnJvbSAnLi9tZXNzYWdlLnR5cGVzJztcblxuQFJ1bk91dHNpZGVBbmd1bGFyKHtcbiAgbmdab25lTmFtZTogJ25nWm9uZScsXG59KVxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIE1lc3NhZ2VTZXJ2aWNlIGV4dGVuZHMgTHJTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBlbmNyeXB0ID0gdGhpcy5lbmNyeXB0aW9uU2VydmljZS5lbmNyeXB0LmJpbmQoXG4gICAgdGhpcy5lbmNyeXB0aW9uU2VydmljZVxuICApO1xuICBwcml2YXRlIHJlYWRvbmx5IGRlY3J5cHQgPSB0aGlzLmVuY3J5cHRpb25TZXJ2aWNlLmRlY3J5cHQuYmluZChcbiAgICB0aGlzLmVuY3J5cHRpb25TZXJ2aWNlXG4gICk7XG4gIHByaXZhdGUgcmVhZG9ubHkgc2lnbiA9IHRoaXMuZW5jcnlwdGlvblNlcnZpY2Uuc2lnbi5iaW5kKFxuICAgIHRoaXMuZW5jcnlwdGlvblNlcnZpY2VcbiAgKTtcbiAgcHJpdmF0ZSByZWFkb25seSB2ZXJpZnkgPSB0aGlzLmVuY3J5cHRpb25TZXJ2aWNlLnZlcmlmeS5iaW5kKFxuICAgIHRoaXMuZW5jcnlwdGlvblNlcnZpY2VcbiAgKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIG5nWm9uZTogTmdab25lLFxuICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgIHByaXZhdGUga2V5R3JhcGg6IEtleUdyYXBoU2VydmljZSxcbiAgICBwcml2YXRlIGVuY3J5cHRpb25TZXJ2aWNlOiBFbmNyeXB0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIGtleUV4Y2hhbmdlU2VydmljZTogS2V5RXhjaGFuZ2VTZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKGluamVjdG9yKTtcbiAgfVxuXG4gIGFzeW5jIHNlbmRNZXNzYWdlKGlucHV0OiBTZW5kTWVzc2FnZUlucHV0KSB7XG4gICAgcmV0dXJuIHRoaXMubXV0YXRlKHRoaXMuc2VuZE1lc3NhZ2VNdXRhdGlvbihpbnB1dCkpO1xuICB9XG5cbiAgYXN5bmMgc2VuZE1lc3NhZ2VNdXRhdGlvbih7XG4gICAgdXNlcm5hbWUsXG4gICAgdXNlcklkLFxuICAgIHBsYWluTWVzc2FnZUpzb24sXG4gICAgcGxhaW5DaXBoZXJNZXNzYWdlSnNvbixcbiAgfTogU2VuZE1lc3NhZ2VJbnB1dCkge1xuICAgIGNvbnN0IHVzZXJTaGFyZWRLZXkgPSBhd2FpdCB0aGlzLmtleUV4Y2hhbmdlU2VydmljZS5jdXJyZW50VXNlclNoYXJlZEtleSh7XG4gICAgICB1c2VybmFtZSxcbiAgICAgIHVzZXJJZCxcbiAgICB9KTtcblxuICAgIGxldCBzaWduZWRDaXBoZXJNZXNzYWdlOiBzdHJpbmc7XG4gICAgaWYgKHBsYWluQ2lwaGVyTWVzc2FnZUpzb24pIHtcbiAgICAgIGNvbnN0IHNoYXJlZEtleSA9IGF3YWl0IHRoaXMua2V5R3JhcGguZ2V0SndrS2V5KFxuICAgICAgICB1c2VyU2hhcmVkS2V5LnNoYXJlZEtleS5pZFxuICAgICAgKTtcbiAgICAgIGNvbnN0IGNpcGhlck1lc3NhZ2UgPSBhd2FpdCB0aGlzLmVuY3J5cHQoXG4gICAgICAgIHNoYXJlZEtleSxcbiAgICAgICAgcGxhaW5DaXBoZXJNZXNzYWdlSnNvblxuICAgICAgKTtcblxuICAgICAgY29uc3Qgc2VuZGVyU2lnUHJrID0gYXdhaXQgdGhpcy5rZXlHcmFwaC5nZXRKd2tLZXkoXG4gICAgICAgIHVzZXJTaGFyZWRLZXkudXNlclNpZ1Byay5pZFxuICAgICAgKTtcblxuICAgICAgc2lnbmVkQ2lwaGVyTWVzc2FnZSA9IEpTT04uc3RyaW5naWZ5KFxuICAgICAgICBhd2FpdCB0aGlzLnNpZ24oc2VuZGVyU2lnUHJrLCBjaXBoZXJNZXNzYWdlKVxuICAgICAgKTtcbiAgICB9XG5cbiAgICBsZXQgcGxhaW5NZXNzYWdlOiBzdHJpbmc7XG4gICAgaWYgKHBsYWluTWVzc2FnZUpzb24pIHtcbiAgICAgIHBsYWluTWVzc2FnZSA9IEpTT04uc3RyaW5naWZ5KHBsYWluTWVzc2FnZUpzb24pO1xuICAgIH1cblxuICAgIHJldHVybiBuZXcgTHJNdXRhdGlvbih7XG4gICAgICBtdXRhdGlvbjogU2VuZE1lc3NhZ2VNdXRhdGlvbixcbiAgICAgIHZhcmlhYmxlczoge1xuICAgICAgICBpbnB1dDoge1xuICAgICAgICAgIHJlY2VpdmVyVXNlcm5hbWU6IHVzZXJuYW1lLFxuICAgICAgICAgIHJlY2VpdmVySWQ6IHVzZXJJZCxcbiAgICAgICAgICBzaGFyZWRLZXlJZDogdXNlclNoYXJlZEtleS5zaGFyZWRLZXkuaWQsXG4gICAgICAgICAgc2VuZGVyU2lnUGJrSWQ6IHVzZXJTaGFyZWRLZXkudXNlclNpZ1Byay5pZCxcbiAgICAgICAgICBzaWduZWRDaXBoZXJNZXNzYWdlLFxuICAgICAgICAgIHBsYWluTWVzc2FnZSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICBhc3luYyBkZWNyeXB0TWVzc2FnZShcbiAgICBtZXNzYWdlOiBNZXNzYWdlTm9kZSxcbiAgICBvcHRpb25zOiB7IHNoYXJlZEtleTogSldLLktleTsgc2VuZGVyU2lnUGJrOiBKV0suS2V5IH1cbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3Qgc2lnbmVkQ2lwaGVyTWVzc2FnZSA9IGF3YWl0IHRoaXMudmVyaWZ5KFxuICAgICAgb3B0aW9ucy5zZW5kZXJTaWdQYmssXG4gICAgICBKU09OLnBhcnNlKG1lc3NhZ2Uuc2lnbmVkQ2lwaGVyTWVzc2FnZSlcbiAgICApO1xuXG4gICAgbWVzc2FnZS5zaWduZWRDaXBoZXJNZXNzYWdlQ2xlYXJKc29uID0gYXdhaXQgdGhpcy5kZWNyeXB0KFxuICAgICAgb3B0aW9ucy5zaGFyZWRLZXksXG4gICAgICBzaWduZWRDaXBoZXJNZXNzYWdlXG4gICAgKTtcbiAgfVxuXG4gIGFzeW5jIGdldE1lc3NhZ2UoaWQ6IHN0cmluZykge1xuICAgIGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMucXVlcnkoe1xuICAgICAgcXVlcnk6IE1lc3NhZ2VRdWVyeSxcbiAgICAgIHZhcmlhYmxlczoge1xuICAgICAgICBpZCxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICAvLyB0aGlzLmtleUdyYXBoLmFkZEtleXMocmVzLmtleUdyYXBoKTtcblxuICAgIGNvbnN0IG1lc3NhZ2UgPSByZXMubWVzc2FnZTtcblxuICAgIGNvbnN0IHNoYXJlZEtleSA9IGF3YWl0IHRoaXMua2V5R3JhcGguZ2V0SndrS2V5KG1lc3NhZ2Uuc2hhcmVkS2V5LmlkKTtcblxuICAgIC8vIFRoZSBzZW5kZXIgd291bGQgYmUgZ2V0dGluZyB0aGUgUHJrIGJhY2suIFRoZSByZWNlaXZlciBnZXRzIHRoZSBQYmsgYmFjay5cbiAgICAvLyBCdXQgb25seSB0aGUgUGJrIGlzIG5lZWRlZCBoZXJlIHRvIHZlcmlmeSBzaWduYXR1cmUuXG4gICAgLy8gU28gYm90aCBzZW5kZXIgYW5kIHJlY2VpdmVyIGNhbiBhY2Nlc3MgdGhpcyBtZXNzYWdlLlxuICAgIGNvbnN0IHNlbmRlclNpZ1BiayA9IGF3YWl0IHRoaXMua2V5R3JhcGguZ2V0SndrS2V5KG1lc3NhZ2Uuc2VuZGVyU2lnUGJrLmlkKTtcblxuICAgIC8vIFRlc3QgYmFkIHNpZ25hdHVyZVxuICAgIC8vIHNlbmRlclNpZ1BiayA9IHNlbmRlclNpZ1Biay50b0pTT04oKTtcbiAgICAvLyBzZW5kZXJTaWdQYmsubiA9IFwieFwiICsgc2VuZGVyU2lnUGJrLm4uc3Vic3RyaW5nKDEpO1xuICAgIC8vIHNlbmRlclNpZ1BiayA9IGF3YWl0IEtGUy5hc0tleShzZW5kZXJTaWdQYmspO1xuXG4gICAgYXdhaXQgdGhpcy5kZWNyeXB0TWVzc2FnZShtZXNzYWdlLCB7XG4gICAgICBzaGFyZWRLZXksXG4gICAgICBzZW5kZXJTaWdQYmssXG4gICAgfSk7XG5cbiAgICBpZiAobWVzc2FnZS5wbGFpbk1lc3NhZ2UpIHtcbiAgICAgIG1lc3NhZ2UucGxhaW5NZXNzYWdlSnNvbiA9IEpTT04ucGFyc2UobWVzc2FnZS5wbGFpbk1lc3NhZ2UpO1xuICAgIH1cblxuICAgIHJldHVybiByZXMubWVzc2FnZTtcbiAgfVxufVxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi9tZXNzYWdlL21lc3NhZ2UudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEpXSyB9IGZyb20gJ25vZGUtam9zZSc7XG5pbXBvcnQgeyBKU09OT2JqZWN0IH0gZnJvbSAnLi4vYXBpL3R5cGVzJztcblxuZXhwb3J0IGludGVyZmFjZSBTZW5kTWVzc2FnZUlucHV0IHtcbiAgdXNlcm5hbWU/OiBzdHJpbmc7XG4gIHVzZXJJZD86IHN0cmluZztcbiAgcGxhaW5NZXNzYWdlSnNvbj86IEpTT05PYmplY3Q7XG4gIHBsYWluQ2lwaGVyTWVzc2FnZUpzb24/OiBKU09OT2JqZWN0O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERlY3J5cHRNZXNzYWdlT3B0aW9ucyB7XG4gIHNoYXJlZEtleTogSldLLktleTtcbiAgc2VuZGVyU2lnUGJrOiBKV0suS2V5O1xufVxuIl19
@@ -1,123 +0,0 @@
1
- import gql from 'graphql-tag';
2
- export const CreateStripeCheckoutSessionMutation = gql `
3
- mutation CreateStripeCheckoutSession(
4
- $priceId: String!
5
- $successUrl: String!
6
- $cancelUrl: String!
7
- ) {
8
- createStripeCheckoutSession(
9
- input: {
10
- priceId: $priceId
11
- successUrl: $successUrl
12
- cancelUrl: $cancelUrl
13
- }
14
- ) {
15
- sessionId
16
- }
17
- }
18
- `;
19
- export const CreateStripeBillingPortalSessionMutation = gql `
20
- mutation CreateStripeBillingPortalSession($returnUrl: String!) {
21
- createStripeBillingPortalSession(input: { returnUrl: $returnUrl }) {
22
- sessionUrl
23
- }
24
- }
25
- `;
26
- export const planFields = `
27
- name
28
- data
29
- state
30
- `;
31
- export const CreateUserIssuedPlanMutation = gql `
32
- mutation CreateUserIssuedPlan($input: CreateUserIssuedPlanInput!){
33
- createUserIssuedPlan(input: $input) {
34
- userIssuedPlan {
35
- id
36
- plan {
37
- ${planFields}
38
- }
39
- token
40
- tokenExpiryTime
41
- planPeriodEnd
42
- planPeriodEndAfterSeconds
43
- }
44
- }
45
- }`;
46
- export const DeleteUserIssuedPlanMutation = gql `
47
- mutation DeleteUserIssuedPlan($input: DeleteUserIssuedPlanInput!) {
48
- deleteUserIssuedPlan(input: $input) {
49
- id
50
- }
51
- }
52
- `;
53
- export const UserIssuablePlansQuery = gql `
54
- query UserIssuablePlans {
55
- userIssuablePlans {
56
- plan {
57
- ${planFields}
58
- }
59
- }
60
- }
61
- `;
62
- // Put other fields in as needed.
63
- export const UserIssuedPlansQuery = gql `
64
- query UserIssuedPlans {
65
- userIssuedPlans {
66
- edges {
67
- node {
68
- id
69
- }
70
- }
71
- }
72
- }
73
- `;
74
- export const UserIssuedPlanQuery = gql `
75
- query UserIssuedPlan(
76
- $id: LrRelayIdInput!
77
- $token: String
78
- ) {
79
- userIssuedPlan(
80
- id: $id
81
- token: $token
82
- ) {
83
- id
84
- plan {
85
- ${planFields}
86
- }
87
- planPeriodEnd
88
- planPeriodEndAfterSeconds
89
- }
90
- }
91
- `;
92
- export const AssociateUserIssuedPlanMutation = gql `
93
- mutation AssociateUserIssuedPlan($input: AssociateUserIssuedPlanInput!){
94
- associateUserIssuedPlan(input: $input) {
95
- userPlan {
96
- id
97
- plan {
98
- ${planFields}
99
- }
100
- periodEnd
101
- }
102
- }
103
- }`;
104
- export const UserPlansQuery = gql `
105
- query UserPlans {
106
- userPlans {
107
- id
108
- periodEnd
109
- plan {
110
- ${planFields}
111
- }
112
- }
113
- }
114
- `;
115
- export const StripeQuery = gql `
116
- query Stripe {
117
- stripe {
118
- id
119
- customer
120
- }
121
- }
122
- `;
123
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhbi5ncWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvcGxhbi9wbGFuLmdxbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEdBQUcsTUFBTSxhQUFhLENBQUM7QUFFOUIsTUFBTSxDQUFDLE1BQU0sbUNBQW1DLEdBQUcsR0FBRyxDQUFBOzs7Ozs7Ozs7Ozs7Ozs7O0NBZ0JyRCxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sd0NBQXdDLEdBQUcsR0FBRyxDQUFBOzs7Ozs7Q0FNMUQsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRzs7OztDQUl6QixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sNEJBQTRCLEdBQUcsR0FBRyxDQUFBOzs7Ozs7VUFNckMsVUFBVTs7Ozs7Ozs7RUFRbEIsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLDRCQUE0QixHQUFHLEdBQUcsQ0FBQTs7Ozs7O0NBTTlDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxHQUFHLENBQUE7Ozs7UUFJakMsVUFBVTs7OztDQUlqQixDQUFDO0FBRUYsaUNBQWlDO0FBQ2pDLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7OztDQVV0QyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsR0FBRyxDQUFBOzs7Ozs7Ozs7OztRQVc5QixVQUFVOzs7Ozs7Q0FNakIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLCtCQUErQixHQUFHLEdBQUcsQ0FBQTs7Ozs7O1VBTXhDLFVBQVU7Ozs7O0VBS2xCLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsR0FBRyxDQUFBOzs7Ozs7UUFNekIsVUFBVTs7OztDQUlqQixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLEdBQUcsQ0FBQTs7Ozs7OztDQU83QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGdxbCBmcm9tICdncmFwaHFsLXRhZyc7XG5cbmV4cG9ydCBjb25zdCBDcmVhdGVTdHJpcGVDaGVja291dFNlc3Npb25NdXRhdGlvbiA9IGdxbGBcbiAgbXV0YXRpb24gQ3JlYXRlU3RyaXBlQ2hlY2tvdXRTZXNzaW9uKFxuICAgICRwcmljZUlkOiBTdHJpbmchXG4gICAgJHN1Y2Nlc3NVcmw6IFN0cmluZyFcbiAgICAkY2FuY2VsVXJsOiBTdHJpbmchXG4gICkge1xuICAgIGNyZWF0ZVN0cmlwZUNoZWNrb3V0U2Vzc2lvbihcbiAgICAgIGlucHV0OiB7XG4gICAgICAgIHByaWNlSWQ6ICRwcmljZUlkXG4gICAgICAgIHN1Y2Nlc3NVcmw6ICRzdWNjZXNzVXJsXG4gICAgICAgIGNhbmNlbFVybDogJGNhbmNlbFVybFxuICAgICAgfVxuICAgICkge1xuICAgICAgc2Vzc2lvbklkXG4gICAgfVxuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgQ3JlYXRlU3RyaXBlQmlsbGluZ1BvcnRhbFNlc3Npb25NdXRhdGlvbiA9IGdxbGBcbiAgbXV0YXRpb24gQ3JlYXRlU3RyaXBlQmlsbGluZ1BvcnRhbFNlc3Npb24oJHJldHVyblVybDogU3RyaW5nISkge1xuICAgIGNyZWF0ZVN0cmlwZUJpbGxpbmdQb3J0YWxTZXNzaW9uKGlucHV0OiB7IHJldHVyblVybDogJHJldHVyblVybCB9KSB7XG4gICAgICBzZXNzaW9uVXJsXG4gICAgfVxuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgcGxhbkZpZWxkcyA9IGBcbiAgbmFtZVxuICBkYXRhXG4gIHN0YXRlXG5gO1xuXG5leHBvcnQgY29uc3QgQ3JlYXRlVXNlcklzc3VlZFBsYW5NdXRhdGlvbiA9IGdxbGBcbm11dGF0aW9uIENyZWF0ZVVzZXJJc3N1ZWRQbGFuKCRpbnB1dDogQ3JlYXRlVXNlcklzc3VlZFBsYW5JbnB1dCEpe1xuICBjcmVhdGVVc2VySXNzdWVkUGxhbihpbnB1dDogJGlucHV0KSB7XG4gICAgdXNlcklzc3VlZFBsYW4ge1xuICAgICAgaWRcbiAgICAgIHBsYW4ge1xuICAgICAgICAke3BsYW5GaWVsZHN9XG4gICAgICB9XG4gICAgICB0b2tlblxuICAgICAgdG9rZW5FeHBpcnlUaW1lXG4gICAgICBwbGFuUGVyaW9kRW5kXG4gICAgICBwbGFuUGVyaW9kRW5kQWZ0ZXJTZWNvbmRzXG4gICAgfVxuICB9XG59YDtcblxuZXhwb3J0IGNvbnN0IERlbGV0ZVVzZXJJc3N1ZWRQbGFuTXV0YXRpb24gPSBncWxgXG4gIG11dGF0aW9uIERlbGV0ZVVzZXJJc3N1ZWRQbGFuKCRpbnB1dDogRGVsZXRlVXNlcklzc3VlZFBsYW5JbnB1dCEpIHtcbiAgICBkZWxldGVVc2VySXNzdWVkUGxhbihpbnB1dDogJGlucHV0KSB7XG4gICAgICBpZFxuICAgIH1cbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFVzZXJJc3N1YWJsZVBsYW5zUXVlcnkgPSBncWxgXG5xdWVyeSBVc2VySXNzdWFibGVQbGFucyB7XG4gIHVzZXJJc3N1YWJsZVBsYW5zIHtcbiAgICBwbGFuIHtcbiAgICAgICR7cGxhbkZpZWxkc31cbiAgICB9XG4gIH1cbn1cbmA7XG5cbi8vIFB1dCBvdGhlciBmaWVsZHMgaW4gYXMgbmVlZGVkLlxuZXhwb3J0IGNvbnN0IFVzZXJJc3N1ZWRQbGFuc1F1ZXJ5ID0gZ3FsYFxuICBxdWVyeSBVc2VySXNzdWVkUGxhbnMge1xuICAgIHVzZXJJc3N1ZWRQbGFucyB7XG4gICAgICBlZGdlcyB7XG4gICAgICAgIG5vZGUge1xuICAgICAgICAgIGlkXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBVc2VySXNzdWVkUGxhblF1ZXJ5ID0gZ3FsYFxucXVlcnkgVXNlcklzc3VlZFBsYW4oXG4gICRpZDogTHJSZWxheUlkSW5wdXQhXG4gICR0b2tlbjogU3RyaW5nXG4pIHtcbiAgdXNlcklzc3VlZFBsYW4oXG4gICAgaWQ6ICRpZFxuICAgIHRva2VuOiAkdG9rZW5cbiAgKSB7XG4gICAgaWRcbiAgICBwbGFuIHtcbiAgICAgICR7cGxhbkZpZWxkc31cbiAgICB9XG4gICAgcGxhblBlcmlvZEVuZFxuICAgIHBsYW5QZXJpb2RFbmRBZnRlclNlY29uZHNcbiAgfVxufVxuYDtcblxuZXhwb3J0IGNvbnN0IEFzc29jaWF0ZVVzZXJJc3N1ZWRQbGFuTXV0YXRpb24gPSBncWxgXG5tdXRhdGlvbiBBc3NvY2lhdGVVc2VySXNzdWVkUGxhbigkaW5wdXQ6IEFzc29jaWF0ZVVzZXJJc3N1ZWRQbGFuSW5wdXQhKXtcbiAgYXNzb2NpYXRlVXNlcklzc3VlZFBsYW4oaW5wdXQ6ICRpbnB1dCkge1xuICAgIHVzZXJQbGFuIHtcbiAgICAgIGlkXG4gICAgICBwbGFuIHtcbiAgICAgICAgJHtwbGFuRmllbGRzfVxuICAgICAgfVxuICAgICAgcGVyaW9kRW5kXG4gICAgfVxuICB9XG59YDtcblxuZXhwb3J0IGNvbnN0IFVzZXJQbGFuc1F1ZXJ5ID0gZ3FsYFxucXVlcnkgVXNlclBsYW5zIHtcbiAgdXNlclBsYW5zIHtcbiAgICBpZFxuICAgIHBlcmlvZEVuZFxuICAgIHBsYW4ge1xuICAgICAgJHtwbGFuRmllbGRzfVxuICAgIH1cbiAgfVxufVxuYDtcblxuZXhwb3J0IGNvbnN0IFN0cmlwZVF1ZXJ5ID0gZ3FsYFxuICBxdWVyeSBTdHJpcGUge1xuICAgIHN0cmlwZSB7XG4gICAgICBpZFxuICAgICAgY3VzdG9tZXJcbiAgICB9XG4gIH1cbmA7XG4iXX0=
@@ -1,150 +0,0 @@
1
- import { __awaiter } from "tslib";
2
- /* eslint-disable @typescript-eslint/no-explicit-any */
3
- import { Injectable } from '@angular/core';
4
- import { LrApolloService } from '../api/lr-apollo.service';
5
- import { KcBadArgumentException } from '../_common/exceptions';
6
- import { AssociateUserIssuedPlanMutation, CreateStripeBillingPortalSessionMutation, CreateStripeCheckoutSessionMutation, CreateUserIssuedPlanMutation, DeleteUserIssuedPlanMutation, StripeQuery, UserIssuablePlansQuery, UserIssuedPlanQuery, UserIssuedPlansQuery, UserPlansQuery, } from './plan.gql';
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "../api/lr-apollo.service";
9
- export function mapUserPlans(userPlans) {
10
- return userPlans.map((t) => {
11
- var _a;
12
- return (Object.assign(Object.assign({}, t), { periodEnd: t.periodEnd && new Date(t.periodEnd), subscription: { id: (_a = t.stripe) === null || _a === void 0 ? void 0 : _a.subscriptionId } }));
13
- });
14
- }
15
- export class PlanService {
16
- constructor(lrApollo) {
17
- this.lrApollo = lrApollo;
18
- }
19
- createStripeCheckoutSession(input) {
20
- return __awaiter(this, void 0, void 0, function* () {
21
- const res = yield this.lrApollo.mutate({
22
- mutation: CreateStripeCheckoutSessionMutation,
23
- variables: Object.assign({}, input),
24
- });
25
- return {
26
- id: res.createStripeCheckoutSession.sessionId,
27
- };
28
- });
29
- }
30
- createStripeBillingPortalSession(returnUrl) {
31
- return __awaiter(this, void 0, void 0, function* () {
32
- const res = yield this.lrApollo.mutate({
33
- mutation: CreateStripeBillingPortalSessionMutation,
34
- variables: {
35
- returnUrl,
36
- },
37
- });
38
- return {
39
- url: res.createStripeBillingPortalSession.sessionUrl,
40
- };
41
- });
42
- }
43
- getUserIssuablePlans() {
44
- return __awaiter(this, void 0, void 0, function* () {
45
- const { userIssuablePlans } = yield this.lrApollo.query({
46
- query: UserIssuablePlansQuery,
47
- });
48
- return userIssuablePlans;
49
- });
50
- }
51
- createUserIssuedPlan({ planName, tokenExpiryTime, planPeriodEnd, planPeriodEndAfterSeconds, }) {
52
- return __awaiter(this, void 0, void 0, function* () {
53
- if (planPeriodEnd == null && planPeriodEndAfterSeconds == null) {
54
- throw new KcBadArgumentException('Must specify either "planPeriodEnd" or "planPeriodEndAfterSeconds"');
55
- }
56
- const { createUserIssuedPlan } = yield this.lrApollo.mutate({
57
- mutation: CreateUserIssuedPlanMutation,
58
- variables: {
59
- input: {
60
- planName,
61
- tokenExpiryTime: tokenExpiryTime.toISOString(),
62
- planPeriodEnd: planPeriodEnd && planPeriodEnd.toISOString(),
63
- planPeriodEndAfterSeconds,
64
- },
65
- },
66
- });
67
- const { userIssuedPlan } = createUserIssuedPlan;
68
- return Object.assign(Object.assign({}, userIssuedPlan), { tokenExpiryTime: new Date(userIssuedPlan.tokenExpiryTime), planPeriodEnd: new Date(userIssuedPlan.planPeriodEnd) });
69
- });
70
- }
71
- deleteUserIssuedPlan(id) {
72
- return __awaiter(this, void 0, void 0, function* () {
73
- return yield this.lrApollo.mutate({
74
- mutation: DeleteUserIssuedPlanMutation,
75
- variables: {
76
- input: {
77
- id,
78
- },
79
- },
80
- });
81
- });
82
- }
83
- getUserIssuedPlans() {
84
- return __awaiter(this, void 0, void 0, function* () {
85
- const { userIssuedPlans } = yield this.lrApollo.query({
86
- query: UserIssuedPlansQuery,
87
- });
88
- return userIssuedPlans.edges.map((edge) => edge.node);
89
- });
90
- }
91
- getUserIssuedPlan(id, token) {
92
- return __awaiter(this, void 0, void 0, function* () {
93
- const { userIssuedPlan } = yield this.lrApollo.query({
94
- query: UserIssuedPlanQuery,
95
- variables: {
96
- id,
97
- token,
98
- },
99
- });
100
- return userIssuedPlan;
101
- });
102
- }
103
- associateUserIssuedPlan({ id, token, }) {
104
- return __awaiter(this, void 0, void 0, function* () {
105
- const { associateUserIssuedPlan } = yield this.lrApollo.query({
106
- query: AssociateUserIssuedPlanMutation,
107
- variables: {
108
- input: {
109
- id,
110
- token,
111
- },
112
- },
113
- });
114
- const { userPlan } = associateUserIssuedPlan;
115
- return Object.assign(Object.assign({}, userPlan), { periodEnd: new Date(userPlan.periodEnd) });
116
- });
117
- }
118
- getUserPlans() {
119
- return __awaiter(this, void 0, void 0, function* () {
120
- const { userPlans } = yield this.lrApollo.query({
121
- query: UserPlansQuery,
122
- });
123
- return mapUserPlans(userPlans);
124
- });
125
- }
126
- getPlanType(subscriptionId) {
127
- return __awaiter(this, void 0, void 0, function* () {
128
- const stripe = yield this.getStripe();
129
- return stripe.customer.subscriptions.data.filter((sub) => sub.id === subscriptionId)[0].items.data[0].plan.interval;
130
- });
131
- }
132
- getStripe() {
133
- return __awaiter(this, void 0, void 0, function* () {
134
- const { stripe } = yield this.lrApollo.query({
135
- query: StripeQuery,
136
- });
137
- return stripe;
138
- });
139
- }
140
- }
141
- PlanService.ɵprov = i0.ɵɵdefineInjectable({ factory: function PlanService_Factory() { return new PlanService(i0.ɵɵinject(i1.LrApolloService)); }, token: PlanService, providedIn: "root" });
142
- PlanService.decorators = [
143
- { type: Injectable, args: [{
144
- providedIn: 'root',
145
- },] }
146
- ];
147
- PlanService.ctorParameters = () => [
148
- { type: LrApolloService }
149
- ];
150
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbGliL3BsYW4vcGxhbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSx1REFBdUQ7QUFDdkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFM0QsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDL0QsT0FBTyxFQUNMLCtCQUErQixFQUMvQix3Q0FBd0MsRUFDeEMsbUNBQW1DLEVBQ25DLDRCQUE0QixFQUM1Qiw0QkFBNEIsRUFDNUIsV0FBVyxFQUNYLHNCQUFzQixFQUN0QixtQkFBbUIsRUFDbkIsb0JBQW9CLEVBQ3BCLGNBQWMsR0FDZixNQUFNLFlBQVksQ0FBQzs7O0FBU3BCLE1BQU0sVUFBVSxZQUFZLENBQUMsU0FBZ0I7SUFDM0MsT0FBTyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7O1FBQUMsT0FBQSxpQ0FDdkIsQ0FBQyxLQUNKLFNBQVMsRUFBRSxDQUFDLENBQUMsU0FBUyxJQUFJLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFDL0MsWUFBWSxFQUFFLEVBQUUsRUFBRSxRQUFFLENBQUMsQ0FBQyxNQUFNLDBDQUFFLGNBQWMsRUFBRSxJQUM5QyxDQUFBO0tBQUEsQ0FBQyxDQUFDO0FBQ04sQ0FBQztBQUtELE1BQU0sT0FBTyxXQUFXO0lBQ3RCLFlBQW9CLFFBQXlCO1FBQXpCLGFBQVEsR0FBUixRQUFRLENBQWlCO0lBQUcsQ0FBQztJQUUzQywyQkFBMkIsQ0FBQyxLQUlqQzs7WUFDQyxNQUFNLEdBQUcsR0FBRyxNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUVuQztnQkFDRCxRQUFRLEVBQUUsbUNB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Ozs7WUF4S0YsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7WUFqQ1EsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExyQXBvbGxvU2VydmljZSB9IGZyb20gJy4uL2FwaS9sci1hcG9sbG8uc2VydmljZSc7XG5pbXBvcnQgeyBKU09OT2JqZWN0IH0gZnJvbSAnLi4vYXBpL3R5cGVzJztcbmltcG9ydCB7IEtjQmFkQXJndW1lbnRFeGNlcHRpb24gfSBmcm9tICcuLi9fY29tbW9uL2V4Y2VwdGlvbnMnO1xuaW1wb3J0IHtcbiAgQXNzb2NpYXRlVXNlcklzc3VlZFBsYW5NdXRhdGlvbixcbiAgQ3JlYXRlU3RyaXBlQmlsbGluZ1BvcnRhbFNlc3Npb25NdXRhdGlvbixcbiAgQ3JlYXRlU3RyaXBlQ2hlY2tvdXRTZXNzaW9uTXV0YXRpb24sXG4gIENyZWF0ZVVzZXJJc3N1ZWRQbGFuTXV0YXRpb24sXG4gIERlbGV0ZVVzZXJJc3N1ZWRQbGFuTXV0YXRpb24sXG4gIFN0cmlwZVF1ZXJ5LFxuICBVc2VySXNzdWFibGVQbGFuc1F1ZXJ5LFxuICBVc2VySXNzdWVkUGxhblF1ZXJ5LFxuICBVc2VySXNzdWVkUGxhbnNRdWVyeSxcbiAgVXNlclBsYW5zUXVlcnksXG59IGZyb20gJy4vcGxhbi5ncWwnO1xuaW1wb3J0IHtcbiAgU3RyaXBlQmlsbGluZ1BvcnRhbFNlc3Npb24sXG4gIFN0cmlwZUNoZWNrb3V0U2Vzc2lvbixcbiAgVXNlcklzc3VhYmxlUGxhbixcbiAgVXNlcklzc3VlZFBsYW4sXG4gIFVzZXJQbGFuLFxufSBmcm9tICcuL3BsYW4udHlwZXMnO1xuXG5leHBvcnQgZnVuY3Rpb24gbWFwVXNlclBsYW5zKHVzZXJQbGFuczogYW55W10pOiBVc2VyUGxhbltdIHtcbiAgcmV0dXJuIHVzZXJQbGFucy5tYXAoKHQpID0+ICh7XG4gICAgLi4udCxcbiAgICBwZXJpb2RFbmQ6IHQucGVyaW9kRW5kICYmIG5ldyBEYXRlKHQucGVyaW9kRW5kKSxcbiAgICBzdWJzY3JpcHRpb246IHsgaWQ6IHQuc3RyaXBlPy5zdWJzY3JpcHRpb25JZCB9LFxuICB9KSk7XG59XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBQbGFuU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbHJBcG9sbG86IExyQXBvbGxvU2VydmljZSkge31cblxuICBhc3luYyBjcmVhdGVTdHJpcGVDaGVja291dFNlc3Npb24oaW5wdXQ6IHtcbiAgICBwcmljZUlkOiBzdHJpbmc7XG4gICAgc3VjY2Vzc1VybDogc3RyaW5nO1xuICAgIGNhbmNlbFVybDogc3RyaW5nO1xuICB9KTogUHJvbWlzZTxTdHJpcGVDaGVja291dFNlc3Npb24+IHtcbiAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLmxyQXBvbGxvLm11dGF0ZTx7XG4gICAgICBjcmVhdGVTdHJpcGVDaGVja291dFNlc3Npb246IGFueTtcbiAgICB9Pih7XG4gICAgICBtdXRhdGlvbjogQ3JlYXRlU3RyaXBlQ2hlY2tvdXRTZXNzaW9uTXV0YXRpb24sXG4gICAgICB2YXJpYWJsZXM6IHtcbiAgICAgICAgLi4uaW5wdXQsXG4gICAgICB9LFxuICAgIH0pO1xuICAgIHJldHVybiB7XG4gICAgICBpZDogcmVzLmNyZWF0ZVN0cmlwZUNoZWNrb3V0U2Vzc2lvbi5zZXNzaW9uSWQsXG4gICAgfTtcbiAgfVxuXG4gIGFzeW5jIGNyZWF0ZVN0cmlwZUJpbGxpbmdQb3J0YWxTZXNzaW9uKFxuICAgIHJldHVyblVybDogc3RyaW5nXG4gICk6IFByb21pc2U8U3RyaXBlQmlsbGluZ1BvcnRhbFNlc3Npb24+IHtcbiAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLmxyQXBvbGxvLm11dGF0ZTx7XG4gICAgICBjcmVhdGVTdHJpcGVCaWxsaW5nUG9ydGFsU2Vzc2lvbjogYW55O1xuICAgIH0+KHtcbiAgICAgIG11dGF0aW9uOiBDcmVhdGVTdHJpcGVCaWxsaW5nUG9ydGFsU2Vzc2lvbk11dGF0aW9uLFxuICAgICAgdmFyaWFibGVzOiB7XG4gICAgICAgIHJldHVyblVybCxcbiAgICAgIH0sXG4gICAgfSk7XG4gICAgcmV0dXJuIHtcbiAgICAgIHVybDogcmVzLmNyZWF0ZVN0cmlwZUJpbGxpbmdQb3J0YWxTZXNzaW9uLnNlc3Npb25VcmwsXG4gICAgfTtcbiAgfVxuXG4gIGFzeW5jIGdldFVzZXJJc3N1YWJsZVBsYW5zKCk6IFByb21pc2U8VXNlcklzc3VhYmxlUGxhbltdPiB7XG4gICAgY29uc3QgeyB1c2VySXNzdWFibGVQbGFucyB9ID0gYXdhaXQgdGhpcy5sckFwb2xsby5xdWVyeTx7XG4gICAgICB1c2VySXNzdWFibGVQbGFuczogYW55O1xuICAgIH0+KHtcbiAgICAgIHF1ZXJ5OiBVc2VySXNzdWFibGVQbGFuc1F1ZXJ5LFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHVzZXJJc3N1YWJsZVBsYW5zO1xuICB9XG5cbiAgYXN5bmMgY3JlYXRlVXNlcklzc3VlZFBsYW4oe1xuICAgIHBsYW5OYW1lLFxuICAgIHRva2VuRXhwaXJ5VGltZSxcbiAgICBwbGFuUGVyaW9kRW5kLFxuICAgIHBsYW5QZXJpb2RFbmRBZnRlclNlY29uZHMsXG4gIH06IHtcbiAgICBwbGFuTmFtZTogc3RyaW5nO1xuICAgIHRva2VuRXhwaXJ5VGltZTogRGF0ZTtcbiAgICBwbGFuUGVyaW9kRW5kPzogRGF0ZTtcbiAgICBwbGFuUGVyaW9kRW5kQWZ0ZXJTZWNvbmRzPzogbnVtYmVyO1xuICB9KTogUHJvbWlzZTxVc2VySXNzdWVkUGxhbj4ge1xuICAgIGlmIChwbGFuUGVyaW9kRW5kID09IG51bGwgJiYgcGxhblBlcmlvZEVuZEFmdGVyU2Vjb25kcyA9PSBudWxsKSB7XG4gICAgICB0aHJvdyBuZXcgS2NCYWRBcmd1bWVudEV4Y2VwdGlvbihcbiAgICAgICAgJ011c3Qgc3BlY2lmeSBlaXRoZXIgXCJwbGFuUGVyaW9kRW5kXCIgb3IgXCJwbGFuUGVyaW9kRW5kQWZ0ZXJTZWNvbmRzXCInXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IHsgY3JlYXRlVXNlcklzc3VlZFBsYW4gfSA9IGF3YWl0IHRoaXMubHJBcG9sbG8ubXV0YXRlPGFueT4oe1xuICAgICAgbXV0YXRpb246IENyZWF0ZVVzZXJJc3N1ZWRQbGFuTXV0YXRpb24sXG4gICAgICB2YXJpYWJsZXM6IHtcbiAgICAgICAgaW5wdXQ6IHtcbiAgICAgICAgICBwbGFuTmFtZSxcbiAgICAgICAgICB0b2tlbkV4cGlyeVRpbWU6IHRva2VuRXhwaXJ5VGltZS50b0lTT1N0cmluZygpLFxuICAgICAgICAgIHBsYW5QZXJpb2RFbmQ6IHBsYW5QZXJpb2RFbmQgJiYgcGxhblBlcmlvZEVuZC50b0lTT1N0cmluZygpLFxuICAgICAgICAgIHBsYW5QZXJpb2RFbmRBZnRlclNlY29uZHMsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgY29uc3QgeyB1c2VySXNzdWVkUGxhbiB9ID0gY3JlYXRlVXNlcklzc3VlZFBsYW47XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4udXNlcklzc3VlZFBsYW4sXG4gICAgICB0b2tlbkV4cGlyeVRpbWU6IG5ldyBEYXRlKHVzZXJJc3N1ZWRQbGFuLnRva2VuRXhwaXJ5VGltZSksXG4gICAgICBwbGFuUGVyaW9kRW5kOiBuZXcgRGF0ZSh1c2VySXNzdWVkUGxhbi5wbGFuUGVyaW9kRW5kKSxcbiAgICB9O1xuICB9XG5cbiAgYXN5bmMgZGVsZXRlVXNlcklzc3VlZFBsYW4oaWQ6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLmxyQXBvbGxvLm11dGF0ZTxhbnk+KHtcbiAgICAgIG11dGF0aW9uOiBEZWxldGVVc2VySXNzdWVkUGxhbk11dGF0aW9uLFxuICAgICAgdmFyaWFibGVzOiB7XG4gICAgICAgIGlucHV0OiB7XG4gICAgICAgICAgaWQsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgZ2V0VXNlcklzc3VlZFBsYW5zKCk6IFByb21pc2U8YW55W10+IHtcbiAgICBjb25zdCB7IHVzZXJJc3N1ZWRQbGFucyB9ID0gYXdhaXQgdGhpcy5sckFwb2xsby5xdWVyeTxhbnk+KHtcbiAgICAgIHF1ZXJ5OiBVc2VySXNzdWVkUGxhbnNRdWVyeSxcbiAgICB9KTtcblxuICAgIHJldHVybiB1c2VySXNzdWVkUGxhbnMuZWRnZXMubWFwKChlZGdlKSA9PiBlZGdlLm5vZGUpO1xuICB9XG5cbiAgYXN5bmMgZ2V0VXNlcklzc3VlZFBsYW4oaWQ6IHN0cmluZywgdG9rZW4/OiBzdHJpbmcpOiBQcm9taXNlPGFueT4ge1xuICAgIGNvbnN0IHsgdXNlcklzc3VlZFBsYW4gfSA9IGF3YWl0IHRoaXMubHJBcG9sbG8ucXVlcnk8YW55Pih7XG4gICAgICBxdWVyeTogVXNlcklzc3VlZFBsYW5RdWVyeSxcbiAgICAgIHZhcmlhYmxlczoge1xuICAgICAgICBpZCxcbiAgICAgICAgdG9rZW4sXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHVzZXJJc3N1ZWRQbGFuO1xuICB9XG5cbiAgYXN5bmMgYXNzb2NpYXRlVXNlcklzc3VlZFBsYW4oe1xuICAgIGlkLFxuICAgIHRva2VuLFxuICB9OiB7XG4gICAgaWQ6IHN0cmluZztcbiAgICB0b2tlbjogc3RyaW5nO1xuICB9KTogUHJvbWlzZTxVc2VyUGxhbj4ge1xuICAgIGNvbnN0IHsgYXNzb2NpYXRlVXNlcklzc3VlZFBsYW4gfSA9IGF3YWl0IHRoaXMubHJBcG9sbG8ucXVlcnk8YW55Pih7XG4gICAgICBxdWVyeTogQXNzb2NpYXRlVXNlcklzc3VlZFBsYW5NdXRhdGlvbixcbiAgICAgIHZhcmlhYmxlczoge1xuICAgICAgICBpbnB1dDoge1xuICAgICAgICAgIGlkLFxuICAgICAgICAgIHRva2VuLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIGNvbnN0IHsgdXNlclBsYW4gfSA9IGFzc29jaWF0ZVVzZXJJc3N1ZWRQbGFuO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnVzZXJQbGFuLFxuICAgICAgcGVyaW9kRW5kOiBuZXcgRGF0ZSh1c2VyUGxhbi5wZXJpb2RFbmQpLFxuICAgIH07XG4gIH1cblxuICBhc3luYyBnZXRVc2VyUGxhbnMoKTogUHJvbWlzZTxVc2VyUGxhbltdPiB7XG4gICAgY29uc3QgeyB1c2VyUGxhbnMgfSA9IGF3YWl0IHRoaXMubHJBcG9sbG8ucXVlcnk8YW55Pih7XG4gICAgICBxdWVyeTogVXNlclBsYW5zUXVlcnksXG4gICAgfSk7XG5cbiAgICByZXR1cm4gbWFwVXNlclBsYW5zKHVzZXJQbGFucyk7XG4gIH1cblxuICBhc3luYyBnZXRQbGFuVHlwZShzdWJzY3JpcHRpb25JZDogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBjb25zdCBzdHJpcGU6IGFueSA9IGF3YWl0IHRoaXMuZ2V0U3RyaXBlKCk7XG4gICAgcmV0dXJuIHN0cmlwZS5jdXN0b21lci5zdWJzY3JpcHRpb25zLmRhdGEuZmlsdGVyKFxuICAgICAgKHN1YikgPT4gc3ViLmlkID09PSBzdWJzY3JpcHRpb25JZFxuICAgIClbMF0uaXRlbXMuZGF0YVswXS5wbGFuLmludGVydmFsO1xuICB9XG5cbiAgYXN5bmMgZ2V0U3RyaXBlKCk6IFByb21pc2U8e1xuICAgIGlkOiBzdHJpbmc7XG4gICAgY3VzdG9tZXI6IFJlY29yZDxzdHJpbmcsIEpTT05PYmplY3Q+O1xuICB9PiB7XG4gICAgY29uc3QgeyBzdHJpcGUgfSA9IGF3YWl0IHRoaXMubHJBcG9sbG8ucXVlcnk8YW55Pih7XG4gICAgICBxdWVyeTogU3RyaXBlUXVlcnksXG4gICAgfSk7XG5cbiAgICByZXR1cm4gc3RyaXBlO1xuICB9XG59XG4iXX0=
@@ -1,11 +0,0 @@
1
- export class Plan {
2
- }
3
- export class Subscription {
4
- }
5
- export class UserPlan {
6
- }
7
- export class StripeCheckoutSession {
8
- }
9
- export class StripeBillingPortalSession {
10
- }
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhbi50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi9wbGFuL3BsYW4udHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLElBQUk7Q0FJaEI7QUFFRCxNQUFNLE9BQU8sWUFBWTtDQUV4QjtBQUVELE1BQU0sT0FBTyxRQUFRO0NBS3BCO0FBRUQsTUFBTSxPQUFPLHFCQUFxQjtDQUVqQztBQUVELE1BQU0sT0FBTywwQkFBMEI7Q0FFdEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBKU09OT2JqZWN0IH0gZnJvbSAnLi4vYXBpL3R5cGVzJztcblxuZXhwb3J0IGNsYXNzIFBsYW4ge1xuICBuYW1lOiBzdHJpbmc7XG4gIGRhdGE6IFJlY29yZDxzdHJpbmcsIEpTT05PYmplY3Q+O1xuICBzdGF0ZTogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgU3Vic2NyaXB0aW9uIHtcbiAgaWQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIFVzZXJQbGFuIHtcbiAgaWQ6IHN0cmluZztcbiAgcGxhbjogUGxhbjtcbiAgcGVyaW9kRW5kOiBEYXRlO1xuICBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbn1cblxuZXhwb3J0IGNsYXNzIFN0cmlwZUNoZWNrb3V0U2Vzc2lvbiB7XG4gIGlkOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBTdHJpcGVCaWxsaW5nUG9ydGFsU2Vzc2lvbiB7XG4gIHVybDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVzZXJJc3N1YWJsZVBsYW4ge1xuICBwbGFuOiBQbGFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVzZXJJc3N1ZWRQbGFuIHtcbiAgaWQ6IHN0cmluZztcbiAgcGxhbjogUGxhbjtcbiAgdG9rZW46IHN0cmluZztcbiAgdG9rZW5FeHBpcnlUaW1lOiBEYXRlO1xuICBwbGFuUGVyaW9kRW5kOiBEYXRlO1xuICBwbGFuUGVyaW9kRW5kQWZ0ZXJTZWNvbmRzOiBudW1iZXI7XG59XG4iXX0=
@@ -1,102 +0,0 @@
1
- import { __awaiter } from "tslib";
2
- /* eslint-disable @typescript-eslint/no-explicit-any */
3
- import { Injectable } from '@angular/core';
4
- import { LrApolloService } from '../api/lr-apollo.service';
5
- import { FileUploadService } from '../file-upload/file-upload.service';
6
- import { KeyGraphService } from '../key/key-graph.service';
7
- import { KeyMetaService } from '../key/key-meta.service';
8
- import { CreateFileMutation, DeleteFileMutation, FileType } from './record.gql';
9
- import * as i0 from "@angular/core";
10
- import * as i1 from "../file-upload/file-upload.service";
11
- import * as i2 from "../api/lr-apollo.service";
12
- import * as i3 from "../key/key-meta.service";
13
- import * as i4 from "../key/key-graph.service";
14
- export class RecordAttachmentService {
15
- constructor(fileUploadService, lrApollo, keyMetaService, keyGraph) {
16
- this.fileUploadService = fileUploadService;
17
- this.lrApollo = lrApollo;
18
- this.keyMetaService = keyMetaService;
19
- this.keyGraph = keyGraph;
20
- }
21
- downloadAttachment(fileStateNodeId, keyId) {
22
- return __awaiter(this, void 0, void 0, function* () {
23
- const encryptedFile = yield this.fileUploadService.downloadEncryptedFile(fileStateNodeId);
24
- return yield this.keyGraph.decryptFile(keyId, encryptedFile);
25
- });
26
- }
27
- uploadAttachments(recordId, attachments) {
28
- return __awaiter(this, void 0, void 0, function* () {
29
- const fileIds = yield Promise.all((attachments || []).map((x) => __awaiter(this, void 0, void 0, function* () {
30
- if (x.fileId) {
31
- if (x.isDeleted) {
32
- yield this.deleteAttachment(x.fileId);
33
- return null;
34
- }
35
- else {
36
- return x.fileId;
37
- }
38
- }
39
- else {
40
- return yield this.addAttachment(recordId, x);
41
- }
42
- })));
43
- return fileIds.filter((x) => x);
44
- });
45
- }
46
- addAttachment(recordId, attachment) {
47
- return __awaiter(this, void 0, void 0, function* () {
48
- const secureContent = {
49
- name: attachment.name,
50
- fieldId: attachment.fieldId,
51
- fileType: attachment.file.type,
52
- fileSize: attachment.file.size,
53
- lastModified: attachment.file.lastModified,
54
- };
55
- const fileContent = yield this.fileUploadService.loadFile(attachment.file);
56
- const doubleWrappedContent = yield this.keyMetaService.doubleWrapContent(secureContent, [recordId], fileContent);
57
- const contentId = yield this.fileUploadService.uploadEncryptedFile({
58
- encryptedContent: doubleWrappedContent.cipherFileContent,
59
- fileName: attachment.name,
60
- });
61
- // Save file
62
- const response = yield this.lrApollo.mutate({
63
- mutation: CreateFileMutation,
64
- variables: {
65
- input: {
66
- plainMeta: JSON.stringify({ fileType: FileType.RecordAttachment }),
67
- wrappedStateKey: doubleWrappedContent.doubleWrappedKey,
68
- cipherMeta: doubleWrappedContent.cipherMeta,
69
- parentDirectories: doubleWrappedContent.wrappedKeys.map((x) => ({
70
- directoryId: x.directoryId,
71
- wrappingKeyId: x.wrappingKeyId,
72
- wrappedFileKey: x.wrappedKey,
73
- })),
74
- contentResource: contentId,
75
- },
76
- },
77
- });
78
- return response.createFile.file.id;
79
- });
80
- }
81
- deleteAttachment(fileId) {
82
- return __awaiter(this, void 0, void 0, function* () {
83
- yield this.lrApollo.mutate({
84
- mutation: DeleteFileMutation,
85
- variables: { fileId },
86
- });
87
- });
88
- }
89
- }
90
- RecordAttachmentService.ɵprov = i0.ɵɵdefineInjectable({ factory: function RecordAttachmentService_Factory() { return new RecordAttachmentService(i0.ɵɵinject(i1.FileUploadService), i0.ɵɵinject(i2.LrApolloService), i0.ɵɵinject(i3.KeyMetaService), i0.ɵɵinject(i4.KeyGraphService)); }, token: RecordAttachmentService, providedIn: "root" });
91
- RecordAttachmentService.decorators = [
92
- { type: Injectable, args: [{
93
- providedIn: 'root',
94
- },] }
95
- ];
96
- RecordAttachmentService.ctorParameters = () => [
97
- { type: FileUploadService },
98
- { type: LrApolloService },
99
- { type: KeyMetaService },
100
- { type: KeyGraphService }
101
- ];
102
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb3JkLWF0dGFjaG1lbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi9yZWNvcmQvcmVjb3JkLWF0dGFjaG1lbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsdURBQXVEO0FBQ3ZELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGtCQUFrQixFQUFFLFFBQVEsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7Ozs7O0FBTWhGLE1BQU0sT0FBTyx1QkFBdUI7SUFDbEMsWUFDVSxpQkFBb0MsRUFDcEMsUUFBeUIsRUFDekIsY0FBOEIsRUFDOUIsUUFBeUI7UUFIekIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxhQUFRLEdBQVIsUUFBUSxDQUFpQjtRQUN6QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsYUFBUSxHQUFSLFFBQVEsQ0FBaUI7SUFDaEMsQ0FBQztJQUVFLGtCQUFrQixDQUN0QixlQUF1QixFQUN2QixLQUFhOztZQUViLE1BQU0sYUFBYSxHQUFHLE1BQU0sSUFBSSxDQUFDLGlCQUFpQixDQUFDLHFCQUFxQixDQUN0RSxlQUFlLENBQ2hCLENBQUM7WUFFRixPQUFPLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBQy9ELENBQUM7S0FBQTtJQUVLLGlCQUFpQixDQUNyQixRQUFn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YUFDdEIsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztLQUFBOzs7O1lBM0ZGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7O1lBUlEsaUJBQWlCO1lBRGpCLGVBQWU7WUFHZixjQUFjO1lBRGQsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExyQXBvbGxvU2VydmljZSB9IGZyb20gJy4uL2FwaS9sci1hcG9sbG8uc2VydmljZSc7XG5pbXBvcnQgeyBGaWxlVXBsb2FkU2VydmljZSB9IGZyb20gJy4uL2ZpbGUtdXBsb2FkL2ZpbGUtdXBsb2FkLnNlcnZpY2UnO1xuaW1wb3J0IHsgS2V5R3JhcGhTZXJ2aWNlIH0gZnJvbSAnLi4va2V5L2tleS1ncmFwaC5zZXJ2aWNlJztcbmltcG9ydCB7IEtleU1ldGFTZXJ2aWNlIH0gZnJvbSAnLi4va2V5L2tleS1tZXRhLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ3JlYXRlRmlsZU11dGF0aW9uLCBEZWxldGVGaWxlTXV0YXRpb24sIEZpbGVUeXBlIH0gZnJvbSAnLi9yZWNvcmQuZ3FsJztcbmltcG9ydCB7IE5ld0F0dGFjaG1lbnQsIE5ld09yVXBkYXRlZEF0dGFjaG1lbnQgfSBmcm9tICcuL3JlY29yZC50eXBlcyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBSZWNvcmRBdHRhY2htZW50U2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZmlsZVVwbG9hZFNlcnZpY2U6IEZpbGVVcGxvYWRTZXJ2aWNlLFxuICAgIHByaXZhdGUgbHJBcG9sbG86IExyQXBvbGxvU2VydmljZSxcbiAgICBwcml2YXRlIGtleU1ldGFTZXJ2aWNlOiBLZXlNZXRhU2VydmljZSxcbiAgICBwcml2YXRlIGtleUdyYXBoOiBLZXlHcmFwaFNlcnZpY2VcbiAgKSB7fVxuXG4gIGFzeW5jIGRvd25sb2FkQXR0YWNobWVudChcbiAgICBmaWxlU3RhdGVOb2RlSWQ6IHN0cmluZyxcbiAgICBrZXlJZDogc3RyaW5nXG4gICk6IFByb21pc2U8YW55PiB7XG4gICAgY29uc3QgZW5jcnlwdGVkRmlsZSA9IGF3YWl0IHRoaXMuZmlsZVVwbG9hZFNlcnZpY2UuZG93bmxvYWRFbmNyeXB0ZWRGaWxlKFxuICAgICAgZmlsZVN0YXRlTm9kZUlkXG4gICAgKTtcblxuICAgIHJldHVybiBhd2FpdCB0aGlzLmtleUdyYXBoLmRlY3J5cHRGaWxlKGtleUlkLCBlbmNyeXB0ZWRGaWxlKTtcbiAgfVxuXG4gIGFzeW5jIHVwbG9hZEF0dGFjaG1lbnRzKFxuICAgIHJlY29yZElkOiBzdHJpbmcsXG4gICAgYXR0YWNobWVudHM6IE5ld09yVXBkYXRlZEF0dGFjaG1lbnRbXVxuICApOiBQcm9taXNlPHN0cmluZ1tdPiB7XG4gICAgY29uc3QgZmlsZUlkcyA9IGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgKGF0dGFjaG1lbnRzIHx8IFtdKS5tYXAoYXN5bmMgKHgpID0+IHtcbiAgICAgICAgaWYgKHguZmlsZUlkKSB7XG4gICAgICAgICAgaWYgKHguaXNEZWxldGVkKSB7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLmRlbGV0ZUF0dGFjaG1lbnQoeC5maWxlSWQpO1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB4LmZpbGVJZDtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWRkQXR0YWNobWVudChyZWNvcmRJZCwgeCk7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKTtcbiAgICByZXR1cm4gZmlsZUlkcy5maWx0ZXIoKHgpID0+IHgpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBhZGRBdHRhY2htZW50KFxuICAgIHJlY29yZElkOiBzdHJpbmcsXG4gICAgYXR0YWNobWVudDogTmV3QXR0YWNobWVudFxuICApOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGNvbnN0IHNlY3VyZUNvbnRlbnQgPSB7XG4gICAgICBuYW1lOiBhdHRhY2htZW50Lm5hbWUsXG4gICAgICBmaWVsZElkOiBhdHRhY2htZW50LmZpZWxkSWQsXG4gICAgICBmaWxlVHlwZTogYXR0YWNobWVudC5maWxlLnR5cGUsXG4gICAgICBmaWxlU2l6ZTogYXR0YWNobWVudC5maWxlLnNpemUsXG4gICAgICBsYXN0TW9kaWZpZWQ6IGF0dGFjaG1lbnQuZmlsZS5sYXN0TW9kaWZpZWQsXG4gICAgfTtcbiAgICBjb25zdCBmaWxlQ29udGVudCA9IGF3YWl0IHRoaXMuZmlsZVVwbG9hZFNlcnZpY2UubG9hZEZpbGUoYXR0YWNobWVudC5maWxlKTtcbiAgICBjb25zdCBkb3VibGVXcmFwcGVkQ29udGVudCA9IGF3YWl0IHRoaXMua2V5TWV0YVNlcnZpY2UuZG91YmxlV3JhcENvbnRlbnQoXG4gICAgICBzZWN1cmVDb250ZW50LFxuICAgICAgW3JlY29yZElkXSxcbiAgICAgIGZpbGVDb250ZW50XG4gICAgKTtcblxuICAgIGNvbnN0IGNvbnRlbnRJZCA9IGF3YWl0IHRoaXMuZmlsZVVwbG9hZFNlcnZpY2UudXBsb2FkRW5jcnlwdGVkRmlsZSh7XG4gICAgICBlbmNyeXB0ZWRDb250ZW50OiBkb3VibGVXcmFwcGVkQ29udGVudC5jaXBoZXJGaWxlQ29udGVudCxcbiAgICAgIGZpbGVOYW1lOiBhdHRhY2htZW50Lm5hbWUsXG4gICAgfSk7XG5cbiAgICAvLyBTYXZlIGZpbGVcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMubHJBcG9sbG8ubXV0YXRlPGFueT4oe1xuICAgICAgbXV0YXRpb246IENyZWF0ZUZpbGVNdXRhdGlvbixcbiAgICAgIHZhcmlhYmxlczoge1xuICAgICAgICBpbnB1dDoge1xuICAgICAgICAgIHBsYWluTWV0YTogSlNPTi5zdHJpbmdpZnkoeyBmaWxlVHlwZTogRmlsZVR5cGUuUmVjb3JkQXR0YWNobWVudCB9KSxcbiAgICAgICAgICB3cmFwcGVkU3RhdGVLZXk6IGRvdWJsZVdyYXBwZWRDb250ZW50LmRvdWJsZVdyYXBwZWRLZXksXG4gICAgICAgICAgY2lwaGVyTWV0YTogZG91YmxlV3JhcHBlZENvbnRlbnQuY2lwaGVyTWV0YSxcbiAgICAgICAgICBwYXJlbnREaXJlY3RvcmllczogZG91YmxlV3JhcHBlZENvbnRlbnQud3JhcHBlZEtleXMubWFwKCh4KSA9PiAoe1xuICAgICAgICAgICAgZGlyZWN0b3J5SWQ6IHguZGlyZWN0b3J5SWQsXG4gICAgICAgICAgICB3cmFwcGluZ0tleUlkOiB4LndyYXBwaW5nS2V5SWQsXG4gICAgICAgICAgICB3cmFwcGVkRmlsZUtleTogeC53cmFwcGVkS2V5LFxuICAgICAgICAgIH0pKSxcbiAgICAgICAgICBjb250ZW50UmVzb3VyY2U6IGNvbnRlbnRJZCxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSk7XG4gICAgcmV0dXJuIHJlc3BvbnNlLmNyZWF0ZUZpbGUuZmlsZS5pZDtcbiAgfVxuXG4gIGFzeW5jIGRlbGV0ZUF0dGFjaG1lbnQoZmlsZUlkOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLmxyQXBvbGxvLm11dGF0ZSh7XG4gICAgICBtdXRhdGlvbjogRGVsZXRlRmlsZU11dGF0aW9uLFxuICAgICAgdmFyaWFibGVzOiB7IGZpbGVJZCB9LFxuICAgIH0pO1xuICB9XG59XG4iXX0=