@tilde-nlp/ngx-services 6.0.61 → 6.0.63

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.
@@ -1,9 +1,11 @@
1
1
  import { inject, Injectable } from '@angular/core';
2
2
  import { BaseService } from '../../../base-service/base.service';
3
- import { HttpClient } from '@angular/common/http';
3
+ import { HttpClient, HttpHeaders } from '@angular/common/http';
4
+ import { TranslateService } from '@ngx-translate/core';
4
5
  import * as i0 from "@angular/core";
5
6
  export class QuizService extends BaseService {
6
7
  #http = inject(HttpClient);
8
+ #translate = inject(TranslateService);
7
9
  constructor() {
8
10
  super((config) => config.microLearningService);
9
11
  }
@@ -14,31 +16,38 @@ export class QuizService extends BaseService {
14
16
  return this.#http.delete(`${this.configuration.url}/quiz/${id}`);
15
17
  }
16
18
  addQuiz(quiz) {
17
- return this.#http.post(`${this.configuration.url}/quiz`, quiz);
19
+ return this.#http.post(`${this.configuration.url}/quiz`, quiz, { headers: this.getLangHeaders() });
18
20
  }
19
21
  getQuiz(id) {
20
22
  return this.#http.get(`${this.configuration.url}/quiz/${id}`);
21
23
  }
22
24
  updateQuiz(id, quiz) {
23
- return this.#http.put(`${this.configuration.url}/quiz/${id}`, quiz);
25
+ return this.#http.put(`${this.configuration.url}/quiz/${id}`, quiz, {
26
+ headers: this.getLangHeaders(),
27
+ });
24
28
  }
25
29
  generateQuestion(quizId, questionSetSpecifications, existingQuestions) {
26
30
  return this.#http.post(`${this.configuration.url}/quiz/generate-questions`, {
27
31
  quizId,
28
32
  questionSetSpecifications,
29
33
  existingQuestions,
30
- });
34
+ }, { headers: this.getLangHeaders() });
31
35
  }
32
36
  getQuizSubmissions(id) {
33
37
  return this.#http.get(`${this.configuration.url}/quiz-submission?quizId=${id}`);
34
38
  }
35
39
  sendQuiz(quiz) {
36
- return this.#http.post(`${this.configuration.url}/quiz-submission`, quiz);
40
+ return this.#http.post(`${this.configuration.url}/quiz-submission`, quiz, { headers: this.getLangHeaders() });
37
41
  }
38
42
  downloadQuiz(id) {
39
43
  return this.#http.get(`${this.configuration.url}/quiz/${id}/download`, {
40
44
  observe: 'response',
41
- responseType: 'blob'
45
+ responseType: 'blob',
46
+ });
47
+ }
48
+ getLangHeaders() {
49
+ return new HttpHeaders({
50
+ 'Accept-Language': this.#translate.currentLang,
42
51
  });
43
52
  }
44
53
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: QuizService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
@@ -50,4 +59,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
50
59
  providedIn: 'root',
51
60
  }]
