@campxdev/server-shared 2.0.9 → 2.1.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.
@@ -12,6 +12,10 @@ export declare class MicrosoftAppAuthService extends MicrosoftAuthBaseService im
12
12
  * Get application token using client credentials flow
13
13
  */
14
14
  getApplicationToken(institutionConfig: InstitutionMicrosoftConfig, institutionId: string, tenantId?: string): Promise<string>;
15
+ /**
16
+ * Get short-lived application token without caching for client downloads
17
+ */
18
+ getShortLivedApplicationToken(institutionConfig: InstitutionMicrosoftConfig, institutionId: string): Promise<string>;
15
19
  /**
16
20
  * Check if token is valid (not expired and exists)
17
21
  */
@@ -1 +1 @@
1
- {"version":3,"file":"microsoft-app-auth.service.d.ts","sourceRoot":"","sources":["../../../src/microsoft/services/microsoft-app-auth.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAClF,OAAO,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAEzE,qBACa,uBACX,SAAQ,wBACR,YAAW,wBAAwB;IAEnC,OAAO,CAAC,YAAY,CAAoD;IACxE,OAAO,CAAC,UAAU,CAAyD;IAE3E;;OAEG;IACH,OAAO,CAAC,UAAU;IAkClB;;OAEG;IACG,mBAAmB,CACvB,iBAAiB,EAAE,0BAA0B,EAC7C,aAAa,EAAE,MAAM,EACrB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC;IA+ClB;;OAEG;IACG,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAUnD;;OAEG;IACH,eAAe,IAAI,IAAI;CAIxB"}
1
+ {"version":3,"file":"microsoft-app-auth.service.d.ts","sourceRoot":"","sources":["../../../src/microsoft/services/microsoft-app-auth.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAClF,OAAO,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAEzE,qBACa,uBACX,SAAQ,wBACR,YAAW,wBAAwB;IAEnC,OAAO,CAAC,YAAY,CAAoD;IACxE,OAAO,CAAC,UAAU,CAAyD;IAE3E;;OAEG;IACH,OAAO,CAAC,UAAU;IAkClB;;OAEG;IACG,mBAAmB,CACvB,iBAAiB,EAAE,0BAA0B,EAC7C,aAAa,EAAE,MAAM,EACrB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC;IA+ClB;;OAEG;IACG,6BAA6B,CACjC,iBAAiB,EAAE,0BAA0B,EAC7C,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,MAAM,CAAC;IAyDlB;;OAEG;IACG,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAUnD;;OAEG;IACH,eAAe,IAAI,IAAI;CAIxB"}
@@ -72,6 +72,46 @@ let MicrosoftAppAuthService = class MicrosoftAppAuthService extends microsoft_au
72
72
  throw this.formatError(error);
73
73
  }
74
74
  }
75
+ /**
76
+ * Get short-lived application token without caching for client downloads
77
+ */
78
+ async getShortLivedApplicationToken(institutionConfig, institutionId) {
79
+ try {
80
+ this.logger.log(`Getting short-lived application token for institution: ${institutionId}`);
81
+ if (!this.validateInstitutionConfig(institutionConfig)) {
82
+ throw new Error(`Microsoft configuration is invalid for institution ${institutionId}. Check institution Microsoft Teams integration settings.`);
83
+ }
84
+ const config = this.getMicrosoftConfigFromInstitution(institutionConfig);
85
+ // Create a fresh MSAL instance for non-cached token
86
+ const msalApp = new msal_node_1.ConfidentialClientApplication({
87
+ auth: {
88
+ clientId: config.clientId,
89
+ clientSecret: config.clientSecret,
90
+ authority: config.authority,
91
+ },
92
+ cache: {
93
+ // Disable caching for short-lived tokens
94
+ cachePlugin: undefined,
95
+ },
96
+ });
97
+ // Request token with minimal scope and short lifetime
98
+ const clientCredentialRequest = {
99
+ scopes: this.getDefaultScopes(),
100
+ skipCache: true, // Force fresh token request
101
+ };
102
+ this.logger.log(`Requesting fresh short-lived token from Microsoft for institution ${institutionId}`);
103
+ const response = await msalApp.acquireTokenByClientCredential(clientCredentialRequest);
104
+ if (!response?.accessToken) {
105
+ throw new Error('Failed to acquire short-lived access token');
106
+ }
107
+ this.logger.log(`Successfully acquired short-lived token for institution: ${institutionId}, expires at: ${new Date(response.expiresOn || 0).toISOString()}`);
108
+ return response.accessToken;
109
+ }
110
+ catch (error) {
111
+ this.logger.error(`Error getting short-lived application token for institution ${institutionId}:`, error);
112
+ throw this.formatError(error);
113
+ }
114
+ }
75
115
  /**
76
116
  * Check if token is valid (not expired and exists)
77
117
  */
