@futura-dev/microsoft-sdk 0.0.3 → 1.1.1

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 (48) hide show
  1. package/.github/workflows/deploy-npm-package.yml +19 -0
  2. package/dist/graph-api/graph-api.module.d.ts +12 -0
  3. package/dist/graph-api/graph-api.module.d.ts.map +1 -0
  4. package/dist/graph-api/graph-api.module.js +33 -0
  5. package/dist/graph-api/graph-api.module.js.map +1 -0
  6. package/dist/graph-api/graph-api.service.d.ts +53 -0
  7. package/dist/graph-api/graph-api.service.d.ts.map +1 -0
  8. package/dist/graph-api/graph-api.service.js +112 -0
  9. package/dist/graph-api/graph-api.service.js.map +1 -0
  10. package/dist/{microsoft-api → graph-api}/types.d.ts +60 -0
  11. package/dist/graph-api/types.d.ts.map +1 -0
  12. package/dist/{microsoft-api → graph-api}/types.js.map +1 -1
  13. package/dist/index.d.ts +5 -5
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +10 -5
  16. package/dist/index.js.map +1 -1
  17. package/dist/sharepoint-api/sharepoint-api.module.d.ts +12 -0
  18. package/dist/sharepoint-api/sharepoint-api.module.d.ts.map +1 -0
  19. package/dist/sharepoint-api/sharepoint-api.module.js +33 -0
  20. package/dist/sharepoint-api/sharepoint-api.module.js.map +1 -0
  21. package/dist/sharepoint-api/sharepoint-api.service.d.ts +39 -0
  22. package/dist/sharepoint-api/sharepoint-api.service.d.ts.map +1 -0
  23. package/dist/sharepoint-api/sharepoint-api.service.js +132 -0
  24. package/dist/sharepoint-api/sharepoint-api.service.js.map +1 -0
  25. package/dist/sharepoint-api/types.d.ts +163 -0
  26. package/dist/sharepoint-api/types.d.ts.map +1 -0
  27. package/dist/sharepoint-api/types.js +3 -0
  28. package/dist/sharepoint-api/types.js.map +1 -0
  29. package/package.json +10 -6
  30. package/src/graph-api/graph-api.module.ts +29 -0
  31. package/src/graph-api/graph-api.service.ts +104 -0
  32. package/src/{microsoft-api → graph-api}/types.ts +4 -0
  33. package/src/index.ts +6 -5
  34. package/src/sharepoint-api/sharepoint-api.module.ts +30 -0
  35. package/src/sharepoint-api/sharepoint-api.service.ts +113 -0
  36. package/src/sharepoint-api/types.ts +108 -0
  37. package/dist/microsoft-api/microsoft-api.module.d.ts +0 -3
  38. package/dist/microsoft-api/microsoft-api.module.d.ts.map +0 -1
  39. package/dist/microsoft-api/microsoft-api.module.js +0 -27
  40. package/dist/microsoft-api/microsoft-api.module.js.map +0 -1
  41. package/dist/microsoft-api/microsoft-api.service.d.ts +0 -36
  42. package/dist/microsoft-api/microsoft-api.service.d.ts.map +0 -1
  43. package/dist/microsoft-api/microsoft-api.service.js +0 -273
  44. package/dist/microsoft-api/microsoft-api.service.js.map +0 -1
  45. package/dist/microsoft-api/types.d.ts.map +0 -1
  46. package/src/microsoft-api/microsoft-api.module.ts +0 -14
  47. package/src/microsoft-api/microsoft-api.service.ts +0 -299
  48. /package/dist/{microsoft-api → graph-api}/types.js +0 -0