52
61
  }], ctorParameters: () => [] });
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVpei5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNlcnZpY2VzL3NyYy9saWIvbWljcm8tbGVhcm5pbmcvcXVpei9zZXJ2aWNlcy9xdWl6LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxVQUFVLEVBQWdCLE1BQU0sc0JBQXNCLENBQUM7O0FBZWhFLE1BQU0sT0FBTyxXQUFZLFNBQVEsV0FBdUM7SUFDN0QsS0FBSyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUVwQztRQUNFLEtBQUssQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELGtCQUFrQixDQUFDLEVBQVU7UUFDM0IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FDbkIsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsaUJBQWlCLEVBQUUsRUFBRSxDQUMvQyxDQUFDO0lBQ0osQ0FBQztJQUVELFVBQVUsQ0FBQyxFQUFVO1FBQ25CLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQU8sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFRCxPQUFPLENBQUMsSUFBZ0I7UUFDdEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBTyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVELE9BQU8sQ0FBQyxFQUFVO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQU8sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFRCxVQUFVLENBQUMsRUFBVSxFQUFFLElBQWdCO1FBQ3JDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQU8sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsU0FBUyxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM1RSxDQUFDO0lBRUQsZ0JBQWdCLENBQ2QsTUFBYyxFQUNkLHlCQUFxRCxFQUNyRCxpQkFBZ0M7UUFFaEMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FDcEIsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsMEJBQTBCLEVBQ25EO1lBQ0UsTUFBTTtZQUNOLHlCQUF5QjtZQUN6QixpQkFBaUI7U0FDbEIsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVELGtCQUFrQixDQUFDLEVBQVU7UUFDM0IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FDbkIsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsMkJBQTJCLEVBQUUsRUFBRSxDQUN6RCxDQUFDO0lBQ0osQ0FBQztJQUVELFFBQVEsQ0FBQyxJQUFvQjtRQUMzQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUNwQixHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxrQkFBa0IsRUFDM0MsSUFBSSxDQUNMLENBQUM7SUFDSixDQUFDO0lBRUQsWUFBWSxDQUFDLEVBQVU7UUFDckIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxTQUFTLEVBQUUsV0FBVyxFQUFFO1lBQ3JFLE9BQU8sRUFBRSxVQUFVO1lBQ25CLFlBQVksRUFBRSxNQUFNO1NBQ3JCLENBQUMsQ0FBQztJQUNMLENBQUM7K0dBOURVLFdBQVc7bUhBQVgsV0FBVyxjQUZWLE1BQU07OzRGQUVQLFdBQVc7a0JBSHZCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJhc2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vYmFzZS1zZXJ2aWNlL2Jhc2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBNaWNyb0xlYXJuaW5nQ29uZmlndXJhdGlvbiB9IGZyb20gJy4uLy4uL21vZGVscyc7XHJcbmltcG9ydCB7XHJcbiAgQ3JlYXRlUXVpeixcclxuICBRdWVzdGlvblNldCxcclxuICBRdWVzdGlvblNldFNwZWNpZmljYXRpb24sXHJcbiAgUXVpeixcclxuICBRdWl6U3VibWlzc2lvbixcclxuICBRdWl6VXBkYXRlLFxyXG59IGZyb20gJy4uL21vZGVscyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUXVpelNlcnZpY2UgZXh0ZW5kcyBCYXNlU2VydmljZTxNaWNyb0xlYXJuaW5nQ29uZmlndXJhdGlvbj4ge1xyXG4gIHJlYWRvbmx5ICNodHRwID0gaW5qZWN0KEh0dHBDbGllbnQpO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHN1cGVyKChjb25maWcpID0+IGNvbmZpZy5taWNyb0xlYXJuaW5nU2VydmljZSk7XHJcbiAgfVxyXG5cclxuICBnZXRBbGxUZXN0c0J5VG9waWMoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8UXVpeltdPiB7XHJcbiAgICByZXR1cm4gdGhpcy4jaHR0cC5nZXQ8UXVpeltdPihcclxuICAgICAgYCR7dGhpcy5jb25maWd1cmF0aW9uLnVybH0vcXVpej90b3BpY0lkPSR7aWR9YFxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGRlbGV0ZVRlc3QoaWQ6IG51bWJlcik6IE9ic2VydmFibGU8dm9pZD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuI2h0dHAuZGVsZXRlPHZvaWQ+KGAke3RoaXMuY29uZmlndXJhdGlvbi51cmx9L3F1aXovJHtpZH1gKTtcclxuICB9XHJcblxyXG4gIGFkZFF1aXoocXVpejogQ3JlYXRlUXVpeik6IE9ic2VydmFibGU8UXVpej4ge1xyXG4gICAgcmV0dXJuIHRoaXMuI2h0dHAucG9zdDxRdWl6PihgJHt0aGlzLmNvbmZpZ3VyYXRpb24udXJsfS9xdWl6YCwgcXVpeik7XHJcbiAgfVxyXG5cclxuICBnZXRRdWl6KGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPFF1aXo+IHtcclxuICAgIHJldHVybiB0aGlzLiNodHRwLmdldDxRdWl6PihgJHt0aGlzLmNvbmZpZ3VyYXRpb24udXJsfS9xdWl6LyR7aWR9YCk7XHJcbiAgfVxyXG5cclxuICB1cGRhdGVRdWl6KGlkOiBudW1iZXIsIHF1aXo6IFF1aXpVcGRhdGUpOiBPYnNlcnZhYmxlPFF1aXo+IHtcclxuICAgIHJldHVybiB0aGlzLiNodHRwLnB1dDxRdWl6PihgJHt0aGlzLmNvbmZpZ3VyYXRpb24udXJsfS9xdWl6LyR7aWR9YCwgcXVpeik7XHJcbiAgfVxyXG5cclxuICBnZW5lcmF0ZVF1ZXN0aW9uKFxyXG4gICAgcXVpeklkOiBudW1iZXIsXHJcbiAgICBxdWVzdGlvblNldFNwZWNpZmljYXRpb25zOiBRdWVzdGlvblNldFNwZWNpZmljYXRpb25bXSxcclxuICAgIGV4aXN0aW5nUXVlc3Rpb25zOiBRdWVzdGlvblNldFtdXHJcbiAgKTogT2JzZXJ2YWJsZTxRdWVzdGlvblNldFtdPiB7XHJcbiAgICByZXR1cm4gdGhpcy4jaHR0cC5wb3N0PFF1ZXN0aW9uU2V0W10+KFxyXG4gICAgICBgJHt0aGlzLmNvbmZpZ3VyYXRpb24udXJsfS9xdWl6L2dlbmVyYXRlLXF1ZXN0aW9uc2AsXHJcbiAgICAgIHtcclxuICAgICAgICBxdWl6SWQsXHJcbiAgICAgICAgcXVlc3Rpb25TZXRTcGVjaWZpY2F0aW9ucyxcclxuICAgICAgICBleGlzdGluZ1F1ZXN0aW9ucyxcclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGdldFF1aXpTdWJtaXNzaW9ucyhpZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxRdWl6U3VibWlzc2lvbltdPiB7XHJcbiAgICByZXR1cm4gdGhpcy4jaHR0cC5nZXQ8UXVpelN1Ym1pc3Npb25bXT4oXHJcbiAgICAgIGAke3RoaXMuY29uZmlndXJhdGlvbi51cmx9L3F1aXotc3VibWlzc2lvbj9xdWl6SWQ9JHtpZH1gXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgc2VuZFF1aXoocXVpejogUXVpelN1Ym1pc3Npb24pOiBPYnNlcnZhYmxlPFF1aXpTdWJtaXNzaW9uPiB7XHJcbiAgICByZXR1cm4gdGhpcy4jaHR0cC5wb3N0PFF1aXpTdWJtaXNzaW9uPihcclxuICAgICAgYCR7dGhpcy5jb25maWd1cmF0aW9uLnVybH0vcXVpei1zdWJtaXNzaW9uYCxcclxuICAgICAgcXVpelxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGRvd25sb2FkUXVpeihpZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8QmxvYj4+IHtcclxuICAgIHJldHVybiB0aGlzLiNodHRwLmdldChgJHt0aGlzLmNvbmZpZ3VyYXRpb24udXJsfS9xdWl6LyR7aWR9L2Rvd25sb2FkYCwge1xyXG4gICAgICBvYnNlcnZlOiAncmVzcG9uc2UnLFxyXG4gICAgICByZXNwb25zZVR5cGU6ICdibG9iJ1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVpei5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNlcnZpY2VzL3NyYy9saWIvbWljcm8tbGVhcm5pbmcvcXVpei9zZXJ2aWNlcy9xdWl6LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFnQixNQUFNLHNCQUFzQixDQUFDO0FBVzdFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQUt2RCxNQUFNLE9BQU8sV0FBWSxTQUFRLFdBQXVDO0lBQzdELEtBQUssR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDM0IsVUFBVSxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBRS9DO1FBQ0UsS0FBSyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsa0JBQWtCLENBQUMsRUFBVTtRQUMzQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUNuQixHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxpQkFBaUIsRUFBRSxFQUFFLENBQy9DLENBQUM7SUFDSixDQUFDO0lBRUQsVUFBVSxDQUFDLEVBQVU7UUFDbkIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBTyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDekUsQ0FBQztJQUVELE9BQU8sQ0FBQyxJQUFnQjtRQUN0QixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUNwQixHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxPQUFPLEVBQ2hDLElBQUksRUFDSixFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFLEVBQUUsQ0FDbkMsQ0FBQztJQUNKLENBQUM7SUFFRCxPQUFPLENBQUMsRUFBVTtRQUNoQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFPLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBRUQsVUFBVSxDQUFDLEVBQVUsRUFBRSxJQUFnQjtRQUNyQyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFPLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLFNBQVMsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFO1lBQ3hFLE9BQU8sRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFO1NBQy9CLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxnQkFBZ0IsQ0FDZCxNQUFjLEVBQ2QseUJBQXFELEVBQ3JELGlCQUFnQztRQUVoQyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUNwQixHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRywwQkFBMEIsRUFDbkQ7WUFDRSxNQUFNO1lBQ04seUJBQXlCO1lBQ3pCLGlCQUFpQjtTQUNsQixFQUNELEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUNuQyxDQUFDO0lBQ0osQ0FBQztJQUVELGtCQUFrQixDQUFDLEVBQVU7UUFDM0IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FDbkIsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsMkJBQTJCLEVBQUUsRUFBRSxDQUN6RCxDQUFDO0lBQ0osQ0FBQztJQUVELFFBQVEsQ0FBQyxJQUFvQjtRQUMzQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUNwQixHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxrQkFBa0IsRUFDM0MsSUFBSSxFQUNKLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUNuQyxDQUFDO0lBQ0osQ0FBQztJQUVELFlBQVksQ0FBQyxFQUFVO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsU0FBUyxFQUFFLFdBQVcsRUFBRTtZQUNyRSxPQUFPLEVBQUUsVUFBVTtZQUNuQixZQUFZLEVBQUUsTUFBTTtTQUNyQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sY0FBYztRQUNwQixPQUFPLElBQUksV0FBVyxDQUFDO1lBQ3JCLGlCQUFpQixFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVztTQUMvQyxDQUFDLENBQUM7SUFDTCxDQUFDOytHQTdFVSxXQUFXO21IQUFYLFdBQVcsY0FGVixNQUFNOzs0RkFFUCxXQUFXO2tCQUh2QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCYXNlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2Jhc2Utc2VydmljZS9iYXNlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycywgSHR0cFJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IE1pY3JvTGVhcm5pbmdDb25maWd1cmF0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcclxuaW1wb3J0IHtcclxuICBDcmVhdGVRdWl6LFxyXG4gIFF1ZXN0aW9uU2V0LFxyXG4gIFF1ZXN0aW9uU2V0U3BlY2lmaWNhdGlvbixcclxuICBRdWl6LFxyXG4gIFF1aXpTdWJtaXNzaW9uLFxyXG4gIFF1aXpVcGRhdGUsXHJcbn0gZnJvbSAnLi4vbW9kZWxzJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFF1aXpTZXJ2aWNlIGV4dGVuZHMgQmFzZVNlcnZpY2U8TWljcm9MZWFybmluZ0NvbmZpZ3VyYXRpb24+IHtcclxuICByZWFkb25seSAjaHR0cCA9IGluamVjdChIdHRwQ2xpZW50KTtcclxuICByZWFkb25seSAjdHJhbnNsYXRlID0gaW5qZWN0KFRyYW5zbGF0ZVNlcnZpY2UpO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHN1cGVyKChjb25maWcpID0+IGNvbmZpZy5taWNyb0xlYXJuaW5nU2VydmljZSk7XHJcbiAgfVxyXG5cclxuICBnZXRBbGxUZXN0c0J5VG9waWMoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8UXVpeltdPiB7XHJcbiAgICByZXR1cm4gdGhpcy4jaHR0cC5nZXQ8UXVpeltdPihcclxuICAgICAgYCR7dGhpcy5jb25maWd1cmF0aW9uLnVybH0vcXVpej90b3BpY0lkPSR7aWR9YFxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGRlbGV0ZVRlc3QoaWQ6IG51bWJlcik6IE9ic2VydmFibGU8dm9pZD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuI2h0dHAuZGVsZXRlPHZvaWQ+KGAke3RoaXMuY29uZmlndXJhdGlvbi51cmx9L3F1aXovJHtpZH1gKTtcclxuICB9XHJcblxyXG4gIGFkZFF1aXoocXVpejogQ3JlYXRlUXVpeik6IE9ic2VydmFibGU8UXVpej4ge1xyXG4gICAgcmV0dXJuIHRoaXMuI2h0dHAucG9zdDxRdWl6PihcclxuICAgICAgYCR7dGhpcy5jb25maWd1cmF0aW9uLnVybH0vcXVpemAsXHJcbiAgICAgIHF1aXosXHJcbiAgICAgIHsgaGVhZGVyczogdGhpcy5nZXRMYW5nSGVhZGVycygpIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBnZXRRdWl6KGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPFF1aXo+IHtcclxuICAgIHJldHVybiB0aGlzLiNodHRwLmdldDxRdWl6PihgJHt0aGlzLmNvbmZpZ3VyYXRpb24udXJsfS9xdWl6LyR7aWR9YCk7XHJcbiAgfVxyXG5cclxuICB1cGRhdGVRdWl6KGlkOiBudW1iZXIsIHF1aXo6IFF1aXpVcGRhdGUpOiBPYnNlcnZhYmxlPFF1aXo+IHtcclxuICAgIHJldHVybiB0aGlzLiNodHRwLnB1dDxRdWl6PihgJHt0aGlzLmNvbmZpZ3VyYXRpb24udXJsfS9xdWl6LyR7aWR9YCwgcXVpeiwge1xyXG4gICAgICBoZWFkZXJzOiB0aGlzLmdldExhbmdIZWFkZXJzKCksXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGdlbmVyYXRlUXVlc3Rpb24oXHJcbiAgICBxdWl6SWQ6IG51bWJlcixcclxuICAgIHF1ZXN0aW9uU2V0U3BlY2lmaWNhdGlvbnM6IFF1ZXN0aW9uU2V0U3BlY2lmaWNhdGlvbltdLFxyXG4gICAgZXhpc3RpbmdRdWVzdGlvbnM6IFF1ZXN0aW9uU2V0W11cclxuICApOiBPYnNlcnZhYmxlPFF1ZXN0aW9uU2V0W10+IHtcclxuICAgIHJldHVybiB0aGlzLiNodHRwLnBvc3Q8UXVlc3Rpb25TZXRbXT4oXHJcbiAgICAgIGAke3RoaXMuY29uZmlndXJhdGlvbi51cmx9L3F1aXovZ2VuZXJhdGUtcXVlc3Rpb25zYCxcclxuICAgICAge1xyXG4gICAgICAgIHF1aXpJZCxcclxuICAgICAgICBxdWVzdGlvblNldFNwZWNpZmljYXRpb25zLFxyXG4gICAgICAgIGV4aXN0aW5nUXVlc3Rpb25zLFxyXG4gICAgICB9LFxyXG4gICAgICB7IGhlYWRlcnM6IHRoaXMuZ2V0TGFuZ0hlYWRlcnMoKSB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZ2V0UXVpelN1Ym1pc3Npb25zKGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPFF1aXpTdWJtaXNzaW9uW10+IHtcclxuICAgIHJldHVybiB0aGlzLiNodHRwLmdldDxRdWl6U3VibWlzc2lvbltdPihcclxuICAgICAgYCR7dGhpcy5jb25maWd1cmF0aW9uLnVybH0vcXVpei1zdWJtaXNzaW9uP3F1aXpJZD0ke2lkfWBcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBzZW5kUXVpeihxdWl6OiBRdWl6U3VibWlzc2lvbik6IE9ic2VydmFibGU8UXVpelN1Ym1pc3Npb24+IHtcclxuICAgIHJldHVybiB0aGlzLiNodHRwLnBvc3Q8UXVpelN1Ym1pc3Npb24+KFxyXG4gICAgICBgJHt0aGlzLmNvbmZpZ3VyYXRpb24udXJsfS9xdWl6LXN1Ym1pc3Npb25gLFxyXG4gICAgICBxdWl6LFxyXG4gICAgICB7IGhlYWRlcnM6IHRoaXMuZ2V0TGFuZ0hlYWRlcnMoKSB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZG93bmxvYWRRdWl6KGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxCbG9iPj4ge1xyXG4gICAgcmV0dXJuIHRoaXMuI2h0dHAuZ2V0KGAke3RoaXMuY29uZmlndXJhdGlvbi51cmx9L3F1aXovJHtpZH0vZG93bmxvYWRgLCB7XHJcbiAgICAgIG9ic2VydmU6ICdyZXNwb25zZScsXHJcbiAgICAgIHJlc3BvbnNlVHlwZTogJ2Jsb2InLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldExhbmdIZWFkZXJzKCk6IEh0dHBIZWFkZXJzIHtcclxuICAgIHJldHVybiBuZXcgSHR0cEhlYWRlcnMoe1xyXG4gICAgICAnQWNjZXB0LUxhbmd1YWdlJzogdGhpcy4jdHJhbnNsYXRlLmN1cnJlbnRMYW5nLFxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2ZmbGluZS1ldmVudC1yZXBocmFzZS1yZXF1ZXN0LXBhcmFtcy5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zZXJ2aWNlcy9zcmMvbGliL3NwZWVjaC9vZmZsaW5lLWV2ZW50cy9tb2RlbHMvb2ZmbGluZS1ldmVudC1yZXBocmFzZS1yZXF1ZXN0LXBhcmFtcy5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTExNVXNlQ2FzZSB9IGZyb20gXCIuLi8uLi8uLi9sbG0tc2VydmljZVwiO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBPZmZsaW5lRXZlbnRSZXBocmFzZVJlcXVlc3RQYXJhbXMge1xyXG4gIHVzZUNhc2U/OiBMTE1Vc2VDYXNlO1xyXG4gIGRpYXJpemF0aW9uPzogYm9vbGVhbjtcclxufVxyXG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2ZmbGluZS1ldmVudC1yZXBocmFzZS1yZXF1ZXN0LXBhcmFtcy5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zZXJ2aWNlcy9zcmMvbGliL3NwZWVjaC9vZmZsaW5lLWV2ZW50cy9tb2RlbHMvb2ZmbGluZS1ldmVudC1yZXBocmFzZS1yZXF1ZXN0LXBhcmFtcy5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTExNVXNlQ2FzZSwgTExNV3JpdGluZ1N0eWxlIH0gZnJvbSBcIi4uLy4uLy4uL2xsbS1zZXJ2aWNlXCI7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIE9mZmxpbmVFdmVudFJlcGhyYXNlUmVxdWVzdFBhcmFtcyB7XHJcbiAgdXNlQ2FzZT86IExMTVVzZUNhc2U7XHJcbiAgZGlhcml6YXRpb24/OiBib29sZWFuO1xyXG4gIHdyaXRpbmdTdHlsZT86IExMTVdyaXRpbmdTdHlsZTtcclxufVxyXG4iXX0=
@@ -1,7 +1,8 @@
1
- import { HttpClient } from '@angular/common/http';
1
+ import { HttpClient, HttpHeaders } from '@angular/common/http';
2
2
  import * as i0 from '@angular/core';