@@ -1 +1 @@
1
- {"version":3,"file":"microsoft-app-auth.service.js","sourceRoot":"","sources":["../../../src/microsoft/services/microsoft-app-auth.service.ts"],"names":[],"mappings":";;;;;;;;;AAAA,gDAA0F;AAC1F,2CAA4C;AAG5C,+EAAyE;AAGlE,IAAM,uBAAuB,GAA7B,MAAM,uBACX,SAAQ,sDAAwB;IAGxB,YAAY,GAAG,IAAI,GAAG,EAAyC,CAAC;IAChE,UAAU,GAAG,IAAI,GAAG,EAA8C,CAAC;IAE3E;;OAEG;IACK,UAAU,CAChB,iBAA6C,EAC7C,aAAqB;QAErB,MAAM,QAAQ,GAAG,YAAY,aAAa,EAAE,CAAC;QAE7C,sDAAsD;QACtD,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpC,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC;QAC1C,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACvD,MAAM,IAAI,KAAK,CACb,sDAAsD,aAAa,2DAA2D,CAC/H,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,iCAAiC,CAAC,iBAAiB,CAAC,CAAC;QAEzE,MAAM,OAAO,GAAG,IAAI,yCAA6B,CAAC;YAChD,IAAI,EAAE;gBACJ,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,YAAY,EAAE,MAAM,CAAC,YAAY;gBACjC,SAAS,EAAE,MAAM,CAAC,SAAS;aAC5B;SACF,CAAC,CAAC;QAEH,qCAAqC;QACrC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAEzC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,+DAA+D,aAAa,EAAE,CAAC,CAAC;QAChG,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,mBAAmB,CACvB,iBAA6C,EAC7C,aAAqB,EACrB,QAAiB;QAEjB,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;QAE9D,oBAAoB;QACpB,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAClD,IAAI,WAAW,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC;YAC/D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kDAAkD,aAAa,EAAE,CAAC,CAAC;YACrF,OAAO,WAAW,CAAC,KAAK,CAAC;QAC3B,CAAC;QAED,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAC;YAElE,MAAM,uBAAuB,GAA4B;gBACvD,MAAM,EAAE,IAAI,CAAC,gBAAgB,EAAE;aAChC,CAAC;YAEF,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,mEAAmE,aAAa,EAAE,CACnF,CAAC;YACF,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,8BAA8B,CAAC,uBAAuB,CAAC,CAAC;YAEvF,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;gBACvC,MAAM,IAAI,KAAK,CACb,iEAAiE,aAAa,EAAE,CACjF,CAAC;YACJ,CAAC;YAED,kBAAkB;YAClB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE;gBAC5B,KAAK,EAAE,QAAQ,CAAC,WAAW;gBAC3B,SAAS,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAU,CAAC;aACzC,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,qEAAqE,aAAa,EAAE,CACrF,CAAC;YACF,OAAO,QAAQ,CAAC,WAAW,CAAC;QAC9B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,iEAAiE,aAAa,GAAG,EACjF,KAAK,CACN,CAAC;YACF,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,KAAa;QAC9B,IAAI,CAAC;YACH,wEAAwE;YACxE,OAAO,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QACnC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;YACrD,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;OAEG;IACH,eAAe;QACb,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACxB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;IACzC,CAAC;CACF,CAAA;AAtHY,0DAAuB;kCAAvB,uBAAuB;IADnC,IAAA,mBAAU,GAAE;GACA,uBAAuB,CAsHnC"}
1
+ {"version":3,"file":"microsoft-app-auth.service.js","sourceRoot":"","sources":["../../../src/microsoft/services/microsoft-app-auth.service.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,10 @@ export declare class MicrosoftGraphBaseService extends MicrosoftAuthBaseService
9
9
  * Get Microsoft Graph client for application operations
10
10
  */
11
11
  getApplicationGraphClient(institutionConfig: InstitutionMicrosoftConfig, institutionId: string, config?: GraphClientConfig): Promise<Client>;
12
+ /**
13
+ * Get short-lived access token for client downloads (not cached)
14
+ */
15
+ getAccessToken(institutionConfig: InstitutionMicrosoftConfig, institutionId: string): Promise<string>;
12
16
  /**
13
17
  * Get user profile from Microsoft Graph
14
18
  */
@@ -1 +1 @@
1
- {"version":3,"file":"microsoft-graph-base.service.d.ts","sourceRoot":"","sources":["../../../src/microsoft/services/microsoft-graph-base.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mCAAmC,CAAC;AAE3D,OAAO,EAAE,iBAAiB,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAC9F,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAQzE,qBACa,yBAA0B,SAAQ,wBAAwB;IACzD,OAAO,CAAC,QAAQ,CAAC,cAAc;gBAAd,cAAc,EAAE,uBAAuB;IAIpE;;OAEG;IACG,yBAAyB,CAC7B,iBAAiB,EAAE,0BAA0B,EAC7C,aAAa,EAAE,MAAM,EACrB,MAAM,CAAC,EAAE,iBAAiB,GACzB,OAAO,CAAC,MAAM,CAAC;IASlB;;OAEG;IACG,cAAc,CAClB,MAAM,EAAE,MAAM,EACd,iBAAiB,EAAE,0BAA0B,EAC7C,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,GAAG,CAAC;IAKf;;OAEG;IACG,oBAAoB,CACxB,iBAAiB,EAAE,0BAA0B,EAC7C,aAAa,EAAE,MAAM,EACrB,GAAG,GAAE,MAAW,GACf,OAAO,CAAC,GAAG,CAAC;IAKf;;OAEG;IACG,mBAAmB,CACvB,QAAQ,EAAE,GAAG,EAAE,EACf,iBAAiB,EAAE,0BAA0B,EAC7C,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,GAAG,CAAC;IAKf;;OAEG;IACG,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGvC"}
1
+ {"version":3,"file":"microsoft-graph-base.service.d.ts","sourceRoot":"","sources":["../../../src/microsoft/services/microsoft-graph-base.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mCAAmC,CAAC;AAE3D,OAAO,EAAE,iBAAiB,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAC9F,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAQzE,qBACa,yBAA0B,SAAQ,wBAAwB;IACzD,OAAO,CAAC,QAAQ,CAAC,cAAc;gBAAd,cAAc,EAAE,uBAAuB;IAIpE;;OAEG;IACG,yBAAyB,CAC7B,iBAAiB,EAAE,0BAA0B,EAC7C,aAAa,EAAE,MAAM,EACrB,MAAM,CAAC,EAAE,iBAAiB,GACzB,OAAO,CAAC,MAAM,CAAC;IASlB;;OAEG;IACG,cAAc,CAClB,iBAAiB,EAAE,0BAA0B,EAC7C,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,MAAM,CAAC;IAQlB;;OAEG;IACG,cAAc,CAClB,MAAM,EAAE,MAAM,EACd,iBAAiB,EAAE,0BAA0B,EAC7C,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,GAAG,CAAC;IAKf;;OAEG;IACG,oBAAoB,CACxB,iBAAiB,EAAE,0BAA0B,EAC7C,aAAa,EAAE,MAAM,EACrB,GAAG,GAAE,MAAW,GACf,OAAO,CAAC,GAAG,CAAC;IAKf;;OAEG;IACG,mBAAmB,CACvB,QAAQ,EAAE,GAAG,EAAE,EACf,iBAAiB,EAAE,0BAA0B,EAC7C,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,GAAG,CAAC;IAKf;;OAEG;IACG,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGvC"}
@@ -35,6 +35,13 @@ let MicrosoftGraphBaseService = class MicrosoftGraphBaseService extends microsof
35
35
  defaultVersion: DEFAULT_CONFIG.DEFAULT_VERSION,
36
36
  });
37
37
  }
38
+ /**
39
+ * Get short-lived access token for client downloads (not cached)
40
+ */
41
+ async getAccessToken(institutionConfig, institutionId) {
42
+ const token = await this.appAuthService.getShortLivedApplicationToken(institutionConfig, institutionId);
43
+ return token;
44
+ }
38
45
  /**
39
46
  * Get user profile from Microsoft Graph
40
47
  */
@@ -1 +1 @@
1
- {"version":3,"file":"microsoft-graph-base.service.js","sourceRoot":"","sources":["../../../src/microsoft/services/microsoft-graph-base.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,8EAA2D;AAC3D,2CAA4C;AAE5C,6EAAuE;AACvE,+EAAyE;AAEzE,0BAA0B;AAC1B,MAAM,cAAc,GAAG;IACrB,kBAAkB,EAAE,KAAK;IACzB,eAAe,EAAE,MAAM;CACf,CAAC;AAGJ,IAAM,yBAAyB,GAA/B,MAAM,yBAA0B,SAAQ,sDAAwB;IACxC;IAA7B,YAA6B,cAAuC;QAClE,KAAK,EAAE,CAAC;QADmB,mBAAc,GAAd,cAAc,CAAyB;IAEpE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,yBAAyB,CAC7B,iBAA6C,EAC7C,aAAqB,EACrB,MAA0B;QAE1B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAC;QAE9F,OAAO,+BAAM,CAAC,IAAI,CAAC;YACjB,YAAY,EAAE,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC;YAC9C,cAAc,EAAE,cAAc,CAAC,eAAe;SAC/C,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAClB,MAAc,EACd,iBAA6C,EAC7C,aAAqB;QAErB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAC;QAC3F,OAAO,MAAM,WAAW,CAAC,GAAG,CAAC,UAAU,MAAM,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;IACzD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,oBAAoB,CACxB,iBAA6C,EAC7C,aAAqB,EACrB,MAAc,EAAE;QAEhB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAC;QAC3F,OAAO,MAAM,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;IACxD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,mBAAmB,CACvB,QAAe,EACf,iBAA6C,EAC7C,aAAqB;QAErB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAC;QAC3F,OAAO,MAAM,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK,CAAC,EAAU;QACpB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IAC3D,CAAC;CACF,CAAA;AA/DY,8DAAyB;oCAAzB,yBAAyB;IADrC,IAAA,mBAAU,GAAE;qCAEkC,oDAAuB;GADzD,yBAAyB,CA+DrC"}
1
+ {"version":3,"file":"microsoft-graph-base.service.js","sourceRoot":"","sources":["../../../src/microsoft/services/microsoft-graph-base.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,8EAA2D;AAC3D,2CAA4C;AAE5C,6EAAuE;AACvE,+EAAyE;AAEzE,0BAA0B;AAC1B,MAAM,cAAc,GAAG;IACrB,kBAAkB,EAAE,KAAK;IACzB,eAAe,EAAE,MAAM;CACf,CAAC;AAGJ,IAAM,yBAAyB,GAA/B,MAAM,yBAA0B,SAAQ,sDAAwB;IACxC;IAA7B,YAA6B,cAAuC;QAClE,KAAK,EAAE,CAAC;QADmB,mBAAc,GAAd,cAAc,CAAyB;IAEpE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,yBAAyB,CAC7B,iBAA6C,EAC7C,aAAqB,EACrB,MAA0B;QAE1B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAC;QAE9F,OAAO,+BAAM,CAAC,IAAI,CAAC;YACjB,YAAY,EAAE,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC;YAC9C,cAAc,EAAE,cAAc,CAAC,eAAe;SAC/C,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAClB,iBAA6C,EAC7C,aAAqB;QAErB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,6BAA6B,CACnE,iBAAiB,EACjB,aAAa,CACd,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAClB,MAAc,EACd,iBAA6C,EAC7C,aAAqB;QAErB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAC;QAC3F,OAAO,MAAM,WAAW,CAAC,GAAG,CAAC,UAAU,MAAM,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;IACzD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,oBAAoB,CACxB,iBAA6C,EAC7C,aAAqB,EACrB,MAAc,EAAE;QAEhB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAC;QAC3F,OAAO,MAAM,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;IACxD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,mBAAmB,CACvB,QAAe,EACf,iBAA6C,EAC7C,aAAqB;QAErB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAC;QAC3F,OAAO,MAAM,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK,CAAC,EAAU;QACpB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IAC3D,CAAC;CACF,CAAA;AA7EY,8DAAyB;oCAAzB,yBAAyB;IADrC,IAAA,mBAAU,GAAE;qCAEkC,oDAAuB;GADzD,yBAAyB,CA6ErC"}
@@ -11,6 +11,7 @@ interface MeetingData {
11
11
  export declare class TeamsMeetingsGraphService {
12
12
  private readonly graphBaseService;
13
13
  constructor(graphBaseService: MicrosoftGraphBaseService);
14
+ private get logger();
14
15
  /**
15
16
  * Get the service account user ID for Teams meeting creation
16
17
  */
@@ -40,7 +41,28 @@ export declare class TeamsMeetingsGraphService {
40
41
  * Validate if a string is a valid ISO 8601 datetime
41
42
  */
42
43
  private isValidISODateTime;
43
- private get logger();
44
+ /**
45
+ * Get recordings for a Teams meeting using alternative approach
46
+ * 1. First fetch the meeting to get the chatId
47
+ * 2. Then fetch chat messages to find recording announcements
48
+ */
49
+ getTeamsMeetingRecordings(meetingId: string, institutionConfig: InstitutionMicrosoftConfig, institutionId: string, includeAccessToken?: boolean, includeDownloadData?: boolean): Promise<{
50
+ chatId?: string;
51
+ recordings: any[];
52
+ accessToken?: string;
53
+ }>;
54
+ /**
55
+ * Download recording content using direct HTTP request
56
+ */
57
+ private downloadRecording;
58
+ /**
59
+ * Encode SharePoint sharing URL for Graph API
60
+ */
61
+ private encodeShareUrl;
62
+ /**
63
+ * Convert stream to buffer
64
+ */
65
+ private streamToBuffer;
44
66
  }
45
67
  export {};
46
68
  //# sourceMappingURL=teams-meetings-graph.service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"teams-meetings-graph.service.d.ts","sourceRoot":"","sources":["../../../src/microsoft/services/teams-meetings-graph.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAC/F,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAM3E,UAAU,WAAW;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,KAAK,EAAE,cAAc,GAAG,0BAA0B,CAAC;CACpD;AAED,qBACa,yBAAyB;IACxB,OAAO,CAAC,QAAQ,CAAC,gBAAgB;gBAAhB,gBAAgB,EAAE,yBAAyB;IAExE;;OAEG;IACH,OAAO,CAAC,uBAAuB;IA0B/B;;OAEG;IACG,wBAAwB,CAC5B,WAAW,EAAE,WAAW,EACxB,iBAAiB,EAAE,0BAA0B,EAC7C,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,kBAAkB,CAAC;IA2B9B;;OAEG;IACG,wBAAwB,CAC5B,SAAS,EAAE,MAAM,EACjB,iBAAiB,EAAE,0BAA0B,EAC7C,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,IAAI,CAAC;IAehB;;OAEG;IACG,2BAA2B,CAC/B,SAAS,EAAE,MAAM,EACjB,iBAAiB,EAAE,0BAA0B,EAC7C,aAAa,EAAE,MAAM,EACrB,gCAAgC,CAAC,EAAE,MAAM,EACzC,uBAAuB,GAAE,MAAW,GACnC,OAAO,CAAC,GAAG,EAAE,CAAC;IAgFjB;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAuClC,OAAO,CAAC,yBAAyB;IAgCjC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA+C3B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAiB1B,OAAO,KAAK,MAAM,GAEjB;CACF"}
1
+ {"version":3,"file":"teams-meetings-graph.service.d.ts","sourceRoot":"","sources":["../../../src/microsoft/services/teams-meetings-graph.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,0BAA0B,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAC/F,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAM3E,UAAU,WAAW;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,KAAK,EAAE,cAAc,GAAG,0BAA0B,CAAC;CACpD;AAED,qBACa,yBAAyB;IACxB,OAAO,CAAC,QAAQ,CAAC,gBAAgB;gBAAhB,gBAAgB,EAAE,yBAAyB;IAExE,OAAO,KAAK,MAAM,GAEjB;IAED;;OAEG;IACH,OAAO,CAAC,uBAAuB;IA0B/B;;OAEG;IACG,wBAAwB,CAC5B,WAAW,EAAE,WAAW,EACxB,iBAAiB,EAAE,0BAA0B,EAC7C,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,kBAAkB,CAAC;IA2B9B;;OAEG;IACG,wBAAwB,CAC5B,SAAS,EAAE,MAAM,EACjB,iBAAiB,EAAE,0BAA0B,EAC7C,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,IAAI,CAAC;IAehB;;OAEG;IACG,2BAA2B,CAC/B,SAAS,EAAE,MAAM,EACjB,iBAAiB,EAAE,0BAA0B,EAC7C,aAAa,EAAE,MAAM,EACrB,gCAAgC,CAAC,EAAE,MAAM,EACzC,uBAAuB,GAAE,MAAW,GACnC,OAAO,CAAC,GAAG,EAAE,CAAC;IAgFjB;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAuClC,OAAO,CAAC,yBAAyB;IAgCjC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA+C3B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAiB1B;;;;OAIG;IACG,yBAAyB,CAC7B,SAAS,EAAE,MAAM,EACjB,iBAAiB,EAAE,0BAA0B,EAC7C,aAAa,EAAE,MAAM,EACrB,kBAAkB,GAAE,OAAe,EACnC,mBAAmB,GAAE,OAAe,GACnC,OAAO,CAAC;QACT,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,GAAG,EAAE,CAAC;QAClB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IAoJF;;OAEG;YACW,iBAAiB;IA0B/B;;OAEG;IACH,OAAO,CAAC,cAAc;IAStB;;OAEG;YACW,cAAc;CA4C7B"}
@@ -8,15 +8,22 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
8
  var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
11
14
  Object.defineProperty(exports, "__esModule", { value: true });
12
15
  exports.TeamsMeetingsGraphService = void 0;
13
16
  const common_1 = require("@nestjs/common");
17
+ const axios_1 = __importDefault(require("axios"));
14
18
  const microsoft_graph_base_service_1 = require("./microsoft-graph-base.service");
15
19
  let TeamsMeetingsGraphService = class TeamsMeetingsGraphService {
16
20
  graphBaseService;
17
21
  constructor(graphBaseService) {
18
22
  this.graphBaseService = graphBaseService;
19
23
  }
24
+ get logger() {
25
+ return this.graphBaseService['logger'];
26
+ }
20
27
  /**
21
28
  * Get the service account user ID for Teams meeting creation
22
29
  */
@@ -243,8 +250,207 @@ let TeamsMeetingsGraphService = class TeamsMeetingsGraphService {
243
250
  return false;
244
251
  }
245
252
  }
246
- get logger() {
247
- return this.graphBaseService['logger'];
253
+ /**
254
+ * Get recordings for a Teams meeting using alternative approach
255
+ * 1. First fetch the meeting to get the chatId
256
+ * 2. Then fetch chat messages to find recording announcements
257
+ */
258
+ async getTeamsMeetingRecordings(meetingId, institutionConfig, institutionId, includeAccessToken = false, includeDownloadData = false) {
259
+ const graphClient = await this.graphBaseService.getApplicationGraphClient(institutionConfig, institutionId);
260
+ const serviceAccountId = this.getServiceAccountUserId(institutionConfig);
261
+ // Get access token if client needs it for direct downloads
262
+ let accessToken;
263
+ if (includeAccessToken) {
264
+ accessToken = await this.graphBaseService.getAccessToken(institutionConfig, institutionId);
265
+ }
266
+ // Only get access token for server-side downloads if needed
267
+ let serverAccessToken;
268
+ if (includeDownloadData) {
269
+ serverAccessToken = await this.graphBaseService.getAccessToken(institutionConfig, institutionId);
270
+ }
271
+ try {
272
+ // Step 1: Fetch the meeting to get the chatId
273
+ this.logger.log(`Fetching meeting details for meetingId: ${meetingId}`);
274
+ const meetingResponse = await graphClient
275
+ .api(`/users/${serviceAccountId}/onlineMeetings/${meetingId}`)
276
+ .select('chatInfo,subject,startDateTime,endDateTime')
277
+ .get();
278
+ console.log('Meeting details:', JSON.stringify(meetingResponse, null, 2));
279
+ // Extract chatId from chatInfo
280
+ const chatId = meetingResponse.chatInfo?.threadId;
281
+ if (!chatId) {
282
+ this.logger.warn(`No chat thread found for meeting ${meetingId}. This may be a channel meeting.`);
283
+ console.log('No chatId found, returning empty recordings array');
284
+ return {
285
+ chatId: undefined,
286
+ recordings: [],
287
+ ...(includeAccessToken && { accessToken }),
288
+ };
289
+ }
290
+ this.logger.log(`Found chatId: ${chatId} for meeting: ${meetingId}`);
291
+ // Step 2: Fetch chat messages to find recording announcements
292
+ this.logger.log(`Fetching chat messages for chatId: ${chatId}`);
293
+ const messagesResponse = await graphClient
294
+ .api(`/chats/${chatId}/messages`)
295
+ .orderby('createdDateTime desc')
296
+ .get();
297
+ const messages = messagesResponse.value || [];
298
+ // Filter for system messages that announce recordings
299
+ const recordingMessages = messages.filter((message) => {
300
+ return (message.eventDetail &&
301
+ message.eventDetail['@odata.type'] ===
302
+ '#microsoft.graph.callRecordingEventMessageDetail' &&
303
+ message.eventDetail.callRecordingStatus === 'success' // Skip failed recording messages
304
+ );
305
+ });
306
+ // Transform recording messages to our expected format
307
+ const recordings = await Promise.all(recordingMessages.map(async (message) => {
308
+ const recordingData = {
309
+ id: message.id,
310
+ createdDateTime: message.createdDateTime,
311
+ recordingUrl: message.eventDetail?.callRecordingUrl || null,
312
+ displayName: message.eventDetail?.callRecordingDisplayName || 'Recording',
313
+ duration: message.eventDetail?.callRecordingDuration || null,
314
+ status: message.eventDetail?.callRecordingStatus || null,
315
+ callId: message.eventDetail?.callId || null,
316
+ meetingId: meetingId,
317
+ chatId: chatId,
318
+ messageType: message.messageType,
319
+ eventDetail: message.eventDetail,
320
+ // Additional metadata
321
+ hasValidUrl: Boolean(message.eventDetail?.callRecordingUrl),
322
+ isComplete: message.eventDetail?.callRecordingStatus === 'success',
323
+ organizerId: message.eventDetail?.meetingOrganizer?.user?.id || null,
324
+ organizerDisplayName: message.eventDetail?.meetingOrganizer?.user?.displayName || null,
325
+ // Add encoded URL for client-side downloads if access token is requested
326
+ ...(includeAccessToken && {
327
+ encodedUrl: this.encodeShareUrl(message.eventDetail?.callRecordingUrl || ''),
328
+ }),
329
+ };
330
+ // Add download functionality if requested
331
+ if (includeDownloadData && recordingData.recordingUrl && serverAccessToken) {
332
+ try {
333
+ const downloadData = await this.downloadRecording(recordingData.recordingUrl, serverAccessToken);
334
+ recordingData.downloadData = downloadData;
335
+ }
336
+ catch (error) {
337
+ this.logger.warn(`Failed to download recording ${recordingData.id}:`, error);
338
+ recordingData.downloadError = error?.message || 'Unknown download error';
339
+ }
340
+ }
341
+ return recordingData;
342
+ }));
343
+ this.logger.log(`Found ${recordings.length} recordings for meeting ${meetingId}`);
344
+ return {
345
+ chatId,
346
+ recordings,
347
+ ...(includeAccessToken && { accessToken }),
348
+ };
349
+ }
350
+ catch (error) {
351
+ this.logger.error(`Failed to fetch recordings for meeting ${meetingId}:`);
352
+ this.logger.error(`Error code: ${error.code}`);
353
+ this.logger.error(`Error message: ${error.message}`);
354
+ this.logger.error(`Status code: ${error.statusCode}`);
355
+ if (error.body) {
356
+ this.logger.error(`Error details: ${JSON.stringify(JSON.parse(error.body), null, 2)}`);
357
+ }
358
+ console.log('Error fetching recordings:', {
359
+ code: error.code,
360
+ message: error.message,
361
+ statusCode: error.statusCode,
362
+ body: error.body,
363
+ });
364
+ // Return empty array instead of throwing to handle gracefully
365
+ return {
366
+ chatId: undefined,
367
+ recordings: [],
368
+ ...(includeAccessToken && { accessToken }),
369
+ };
370
+ }
371
+ }
372
+ /**
373
+ * Download recording content using direct HTTP request
374
+ */
375
+ async downloadRecording(recordingUrl, accessToken) {
376
+ try {
377
+ // Get access token from the graph client
378
+ // Encode the URL for Graph API
379
+ const encodedUrl = this.encodeShareUrl(recordingUrl);
380
+ const downloadUrl = `https://graph.microsoft.com/v1.0/shares/${encodedUrl}/driveItem/content`;
381
+ // Use axios for proper stream handling
382
+ const response = await axios_1.default.get(downloadUrl, {
383
+ headers: {
384
+ Authorization: `Bearer ${accessToken}`,
385
+ },
386
+ responseType: 'stream',
387
+ maxRedirects: 5,
388
+ validateStatus: (status) => (status >= 200 && status < 400) || status === 302, // allow redirects
389
+ });
390
+ // Convert stream to buffer
391
+ return await this.streamToBuffer(response.data);
392
+ }
393
+ catch (error) {
394
+ this.logger.error('Error downloading recording:', error);
395
+ throw error;
396
+ }
397
+ }
398
+ /**
399
+ * Encode SharePoint sharing URL for Graph API
400
+ */
401
+ encodeShareUrl(url) {
402
+ const b64 = Buffer.from(url, 'utf8')
403
+ .toString('base64')
404
+ .replace(/\+/g, '-')
405
+ .replace(/\//g, '_')
406
+ .replace(/=+$/, '');
407
+ return `u!${b64}`;
408
+ }
409
+ /**
410
+ * Convert stream to buffer
411
+ */
412
+ async streamToBuffer(stream) {
413
+ return new Promise((resolve, reject) => {
414
+ // Validate that stream has the required methods
415
+ if (!stream || typeof stream.on !== 'function') {
416
+ reject(new Error('Invalid stream object - missing .on method'));
417
+ return;
418
+ }
419
+ const chunks = [];
420
+ stream.on('data', (chunk) => {
421
+ // Ensure chunk is a Buffer
422
+ if (Buffer.isBuffer(chunk)) {
423
+ chunks.push(chunk);
424
+ }
425
+ else if (chunk instanceof ArrayBuffer) {
426
+ chunks.push(Buffer.from(chunk));
427
+ }
428
+ else if (chunk instanceof Uint8Array) {
429
+ chunks.push(Buffer.from(chunk));
430
+ }
431
+ else if (typeof chunk === 'string') {
432
+ chunks.push(Buffer.from(chunk, 'binary'));
433
+ }
434
+ else {
435
+ chunks.push(Buffer.from(String(chunk)));
436
+ }
437
+ });
438
+ stream.on('end', () => {
439
+ const result = Buffer.concat(chunks);
440
+ this.logger.log(`Downloaded recording buffer: ${result.length} bytes`);
441
+ resolve(result);
442
+ });
443
+ stream.on('error', (error) => {
444
+ this.logger.error('Stream error during download:', error);
445
+ reject(error);
446
+ });
447
+ // Add timeout to prevent hanging
448
+ const timeout = setTimeout(() => {
449
+ reject(new Error('Stream timeout - no data received within 30 seconds'));
450
+ }, 30000);
451
+ stream.on('end', () => clearTimeout(timeout));
452
+ stream.on('error', () => clearTimeout(timeout));
453
+ });
248
454
  }
249
455
  };
250
456
  exports.TeamsMeetingsGraphService = TeamsMeetingsGraphService;
@@ -1 +1 @@
1
- {"version":3,"file":"teams-meetings-graph.service.js","sourceRoot":"","sources":["../../../src/microsoft/services/teams-meetings-graph.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"teams-meetings-graph.service.js","sourceRoot":"","sources":["../../../src/microsoft/services/teams-meetings-graph.service.ts"],"names":[],"mappings":"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"}
@@ -43,4 +43,19 @@ export interface TeamsOnlineMeeting {
43
43
  }>;
44
44
  };
45
45
  }
46
+ export interface TeamsRecording {
47
+ id: string;
48
+ meetingId: string;
49
+ createdDateTime: string;
50
+ recordingContentUrl: string;
51
+ meetingOrganizer: {
52
+ identity: {
53
+ user: {
54
+ id: string;
55
+ displayName?: string;
56
+ userPrincipalName?: string;
57
+ };
58
+ };
59
+ };
60
+ }
46
61
  //# sourceMappingURL=microsoft-auth.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"microsoft-auth.types.d.ts","sourceRoot":"","sources":["../../../src/microsoft/types/microsoft-auth.types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,sBAAsB;IACrC,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,0BAA0B;IACzC,+BAA+B,EAAE,OAAO,CAAC;IACzC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,8BAA8B,EAAE,MAAM,CAAC;CACxC;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE;QACb,UAAU,EAAE,MAAM,CAAC;QACnB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE;QACZ,SAAS,EAAE,KAAK,CAAC;YACf,QAAQ,EAAE;gBACR,IAAI,EAAE;oBACJ,EAAE,EAAE,MAAM,CAAC;oBACX,WAAW,CAAC,EAAE,MAAM,CAAC;iBACtB,CAAC;aACH,CAAC;SACH,CAAC,CAAC;KACJ,CAAC;CACH"}
1
+ {"version":3,"file":"microsoft-auth.types.d.ts","sourceRoot":"","sources":["../../../src/microsoft/types/microsoft-auth.types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,sBAAsB;IACrC,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,0BAA0B;IACzC,+BAA+B,EAAE,OAAO,CAAC;IACzC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,8BAA8B,EAAE,MAAM,CAAC;CACxC;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE;QACb,UAAU,EAAE,MAAM,CAAC;QACnB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE;QACZ,SAAS,EAAE,KAAK,CAAC;YACf,QAAQ,EAAE;gBACR,IAAI,EAAE;oBACJ,EAAE,EAAE,MAAM,CAAC;oBACX,WAAW,CAAC,EAAE,MAAM,CAAC;iBACtB,CAAC;aACH,CAAC;SACH,CAAC,CAAC;KACJ,CAAC;CACH;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,gBAAgB,EAAE;QAChB,QAAQ,EAAE;YACR,IAAI,EAAE;gBACJ,EAAE,EAAE,MAAM,CAAC;gBACX,WAAW,CAAC,EAAE,MAAM,CAAC;gBACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;aAC5B,CAAC;SACH,CAAC;KACH,CAAC;CACH"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@campxdev/server-shared",
3
- "version": "2.0.9",
3
+ "version": "2.1.0",
4
4
  "description": "Campx server shared files",
5
5
  "main": "dist/index.js",
6
6
  "license": "MIT",