@@ -1,36 +0,0 @@
1
- import { HttpService } from '@nestjs/axios';
2
- import * as msal from '@azure/msal-node';
3
- import { HRListItem, ListLog } from './types';
4
- export declare class MicrosoftApiService {
5
- private readonly http;
6
- constructor(http: HttpService);
7
- simpleLogin: (options: {
8
- clientId: string;
9
- scope: string;
10
- clientSecret: string;
11
- grantType: string;
12
- tenantId: string;
13
- }) => Promise<import("axios").AxiosResponse<any, any>>;
14
- loginWithCertificate: (options: {
15
- tenantId: string;
16
- clientId: string;
17
- thumbprint: string;
18
- privateKey: string;
19
- scopes: string[];
20
- }) => Promise<msal.AuthenticationResult>;
21
- subscribe: (listId: string, notificationUrl: string, expirationTimestamp: number) => Promise<import("axios").AxiosResponse<any, any>>;
22
- deleteSubscription: (listId: string, subscriptionId: string) => Promise<import("axios").AxiosResponse<any, any>>;
23
- getSubscriptions: (listId: string) => Promise<import("axios").AxiosResponse<any, any>>;
24
- getListItem: (options: {
25
- siteId: string;
26
- listId: string;
27
- itemId: string;
28
- }) => Promise<import("axios").AxiosResponse<HRListItem, any>>;
29
- getListLogs: (options: {
30
- listId: string;
31
- from: Date;
32
- }) => Promise<import("axios").AxiosResponse<{
33
- value: ListLog[];
34
- }, any>>;
35
- }
36
- //# sourceMappingURL=microsoft-api.service.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"microsoft-api.service.d.ts","sourceRoot":"","sources":["../../src/microsoft-api/microsoft-api.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,KAAK,IAAI,MAAM,kBAAkB,CAAC;AAEzC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAE9C,qBACa,mBAAmB;IAClB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,WAAW;IAE9C,WAAW,YAAa;QACtB,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,YAAY,EAAE,MAAM,CAAC;QACrB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;KAClB,sDAgBC;IAEF,oBAAoB,YAAa;QAC/B,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,MAAM,EAAE,MAAM,EAAE,CAAC;KAClB,wCAiBC;IAEF,SAAS,WACC,MAAM,mBACG,MAAM,uBACF,MAAM,sDAuD3B;IAEF,kBAAkB,WAAkB,MAAM,kBAAkB,MAAM,sDA6ChE;IAEF,gBAAgB,WAAkB,MAAM,sDA6CtC;IAEF,WAAW,YAAmB;QAC5B,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;KAChB,6DAkBC;IAEF,WAAW,YAAmB;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,IAAI,CAAA;KAAE;eAsChC,OAAO,EAAE;aAqBnC;CACH"}
@@ -1,273 +0,0 @@
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
19
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
20
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
21
- 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;
22
- return c > 3 && r && Object.defineProperty(target, key, r), r;
23
- };
24
- var __importStar = (this && this.__importStar) || function (mod) {
25
- if (mod && mod.__esModule) return mod;
26
- var result = {};
27
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
28
- __setModuleDefault(result, mod);
29
- return result;
30
- };
31
- var __metadata = (this && this.__metadata) || function (k, v) {
32
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
33
- };
34
- Object.defineProperty(exports, "__esModule", { value: true });
35
- exports.MicrosoftApiService = void 0;
36
- const common_1 = require("@nestjs/common");
37
- const axios_1 = require("@nestjs/axios");
38
- const rxjs_1 = require("rxjs");
39
- const msal = __importStar(require("@azure/msal-node"));
40
- const process = __importStar(require("process"));
41
- let MicrosoftApiService = class MicrosoftApiService {
42
- constructor(http) {
43
- this.http = http;
44
- this.simpleLogin = (options) => {
45
- const body = new FormData();
46
- body.set('client_id', options.clientId);
47
- body.set('scope', options.scope);
48
- body.set('client_secret', options.clientSecret);
49
- body.set('grant_type', options.grantType);
50
- return (0, rxjs_1.firstValueFrom)(this.http.post(`https://login.microsoft.com/${options.tenantId}/oauth2/v2.0/token`, body, {
51
- headers: { 'Content-Type': 'multipart/form-data' },
52
- }));
53
- };
54
- this.loginWithCertificate = (options) => {
55
- const B = new msal.ConfidentialClientApplication({
56
- auth: {
57
- knownAuthorities: [
58
- `https://login.microsoftonline.com/${options.tenantId}`,
59
- ],
60
- clientId: `${options.clientId}`,
61
- clientCertificate: {
62
- thumbprint: options.thumbprint,
63
- privateKey: options.privateKey,
64
- },
65
- },
66
- });
67
- return B.acquireTokenByClientCredential({
68
- authority: `https://login.microsoftonline.com/${options.tenantId}`,
69
- scopes: options.scopes,
70
- });
71
- };
72
- this.subscribe = async (listId, notificationUrl, expirationTimestamp) => {
73
- console.log('[SUBSCRIPTION REQUEST]:', listId, notificationUrl);
74
- // read key from files
75
- // login
76
- const auth = await this.loginWithCertificate({
77
- clientId: process.env.AZURE_AD_CLIENT_ID,
78
- scopes: [`${process.env.AZURE_AD_SCOPE}`],
79
- tenantId: process.env.AZURE_AD_TENANT_ID,
80
- thumbprint: process.env.CERTIFICATE_THUMBPRINT,
81
- privateKey: '-----BEGIN RSA PRIVATE KEY-----\n' +
82
- 'MIIEpAIBAAKCAQEAwRdWyopVfuYKxbg4+4JQKAnHcA/lGsotrZAjhQJoix+aFlw/\n' +
83
- '3vKQC/33fKEApK2odsmVAJUP1k1p31Fb8eddNlsM4cPacsWSHZ2x+Qcds1gouSdO\n' +
84
- 'CROkQmro0jybH+3puFEV2Gr3E5LIo62p9LFL9nvCvM1fHrsXTOV2mJAVdLTgqkoC\n' +
85
- 'oVTUZji+tcde64jsFx6zvgedKWRkUOXZOJC5gkfkcrkbjWwEq/lSYtbm4sRif9Eu\n' +
86
- 'FdqjYM3XqiF+TwEu1HIm37UyEE4jKn22PyG7JhiIffKvVHo7dIZPFcI9j8wBfeBA\n' +
87
- 'PZjZ0qh+i9/b8odQ6u0S/siYP82rHovKg5kzJwIDAQABAoIBAC/wanTouWdDF+OU\n' +
88
- '5FjVNq9qFiDlYV0wWvzfb2Ijge8gjnIEvzrMACVqDVrc4jsAfnXXgG3flEoBeEqg\n' +
89
- 'eXJqncLUAjO/G2opUSiXMUuBj8cqGRo2/vHT9ZEj19/yehUITWGciA7uJ5+tbrDs\n' +
90
- 'eeitaA2vFl8nofkQPC20PqiMBTevDd6h6wsuZFKQWKI5P0fu67UvD8kLXyUApx+h\n' +
91
- 'Z+vV41cgWuOBit5q1k6CZs4eZZw0mr81Wu7i6ueUwQTZbHE1AF5luh1lxrT+v05B\n' +
92
- 'Nu0XNMCuEjjsgKe91xVdyqwTg9EpQ8kO+4NTn/ZMDXLOix36S12w/22WkC5f8hy3\n' +
93
- 'B05JjnkCgYEA8WGCMFvj+y0r71b+H7KhdlnOKA4zEAlo2yJAGylky0lHtzEztnrL\n' +
94
- 'SplLK2Q3AF8i7XWiXQ9ubmGSLDB1NsKHfCHjtVu7jh3G+LOQoFBEKHY5gDzAZkZQ\n' +
95
- 'iGhxWO1FrX2xIykZXSNqlx9JOKpSkDdiSS97Map+BYJqio18h5Q2cysCgYEAzMkf\n' +
96
- 'RflUuY1O50a3OWHe/DZTIF3rTIhwx6/fylflGHOAsBkYSvCl6FL0znxE7vwtcGK2\n' +
97
- 'uGoAn+H1WOl77QIXlyxdIGQ+DE+137r3IvSjPE/SJeWNk+1h1t6A/LyhYYEuqX4w\n' +
98
- '8A/TbSqp1o2NA4mX5Sp4dHW5o8OxwXJ4sQB1cfUCgYEAkaJoPy8h9SkC6gvNlWhc\n' +
99
- 'XKDAbpBqpJFYz2Xx0bF+29whxdiMv9uEjkTBArQbL0E3PJgN1yH5WeXKoJi4D8r8\n' +
100
- 'nZuA3Ko1FgDHTMRiTSdAiD0UYlfFKa/g5PxG7wVxVcSRPIqOgBBfPkClF+hDmjmg\n' +
101
- 'NlHMfWHFWSOfjmrhKJf25jMCgYEAiDqfCECWAR2kyKu9RXn7CZLl95ki53W4eM5h\n' +
102
- 'tEyGRZ7Ik90N0QSHiaZt3lLC1KyDWckBPmqd4b5CJZSk8QS8Rr+nb93ffPclySCq\n' +
103
- 'OOG/GWcMKFOtvCNlO7gm3HprbN6v+ObOjVQp1OxVsTnW/exxVGzNVsPd67hKLqME\n' +
104
- '8NKaTmUCgYAdBEPSHuPesPXXYgsE9aaBjUwBEP5an9ZsdH4CAOgaJ+qi6lNpHow2\n' +
105
- 'O+9rSx/VldqwlnFj++6gPEdyVGw4NRnrO2kZvRoY7zrizmVZok1Kcv2fdThzWjWB\n' +
106
- '4fdduO1lx6pBaBa4LZbOIRCNsHXYLdOInjnOJC9RJ86lsGTWr1lH6A==\n' +
107
- '-----END RSA PRIVATE KEY-----',
108
- });
109
- return (0, rxjs_1.firstValueFrom)(this.http.post(`https://futuraitsrl.sharepoint.com/sites/hr/_api/web/lists('${listId}')/subscriptions`, {
110
- resource: 'https://futuraitsrl.sharepoint.com/sites/hr/Lists/Recruiting%20Board/AllItems.aspx',
111
- notificationUrl: `${notificationUrl}`,
112
- expirationDateTime: new Date(expirationTimestamp).toISOString(),
113
- }, {
114
- headers: {
115
- Authorization: `Bearer ${auth.accessToken}`,
116
- },
117
- }));
118
- };
119
- this.deleteSubscription = async (listId, subscriptionId) => {
120
- const auth = await this.loginWithCertificate({
121
- clientId: process.env.AZURE_AD_CLIENT_ID,
122
- scopes: [`${process.env.AZURE_AD_SCOPE}`],
123
- tenantId: process.env.AZURE_AD_TENANT_ID,
124
- thumbprint: process.env.CERTIFICATE_THUMBPRINT,
125
- privateKey: '-----BEGIN RSA PRIVATE KEY-----\n' +
126
- 'MIIEpAIBAAKCAQEAwRdWyopVfuYKxbg4+4JQKAnHcA/lGsotrZAjhQJoix+aFlw/\n' +
127
- '3vKQC/33fKEApK2odsmVAJUP1k1p31Fb8eddNlsM4cPacsWSHZ2x+Qcds1gouSdO\n' +
128
- 'CROkQmro0jybH+3puFEV2Gr3E5LIo62p9LFL9nvCvM1fHrsXTOV2mJAVdLTgqkoC\n' +
129
- 'oVTUZji+tcde64jsFx6zvgedKWRkUOXZOJC5gkfkcrkbjWwEq/lSYtbm4sRif9Eu\n' +
130
- 'FdqjYM3XqiF+TwEu1HIm37UyEE4jKn22PyG7JhiIffKvVHo7dIZPFcI9j8wBfeBA\n' +
131
- 'PZjZ0qh+i9/b8odQ6u0S/siYP82rHovKg5kzJwIDAQABAoIBAC/wanTouWdDF+OU\n' +
132
- '5FjVNq9qFiDlYV0wWvzfb2Ijge8gjnIEvzrMACVqDVrc4jsAfnXXgG3flEoBeEqg\n' +
133
- 'eXJqncLUAjO/G2opUSiXMUuBj8cqGRo2/vHT9ZEj19/yehUITWGciA7uJ5+tbrDs\n' +
134
- 'eeitaA2vFl8nofkQPC20PqiMBTevDd6h6wsuZFKQWKI5P0fu67UvD8kLXyUApx+h\n' +
135
- 'Z+vV41cgWuOBit5q1k6CZs4eZZw0mr81Wu7i6ueUwQTZbHE1AF5luh1lxrT+v05B\n' +
136
- 'Nu0XNMCuEjjsgKe91xVdyqwTg9EpQ8kO+4NTn/ZMDXLOix36S12w/22WkC5f8hy3\n' +
137
- 'B05JjnkCgYEA8WGCMFvj+y0r71b+H7KhdlnOKA4zEAlo2yJAGylky0lHtzEztnrL\n' +
138
- 'SplLK2Q3AF8i7XWiXQ9ubmGSLDB1NsKHfCHjtVu7jh3G+LOQoFBEKHY5gDzAZkZQ\n' +
139
- 'iGhxWO1FrX2xIykZXSNqlx9JOKpSkDdiSS97Map+BYJqio18h5Q2cysCgYEAzMkf\n' +
140
- 'RflUuY1O50a3OWHe/DZTIF3rTIhwx6/fylflGHOAsBkYSvCl6FL0znxE7vwtcGK2\n' +
141
- 'uGoAn+H1WOl77QIXlyxdIGQ+DE+137r3IvSjPE/SJeWNk+1h1t6A/LyhYYEuqX4w\n' +
142
- '8A/TbSqp1o2NA4mX5Sp4dHW5o8OxwXJ4sQB1cfUCgYEAkaJoPy8h9SkC6gvNlWhc\n' +
143
- 'XKDAbpBqpJFYz2Xx0bF+29whxdiMv9uEjkTBArQbL0E3PJgN1yH5WeXKoJi4D8r8\n' +
144
- 'nZuA3Ko1FgDHTMRiTSdAiD0UYlfFKa/g5PxG7wVxVcSRPIqOgBBfPkClF+hDmjmg\n' +
145
- 'NlHMfWHFWSOfjmrhKJf25jMCgYEAiDqfCECWAR2kyKu9RXn7CZLl95ki53W4eM5h\n' +
146
- 'tEyGRZ7Ik90N0QSHiaZt3lLC1KyDWckBPmqd4b5CJZSk8QS8Rr+nb93ffPclySCq\n' +
147
- 'OOG/GWcMKFOtvCNlO7gm3HprbN6v+ObOjVQp1OxVsTnW/exxVGzNVsPd67hKLqME\n' +
148
- '8NKaTmUCgYAdBEPSHuPesPXXYgsE9aaBjUwBEP5an9ZsdH4CAOgaJ+qi6lNpHow2\n' +
149
- 'O+9rSx/VldqwlnFj++6gPEdyVGw4NRnrO2kZvRoY7zrizmVZok1Kcv2fdThzWjWB\n' +
150
- '4fdduO1lx6pBaBa4LZbOIRCNsHXYLdOInjnOJC9RJ86lsGTWr1lH6A==\n' +
151
- '-----END RSA PRIVATE KEY-----',
152
- });
153
- return (0, rxjs_1.firstValueFrom)(this.http.delete(`https://futuraitsrl.sharepoint.com/sites/hr/_api/web/lists('${listId}')/subscriptions('${subscriptionId}')`, {
154
- headers: {
155
- Authorization: `Bearer ${auth.accessToken}`,
156
- },
157
- }));
158
- };
159
- this.getSubscriptions = async (listId) => {
160
- const auth = await this.loginWithCertificate({
161
- clientId: process.env.AZURE_AD_CLIENT_ID,
162
- scopes: [`${process.env.AZURE_AD_SCOPE}`],
163
- tenantId: process.env.AZURE_AD_TENANT_ID,
164
- thumbprint: process.env.CERTIFICATE_THUMBPRINT,
165
- privateKey: '-----BEGIN RSA PRIVATE KEY-----\n' +
166
- 'MIIEpAIBAAKCAQEAwRdWyopVfuYKxbg4+4JQKAnHcA/lGsotrZAjhQJoix+aFlw/\n' +
167
- '3vKQC/33fKEApK2odsmVAJUP1k1p31Fb8eddNlsM4cPacsWSHZ2x+Qcds1gouSdO\n' +
168
- 'CROkQmro0jybH+3puFEV2Gr3E5LIo62p9LFL9nvCvM1fHrsXTOV2mJAVdLTgqkoC\n' +
169
- 'oVTUZji+tcde64jsFx6zvgedKWRkUOXZOJC5gkfkcrkbjWwEq/lSYtbm4sRif9Eu\n' +
170
- 'FdqjYM3XqiF+TwEu1HIm37UyEE4jKn22PyG7JhiIffKvVHo7dIZPFcI9j8wBfeBA\n' +
171
- 'PZjZ0qh+i9/b8odQ6u0S/siYP82rHovKg5kzJwIDAQABAoIBAC/wanTouWdDF+OU\n' +
172
- '5FjVNq9qFiDlYV0wWvzfb2Ijge8gjnIEvzrMACVqDVrc4jsAfnXXgG3flEoBeEqg\n' +
173
- 'eXJqncLUAjO/G2opUSiXMUuBj8cqGRo2/vHT9ZEj19/yehUITWGciA7uJ5+tbrDs\n' +
174
- 'eeitaA2vFl8nofkQPC20PqiMBTevDd6h6wsuZFKQWKI5P0fu67UvD8kLXyUApx+h\n' +
175
- 'Z+vV41cgWuOBit5q1k6CZs4eZZw0mr81Wu7i6ueUwQTZbHE1AF5luh1lxrT+v05B\n' +
176
- 'Nu0XNMCuEjjsgKe91xVdyqwTg9EpQ8kO+4NTn/ZMDXLOix36S12w/22WkC5f8hy3\n' +
177
- 'B05JjnkCgYEA8WGCMFvj+y0r71b+H7KhdlnOKA4zEAlo2yJAGylky0lHtzEztnrL\n' +
178
- 'SplLK2Q3AF8i7XWiXQ9ubmGSLDB1NsKHfCHjtVu7jh3G+LOQoFBEKHY5gDzAZkZQ\n' +
179
- 'iGhxWO1FrX2xIykZXSNqlx9JOKpSkDdiSS97Map+BYJqio18h5Q2cysCgYEAzMkf\n' +
180
- 'RflUuY1O50a3OWHe/DZTIF3rTIhwx6/fylflGHOAsBkYSvCl6FL0znxE7vwtcGK2\n' +
181
- 'uGoAn+H1WOl77QIXlyxdIGQ+DE+137r3IvSjPE/SJeWNk+1h1t6A/LyhYYEuqX4w\n' +
182
- '8A/TbSqp1o2NA4mX5Sp4dHW5o8OxwXJ4sQB1cfUCgYEAkaJoPy8h9SkC6gvNlWhc\n' +
183
- 'XKDAbpBqpJFYz2Xx0bF+29whxdiMv9uEjkTBArQbL0E3PJgN1yH5WeXKoJi4D8r8\n' +
184
- 'nZuA3Ko1FgDHTMRiTSdAiD0UYlfFKa/g5PxG7wVxVcSRPIqOgBBfPkClF+hDmjmg\n' +
185
- 'NlHMfWHFWSOfjmrhKJf25jMCgYEAiDqfCECWAR2kyKu9RXn7CZLl95ki53W4eM5h\n' +
186
- 'tEyGRZ7Ik90N0QSHiaZt3lLC1KyDWckBPmqd4b5CJZSk8QS8Rr+nb93ffPclySCq\n' +
187
- 'OOG/GWcMKFOtvCNlO7gm3HprbN6v+ObOjVQp1OxVsTnW/exxVGzNVsPd67hKLqME\n' +
188
- '8NKaTmUCgYAdBEPSHuPesPXXYgsE9aaBjUwBEP5an9ZsdH4CAOgaJ+qi6lNpHow2\n' +
189
- 'O+9rSx/VldqwlnFj++6gPEdyVGw4NRnrO2kZvRoY7zrizmVZok1Kcv2fdThzWjWB\n' +
190
- '4fdduO1lx6pBaBa4LZbOIRCNsHXYLdOInjnOJC9RJ86lsGTWr1lH6A==\n' +
191
- '-----END RSA PRIVATE KEY-----',
192
- });
193
- return (0, rxjs_1.firstValueFrom)(this.http.get(`https://futuraitsrl.sharepoint.com/sites/hr/_api/web/lists('${listId}')/subscriptions`, {
194
- headers: {
195
- Authorization: `Bearer ${auth.accessToken}`,
196
- },
197
- }));
198
- };
199
- this.getListItem = async (options) => {
200
- const auth = await this.simpleLogin({
201
- clientId: process.env.AZURE_AD_SIMPLE_CLIENT_ID,
202
- clientSecret: process.env.AZURE_AD_SIMPLE_CLIENT_SECRET,
203
- grantType: process.env.AZURE_AD_GRANT_TYPE,
204
- tenantId: process.env.AZURE_AD_TENANT_ID,
205
- scope: process.env.AZURE_AD_SIMPLE_SCOPE,
206
- });
207
- return (0, rxjs_1.firstValueFrom)(this.http.get(`https://graph.microsoft.com/beta/sites/${options.siteId}/lists/${options.listId}/items/${options.itemId}?expand=fields`, {
208
- headers: {
209
- Authorization: `Bearer ${auth.data.access_token}`,
210
- },
211
- }));
212
- };
213
- this.getListLogs = async (options) => {
214
- const auth = await this.loginWithCertificate({
215
- clientId: process.env.AZURE_AD_CLIENT_ID,
216
- scopes: [`${process.env.AZURE_AD_SCOPE}`],
217
- tenantId: process.env.AZURE_AD_TENANT_ID,
218
- thumbprint: process.env.CERTIFICATE_THUMBPRINT,
219
- privateKey: '-----BEGIN RSA PRIVATE KEY-----\n' +
220
- 'MIIEpAIBAAKCAQEAwRdWyopVfuYKxbg4+4JQKAnHcA/lGsotrZAjhQJoix+aFlw/\n' +
221
- '3vKQC/33fKEApK2odsmVAJUP1k1p31Fb8eddNlsM4cPacsWSHZ2x+Qcds1gouSdO\n' +
222
- 'CROkQmro0jybH+3puFEV2Gr3E5LIo62p9LFL9nvCvM1fHrsXTOV2mJAVdLTgqkoC\n' +
223
- 'oVTUZji+tcde64jsFx6zvgedKWRkUOXZOJC5gkfkcrkbjWwEq/lSYtbm4sRif9Eu\n' +
224
- 'FdqjYM3XqiF+TwEu1HIm37UyEE4jKn22PyG7JhiIffKvVHo7dIZPFcI9j8wBfeBA\n' +
225
- 'PZjZ0qh+i9/b8odQ6u0S/siYP82rHovKg5kzJwIDAQABAoIBAC/wanTouWdDF+OU\n' +
226
- '5FjVNq9qFiDlYV0wWvzfb2Ijge8gjnIEvzrMACVqDVrc4jsAfnXXgG3flEoBeEqg\n' +
227
- 'eXJqncLUAjO/G2opUSiXMUuBj8cqGRo2/vHT9ZEj19/yehUITWGciA7uJ5+tbrDs\n' +
228
- 'eeitaA2vFl8nofkQPC20PqiMBTevDd6h6wsuZFKQWKI5P0fu67UvD8kLXyUApx+h\n' +
229
- 'Z+vV41cgWuOBit5q1k6CZs4eZZw0mr81Wu7i6ueUwQTZbHE1AF5luh1lxrT+v05B\n' +
230
- 'Nu0XNMCuEjjsgKe91xVdyqwTg9EpQ8kO+4NTn/ZMDXLOix36S12w/22WkC5f8hy3\n' +
231
- 'B05JjnkCgYEA8WGCMFvj+y0r71b+H7KhdlnOKA4zEAlo2yJAGylky0lHtzEztnrL\n' +
232
- 'SplLK2Q3AF8i7XWiXQ9ubmGSLDB1NsKHfCHjtVu7jh3G+LOQoFBEKHY5gDzAZkZQ\n' +
233
- 'iGhxWO1FrX2xIykZXSNqlx9JOKpSkDdiSS97Map+BYJqio18h5Q2cysCgYEAzMkf\n' +
234
- 'RflUuY1O50a3OWHe/DZTIF3rTIhwx6/fylflGHOAsBkYSvCl6FL0znxE7vwtcGK2\n' +
235
- 'uGoAn+H1WOl77QIXlyxdIGQ+DE+137r3IvSjPE/SJeWNk+1h1t6A/LyhYYEuqX4w\n' +
236
- '8A/TbSqp1o2NA4mX5Sp4dHW5o8OxwXJ4sQB1cfUCgYEAkaJoPy8h9SkC6gvNlWhc\n' +
237
- 'XKDAbpBqpJFYz2Xx0bF+29whxdiMv9uEjkTBArQbL0E3PJgN1yH5WeXKoJi4D8r8\n' +
238
- 'nZuA3Ko1FgDHTMRiTSdAiD0UYlfFKa/g5PxG7wVxVcSRPIqOgBBfPkClF+hDmjmg\n' +
239
- 'NlHMfWHFWSOfjmrhKJf25jMCgYEAiDqfCECWAR2kyKu9RXn7CZLl95ki53W4eM5h\n' +
240
- 'tEyGRZ7Ik90N0QSHiaZt3lLC1KyDWckBPmqd4b5CJZSk8QS8Rr+nb93ffPclySCq\n' +
241
- 'OOG/GWcMKFOtvCNlO7gm3HprbN6v+ObOjVQp1OxVsTnW/exxVGzNVsPd67hKLqME\n' +
242
- '8NKaTmUCgYAdBEPSHuPesPXXYgsE9aaBjUwBEP5an9ZsdH4CAOgaJ+qi6lNpHow2\n' +
243
- 'O+9rSx/VldqwlnFj++6gPEdyVGw4NRnrO2kZvRoY7zrizmVZok1Kcv2fdThzWjWB\n' +
244
- '4fdduO1lx6pBaBa4LZbOIRCNsHXYLdOInjnOJC9RJ86lsGTWr1lH6A==\n' +
245
- '-----END RSA PRIVATE KEY-----',
246
- });
247
- const startTick = options.from.getTime() * 10000 + 621355968000000000;
248
- const start = `1;3;${options.listId};${startTick};-1`;
249
- return (0, rxjs_1.firstValueFrom)(this.http.post(`https://futuraitsrl.sharepoint.com/sites/hr/_api/web/Lists(guid'${options.listId}')/getChanges`, {
250
- query: {
251
- Add: true,
252
- Alert: true,
253
- DeleteObject: true,
254
- Update: true,
255
- Item: true,
256
- ChangeTokenStart: {
257
- StringValue: start,
258
- },
259
- },
260
- }, {
261
- headers: {
262
- Authorization: `Bearer ${auth.accessToken}`,
263
- },
264
- }));
265
- };
266
- }
267
- };
268
- MicrosoftApiService = __decorate([
269
- (0, common_1.Injectable)(),
270
- __metadata("design:paramtypes", [axios_1.HttpService])
271
- ], MicrosoftApiService);
272
- exports.MicrosoftApiService = MicrosoftApiService;
273
- //# sourceMappingURL=microsoft-api.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"microsoft-api.service.js","sourceRoot":"","sources":["../../src/microsoft-api/microsoft-api.service.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/microsoft-api/types.ts"],"names":[],"mappings":"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"}
@@ -1,14 +0,0 @@
1
- import { Module } from '@nestjs/common';
2
- import { HttpModule } from '@nestjs/axios';
3
- import { MicrosoftApiService } from './microsoft-api.service';
4
-
5
- @Module({
6
- imports: [
7
- HttpModule.register({
8
- headers: {},
9
- }),
10
- ],
11
- providers: [MicrosoftApiService],
12
- exports: [MicrosoftApiService],
13
- })
14
- export class MicrosoftApiModule {}
@@ -1,299 +0,0 @@
1
- import { Injectable } from '@nestjs/common';
2
- import { HttpService } from '@nestjs/axios';
3
- import { firstValueFrom } from 'rxjs';
4
- import * as msal from '@azure/msal-node';
5
- import * as process from 'process';
6
- import { HRListItem, ListLog } from './types';
7
-
8
- @Injectable()
9
- export class MicrosoftApiService {
10
- constructor(private readonly http: HttpService) {}
11
-
12
- simpleLogin = (options: {
13
- clientId: string;
14
- scope: string;
15
- clientSecret: string;
16
- grantType: string;
17
- tenantId: string;
18
- }) => {
19
- const body = new FormData();
20
- body.set('client_id', options.clientId);
21
- body.set('scope', options.scope);
22
- body.set('client_secret', options.clientSecret);
23
- body.set('grant_type', options.grantType);
24
-
25
- return firstValueFrom(
26
- this.http.post<any>(
27
- `https://login.microsoft.com/${options.tenantId}/oauth2/v2.0/token`,
28
- body,
29
- {
30
- headers: { 'Content-Type': 'multipart/form-data' },
31
- },
32
- ),
33
- );
34
- };
35
-
36
- loginWithCertificate = (options: {
37
- tenantId: string;
38
- clientId: string;
39
- thumbprint: string;
40
- privateKey: string;
41
- scopes: string[];
42
- }) => {
43
- const B = new msal.ConfidentialClientApplication({
44
- auth: {
45
- knownAuthorities: [
46
- `https://login.microsoftonline.com/${options.tenantId}`,
47
- ],
48
- clientId: `${options.clientId}`,
49
- clientCertificate: {
50
- thumbprint: options.thumbprint,
51
- privateKey: options.privateKey,
52
- },
53
- },
54
- });
55
- return B.acquireTokenByClientCredential({
56
- authority: `https://login.microsoftonline.com/${options.tenantId}`,
57
- scopes: options.scopes,
58
- });
59
- };
60
-
61
- subscribe = async (
62
- listId: string,
63
- notificationUrl: string,
64
- expirationTimestamp: number,
65
- ) => {
66
- console.log('[SUBSCRIPTION REQUEST]:', listId, notificationUrl);
67
- // read key from files
68
- // login
69
- const auth = await this.loginWithCertificate({
70
- clientId: process.env.AZURE_AD_CLIENT_ID,
71
- scopes: [`${process.env.AZURE_AD_SCOPE}`],
72
- tenantId: process.env.AZURE_AD_TENANT_ID,
73
- thumbprint: process.env.CERTIFICATE_THUMBPRINT,
74
- privateKey:
75
- '-----BEGIN RSA PRIVATE KEY-----\n' +
76
- 'MIIEpAIBAAKCAQEAwRdWyopVfuYKxbg4+4JQKAnHcA/lGsotrZAjhQJoix+aFlw/\n' +
77
- '3vKQC/33fKEApK2odsmVAJUP1k1p31Fb8eddNlsM4cPacsWSHZ2x+Qcds1gouSdO\n' +
78
- 'CROkQmro0jybH+3puFEV2Gr3E5LIo62p9LFL9nvCvM1fHrsXTOV2mJAVdLTgqkoC\n' +
79
- 'oVTUZji+tcde64jsFx6zvgedKWRkUOXZOJC5gkfkcrkbjWwEq/lSYtbm4sRif9Eu\n' +
80
- 'FdqjYM3XqiF+TwEu1HIm37UyEE4jKn22PyG7JhiIffKvVHo7dIZPFcI9j8wBfeBA\n' +
81
- 'PZjZ0qh+i9/b8odQ6u0S/siYP82rHovKg5kzJwIDAQABAoIBAC/wanTouWdDF+OU\n' +
82
- '5FjVNq9qFiDlYV0wWvzfb2Ijge8gjnIEvzrMACVqDVrc4jsAfnXXgG3flEoBeEqg\n' +
83
- 'eXJqncLUAjO/G2opUSiXMUuBj8cqGRo2/vHT9ZEj19/yehUITWGciA7uJ5+tbrDs\n' +
84
- 'eeitaA2vFl8nofkQPC20PqiMBTevDd6h6wsuZFKQWKI5P0fu67UvD8kLXyUApx+h\n' +
85
- 'Z+vV41cgWuOBit5q1k6CZs4eZZw0mr81Wu7i6ueUwQTZbHE1AF5luh1lxrT+v05B\n' +
86
- 'Nu0XNMCuEjjsgKe91xVdyqwTg9EpQ8kO+4NTn/ZMDXLOix36S12w/22WkC5f8hy3\n' +
87
- 'B05JjnkCgYEA8WGCMFvj+y0r71b+H7KhdlnOKA4zEAlo2yJAGylky0lHtzEztnrL\n' +
88
- 'SplLK2Q3AF8i7XWiXQ9ubmGSLDB1NsKHfCHjtVu7jh3G+LOQoFBEKHY5gDzAZkZQ\n' +
89
- 'iGhxWO1FrX2xIykZXSNqlx9JOKpSkDdiSS97Map+BYJqio18h5Q2cysCgYEAzMkf\n' +
90
- 'RflUuY1O50a3OWHe/DZTIF3rTIhwx6/fylflGHOAsBkYSvCl6FL0znxE7vwtcGK2\n' +
91
- 'uGoAn+H1WOl77QIXlyxdIGQ+DE+137r3IvSjPE/SJeWNk+1h1t6A/LyhYYEuqX4w\n' +
92
- '8A/TbSqp1o2NA4mX5Sp4dHW5o8OxwXJ4sQB1cfUCgYEAkaJoPy8h9SkC6gvNlWhc\n' +
93
- 'XKDAbpBqpJFYz2Xx0bF+29whxdiMv9uEjkTBArQbL0E3PJgN1yH5WeXKoJi4D8r8\n' +
94
- 'nZuA3Ko1FgDHTMRiTSdAiD0UYlfFKa/g5PxG7wVxVcSRPIqOgBBfPkClF+hDmjmg\n' +
95
- 'NlHMfWHFWSOfjmrhKJf25jMCgYEAiDqfCECWAR2kyKu9RXn7CZLl95ki53W4eM5h\n' +
96
- 'tEyGRZ7Ik90N0QSHiaZt3lLC1KyDWckBPmqd4b5CJZSk8QS8Rr+nb93ffPclySCq\n' +
97
- 'OOG/GWcMKFOtvCNlO7gm3HprbN6v+ObOjVQp1OxVsTnW/exxVGzNVsPd67hKLqME\n' +
98
- '8NKaTmUCgYAdBEPSHuPesPXXYgsE9aaBjUwBEP5an9ZsdH4CAOgaJ+qi6lNpHow2\n' +
99
- 'O+9rSx/VldqwlnFj++6gPEdyVGw4NRnrO2kZvRoY7zrizmVZok1Kcv2fdThzWjWB\n' +
100
- '4fdduO1lx6pBaBa4LZbOIRCNsHXYLdOInjnOJC9RJ86lsGTWr1lH6A==\n' +
101
- '-----END RSA PRIVATE KEY-----',
102
- });
103
- return firstValueFrom(
104
- this.http.post(
105
- `https://futuraitsrl.sharepoint.com/sites/hr/_api/web/lists('${listId}')/subscriptions`,
106
- {
107
- resource:
108
- 'https://futuraitsrl.sharepoint.com/sites/hr/Lists/Recruiting%20Board/AllItems.aspx',
109
- notificationUrl: `${notificationUrl}`,
110
- expirationDateTime: new Date(expirationTimestamp).toISOString(),
111
- },
112
- {
113
- headers: {
114
- Authorization: `Bearer ${auth.accessToken}`,
115
- },
116
- },
117
- ),
118
- );
119
- };
120
-
121
- deleteSubscription = async (listId: string, subscriptionId: string) => {
122
- const auth = await this.loginWithCertificate({
123
- clientId: process.env.AZURE_AD_CLIENT_ID,
124
- scopes: [`${process.env.AZURE_AD_SCOPE}`],
125
- tenantId: process.env.AZURE_AD_TENANT_ID,
126
- thumbprint: process.env.CERTIFICATE_THUMBPRINT,
127
- privateKey:
128
- '-----BEGIN RSA PRIVATE KEY-----\n' +
129
- 'MIIEpAIBAAKCAQEAwRdWyopVfuYKxbg4+4JQKAnHcA/lGsotrZAjhQJoix+aFlw/\n' +
130
- '3vKQC/33fKEApK2odsmVAJUP1k1p31Fb8eddNlsM4cPacsWSHZ2x+Qcds1gouSdO\n' +
131
- 'CROkQmro0jybH+3puFEV2Gr3E5LIo62p9LFL9nvCvM1fHrsXTOV2mJAVdLTgqkoC\n' +
132
- 'oVTUZji+tcde64jsFx6zvgedKWRkUOXZOJC5gkfkcrkbjWwEq/lSYtbm4sRif9Eu\n' +
133
- 'FdqjYM3XqiF+TwEu1HIm37UyEE4jKn22PyG7JhiIffKvVHo7dIZPFcI9j8wBfeBA\n' +
134
- 'PZjZ0qh+i9/b8odQ6u0S/siYP82rHovKg5kzJwIDAQABAoIBAC/wanTouWdDF+OU\n' +
135
- '5FjVNq9qFiDlYV0wWvzfb2Ijge8gjnIEvzrMACVqDVrc4jsAfnXXgG3flEoBeEqg\n' +
136
- 'eXJqncLUAjO/G2opUSiXMUuBj8cqGRo2/vHT9ZEj19/yehUITWGciA7uJ5+tbrDs\n' +
137
- 'eeitaA2vFl8nofkQPC20PqiMBTevDd6h6wsuZFKQWKI5P0fu67UvD8kLXyUApx+h\n' +
138
- 'Z+vV41cgWuOBit5q1k6CZs4eZZw0mr81Wu7i6ueUwQTZbHE1AF5luh1lxrT+v05B\n' +
139
- 'Nu0XNMCuEjjsgKe91xVdyqwTg9EpQ8kO+4NTn/ZMDXLOix36S12w/22WkC5f8hy3\n' +
140
- 'B05JjnkCgYEA8WGCMFvj+y0r71b+H7KhdlnOKA4zEAlo2yJAGylky0lHtzEztnrL\n' +
141
- 'SplLK2Q3AF8i7XWiXQ9ubmGSLDB1NsKHfCHjtVu7jh3G+LOQoFBEKHY5gDzAZkZQ\n' +
142
- 'iGhxWO1FrX2xIykZXSNqlx9JOKpSkDdiSS97Map+BYJqio18h5Q2cysCgYEAzMkf\n' +
143
- 'RflUuY1O50a3OWHe/DZTIF3rTIhwx6/fylflGHOAsBkYSvCl6FL0znxE7vwtcGK2\n' +
144
- 'uGoAn+H1WOl77QIXlyxdIGQ+DE+137r3IvSjPE/SJeWNk+1h1t6A/LyhYYEuqX4w\n' +
145
- '8A/TbSqp1o2NA4mX5Sp4dHW5o8OxwXJ4sQB1cfUCgYEAkaJoPy8h9SkC6gvNlWhc\n' +
146
- 'XKDAbpBqpJFYz2Xx0bF+29whxdiMv9uEjkTBArQbL0E3PJgN1yH5WeXKoJi4D8r8\n' +
147
- 'nZuA3Ko1FgDHTMRiTSdAiD0UYlfFKa/g5PxG7wVxVcSRPIqOgBBfPkClF+hDmjmg\n' +
148
- 'NlHMfWHFWSOfjmrhKJf25jMCgYEAiDqfCECWAR2kyKu9RXn7CZLl95ki53W4eM5h\n' +
149
- 'tEyGRZ7Ik90N0QSHiaZt3lLC1KyDWckBPmqd4b5CJZSk8QS8Rr+nb93ffPclySCq\n' +
150
- 'OOG/GWcMKFOtvCNlO7gm3HprbN6v+ObOjVQp1OxVsTnW/exxVGzNVsPd67hKLqME\n' +
151
- '8NKaTmUCgYAdBEPSHuPesPXXYgsE9aaBjUwBEP5an9ZsdH4CAOgaJ+qi6lNpHow2\n' +
152
- 'O+9rSx/VldqwlnFj++6gPEdyVGw4NRnrO2kZvRoY7zrizmVZok1Kcv2fdThzWjWB\n' +
153
- '4fdduO1lx6pBaBa4LZbOIRCNsHXYLdOInjnOJC9RJ86lsGTWr1lH6A==\n' +
154
- '-----END RSA PRIVATE KEY-----',
155
- });
156
- return firstValueFrom(
157
- this.http.delete(
158
- `https://futuraitsrl.sharepoint.com/sites/hr/_api/web/lists('${listId}')/subscriptions('${subscriptionId}')`,
159
- {
160
- headers: {
161
- Authorization: `Bearer ${auth.accessToken}`,
162
- },
163
- },
164
- ),
165
- );
166
- };
167
-
168
- getSubscriptions = async (listId: string) => {
169
- const auth = await this.loginWithCertificate({
170
- clientId: process.env.AZURE_AD_CLIENT_ID,
171
- scopes: [`${process.env.AZURE_AD_SCOPE}`],
172
- tenantId: process.env.AZURE_AD_TENANT_ID,
173
- thumbprint: process.env.CERTIFICATE_THUMBPRINT,
174
- privateKey:
175
- '-----BEGIN RSA PRIVATE KEY-----\n' +
176
- 'MIIEpAIBAAKCAQEAwRdWyopVfuYKxbg4+4JQKAnHcA/lGsotrZAjhQJoix+aFlw/\n' +
177
- '3vKQC/33fKEApK2odsmVAJUP1k1p31Fb8eddNlsM4cPacsWSHZ2x+Qcds1gouSdO\n' +
178
- 'CROkQmro0jybH+3puFEV2Gr3E5LIo62p9LFL9nvCvM1fHrsXTOV2mJAVdLTgqkoC\n' +
179
- 'oVTUZji+tcde64jsFx6zvgedKWRkUOXZOJC5gkfkcrkbjWwEq/lSYtbm4sRif9Eu\n' +
180
- 'FdqjYM3XqiF+TwEu1HIm37UyEE4jKn22PyG7JhiIffKvVHo7dIZPFcI9j8wBfeBA\n' +
181
- 'PZjZ0qh+i9/b8odQ6u0S/siYP82rHovKg5kzJwIDAQABAoIBAC/wanTouWdDF+OU\n' +
182
- '5FjVNq9qFiDlYV0wWvzfb2Ijge8gjnIEvzrMACVqDVrc4jsAfnXXgG3flEoBeEqg\n' +
183
- 'eXJqncLUAjO/G2opUSiXMUuBj8cqGRo2/vHT9ZEj19/yehUITWGciA7uJ5+tbrDs\n' +
184
- 'eeitaA2vFl8nofkQPC20PqiMBTevDd6h6wsuZFKQWKI5P0fu67UvD8kLXyUApx+h\n' +
185
- 'Z+vV41cgWuOBit5q1k6CZs4eZZw0mr81Wu7i6ueUwQTZbHE1AF5luh1lxrT+v05B\n' +
186
- 'Nu0XNMCuEjjsgKe91xVdyqwTg9EpQ8kO+4NTn/ZMDXLOix36S12w/22WkC5f8hy3\n' +
187
- 'B05JjnkCgYEA8WGCMFvj+y0r71b+H7KhdlnOKA4zEAlo2yJAGylky0lHtzEztnrL\n' +
188
- 'SplLK2Q3AF8i7XWiXQ9ubmGSLDB1NsKHfCHjtVu7jh3G+LOQoFBEKHY5gDzAZkZQ\n' +
189
- 'iGhxWO1FrX2xIykZXSNqlx9JOKpSkDdiSS97Map+BYJqio18h5Q2cysCgYEAzMkf\n' +
190
- 'RflUuY1O50a3OWHe/DZTIF3rTIhwx6/fylflGHOAsBkYSvCl6FL0znxE7vwtcGK2\n' +
191
- 'uGoAn+H1WOl77QIXlyxdIGQ+DE+137r3IvSjPE/SJeWNk+1h1t6A/LyhYYEuqX4w\n' +
192
- '8A/TbSqp1o2NA4mX5Sp4dHW5o8OxwXJ4sQB1cfUCgYEAkaJoPy8h9SkC6gvNlWhc\n' +
193
- 'XKDAbpBqpJFYz2Xx0bF+29whxdiMv9uEjkTBArQbL0E3PJgN1yH5WeXKoJi4D8r8\n' +
194
- 'nZuA3Ko1FgDHTMRiTSdAiD0UYlfFKa/g5PxG7wVxVcSRPIqOgBBfPkClF+hDmjmg\n' +
195
- 'NlHMfWHFWSOfjmrhKJf25jMCgYEAiDqfCECWAR2kyKu9RXn7CZLl95ki53W4eM5h\n' +
196
- 'tEyGRZ7Ik90N0QSHiaZt3lLC1KyDWckBPmqd4b5CJZSk8QS8Rr+nb93ffPclySCq\n' +
197
- 'OOG/GWcMKFOtvCNlO7gm3HprbN6v+ObOjVQp1OxVsTnW/exxVGzNVsPd67hKLqME\n' +
198
- '8NKaTmUCgYAdBEPSHuPesPXXYgsE9aaBjUwBEP5an9ZsdH4CAOgaJ+qi6lNpHow2\n' +
199
- 'O+9rSx/VldqwlnFj++6gPEdyVGw4NRnrO2kZvRoY7zrizmVZok1Kcv2fdThzWjWB\n' +
200
- '4fdduO1lx6pBaBa4LZbOIRCNsHXYLdOInjnOJC9RJ86lsGTWr1lH6A==\n' +
201
- '-----END RSA PRIVATE KEY-----',
202
- });
203
- return firstValueFrom(
204
- this.http.get(
205
- `https://futuraitsrl.sharepoint.com/sites/hr/_api/web/lists('${listId}')/subscriptions`,
206
- {
207
- headers: {
208
- Authorization: `Bearer ${auth.accessToken}`,
209
- },
210
- },
211
- ),
212
- );
213
- };
214
-
215
- getListItem = async (options: {
216
- siteId: string;
217
- listId: string;
218
- itemId: string;
219
- }) => {
220
- const auth = await this.simpleLogin({
221
- clientId: process.env.AZURE_AD_SIMPLE_CLIENT_ID,
222
- clientSecret: process.env.AZURE_AD_SIMPLE_CLIENT_SECRET,
223
- grantType: process.env.AZURE_AD_GRANT_TYPE,
224
- tenantId: process.env.AZURE_AD_TENANT_ID,
225
- scope: process.env.AZURE_AD_SIMPLE_SCOPE,
226
- });
227
- return firstValueFrom(
228
- this.http.get<HRListItem>(
229
- `https://graph.microsoft.com/beta/sites/${options.siteId}/lists/${options.listId}/items/${options.itemId}?expand=fields`,
230
- {
231
- headers: {
232
- Authorization: `Bearer ${auth.data.access_token}`,
233
- },
234
- },
235
- ),
236
- );
237
- };
238
-
239
- getListLogs = async (options: { listId: string; from: Date }) => {
240
- const auth = await this.loginWithCertificate({
241
- clientId: process.env.AZURE_AD_CLIENT_ID,
242
- scopes: [`${process.env.AZURE_AD_SCOPE}`],
243
- tenantId: process.env.AZURE_AD_TENANT_ID,
244
- thumbprint: process.env.CERTIFICATE_THUMBPRINT,
245
- privateKey:
246
- '-----BEGIN RSA PRIVATE KEY-----\n' +
247
- 'MIIEpAIBAAKCAQEAwRdWyopVfuYKxbg4+4JQKAnHcA/lGsotrZAjhQJoix+aFlw/\n' +
248
- '3vKQC/33fKEApK2odsmVAJUP1k1p31Fb8eddNlsM4cPacsWSHZ2x+Qcds1gouSdO\n' +
249
- 'CROkQmro0jybH+3puFEV2Gr3E5LIo62p9LFL9nvCvM1fHrsXTOV2mJAVdLTgqkoC\n' +
250
- 'oVTUZji+tcde64jsFx6zvgedKWRkUOXZOJC5gkfkcrkbjWwEq/lSYtbm4sRif9Eu\n' +
251
- 'FdqjYM3XqiF+TwEu1HIm37UyEE4jKn22PyG7JhiIffKvVHo7dIZPFcI9j8wBfeBA\n' +
252
- 'PZjZ0qh+i9/b8odQ6u0S/siYP82rHovKg5kzJwIDAQABAoIBAC/wanTouWdDF+OU\n' +
253
- '5FjVNq9qFiDlYV0wWvzfb2Ijge8gjnIEvzrMACVqDVrc4jsAfnXXgG3flEoBeEqg\n' +
254
- 'eXJqncLUAjO/G2opUSiXMUuBj8cqGRo2/vHT9ZEj19/yehUITWGciA7uJ5+tbrDs\n' +
255
- 'eeitaA2vFl8nofkQPC20PqiMBTevDd6h6wsuZFKQWKI5P0fu67UvD8kLXyUApx+h\n' +
256
- 'Z+vV41cgWuOBit5q1k6CZs4eZZw0mr81Wu7i6ueUwQTZbHE1AF5luh1lxrT+v05B\n' +
257
- 'Nu0XNMCuEjjsgKe91xVdyqwTg9EpQ8kO+4NTn/ZMDXLOix36S12w/22WkC5f8hy3\n' +
258
- 'B05JjnkCgYEA8WGCMFvj+y0r71b+H7KhdlnOKA4zEAlo2yJAGylky0lHtzEztnrL\n' +
259
- 'SplLK2Q3AF8i7XWiXQ9ubmGSLDB1NsKHfCHjtVu7jh3G+LOQoFBEKHY5gDzAZkZQ\n' +
260
- 'iGhxWO1FrX2xIykZXSNqlx9JOKpSkDdiSS97Map+BYJqio18h5Q2cysCgYEAzMkf\n' +
261
- 'RflUuY1O50a3OWHe/DZTIF3rTIhwx6/fylflGHOAsBkYSvCl6FL0znxE7vwtcGK2\n' +
262
- 'uGoAn+H1WOl77QIXlyxdIGQ+DE+137r3IvSjPE/SJeWNk+1h1t6A/LyhYYEuqX4w\n' +
263
- '8A/TbSqp1o2NA4mX5Sp4dHW5o8OxwXJ4sQB1cfUCgYEAkaJoPy8h9SkC6gvNlWhc\n' +
264
- 'XKDAbpBqpJFYz2Xx0bF+29whxdiMv9uEjkTBArQbL0E3PJgN1yH5WeXKoJi4D8r8\n' +
265
- 'nZuA3Ko1FgDHTMRiTSdAiD0UYlfFKa/g5PxG7wVxVcSRPIqOgBBfPkClF+hDmjmg\n' +
266
- 'NlHMfWHFWSOfjmrhKJf25jMCgYEAiDqfCECWAR2kyKu9RXn7CZLl95ki53W4eM5h\n' +
267
- 'tEyGRZ7Ik90N0QSHiaZt3lLC1KyDWckBPmqd4b5CJZSk8QS8Rr+nb93ffPclySCq\n' +
268
- 'OOG/GWcMKFOtvCNlO7gm3HprbN6v+ObOjVQp1OxVsTnW/exxVGzNVsPd67hKLqME\n' +
269
- '8NKaTmUCgYAdBEPSHuPesPXXYgsE9aaBjUwBEP5an9ZsdH4CAOgaJ+qi6lNpHow2\n' +
270
- 'O+9rSx/VldqwlnFj++6gPEdyVGw4NRnrO2kZvRoY7zrizmVZok1Kcv2fdThzWjWB\n' +
271
- '4fdduO1lx6pBaBa4LZbOIRCNsHXYLdOInjnOJC9RJ86lsGTWr1lH6A==\n' +
272
- '-----END RSA PRIVATE KEY-----',
273
- });
274
- const startTick = options.from.getTime() * 10000 + 621355968000000000;
275
- const start = `1;3;${options.listId};${startTick};-1`;
276
- return firstValueFrom(
277
- this.http.post<{ value: ListLog[] }>(
278
- `https://futuraitsrl.sharepoint.com/sites/hr/_api/web/Lists(guid'${options.listId}')/getChanges`,
279
- {
280
- query: {
281
- Add: true,
282
- Alert: true,
283
- DeleteObject: true,
284
- Update: true,
285
- Item: true,
286
- ChangeTokenStart: {
287
- StringValue: start,
288
- },
289
- },
290
- },
291
- {
292
- headers: {
293
- Authorization: `Bearer ${auth.accessToken}`,
294
- },
295
- },
296
- ),
297
- );
298
- };
299
- }
File without changes