3
3
  import { InjectionToken, inject, Injectable } from '@angular/core';
4
4
  import { map } from 'rxjs';
5
+ import { TranslateService } from '@ngx-translate/core';
5
6
 
6
7
  const SERVICE_CONFIGURATION_TOKEN = new InjectionToken("ngx-tld-services Api service configuration.");
7
8
 
@@ -421,6 +422,7 @@ var AnswerType;
421
422
 
422
423
  class QuizService extends BaseService {
423
424
  #http = inject(HttpClient);
425
+ #translate = inject(TranslateService);
424
426
  constructor() {
425
427
  super((config) => config.microLearningService);
426
428
  }
@@ -431,31 +433,38 @@ class QuizService extends BaseService {
431
433
  return this.#http.delete(`${this.configuration.url}/quiz/${id}`);
432
434
  }
433
435
  addQuiz(quiz) {
434
- return this.#http.post(`${this.configuration.url}/quiz`, quiz);
436
+ return this.#http.post(`${this.configuration.url}/quiz`, quiz, { headers: this.getLangHeaders() });
435
437
  }
436
438
  getQuiz(id) {
437
439
  return this.#http.get(`${this.configuration.url}/quiz/${id}`);
438
440
  }
439
441
  updateQuiz(id, quiz) {
440
- return this.#http.put(`${this.configuration.url}/quiz/${id}`, quiz);
442
+ return this.#http.put(`${this.configuration.url}/quiz/${id}`, quiz, {
443
+ headers: this.getLangHeaders(),
444
+ });
441
445
  }
442
446
  generateQuestion(quizId, questionSetSpecifications, existingQuestions) {
443
447
  return this.#http.post(`${this.configuration.url}/quiz/generate-questions`, {
444
448
  quizId,
445
449
  questionSetSpecifications,
446
450
  existingQuestions,
447
- });
451
+ }, { headers: this.getLangHeaders() });
448
452
  }
449
453
  getQuizSubmissions(id) {
450
454
  return this.#http.get(`${this.configuration.url}/quiz-submission?quizId=${id}`);
451
455
  }
452
456
  sendQuiz(quiz) {
453
- return this.#http.post(`${this.configuration.url}/quiz-submission`, quiz);
457
+ return this.#http.post(`${this.configuration.url}/quiz-submission`, quiz, { headers: this.getLangHeaders() });
454
458
  }
455
459
  downloadQuiz(id) {
456
460
  return this.#http.get(`${this.configuration.url}/quiz/${id}/download`, {
457
461
  observe: 'response',
458
- responseType: 'blob'
462
+ responseType: 'blob',
463
+ });
464
+ }
465
+ getLangHeaders() {
466
+ return new HttpHeaders({
467
+ 'Accept-Language': this.#translate.currentLang,
459
468
  });
460
469
  }
461
470
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: QuizService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
@@ -1 +1 @@
1
- {"version":3,"file":"tilde-nlp-ngx-services.mjs","sources":["../../../projects/ngx-services/src/lib/tokens/service-configuration.token.ts","../../../projects/ngx-services/src/lib/base-service/base.service.ts","../../../projects/ngx-services/src/lib/mt-proxy/mt-proxy.service.ts","../../../projects/ngx-services/src/lib/llm-service/models/llm-writing-style.enum.ts","../../../projects/ngx-services/src/lib/llm-service/models/llm-use-case.enum.ts","../../../projects/ngx-services/src/lib/llm-service/models/language-assistant-message-type.enum.ts","../../../projects/ngx-services/src/lib/helpers/custom-headers.helper.ts","../../../projects/ngx-services/src/lib/llm-service/llm.service.ts","../../../projects/ngx-services/src/lib/quota-service/models/quota-type.enum.ts","../../../projects/ngx-services/src/lib/quota-service/quota.service.ts","../../../projects/ngx-services/src/lib/anonymisation/anonymisation.service.ts","../../../projects/ngx-services/src/lib/speech/offline-events/enums/file-extension.enum.ts","../../../projects/ngx-services/src/lib/speech/offline-events/offline-events.service.ts","../../../projects/ngx-services/src/lib/speech/offline-events/models/offline-event-status.enum.ts","../../../projects/ngx-services/src/lib/speech/offline-events/models/offline-event-substatus.enum.ts","../../../projects/ngx-services/src/lib/speech/offline-events/models/offline-event-transcript/enums/section-type.enum.ts","../../../projects/ngx-services/src/lib/speech/resource/models/resource-type.enum.ts","../../../projects/ngx-services/src/lib/speech/resource/resource.service.ts","../../../projects/ngx-services/src/lib/speech/text-to-speech/models/tts-format.enum.ts","../../../projects/ngx-services/src/lib/speech/text-to-speech/text-to-speech.service.ts","../../../projects/ngx-services/src/lib/micro-learning/quiz/models/answer-type.enum.ts","../../../projects/ngx-services/src/lib/micro-learning/quiz/services/quiz.service.ts","../../../projects/ngx-services/src/lib/micro-learning/topic/services/topic.service.ts","../../../projects/ngx-services/src/lib/micro-learning/document/services/document.service.ts","../../../projects/ngx-services/src/lib/micro-learning/share/models/share-subject-type.enum.ts","../../../projects/ngx-services/src/lib/micro-learning/share/services/share.service.ts","../../../projects/ngx-services/src/lib/micro-learning/statistics/services/statistics.service.ts","../../../projects/ngx-services/src/public-api.ts","../../../projects/ngx-services/src/tilde-nlp-ngx-services.ts"],"sourcesContent":["import { InjectionToken } from \"@angular/core\";\r\nimport { ServiceConfiguration } from \"../configuration/service-configuration.model\";\r\n\r\nexport const SERVICE_CONFIGURATION_TOKEN = new InjectionToken<ServiceConfiguration>(\"ngx-tld-services Api service configuration.\");\r\n","import { inject } from \"@angular/core\";\r\nimport { SERVICE_CONFIGURATION_TOKEN } from \"../tokens/service-configuration.token\";\r\nimport { ServiceConfiguration } from \"../configuration/service-configuration.model\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { SharedServiceConfiguration } from \"../configuration/shared-service-configuration.model\";\r\n\r\nexport abstract class BaseService<ConfigType> {\r\n readonly configuration: ConfigType;\r\n readonly sharedServiceConfiguration: SharedServiceConfiguration;\r\n\r\n readonly http: HttpClient = inject(HttpClient);\r\n\r\n readonly #allServiceConfiguration = inject(SERVICE_CONFIGURATION_TOKEN);\r\n\r\n constructor(getConfig: (allServiceConfiguration: ServiceConfiguration) => ConfigType | undefined) {\r\n const serviceConfig = getConfig(this.#allServiceConfiguration);\r\n\r\n if (!serviceConfig) {\r\n throw new Error(`${Object.getPrototypeOf(this).constructor.name} is created, but no service configuration defined in 'SERVICE_CONFIGURATION_TOKEN'. Config: ${JSON.stringify(this.#allServiceConfiguration)}`);\r\n }\r\n this.configuration = serviceConfig;\r\n this.sharedServiceConfiguration = this.#allServiceConfiguration.sharedConfiguration;\r\n }\r\n\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable, inject } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { LanguageDirectionResponse } from './models/language-direction-response.model';\r\nimport { MtProxyConfiguration } from './models/mt-proxy-configuration.model';\r\nimport { TextTranslationRequest } from './models/text-translation-request.model';\r\nimport { TextTranslationResponse } from './models/text-translation-response.model';\r\nimport { BaseService } from '../base-service/base.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class MtProxyService extends BaseService<MtProxyConfiguration> {\r\n\r\n readonly #httpClient = inject(HttpClient);\r\n\r\n get #baseUrl() {\r\n return `${this.configuration.url}/translate`\r\n }\r\n\r\n constructor() {\r\n super(config => config.mtProxyService);\r\n }\r\n\r\n /**\r\n *\r\n * @returns available language directions.\r\n */\r\n getLanguageDirections(): Observable<LanguageDirectionResponse> {\r\n return this.#httpClient.get<LanguageDirectionResponse>(`${this.#baseUrl}/language-directions`);\r\n }\r\n\r\n translateText(request: TextTranslationRequest): Observable<TextTranslationResponse> {\r\n return this.#httpClient.post<TextTranslationResponse>(`${this.#baseUrl}/text`, request);\r\n }\r\n}\r\n","export enum LLMWritingStyle {\r\n GENERAL = 'General',\r\n PROFESSIONAL = 'Professional',\r\n ACADEMIC = 'Academic'\r\n}","export enum LLMUseCase {\r\n Event = \"event\",\r\n General = \"general\",\r\n Meeting = \"meeting\",\r\n Brief = \"brief\"\r\n}\r\n","export enum LanguageAssistantMessageType {\r\n User = \"user\",\r\n Assistant = \"assistant\",\r\n System = \"system\"\r\n}\r\n","export class CustomHeadersHelper {\r\n static xAppIdHeader(appId: string) {\r\n return { \"X-App-Id\": appId };\r\n }\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { inject, Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { BaseService } from \"../base-service/base.service\";\r\nimport { CustomHeadersHelper } from \"../helpers/custom-headers.helper\";\r\nimport { LLMRephraseRequest } from \"./models/llm-rephrase-request.model\";\r\nimport { LLMServiceConfiguration } from \"./models/llm-service-configuration.model\";\r\nimport { LLMSummarizeRequest } from \"./models/llm-summarize-request.model\";\r\nimport { LLMCustomPromptRequest } from \"./models/llm-custom-prompt-request.model\";\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LLMService extends BaseService<LLMServiceConfiguration> {\r\n readonly #http = inject(HttpClient);\r\n\r\n constructor() {\r\n super(config => config.llmService);\r\n }\r\n\r\n rephrase(request: LLMRephraseRequest): Observable<string> {\r\n const headers = CustomHeadersHelper.xAppIdHeader(this.sharedServiceConfiguration.xAppId);\r\n return this.#http.post(`${this.configuration.url}/rewrite`, request, { responseType: \"text\", headers })\r\n\r\n }\r\n\r\n summarize(request: LLMSummarizeRequest): Observable<string> {\r\n const headers = CustomHeadersHelper.xAppIdHeader(this.sharedServiceConfiguration.xAppId);\r\n return this.#http.post(`${this.configuration.url}/summarize/`, request, { responseType: \"text\", headers })\r\n }\r\n\r\n customPrompt(request: LLMCustomPromptRequest) {\r\n const headers = CustomHeadersHelper.xAppIdHeader(this.sharedServiceConfiguration.xAppId);\r\n return this.#http.post(`${this.configuration.url}/custom-prompt/`, request, { responseType: \"text\", headers })\r\n }\r\n}\r\n","export enum QuotaType {\r\n TRANSLATION_FILES = \"FileTranslationFiles\",\r\n ASR_FILE_LENGTH_SECONDS = \"AsrFileLengthSeconds\",\r\n ASR_FILE_SIZE_KB = \"AsrFileSizeKb\",\r\n ONLINE_ASR_USED_SECONDS = \"OnlineAsrUsedSeconds\",\r\n TRANSLATION_CHARACTERS = \"TranslationCharacters\",\r\n TRANSLATION_DOCUMENTS = \"TranslationDocuments\",\r\n LLM_CHARACTER_COUNT = \"LlmCharacterCount\",\r\n LLM_REQUESTS = \"LlmRequests\",\r\n TTS_CHARACTERS = \"TtsCharacters\",\r\n ANONYMISE_WORDS = \"AnonymiseWords\",\r\n ANONYMISE_DOCUMENTS = \"AnonymiseDocuments\",\r\n // Legacy enum values. Converted in quota service\r\n LEGACY_TRANSLATION_FILES = 0,\r\n LEGACY_ASR_FILE_LENGTH_SECONDS = 1,\r\n LEGACY_ASR_FILE_SIZE_KB = 2,\r\n LEGACY_ONLINE_ASR_USED_SECONDS = 3,\r\n LEGACY_TRANSLATION_CHARACTERS = 4,\r\n LEGACY_TRANSLATION_DOCUMENTS = 5,\r\n LEGACY_LLM_CHARACTER_COUNT = 6,\r\n LEGACY_LLM_REQUESTS = 7,\r\n LEGACY_TTS_CHARACTERS = 8,\r\n LEGACY_ANONYMISE_WORDS = 9,\r\n LEGACY_ANONYMISE_DOCUMENTS = 10,\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { map, Observable } from \"rxjs\";\r\nimport { BaseService } from \"../base-service/base.service\";\r\nimport { CustomHeadersHelper } from \"../helpers/custom-headers.helper\";\r\nimport { QuotaServiceConfiguration } from \"./models/quota-service-configuration.model\";\r\nimport { QuotaResponse } from \"./models/quota-response.model\";\r\nimport { QuotaType } from \"./models/quota-type.enum\";\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class QuotaService extends BaseService<QuotaServiceConfiguration> {\r\n\r\n readonly legacyQuotaTypeMap: {[type: number]: QuotaType} = {\r\n [QuotaType.LEGACY_TRANSLATION_FILES]: QuotaType.TRANSLATION_FILES,\r\n [QuotaType.LEGACY_ASR_FILE_LENGTH_SECONDS]: QuotaType.ASR_FILE_LENGTH_SECONDS,\r\n [QuotaType.LEGACY_ASR_FILE_SIZE_KB]: QuotaType.ASR_FILE_SIZE_KB,\r\n [QuotaType.LEGACY_ONLINE_ASR_USED_SECONDS]: QuotaType.ONLINE_ASR_USED_SECONDS,\r\n [QuotaType.LEGACY_TRANSLATION_CHARACTERS]: QuotaType.TRANSLATION_CHARACTERS,\r\n [QuotaType.LEGACY_TRANSLATION_DOCUMENTS]: QuotaType.TRANSLATION_DOCUMENTS,\r\n [QuotaType.LEGACY_LLM_CHARACTER_COUNT]: QuotaType.LLM_CHARACTER_COUNT,\r\n [QuotaType.LEGACY_LLM_REQUESTS]: QuotaType.LLM_REQUESTS,\r\n [QuotaType.LEGACY_TTS_CHARACTERS]: QuotaType.TTS_CHARACTERS,\r\n [QuotaType.LEGACY_ANONYMISE_WORDS]: QuotaType.ANONYMISE_WORDS,\r\n [QuotaType.LEGACY_ANONYMISE_DOCUMENTS]: QuotaType.ANONYMISE_DOCUMENTS,\r\n }\r\n constructor() {\r\n super(config => config.quotaService);\r\n }\r\n\r\n getQuotaUsage(): Observable<QuotaResponse> {\r\n const headers = CustomHeadersHelper.xAppIdHeader(this.sharedServiceConfiguration.xAppId);\r\n return this.http.get<QuotaResponse>(this.configuration.url, { headers })\r\n .pipe(\r\n map(response=> {\r\n response.usage.forEach(quota => {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n if(this.legacyQuotaTypeMap[quota.quotaType as any]){\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n quota.quotaType = this.legacyQuotaTypeMap[quota.quotaType as any];\r\n }\r\n });\r\n return response;\r\n })\r\n );\r\n }\r\n}\r\n","import { HttpClient, HttpEvent } from '@angular/common/http';\r\nimport { inject, Injectable } from '@angular/core';\r\nimport { BaseService } from '../base-service/base.service';\r\nimport { AnonymisationServiceConfiguration } from './models/anonymisation-configuration.model';\r\nimport { Observable } from 'rxjs';\r\nimport { Document } from './models/document.model';\r\nimport { DocumentJson, UploadDocument } from './models';\r\nimport { ClassCategory } from './models/class-category.model';\r\nimport { ClassCategories } from './models/class-categories.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AnonymisationService extends BaseService<AnonymisationServiceConfiguration> {\r\n readonly #http = inject(HttpClient);\r\n\r\n constructor() {\r\n super(config => config.anonymisationsService);\r\n }\r\n\r\n getSettings(): Observable<ClassCategories> {\r\n return this.#http.get<ClassCategories>(`${this.configuration.url}/anonymisation/settings`);\r\n }\r\n\r\n setSettings(settings: ClassCategory[]): Observable<ClassCategories> {\r\n return this.#http.put<ClassCategories>(`${this.configuration.url}/anonymisation/settings`, { classCategories: settings });\r\n }\r\n\r\n getDocumentJson(id: string): Observable<DocumentJson> {\r\n return this.#http.get<DocumentJson>(`${this.configuration.url}/anonymisation/document/${id}/json`);\r\n }\r\n\r\n saveDocumentJson(document: DocumentJson): Observable<DocumentJson> {\r\n return this.#http.put<DocumentJson>(`${this.configuration.url}/anonymisation/document/${document.id}/json`, document);\r\n }\r\n\r\n getDocumentById(id: string): Observable<Document> {\r\n return this.#http.get<Document>(`${this.configuration.url}/anonymisation/document/${id}`);\r\n }\r\n\r\n getDocumentList(): Observable<Document[]> {\r\n return this.#http.get<Document[]>(`${this.configuration.url}/anonymisation/document/list`);\r\n }\r\n \r\n updateDocument(id: string, document: Document): Observable<Document> {\r\n return this.#http.put<Document>(`${this.configuration.url}/anonymisation/document/${id}`, document);\r\n }\r\n\r\n downloadDocument(id: string): Observable<Blob> {\r\n return this.#http.get(`${this.configuration.url}/anonymisation/document/${id}/file`, { responseType: 'blob' });\r\n }\r\n\r\n deleteDocument(id: string): Observable<void> {\r\n return this.#http.delete<void>(`${this.configuration.url}/anonymisation/document/${id}`);\r\n }\r\n\r\n uploadDocument(body: UploadDocument): Observable<HttpEvent<Document>> {\r\n const formData = new FormData;\r\n formData.append('Title', body.title);\r\n formData.append('Language', body.language);\r\n formData.append('File', body.file);\r\n formData.append('ClassCategories', JSON.stringify(body.classCategories));\r\n\r\n return this.#http.post<Document>(`${this.configuration.url}/anonymisation/document`, formData, { reportProgress: true, observe: \"events\" });\r\n }\r\n}\r\n","export enum FILE_EXTENSION{\r\n MP3 = 'mp3',\r\n JSON = 'json',\r\n TXT = 'txt',\r\n DOCM = 'docm',\r\n SRT = 'srt',\r\n VTT = 'vtt',\r\n WEBM = \"webm\"\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { map, Observable } from \"rxjs\";\r\nimport { BaseService } from \"../../base-service/base.service\";\r\nimport { SpeechApiConfiguration } from \"../models/speech-api-configuration.model\";\r\nimport { FILE_EXTENSION } from \"./enums\";\r\nimport { OfflineEvent, OfflineEventRephraseRequestParams, OfflineEventTranscript } from \"./models\";\r\nimport { OfflineEventSummaryRequestParams } from \"./models/offline-event-summary-request-params.model\";\r\nimport { PostOfflineEventRequest } from \"./models/post-offline-event-request.model\";\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class OfflineEventsService extends BaseService<SpeechApiConfiguration> {\r\n\r\n get baseUrl() { return `${this.configuration.url}/event`; }\r\n\r\n constructor() {\r\n super(config => config.speechApi);\r\n }\r\n\r\n get(id: string) {\r\n return this.http.get<OfflineEvent>(`${this.baseUrl}/${id}`)\r\n .pipe(\r\n map(item => this.#mapEvent(item))\r\n );\r\n }\r\n\r\n post(request: PostOfflineEventRequest) {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const params: any = request.queryParams;\r\n\r\n const formData = new FormData();\r\n formData.append(\"audio\", request.audio, request.fileName);\r\n if (request.metadata) {\r\n formData.append(\"metadata\", request.metadata);\r\n }\r\n\r\n return this.http.post<OfflineEvent>(this.baseUrl, formData, { params, reportProgress: true, observe: \"events\" });\r\n }\r\n\r\n delete(id: string) {\r\n return this.http.delete<string>(`${this.baseUrl}/${id}`);\r\n }\r\n\r\n getList() {\r\n return this.http.get<OfflineEvent[]>(`${this.baseUrl}/list`)\r\n .pipe(\r\n map((items) => {\r\n return items.map(item => this.#mapEvent(item));\r\n })\r\n );\r\n }\r\n\r\n retranscribe(id: string) {\r\n return this.http.post<OfflineEvent>(`${this.baseUrl}/${id}/retry`, {});\r\n }\r\n\r\n getFile(id: string, extension: FILE_EXTENSION, edited = false, diarization = false) {\r\n return this.#getFile(id, extension, edited, diarization);\r\n }\r\n\r\n getFileAsBlob(id: string, extension: FILE_EXTENSION, edited = false, diarization = false) {\r\n const requestOptions = {\r\n responseType: 'blob'\r\n };\r\n\r\n return this.#getFile(id, extension, edited, diarization, requestOptions);\r\n }\r\n\r\n updateTranscript(transcript: OfflineEventTranscript, reindex = false) {\r\n return this.http.put(`${this.baseUrl}/${transcript.id}`, transcript, { params: { reindex } });\r\n }\r\n\r\n /**\r\n * Get the transcript of the event and return it as json object.\r\n */\r\n getTranscript(id: string, edited = true) {\r\n return this.getFile(id, FILE_EXTENSION.JSON, edited, false) as Observable<OfflineEventTranscript>;\r\n }\r\n\r\n /**\r\n * Retrieves event summary for given usecase\r\n */\r\n summarize(id: string, params?: OfflineEventSummaryRequestParams): Observable<string> {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n return this.http.get(`${this.baseUrl}/${id}/summary`, { responseType: \"text\", params: params as any ?? {} });\r\n }\r\n\r\n\r\n /**\r\n * Rephrases event and returns its transcript\r\n */\r\n rephrase(id: string, params?: OfflineEventRephraseRequestParams): Observable<string> {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n return this.http.get(`${this.baseUrl}/${id}/rephrase`, { params: params as any ?? {}, responseType: \"text\" });\r\n }\r\n\r\n #getFile(id: string, extension: FILE_EXTENSION, edited = false, diarization = true, requestOptions = {}) {\r\n return this.http.get(`${this.baseUrl}/${id}/${extension}`, { params: { edited, diarization }, ...requestOptions });\r\n }\r\n\r\n /// <summary>\r\n /// Maps event properties to correct types\r\n /// </summary>\r\n #mapEvent(item: OfflineEvent): OfflineEvent {\r\n item.dateCreated = this.#utcStringToDate(item.dateCreated.toString());\r\n item.dateModified = this.#utcStringToDate(item.dateModified.toString());\r\n\r\n if (item.metadata?.startDate) {\r\n item.metadata.startDate = new Date(item.metadata.startDate.toString());\r\n }\r\n return item;\r\n }\r\n\r\n\r\n\r\n #utcStringToDate(dateString: string): Date {\r\n const utcLastSymbol = \"Z\";\r\n if (!dateString.endsWith(utcLastSymbol)) {\r\n dateString += utcLastSymbol;\r\n }\r\n return new Date(dateString);\r\n }\r\n\r\n}\r\n","export enum OfflineEventStatus{\r\n QUEUING = \"Queuing\",\r\n PROCESSING = \"Processing\",\r\n ERROR = \"Error\",\r\n FINISHED = \"Finished\",\r\n NEW = \"New\",\r\n PARTIALLY_COMPLETED = \"PartiallyCompleted\"\r\n}\r\n","export enum OfflineEventSubstatus {\r\n UNSPECIFIED = \"Unspecified\",\r\n SEARCH_FAILED = \"SearchFailed\",\r\n CATEGORIZATION_FAILED = \"CategorizationFailed\",\r\n NO_SPEECH = \"NoSpeech\"\r\n}\r\n","export enum SectionType {\r\n MUSIC = \"Music\",\r\n SPEECH = \"Speech\"\r\n}\r\n","export enum ResourceType {\r\n OFFLINE = \"Offline\",\r\n ONLINE = \"Online\",\r\n TTS = \"Tts\",\r\n ALL = \"All\"\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { BaseService } from \"../../base-service/base.service\";\r\nimport { SpeechApiConfiguration } from \"../models/speech-api-configuration.model\";\r\nimport { ResourceType } from \"./models/resource-type.enum\";\r\nimport { Resource } from \"./models/resource.model\";\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n//**\r\n// Speech api system service. Returns resources defined in resource service.\r\n// */\r\nexport class ResourceService extends BaseService<SpeechApiConfiguration> {\r\n\r\n get baseUrl() { return `${this.configuration.url}/systems`; }\r\n\r\n constructor() {\r\n super(config => config.speechApi);\r\n }\r\n\r\n /**\r\n * Get resources filtered by type.\r\n * @param type System type to filter by. By default returns all resource types.\r\n */\r\n get(type: ResourceType = ResourceType.ALL) {\r\n return this.http.get<Resource[]>(this.baseUrl, {\r\n params: {\r\n systemType: type\r\n }\r\n });\r\n }\r\n\r\n}\r\n","export enum TTSFormat{\r\n PCM = \"pcm\",\r\n MP3 = \"mp3\",\r\n PCM_8KHZ = \"pcm_8khz\"\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { BaseService } from \"../../base-service/base.service\";\r\nimport { TextToSpeechApiConfiguration } from \"../models/text-to-speech-api-configuration.model\";\r\nimport { TTSRequest } from \"./models/tts-request.model\";\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TextToSpeechService extends BaseService<TextToSpeechApiConfiguration> {\r\n\r\n get baseUrl() { return `${this.configuration.url}`; }\r\n\r\n constructor() {\r\n super(config => config.textToSpeech);\r\n }\r\n\r\n generateSpeech(request: TTSRequest) {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n return this.http.get(`${this.baseUrl}`, { params: request as any, responseType: 'blob' });\r\n }\r\n}\r\n","export enum AnswerType {\r\n YES_NO = 'YesNo',\r\n MULTI_CHOICE = 'MultiChoice',\r\n TEXT = 'Text',\r\n}\r\n","import { inject, Injectable } from '@angular/core';\r\nimport { BaseService } from '../../../base-service/base.service';\r\nimport { HttpClient, HttpResponse } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { MicroLearningConfiguration } from '../../models';\r\nimport {\r\n CreateQuiz,\r\n QuestionSet,\r\n QuestionSetSpecification,\r\n Quiz,\r\n QuizSubmission,\r\n QuizUpdate,\r\n} from '../models';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class QuizService extends BaseService<MicroLearningConfiguration> {\r\n readonly #http = inject(HttpClient);\r\n\r\n constructor() {\r\n super((config) => config.microLearningService);\r\n }\r\n\r\n getAllTestsByTopic(id: string): Observable<Quiz[]> {\r\n return this.#http.get<Quiz[]>(\r\n `${this.configuration.url}/quiz?topicId=${id}`\r\n );\r\n }\r\n\r\n deleteTest(id: number): Observable<void> {\r\n return this.#http.delete<void>(`${this.configuration.url}/quiz/${id}`);\r\n }\r\n\r\n addQuiz(quiz: CreateQuiz): Observable<Quiz> {\r\n return this.#http.post<Quiz>(`${this.configuration.url}/quiz`, quiz);\r\n }\r\n\r\n getQuiz(id: number): Observable<Quiz> {\r\n return this.#http.get<Quiz>(`${this.configuration.url}/quiz/${id}`);\r\n }\r\n\r\n updateQuiz(id: number, quiz: QuizUpdate): Observable<Quiz> {\r\n return this.#http.put<Quiz>(`${this.configuration.url}/quiz/${id}`, quiz);\r\n }\r\n\r\n generateQuestion(\r\n quizId: number,\r\n questionSetSpecifications: QuestionSetSpecification[],\r\n existingQuestions: QuestionSet[]\r\n ): Observable<QuestionSet[]> {\r\n return this.#http.post<QuestionSet[]>(\r\n `${this.configuration.url}/quiz/generate-questions`,\r\n {\r\n quizId,\r\n questionSetSpecifications,\r\n existingQuestions,\r\n }\r\n );\r\n }\r\n\r\n getQuizSubmissions(id: number): Observable<QuizSubmission[]> {\r\n return this.#http.get<QuizSubmission[]>(\r\n `${this.configuration.url}/quiz-submission?quizId=${id}`\r\n );\r\n }\r\n\r\n sendQuiz(quiz: QuizSubmission): Observable<QuizSubmission> {\r\n return this.#http.post<QuizSubmission>(\r\n `${this.configuration.url}/quiz-submission`,\r\n quiz\r\n );\r\n }\r\n\r\n downloadQuiz(id: number): Observable<HttpResponse<Blob>> {\r\n return this.#http.get(`${this.configuration.url}/quiz/${id}/download`, {\r\n observe: 'response',\r\n responseType: 'blob'\r\n });\r\n }\r\n}\r\n","import { inject, Injectable } from '@angular/core';\r\nimport { BaseService } from '../../../base-service/base.service';\r\nimport { MicroLearningConfiguration } from '../../models';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { Topic, TopicUpdate } from '../models';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TopicService extends BaseService<MicroLearningConfiguration> {\r\n readonly #http = inject(HttpClient);\r\n\r\n constructor() {\r\n super((config) => config.microLearningService);\r\n }\r\n\r\n getTopic(id: string): Observable<Topic> {\r\n return this.#http.get<Topic>(`${this.configuration.url}/topic/${id}`);\r\n }\r\n\r\n getAllTopics(): Observable<Topic[]> {\r\n return this.#http.get<Topic[]>(`${this.configuration.url}/topic`);\r\n }\r\n\r\n addDemoTopic(): Observable<void> {\r\n return this.#http.post<void>(`${this.configuration.url}/import`, null);\r\n }\r\n\r\n createTopic(topic: TopicUpdate): Observable<Topic> {\r\n return this.#http.post<Topic>(`${this.configuration.url}/topic`, topic);\r\n }\r\n\r\n updateTopic(topic: Topic): Observable<Topic> {\r\n return this.#http.put<Topic>(`${this.configuration.url}/topic/${topic.id}`, topic);\r\n }\r\n\r\n deleteTopic(id: string): Observable<Topic> {\r\n return this.#http.delete<Topic>(`${this.configuration.url}/topic/${id}`);\r\n }\r\n}\r\n","import { inject, Injectable } from '@angular/core';\r\nimport { BaseService } from '../../../base-service/base.service';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { MicroLearningConfiguration } from '../../models';\r\nimport { MicroLearningDocument } from '../models';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class DocumentService extends BaseService<MicroLearningConfiguration> {\r\n readonly #http = inject(HttpClient);\r\n\r\n constructor() {\r\n super((config) => config.microLearningService);\r\n }\r\n\r\n getTopicSources(id: string): Observable<MicroLearningDocument[]> {\r\n return this.#http.get<MicroLearningDocument[]>(\r\n `${this.configuration.url}/document/${id}`\r\n );\r\n }\r\n\r\n uploadDocumentFromUrl(\r\n id: string,\r\n url: string\r\n ): Observable<MicroLearningDocument> {\r\n const queryParam = `?FileUrl=${encodeURIComponent(url)}`;\r\n const fullUrl = `${this.configuration.url}/document/import/${id}${queryParam}`;\r\n return this.#http.post<MicroLearningDocument>(fullUrl, null);\r\n }\r\n\r\n uploadSourceDocument(\r\n id: string,\r\n file: File\r\n ): Observable<MicroLearningDocument> {\r\n const formData = new FormData();\r\n formData.append('File', file);\r\n\r\n return this.#http.post<MicroLearningDocument>(\r\n `${this.configuration.url}/document/import/${id}`,\r\n formData\r\n );\r\n }\r\n\r\n deleteSourceDocument(id: string): Observable<MicroLearningDocument> {\r\n return this.#http.delete<MicroLearningDocument>(\r\n `${this.configuration.url}/document/${id}`\r\n );\r\n }\r\n\r\n downloadDocument(id: string, extension: string): Observable<Blob> {\r\n return this.#http.get(\r\n `${this.configuration.url}/document/download/${id}/source${extension}`,\r\n {\r\n responseType: 'blob',\r\n }\r\n );\r\n }\r\n}\r\n","export enum ShareSubjectType {\r\n Quiz = 'Quiz',\r\n Documents = 'Documents',\r\n QuizAndDocuments = 'QuizAndDocuments',\r\n}\r\n","import { inject, Injectable } from '@angular/core';\r\nimport { BaseService } from '../../../base-service/base.service';\r\nimport { MicroLearningConfiguration } from '../../models';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { NewShare, SharedResource } from '../models';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ShareService extends BaseService<MicroLearningConfiguration> {\r\n readonly #http = inject(HttpClient);\r\n\r\n constructor() {\r\n super((config) => config.microLearningService);\r\n }\r\n\r\n shareResource(share: NewShare): Observable<SharedResource> {\r\n return this.#http.post<SharedResource>(\r\n `${this.configuration.url}/share`,\r\n share\r\n );\r\n }\r\n\r\n getSharedResource(id: string): Observable<SharedResource> {\r\n return this.#http.get<SharedResource>(\r\n `${this.configuration.url}/share/${id}`\r\n );\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { inject, Injectable } from '@angular/core';\r\nimport { MicroLearningConfiguration } from '../../models';\r\nimport { BaseService } from '../../../base-service/base.service';\r\nimport { Observable } from 'rxjs';\r\nimport { QuizStatisctics } from '../models/quiz-statistics.model';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class StatisticsService extends BaseService<MicroLearningConfiguration> {\r\n readonly #http = inject(HttpClient);\r\n\r\n constructor() {\r\n super((config) => config.microLearningService);\r\n }\r\n\r\n getStatistics(quizId: number): Observable<QuizStatisctics> {\r\n return this.#http.get<QuizStatisctics>(\r\n `${this.configuration.url}/statistics/${quizId}`\r\n );\r\n }\r\n}\r\n","/*\r\n * Public API Surface of ngx-services\r\n */\r\n\r\nexport * from './lib';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tilde-nlp-ngx-services.mjs","sources":["../../../projects/ngx-services/src/lib/tokens/service-configuration.token.ts","../../../projects/ngx-services/src/lib/base-service/base.service.ts","../../../projects/ngx-services/src/lib/mt-proxy/mt-proxy.service.ts","../../../projects/ngx-services/src/lib/llm-service/models/llm-writing-style.enum.ts","../../../projects/ngx-services/src/lib/llm-service/models/llm-use-case.enum.ts","../../../projects/ngx-services/src/lib/llm-service/models/language-assistant-message-type.enum.ts","../../../projects/ngx-services/src/lib/helpers/custom-headers.helper.ts","../../../projects/ngx-services/src/lib/llm-service/llm.service.ts","../../../projects/ngx-services/src/lib/quota-service/models/quota-type.enum.ts","../../../projects/ngx-services/src/lib/quota-service/quota.service.ts","../../../projects/ngx-services/src/lib/anonymisation/anonymisation.service.ts","../../../projects/ngx-services/src/lib/speech/offline-events/enums/file-extension.enum.ts","../../../projects/ngx-services/src/lib/speech/offline-events/offline-events.service.ts","../../../projects/ngx-services/src/lib/speech/offline-events/models/offline-event-status.enum.ts","../../../projects/ngx-services/src/lib/speech/offline-events/models/offline-event-substatus.enum.ts","../../../projects/ngx-services/src/lib/speech/offline-events/models/offline-event-transcript/enums/section-type.enum.ts","../../../projects/ngx-services/src/lib/speech/resource/models/resource-type.enum.ts","../../../projects/ngx-services/src/lib/speech/resource/resource.service.ts","../../../projects/ngx-services/src/lib/speech/text-to-speech/models/tts-format.enum.ts","../../../projects/ngx-services/src/lib/speech/text-to-speech/text-to-speech.service.ts","../../../projects/ngx-services/src/lib/micro-learning/quiz/models/answer-type.enum.ts","../../../projects/ngx-services/src/lib/micro-learning/quiz/services/quiz.service.ts","../../../projects/ngx-services/src/lib/micro-learning/topic/services/topic.service.ts","../../../projects/ngx-services/src/lib/micro-learning/document/services/document.service.ts","../../../projects/ngx-services/src/lib/micro-learning/share/models/share-subject-type.enum.ts","../../../projects/ngx-services/src/lib/micro-learning/share/services/share.service.ts","../../../projects/ngx-services/src/lib/micro-learning/statistics/services/statistics.service.ts","../../../projects/ngx-services/src/public-api.ts","../../../projects/ngx-services/src/tilde-nlp-ngx-services.ts"],"sourcesContent":["import { InjectionToken } from \"@angular/core\";\r\nimport { ServiceConfiguration } from \"../configuration/service-configuration.model\";\r\n\r\nexport const SERVICE_CONFIGURATION_TOKEN = new InjectionToken<ServiceConfiguration>(\"ngx-tld-services Api service configuration.\");\r\n","import { inject } from \"@angular/core\";\r\nimport { SERVICE_CONFIGURATION_TOKEN } from \"../tokens/service-configuration.token\";\r\nimport { ServiceConfiguration } from \"../configuration/service-configuration.model\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { SharedServiceConfiguration } from \"../configuration/shared-service-configuration.model\";\r\n\r\nexport abstract class BaseService<ConfigType> {\r\n readonly configuration: ConfigType;\r\n readonly sharedServiceConfiguration: SharedServiceConfiguration;\r\n\r\n readonly http: HttpClient = inject(HttpClient);\r\n\r\n readonly #allServiceConfiguration = inject(SERVICE_CONFIGURATION_TOKEN);\r\n\r\n constructor(getConfig: (allServiceConfiguration: ServiceConfiguration) => ConfigType | undefined) {\r\n const serviceConfig = getConfig(this.#allServiceConfiguration);\r\n\r\n if (!serviceConfig) {\r\n throw new Error(`${Object.getPrototypeOf(this).constructor.name} is created, but no service configuration defined in 'SERVICE_CONFIGURATION_TOKEN'. Config: ${JSON.stringify(this.#allServiceConfiguration)}`);\r\n }\r\n this.configuration = serviceConfig;\r\n this.sharedServiceConfiguration = this.#allServiceConfiguration.sharedConfiguration;\r\n }\r\n\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable, inject } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { LanguageDirectionResponse } from './models/language-direction-response.model';\r\nimport { MtProxyConfiguration } from './models/mt-proxy-configuration.model';\r\nimport { TextTranslationRequest } from './models/text-translation-request.model';\r\nimport { TextTranslationResponse } from './models/text-translation-response.model';\r\nimport { BaseService } from '../base-service/base.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class MtProxyService extends BaseService<MtProxyConfiguration> {\r\n\r\n readonly #httpClient = inject(HttpClient);\r\n\r\n get #baseUrl() {\r\n return `${this.configuration.url}/translate`\r\n }\r\n\r\n constructor() {\r\n super(config => config.mtProxyService);\r\n }\r\n\r\n /**\r\n *\r\n * @returns available language directions.\r\n */\r\n getLanguageDirections(): Observable<LanguageDirectionResponse> {\r\n return this.#httpClient.get<LanguageDirectionResponse>(`${this.#baseUrl}/language-directions`);\r\n }\r\n\r\n translateText(request: TextTranslationRequest): Observable<TextTranslationResponse> {\r\n return this.#httpClient.post<TextTranslationResponse>(`${this.#baseUrl}/text`, request);\r\n }\r\n}\r\n","export enum LLMWritingStyle {\r\n GENERAL = 'General',\r\n PROFESSIONAL = 'Professional',\r\n ACADEMIC = 'Academic'\r\n}","export enum LLMUseCase {\r\n Event = \"event\",\r\n General = \"general\",\r\n Meeting = \"meeting\",\r\n Brief = \"brief\"\r\n}\r\n","export enum LanguageAssistantMessageType {\r\n User = \"user\",\r\n Assistant = \"assistant\",\r\n System = \"system\"\r\n}\r\n","export class CustomHeadersHelper {\r\n static xAppIdHeader(appId: string) {\r\n return { \"X-App-Id\": appId };\r\n }\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { inject, Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { BaseService } from \"../base-service/base.service\";\r\nimport { CustomHeadersHelper } from \"../helpers/custom-headers.helper\";\r\nimport { LLMRephraseRequest } from \"./models/llm-rephrase-request.model\";\r\nimport { LLMServiceConfiguration } from \"./models/llm-service-configuration.model\";\r\nimport { LLMSummarizeRequest } from \"./models/llm-summarize-request.model\";\r\nimport { LLMCustomPromptRequest } from \"./models/llm-custom-prompt-request.model\";\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LLMService extends BaseService<LLMServiceConfiguration> {\r\n readonly #http = inject(HttpClient);\r\n\r\n constructor() {\r\n super(config => config.llmService);\r\n }\r\n\r\n rephrase(request: LLMRephraseRequest): Observable<string> {\r\n const headers = CustomHeadersHelper.xAppIdHeader(this.sharedServiceConfiguration.xAppId);\r\n return this.#http.post(`${this.configuration.url}/rewrite`, request, { responseType: \"text\", headers })\r\n\r\n }\r\n\r\n summarize(request: LLMSummarizeRequest): Observable<string> {\r\n const headers = CustomHeadersHelper.xAppIdHeader(this.sharedServiceConfiguration.xAppId);\r\n return this.#http.post(`${this.configuration.url}/summarize/`, request, { responseType: \"text\", headers })\r\n }\r\n\r\n customPrompt(request: LLMCustomPromptRequest) {\r\n const headers = CustomHeadersHelper.xAppIdHeader(this.sharedServiceConfiguration.xAppId);\r\n return this.#http.post(`${this.configuration.url}/custom-prompt/`, request, { responseType: \"text\", headers })\r\n }\r\n}\r\n","export enum QuotaType {\r\n TRANSLATION_FILES = \"FileTranslationFiles\",\r\n ASR_FILE_LENGTH_SECONDS = \"AsrFileLengthSeconds\",\r\n ASR_FILE_SIZE_KB = \"AsrFileSizeKb\",\r\n ONLINE_ASR_USED_SECONDS = \"OnlineAsrUsedSeconds\",\r\n TRANSLATION_CHARACTERS = \"TranslationCharacters\",\r\n TRANSLATION_DOCUMENTS = \"TranslationDocuments\",\r\n LLM_CHARACTER_COUNT = \"LlmCharacterCount\",\r\n LLM_REQUESTS = \"LlmRequests\",\r\n TTS_CHARACTERS = \"TtsCharacters\",\r\n ANONYMISE_WORDS = \"AnonymiseWords\",\r\n ANONYMISE_DOCUMENTS = \"AnonymiseDocuments\",\r\n // Legacy enum values. Converted in quota service\r\n LEGACY_TRANSLATION_FILES = 0,\r\n LEGACY_ASR_FILE_LENGTH_SECONDS = 1,\r\n LEGACY_ASR_FILE_SIZE_KB = 2,\r\n LEGACY_ONLINE_ASR_USED_SECONDS = 3,\r\n LEGACY_TRANSLATION_CHARACTERS = 4,\r\n LEGACY_TRANSLATION_DOCUMENTS = 5,\r\n LEGACY_LLM_CHARACTER_COUNT = 6,\r\n LEGACY_LLM_REQUESTS = 7,\r\n LEGACY_TTS_CHARACTERS = 8,\r\n LEGACY_ANONYMISE_WORDS = 9,\r\n LEGACY_ANONYMISE_DOCUMENTS = 10,\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { map, Observable } from \"rxjs\";\r\nimport { BaseService } from \"../base-service/base.service\";\r\nimport { CustomHeadersHelper } from \"../helpers/custom-headers.helper\";\r\nimport { QuotaServiceConfiguration } from \"./models/quota-service-configuration.model\";\r\nimport { QuotaResponse } from \"./models/quota-response.model\";\r\nimport { QuotaType } from \"./models/quota-type.enum\";\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class QuotaService extends BaseService<QuotaServiceConfiguration> {\r\n\r\n readonly legacyQuotaTypeMap: {[type: number]: QuotaType} = {\r\n [QuotaType.LEGACY_TRANSLATION_FILES]: QuotaType.TRANSLATION_FILES,\r\n [QuotaType.LEGACY_ASR_FILE_LENGTH_SECONDS]: QuotaType.ASR_FILE_LENGTH_SECONDS,\r\n [QuotaType.LEGACY_ASR_FILE_SIZE_KB]: QuotaType.ASR_FILE_SIZE_KB,\r\n [QuotaType.LEGACY_ONLINE_ASR_USED_SECONDS]: QuotaType.ONLINE_ASR_USED_SECONDS,\r\n [QuotaType.LEGACY_TRANSLATION_CHARACTERS]: QuotaType.TRANSLATION_CHARACTERS,\r\n [QuotaType.LEGACY_TRANSLATION_DOCUMENTS]: QuotaType.TRANSLATION_DOCUMENTS,\r\n [QuotaType.LEGACY_LLM_CHARACTER_COUNT]: QuotaType.LLM_CHARACTER_COUNT,\r\n [QuotaType.LEGACY_LLM_REQUESTS]: QuotaType.LLM_REQUESTS,\r\n [QuotaType.LEGACY_TTS_CHARACTERS]: QuotaType.TTS_CHARACTERS,\r\n [QuotaType.LEGACY_ANONYMISE_WORDS]: QuotaType.ANONYMISE_WORDS,\r\n [QuotaType.LEGACY_ANONYMISE_DOCUMENTS]: QuotaType.ANONYMISE_DOCUMENTS,\r\n }\r\n constructor() {\r\n super(config => config.quotaService);\r\n }\r\n\r\n getQuotaUsage(): Observable<QuotaResponse> {\r\n const headers = CustomHeadersHelper.xAppIdHeader(this.sharedServiceConfiguration.xAppId);\r\n return this.http.get<QuotaResponse>(this.configuration.url, { headers })\r\n .pipe(\r\n map(response=> {\r\n response.usage.forEach(quota => {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n if(this.legacyQuotaTypeMap[quota.quotaType as any]){\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n quota.quotaType = this.legacyQuotaTypeMap[quota.quotaType as any];\r\n }\r\n });\r\n return response;\r\n })\r\n );\r\n }\r\n}\r\n","import { HttpClient, HttpEvent } from '@angular/common/http';\r\nimport { inject, Injectable } from '@angular/core';\r\nimport { BaseService } from '../base-service/base.service';\r\nimport { AnonymisationServiceConfiguration } from './models/anonymisation-configuration.model';\r\nimport { Observable } from 'rxjs';\r\nimport { Document } from './models/document.model';\r\nimport { DocumentJson, UploadDocument } from './models';\r\nimport { ClassCategory } from './models/class-category.model';\r\nimport { ClassCategories } from './models/class-categories.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AnonymisationService extends BaseService<AnonymisationServiceConfiguration> {\r\n readonly #http = inject(HttpClient);\r\n\r\n constructor() {\r\n super(config => config.anonymisationsService);\r\n }\r\n\r\n getSettings(): Observable<ClassCategories> {\r\n return this.#http.get<ClassCategories>(`${this.configuration.url}/anonymisation/settings`);\r\n }\r\n\r\n setSettings(settings: ClassCategory[]): Observable<ClassCategories> {\r\n return this.#http.put<ClassCategories>(`${this.configuration.url}/anonymisation/settings`, { classCategories: settings });\r\n }\r\n\r\n getDocumentJson(id: string): Observable<DocumentJson> {\r\n return this.#http.get<DocumentJson>(`${this.configuration.url}/anonymisation/document/${id}/json`);\r\n }\r\n\r\n saveDocumentJson(document: DocumentJson): Observable<DocumentJson> {\r\n return this.#http.put<DocumentJson>(`${this.configuration.url}/anonymisation/document/${document.id}/json`, document);\r\n }\r\n\r\n getDocumentById(id: string): Observable<Document> {\r\n return this.#http.get<Document>(`${this.configuration.url}/anonymisation/document/${id}`);\r\n }\r\n\r\n getDocumentList(): Observable<Document[]> {\r\n return this.#http.get<Document[]>(`${this.configuration.url}/anonymisation/document/list`);\r\n }\r\n \r\n updateDocument(id: string, document: Document): Observable<Document> {\r\n return this.#http.put<Document>(`${this.configuration.url}/anonymisation/document/${id}`, document);\r\n }\r\n\r\n downloadDocument(id: string): Observable<Blob> {\r\n return this.#http.get(`${this.configuration.url}/anonymisation/document/${id}/file`, { responseType: 'blob' });\r\n }\r\n\r\n deleteDocument(id: string): Observable<void> {\r\n return this.#http.delete<void>(`${this.configuration.url}/anonymisation/document/${id}`);\r\n }\r\n\r\n uploadDocument(body: UploadDocument): Observable<HttpEvent<Document>> {\r\n const formData = new FormData;\r\n formData.append('Title', body.title);\r\n formData.append('Language', body.language);\r\n formData.append('File', body.file);\r\n formData.append('ClassCategories', JSON.stringify(body.classCategories));\r\n\r\n return this.#http.post<Document>(`${this.configuration.url}/anonymisation/document`, formData, { reportProgress: true, observe: \"events\" });\r\n }\r\n}\r\n","export enum FILE_EXTENSION{\r\n MP3 = 'mp3',\r\n JSON = 'json',\r\n TXT = 'txt',\r\n DOCM = 'docm',\r\n SRT = 'srt',\r\n VTT = 'vtt',\r\n WEBM = \"webm\"\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { map, Observable } from \"rxjs\";\r\nimport { BaseService } from \"../../base-service/base.service\";\r\nimport { SpeechApiConfiguration } from \"../models/speech-api-configuration.model\";\r\nimport { FILE_EXTENSION } from \"./enums\";\r\nimport { OfflineEvent, OfflineEventRephraseRequestParams, OfflineEventTranscript } from \"./models\";\r\nimport { OfflineEventSummaryRequestParams } from \"./models/offline-event-summary-request-params.model\";\r\nimport { PostOfflineEventRequest } from \"./models/post-offline-event-request.model\";\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class OfflineEventsService extends BaseService<SpeechApiConfiguration> {\r\n\r\n get baseUrl() { return `${this.configuration.url}/event`; }\r\n\r\n constructor() {\r\n super(config => config.speechApi);\r\n }\r\n\r\n get(id: string) {\r\n return this.http.get<OfflineEvent>(`${this.baseUrl}/${id}`)\r\n .pipe(\r\n map(item => this.#mapEvent(item))\r\n );\r\n }\r\n\r\n post(request: PostOfflineEventRequest) {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const params: any = request.queryParams;\r\n\r\n const formData = new FormData();\r\n formData.append(\"audio\", request.audio, request.fileName);\r\n if (request.metadata) {\r\n formData.append(\"metadata\", request.metadata);\r\n }\r\n\r\n return this.http.post<OfflineEvent>(this.baseUrl, formData, { params, reportProgress: true, observe: \"events\" });\r\n }\r\n\r\n delete(id: string) {\r\n return this.http.delete<string>(`${this.baseUrl}/${id}`);\r\n }\r\n\r\n getList() {\r\n return this.http.get<OfflineEvent[]>(`${this.baseUrl}/list`)\r\n .pipe(\r\n map((items) => {\r\n return items.map(item => this.#mapEvent(item));\r\n })\r\n );\r\n }\r\n\r\n retranscribe(id: string) {\r\n return this.http.post<OfflineEvent>(`${this.baseUrl}/${id}/retry`, {});\r\n }\r\n\r\n getFile(id: string, extension: FILE_EXTENSION, edited = false, diarization = false) {\r\n return this.#getFile(id, extension, edited, diarization);\r\n }\r\n\r\n getFileAsBlob(id: string, extension: FILE_EXTENSION, edited = false, diarization = false) {\r\n const requestOptions = {\r\n responseType: 'blob'\r\n };\r\n\r\n return this.#getFile(id, extension, edited, diarization, requestOptions);\r\n }\r\n\r\n updateTranscript(transcript: OfflineEventTranscript, reindex = false) {\r\n return this.http.put(`${this.baseUrl}/${transcript.id}`, transcript, { params: { reindex } });\r\n }\r\n\r\n /**\r\n * Get the transcript of the event and return it as json object.\r\n */\r\n getTranscript(id: string, edited = true) {\r\n return this.getFile(id, FILE_EXTENSION.JSON, edited, false) as Observable<OfflineEventTranscript>;\r\n }\r\n\r\n /**\r\n * Retrieves event summary for given usecase\r\n */\r\n summarize(id: string, params?: OfflineEventSummaryRequestParams): Observable<string> {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n return this.http.get(`${this.baseUrl}/${id}/summary`, { responseType: \"text\", params: params as any ?? {} });\r\n }\r\n\r\n\r\n /**\r\n * Rephrases event and returns its transcript\r\n */\r\n rephrase(id: string, params?: OfflineEventRephraseRequestParams): Observable<string> {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n return this.http.get(`${this.baseUrl}/${id}/rephrase`, { params: params as any ?? {}, responseType: \"text\" });\r\n }\r\n\r\n #getFile(id: string, extension: FILE_EXTENSION, edited = false, diarization = true, requestOptions = {}) {\r\n return this.http.get(`${this.baseUrl}/${id}/${extension}`, { params: { edited, diarization }, ...requestOptions });\r\n }\r\n\r\n /// <summary>\r\n /// Maps event properties to correct types\r\n /// </summary>\r\n #mapEvent(item: OfflineEvent): OfflineEvent {\r\n item.dateCreated = this.#utcStringToDate(item.dateCreated.toString());\r\n item.dateModified = this.#utcStringToDate(item.dateModified.toString());\r\n\r\n if (item.metadata?.startDate) {\r\n item.metadata.startDate = new Date(item.metadata.startDate.toString());\r\n }\r\n return item;\r\n }\r\n\r\n\r\n\r\n #utcStringToDate(dateString: string): Date {\r\n const utcLastSymbol = \"Z\";\r\n if (!dateString.endsWith(utcLastSymbol)) {\r\n dateString += utcLastSymbol;\r\n }\r\n return new Date(dateString);\r\n }\r\n\r\n}\r\n","export enum OfflineEventStatus{\r\n QUEUING = \"Queuing\",\r\n PROCESSING = \"Processing\",\r\n ERROR = \"Error\",\r\n FINISHED = \"Finished\",\r\n NEW = \"New\",\r\n PARTIALLY_COMPLETED = \"PartiallyCompleted\"\r\n}\r\n","export enum OfflineEventSubstatus {\r\n UNSPECIFIED = \"Unspecified\",\r\n SEARCH_FAILED = \"SearchFailed\",\r\n CATEGORIZATION_FAILED = \"CategorizationFailed\",\r\n NO_SPEECH = \"NoSpeech\"\r\n}\r\n","export enum SectionType {\r\n MUSIC = \"Music\",\r\n SPEECH = \"Speech\"\r\n}\r\n","export enum ResourceType {\r\n OFFLINE = \"Offline\",\r\n ONLINE = \"Online\",\r\n TTS = \"Tts\",\r\n ALL = \"All\"\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { BaseService } from \"../../base-service/base.service\";\r\nimport { SpeechApiConfiguration } from \"../models/speech-api-configuration.model\";\r\nimport { ResourceType } from \"./models/resource-type.enum\";\r\nimport { Resource } from \"./models/resource.model\";\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n//**\r\n// Speech api system service. Returns resources defined in resource service.\r\n// */\r\nexport class ResourceService extends BaseService<SpeechApiConfiguration> {\r\n\r\n get baseUrl() { return `${this.configuration.url}/systems`; }\r\n\r\n constructor() {\r\n super(config => config.speechApi);\r\n }\r\n\r\n /**\r\n * Get resources filtered by type.\r\n * @param type System type to filter by. By default returns all resource types.\r\n */\r\n get(type: ResourceType = ResourceType.ALL) {\r\n return this.http.get<Resource[]>(this.baseUrl, {\r\n params: {\r\n systemType: type\r\n }\r\n });\r\n }\r\n\r\n}\r\n","export enum TTSFormat{\r\n PCM = \"pcm\",\r\n MP3 = \"mp3\",\r\n PCM_8KHZ = \"pcm_8khz\"\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { BaseService } from \"../../base-service/base.service\";\r\nimport { TextToSpeechApiConfiguration } from \"../models/text-to-speech-api-configuration.model\";\r\nimport { TTSRequest } from \"./models/tts-request.model\";\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TextToSpeechService extends BaseService<TextToSpeechApiConfiguration> {\r\n\r\n get baseUrl() { return `${this.configuration.url}`; }\r\n\r\n constructor() {\r\n super(config => config.textToSpeech);\r\n }\r\n\r\n generateSpeech(request: TTSRequest) {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n return this.http.get(`${this.baseUrl}`, { params: request as any, responseType: 'blob' });\r\n }\r\n}\r\n","export enum AnswerType {\r\n YES_NO = 'YesNo',\r\n MULTI_CHOICE = 'MultiChoice',\r\n TEXT = 'Text',\r\n}\r\n","import { inject, Injectable } from '@angular/core';\r\nimport { BaseService } from '../../../base-service/base.service';\r\nimport { HttpClient, HttpHeaders, HttpResponse } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { MicroLearningConfiguration } from '../../models';\r\nimport {\r\n CreateQuiz,\r\n QuestionSet,\r\n QuestionSetSpecification,\r\n Quiz,\r\n QuizSubmission,\r\n QuizUpdate,\r\n} from '../models';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class QuizService extends BaseService<MicroLearningConfiguration> {\r\n readonly #http = inject(HttpClient);\r\n readonly #translate = inject(TranslateService);\r\n\r\n constructor() {\r\n super((config) => config.microLearningService);\r\n }\r\n\r\n getAllTestsByTopic(id: string): Observable<Quiz[]> {\r\n return this.#http.get<Quiz[]>(\r\n `${this.configuration.url}/quiz?topicId=${id}`\r\n );\r\n }\r\n\r\n deleteTest(id: number): Observable<void> {\r\n return this.#http.delete<void>(`${this.configuration.url}/quiz/${id}`);\r\n }\r\n\r\n addQuiz(quiz: CreateQuiz): Observable<Quiz> {\r\n return this.#http.post<Quiz>(\r\n `${this.configuration.url}/quiz`,\r\n quiz,\r\n { headers: this.getLangHeaders() }\r\n );\r\n }\r\n\r\n getQuiz(id: number): Observable<Quiz> {\r\n return this.#http.get<Quiz>(`${this.configuration.url}/quiz/${id}`);\r\n }\r\n\r\n updateQuiz(id: number, quiz: QuizUpdate): Observable<Quiz> {\r\n return this.#http.put<Quiz>(`${this.configuration.url}/quiz/${id}`, quiz, {\r\n headers: this.getLangHeaders(),\r\n });\r\n }\r\n\r\n generateQuestion(\r\n quizId: number,\r\n questionSetSpecifications: QuestionSetSpecification[],\r\n existingQuestions: QuestionSet[]\r\n ): Observable<QuestionSet[]> {\r\n return this.#http.post<QuestionSet[]>(\r\n `${this.configuration.url}/quiz/generate-questions`,\r\n {\r\n quizId,\r\n questionSetSpecifications,\r\n existingQuestions,\r\n },\r\n { headers: this.getLangHeaders() }\r\n );\r\n }\r\n\r\n getQuizSubmissions(id: number): Observable<QuizSubmission[]> {\r\n return this.#http.get<QuizSubmission[]>(\r\n `${this.configuration.url}/quiz-submission?quizId=${id}`\r\n );\r\n }\r\n\r\n sendQuiz(quiz: QuizSubmission): Observable<QuizSubmission> {\r\n return this.#http.post<QuizSubmission>(\r\n `${this.configuration.url}/quiz-submission`,\r\n quiz,\r\n { headers: this.getLangHeaders() }\r\n );\r\n }\r\n\r\n downloadQuiz(id: number): Observable<HttpResponse<Blob>> {\r\n return this.#http.get(`${this.configuration.url}/quiz/${id}/download`, {\r\n observe: 'response',\r\n responseType: 'blob',\r\n });\r\n }\r\n\r\n private getLangHeaders(): HttpHeaders {\r\n return new HttpHeaders({\r\n 'Accept-Language': this.#translate.currentLang,\r\n });\r\n }\r\n}\r\n","import { inject, Injectable } from '@angular/core';\r\nimport { BaseService } from '../../../base-service/base.service';\r\nimport { MicroLearningConfiguration } from '../../models';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { Topic, TopicUpdate } from '../models';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TopicService extends BaseService<MicroLearningConfiguration> {\r\n readonly #http = inject(HttpClient);\r\n\r\n constructor() {\r\n super((config) => config.microLearningService);\r\n }\r\n\r\n getTopic(id: string): Observable<Topic> {\r\n return this.#http.get<Topic>(`${this.configuration.url}/topic/${id}`);\r\n }\r\n\r\n getAllTopics(): Observable<Topic[]> {\r\n return this.#http.get<Topic[]>(`${this.configuration.url}/topic`);\r\n }\r\n\r\n addDemoTopic(): Observable<void> {\r\n return this.#http.post<void>(`${this.configuration.url}/import`, null);\r\n }\r\n\r\n createTopic(topic: TopicUpdate): Observable<Topic> {\r\n return this.#http.post<Topic>(`${this.configuration.url}/topic`, topic);\r\n }\r\n\r\n updateTopic(topic: Topic): Observable<Topic> {\r\n return this.#http.put<Topic>(`${this.configuration.url}/topic/${topic.id}`, topic);\r\n }\r\n\r\n deleteTopic(id: string): Observable<Topic> {\r\n return this.#http.delete<Topic>(`${this.configuration.url}/topic/${id}`);\r\n }\r\n}\r\n","import { inject, Injectable } from '@angular/core';\r\nimport { BaseService } from '../../../base-service/base.service';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { MicroLearningConfiguration } from '../../models';\r\nimport { MicroLearningDocument } from '../models';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class DocumentService extends BaseService<MicroLearningConfiguration> {\r\n readonly #http = inject(HttpClient);\r\n\r\n constructor() {\r\n super((config) => config.microLearningService);\r\n }\r\n\r\n getTopicSources(id: string): Observable<MicroLearningDocument[]> {\r\n return this.#http.get<MicroLearningDocument[]>(\r\n `${this.configuration.url}/document/${id}`\r\n );\r\n }\r\n\r\n uploadDocumentFromUrl(\r\n id: string,\r\n url: string\r\n ): Observable<MicroLearningDocument> {\r\n const queryParam = `?FileUrl=${encodeURIComponent(url)}`;\r\n const fullUrl = `${this.configuration.url}/document/import/${id}${queryParam}`;\r\n return this.#http.post<MicroLearningDocument>(fullUrl, null);\r\n }\r\n\r\n uploadSourceDocument(\r\n id: string,\r\n file: File\r\n ): Observable<MicroLearningDocument> {\r\n const formData = new FormData();\r\n formData.append('File', file);\r\n\r\n return this.#http.post<MicroLearningDocument>(\r\n `${this.configuration.url}/document/import/${id}`,\r\n formData\r\n );\r\n }\r\n\r\n deleteSourceDocument(id: string): Observable<MicroLearningDocument> {\r\n return this.#http.delete<MicroLearningDocument>(\r\n `${this.configuration.url}/document/${id}`\r\n );\r\n }\r\n\r\n downloadDocument(id: string, extension: string): Observable<Blob> {\r\n return this.#http.get(\r\n `${this.configuration.url}/document/download/${id}/source${extension}`,\r\n {\r\n responseType: 'blob',\r\n }\r\n );\r\n }\r\n}\r\n","export enum ShareSubjectType {\r\n Quiz = 'Quiz',\r\n Documents = 'Documents',\r\n QuizAndDocuments = 'QuizAndDocuments',\r\n}\r\n","import { inject, Injectable } from '@angular/core';\r\nimport { BaseService } from '../../../base-service/base.service';\r\nimport { MicroLearningConfiguration } from '../../models';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { NewShare, SharedResource } from '../models';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ShareService extends BaseService<MicroLearningConfiguration> {\r\n readonly #http = inject(HttpClient);\r\n\r\n constructor() {\r\n super((config) => config.microLearningService);\r\n }\r\n\r\n shareResource(share: NewShare): Observable<SharedResource> {\r\n return this.#http.post<SharedResource>(\r\n `${this.configuration.url}/share`,\r\n share\r\n );\r\n }\r\n\r\n getSharedResource(id: string): Observable<SharedResource> {\r\n return this.#http.get<SharedResource>(\r\n `${this.configuration.url}/share/${id}`\r\n );\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { inject, Injectable } from '@angular/core';\r\nimport { MicroLearningConfiguration } from '../../models';\r\nimport { BaseService } from '../../../base-service/base.service';\r\nimport { Observable } from 'rxjs';\r\nimport { QuizStatisctics } from '../models/quiz-statistics.model';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class StatisticsService extends BaseService<MicroLearningConfiguration> {\r\n readonly #http = inject(HttpClient);\r\n\r\n constructor() {\r\n super((config) => config.microLearningService);\r\n }\r\n\r\n getStatistics(quizId: number): Observable<QuizStatisctics> {\r\n return this.#http.get<QuizStatisctics>(\r\n `${this.configuration.url}/statistics/${quizId}`\r\n );\r\n }\r\n}\r\n","/*\r\n * Public API Surface of ngx-services\r\n */\r\n\r\nexport * from './lib';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -16,6 +16,7 @@ export declare class QuizService extends BaseService<MicroLearningConfiguration>
16
16
  getQuizSubmissions(id: number): Observable<QuizSubmission[]>;
17
17
  sendQuiz(quiz: QuizSubmission): Observable<QuizSubmission>;
18
18
  downloadQuiz(id: number): Observable<HttpResponse<Blob>>;
19
+ private getLangHeaders;
19
20
  static ɵfac: i0.ɵɵFactoryDeclaration<QuizService, never>;
20
21
  static ɵprov: i0.ɵɵInjectableDeclaration<QuizService>;
21
22
  }
@@ -1,5 +1,6 @@
1
- import { LLMUseCase } from "../../../llm-service";
1
+ import { LLMUseCase, LLMWritingStyle } from "../../../llm-service";
2
2
  export interface OfflineEventRephraseRequestParams {
3
3
  useCase?: LLMUseCase;
4
4
  diarization?: boolean;
5
+ writingStyle?: LLMWritingStyle;
5
6
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tilde-nlp/ngx-services",
3
- "version": "6.0.61",
3
+ "version": "6.0.63",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^18.0.0",
6
6
  "@angular/core": "^18.0.0"