@easyedu/js-lsm-api 1.129.0 → 1.131.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.
Files changed (103) hide show
  1. package/.openapi-generator/FILES +28 -0
  2. package/README.md +19 -2
  3. package/dist/apis/MarketingApi.d.ts +34 -0
  4. package/dist/apis/MarketingApi.js +74 -0
  5. package/dist/apis/ReportingApi.d.ts +52 -0
  6. package/dist/apis/ReportingApi.js +131 -0
  7. package/dist/apis/index.d.ts +1 -0
  8. package/dist/apis/index.js +1 -0
  9. package/dist/esm/apis/MarketingApi.d.ts +34 -0
  10. package/dist/esm/apis/MarketingApi.js +70 -0
  11. package/dist/esm/apis/ReportingApi.d.ts +52 -0
  12. package/dist/esm/apis/ReportingApi.js +131 -0
  13. package/dist/esm/apis/index.d.ts +1 -0
  14. package/dist/esm/apis/index.js +1 -0
  15. package/dist/esm/models/GetReportCatalog.d.ts +40 -0
  16. package/dist/esm/models/GetReportCatalog.js +49 -0
  17. package/dist/esm/models/GetReportQueryResult.d.ts +84 -0
  18. package/dist/esm/models/GetReportQueryResult.js +77 -0
  19. package/dist/esm/models/PostDemoRequest.d.ts +100 -0
  20. package/dist/esm/models/PostDemoRequest.js +83 -0
  21. package/dist/esm/models/PostDemoRequestResponse.d.ts +38 -0
  22. package/dist/esm/models/PostDemoRequestResponse.js +47 -0
  23. package/dist/esm/models/PostReportExport.d.ts +54 -0
  24. package/dist/esm/models/PostReportExport.js +56 -0
  25. package/dist/esm/models/PostReportQuery.d.ts +52 -0
  26. package/dist/esm/models/PostReportQuery.js +49 -0
  27. package/dist/esm/models/ReportCategory.d.ts +50 -0
  28. package/dist/esm/models/ReportCategory.js +58 -0
  29. package/dist/esm/models/ReportColumn.d.ts +59 -0
  30. package/dist/esm/models/ReportColumn.js +64 -0
  31. package/dist/esm/models/ReportDefinition.d.ts +89 -0
  32. package/dist/esm/models/ReportDefinition.js +85 -0
  33. package/dist/esm/models/ReportFilterDefinition.d.ts +94 -0
  34. package/dist/esm/models/ReportFilterDefinition.js +91 -0
  35. package/dist/esm/models/ReportFilterOption.d.ts +38 -0
  36. package/dist/esm/models/ReportFilterOption.js +47 -0
  37. package/dist/esm/models/ReportFilters.d.ts +105 -0
  38. package/dist/esm/models/ReportFilters.js +65 -0
  39. package/dist/esm/models/ReportSort.d.ts +46 -0
  40. package/dist/esm/models/ReportSort.js +54 -0
  41. package/dist/esm/models/index.d.ts +13 -0
  42. package/dist/esm/models/index.js +13 -0
  43. package/dist/models/GetReportCatalog.d.ts +40 -0
  44. package/dist/models/GetReportCatalog.js +56 -0
  45. package/dist/models/GetReportQueryResult.d.ts +84 -0
  46. package/dist/models/GetReportQueryResult.js +84 -0
  47. package/dist/models/PostDemoRequest.d.ts +100 -0
  48. package/dist/models/PostDemoRequest.js +91 -0
  49. package/dist/models/PostDemoRequestResponse.d.ts +38 -0
  50. package/dist/models/PostDemoRequestResponse.js +54 -0
  51. package/dist/models/PostReportExport.d.ts +54 -0
  52. package/dist/models/PostReportExport.js +64 -0
  53. package/dist/models/PostReportQuery.d.ts +52 -0
  54. package/dist/models/PostReportQuery.js +56 -0
  55. package/dist/models/ReportCategory.d.ts +50 -0
  56. package/dist/models/ReportCategory.js +66 -0
  57. package/dist/models/ReportColumn.d.ts +59 -0
  58. package/dist/models/ReportColumn.js +72 -0
  59. package/dist/models/ReportDefinition.d.ts +89 -0
  60. package/dist/models/ReportDefinition.js +93 -0
  61. package/dist/models/ReportFilterDefinition.d.ts +94 -0
  62. package/dist/models/ReportFilterDefinition.js +99 -0
  63. package/dist/models/ReportFilterOption.d.ts +38 -0
  64. package/dist/models/ReportFilterOption.js +54 -0
  65. package/dist/models/ReportFilters.d.ts +105 -0
  66. package/dist/models/ReportFilters.js +72 -0
  67. package/dist/models/ReportSort.d.ts +46 -0
  68. package/dist/models/ReportSort.js +62 -0
  69. package/dist/models/index.d.ts +13 -0
  70. package/dist/models/index.js +13 -0
  71. package/docs/GetReportCatalog.md +37 -0
  72. package/docs/GetReportQueryResult.md +50 -0
  73. package/docs/MarketingApi.md +78 -0
  74. package/docs/PostDemoRequest.md +50 -0
  75. package/docs/PostDemoRequestResponse.md +36 -0
  76. package/docs/PostReportExport.md +38 -0
  77. package/docs/PostReportQuery.md +40 -0
  78. package/docs/ReportCategory.md +36 -0
  79. package/docs/ReportColumn.md +39 -0
  80. package/docs/ReportDefinition.md +48 -0
  81. package/docs/ReportFilterDefinition.md +45 -0
  82. package/docs/ReportFilterOption.md +36 -0
  83. package/docs/ReportFilters.md +59 -0
  84. package/docs/ReportSort.md +36 -0
  85. package/docs/ReportingApi.md +207 -0
  86. package/package.json +1 -1
  87. package/src/apis/MarketingApi.ts +83 -0
  88. package/src/apis/ReportingApi.ts +181 -0
  89. package/src/apis/index.ts +1 -0
  90. package/src/models/GetReportCatalog.ts +90 -0
  91. package/src/models/GetReportQueryResult.ts +153 -0
  92. package/src/models/PostDemoRequest.ts +157 -0
  93. package/src/models/PostDemoRequestResponse.ts +75 -0
  94. package/src/models/PostReportExport.ts +108 -0
  95. package/src/models/PostReportQuery.ts +104 -0
  96. package/src/models/ReportCategory.ts +90 -0
  97. package/src/models/ReportColumn.ts +102 -0
  98. package/src/models/ReportDefinition.ts +166 -0
  99. package/src/models/ReportFilterDefinition.ts +154 -0
  100. package/src/models/ReportFilterOption.ts +75 -0
  101. package/src/models/ReportFilters.ts +162 -0
  102. package/src/models/ReportSort.ts +86 -0
  103. package/src/models/index.ts +13 -0
@@ -0,0 +1,102 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * LMS API
5
+ * LMS API
6
+ *
7
+ * The version of the OpenAPI document: 1.0.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+ import { mapValues } from '../runtime';
16
+ /**
17
+ * One column in a report result. Row objects are keyed by column key.
18
+ * @export
19
+ * @interface ReportColumn
20
+ */
21
+ export interface ReportColumn {
22
+ /**
23
+ *
24
+ * @type {string}
25
+ * @memberof ReportColumn
26
+ */
27
+ key: string;
28
+ /**
29
+ *
30
+ * @type {string}
31
+ * @memberof ReportColumn
32
+ */
33
+ label: string;
34
+ /**
35
+ * Value format. text, email and status are strings; number, percent and hours are numbers (percent is 0-100); date is an ISO 8601 calendar date; tags is an array of tag names.
36
+ *
37
+ * @type {ReportColumnTypeEnum}
38
+ * @memberof ReportColumn
39
+ */
40
+ type: ReportColumnTypeEnum;
41
+ }
42
+
43
+
44
+ /**
45
+ * @export
46
+ */
47
+ export const ReportColumnTypeEnum = {
48
+ Text: 'text',
49
+ Email: 'email',
50
+ Status: 'status',
51
+ Number: 'number',
52
+ Percent: 'percent',
53
+ Hours: 'hours',
54
+ Date: 'date',
55
+ Tags: 'tags'
56
+ } as const;
57
+ export type ReportColumnTypeEnum = typeof ReportColumnTypeEnum[keyof typeof ReportColumnTypeEnum];
58
+
59
+
60
+ /**
61
+ * Check if a given object implements the ReportColumn interface.
62
+ */
63
+ export function instanceOfReportColumn(value: object): value is ReportColumn {
64
+ if (!('key' in value) || value['key'] === undefined) return false;
65
+ if (!('label' in value) || value['label'] === undefined) return false;
66
+ if (!('type' in value) || value['type'] === undefined) return false;
67
+ return true;
68
+ }
69
+
70
+ export function ReportColumnFromJSON(json: any): ReportColumn {
71
+ return ReportColumnFromJSONTyped(json, false);
72
+ }
73
+
74
+ export function ReportColumnFromJSONTyped(json: any, ignoreDiscriminator: boolean): ReportColumn {
75
+ if (json == null) {
76
+ return json;
77
+ }
78
+ return {
79
+
80
+ 'key': json['key'],
81
+ 'label': json['label'],
82
+ 'type': json['type'],
83
+ };
84
+ }
85
+
86
+ export function ReportColumnToJSON(json: any): ReportColumn {
87
+ return ReportColumnToJSONTyped(json, false);
88
+ }
89
+
90
+ export function ReportColumnToJSONTyped(value?: ReportColumn | null, ignoreDiscriminator: boolean = false): any {
91
+ if (value == null) {
92
+ return value;
93
+ }
94
+
95
+ return {
96
+
97
+ 'key': value['key'],
98
+ 'label': value['label'],
99
+ 'type': value['type'],
100
+ };
101
+ }
102
+
@@ -0,0 +1,166 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * LMS API
5
+ * LMS API
6
+ *
7
+ * The version of the OpenAPI document: 1.0.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+ import { mapValues } from '../runtime';
16
+ import type { ReportColumn } from './ReportColumn';
17
+ import {
18
+ ReportColumnFromJSON,
19
+ ReportColumnFromJSONTyped,
20
+ ReportColumnToJSON,
21
+ ReportColumnToJSONTyped,
22
+ } from './ReportColumn';
23
+ import type { ReportFilterDefinition } from './ReportFilterDefinition';
24
+ import {
25
+ ReportFilterDefinitionFromJSON,
26
+ ReportFilterDefinitionFromJSONTyped,
27
+ ReportFilterDefinitionToJSON,
28
+ ReportFilterDefinitionToJSONTyped,
29
+ } from './ReportFilterDefinition';
30
+ import type { ReportSort } from './ReportSort';
31
+ import {
32
+ ReportSortFromJSON,
33
+ ReportSortFromJSONTyped,
34
+ ReportSortToJSON,
35
+ ReportSortToJSONTyped,
36
+ } from './ReportSort';
37
+
38
+ /**
39
+ *
40
+ * @export
41
+ * @interface ReportDefinition
42
+ */
43
+ export interface ReportDefinition {
44
+ /**
45
+ * Stable report identifier used in query and export paths.
46
+ * @type {string}
47
+ * @memberof ReportDefinition
48
+ */
49
+ key: string;
50
+ /**
51
+ *
52
+ * @type {string}
53
+ * @memberof ReportDefinition
54
+ */
55
+ title: string;
56
+ /**
57
+ *
58
+ * @type {string}
59
+ * @memberof ReportDefinition
60
+ */
61
+ description: string;
62
+ /**
63
+ *
64
+ * @type {ReportDefinitionCategoryEnum}
65
+ * @memberof ReportDefinition
66
+ */
67
+ category: ReportDefinitionCategoryEnum;
68
+ /**
69
+ * Permission required to run the report.
70
+ * @type {string}
71
+ * @memberof ReportDefinition
72
+ */
73
+ permission: string;
74
+ /**
75
+ *
76
+ * @type {Array<ReportColumn>}
77
+ * @memberof ReportDefinition
78
+ */
79
+ columns: Array<ReportColumn>;
80
+ /**
81
+ *
82
+ * @type {Array<ReportFilterDefinition>}
83
+ * @memberof ReportDefinition
84
+ */
85
+ filters: Array<ReportFilterDefinition>;
86
+ /**
87
+ *
88
+ * @type {ReportSort}
89
+ * @memberof ReportDefinition
90
+ */
91
+ defaultSort: ReportSort;
92
+ }
93
+
94
+
95
+ /**
96
+ * @export
97
+ */
98
+ export const ReportDefinitionCategoryEnum = {
99
+ Learners: 'learners',
100
+ Content: 'content',
101
+ Tags: 'tags',
102
+ Managers: 'managers',
103
+ Compliance: 'compliance',
104
+ Trends: 'trends'
105
+ } as const;
106
+ export type ReportDefinitionCategoryEnum = typeof ReportDefinitionCategoryEnum[keyof typeof ReportDefinitionCategoryEnum];
107
+
108
+
109
+ /**
110
+ * Check if a given object implements the ReportDefinition interface.
111
+ */
112
+ export function instanceOfReportDefinition(value: object): value is ReportDefinition {
113
+ if (!('key' in value) || value['key'] === undefined) return false;
114
+ if (!('title' in value) || value['title'] === undefined) return false;
115
+ if (!('description' in value) || value['description'] === undefined) return false;
116
+ if (!('category' in value) || value['category'] === undefined) return false;
117
+ if (!('permission' in value) || value['permission'] === undefined) return false;
118
+ if (!('columns' in value) || value['columns'] === undefined) return false;
119
+ if (!('filters' in value) || value['filters'] === undefined) return false;
120
+ if (!('defaultSort' in value) || value['defaultSort'] === undefined) return false;
121
+ return true;
122
+ }
123
+
124
+ export function ReportDefinitionFromJSON(json: any): ReportDefinition {
125
+ return ReportDefinitionFromJSONTyped(json, false);
126
+ }
127
+
128
+ export function ReportDefinitionFromJSONTyped(json: any, ignoreDiscriminator: boolean): ReportDefinition {
129
+ if (json == null) {
130
+ return json;
131
+ }
132
+ return {
133
+
134
+ 'key': json['key'],
135
+ 'title': json['title'],
136
+ 'description': json['description'],
137
+ 'category': json['category'],
138
+ 'permission': json['permission'],
139
+ 'columns': ((json['columns'] as Array<any>).map(ReportColumnFromJSON)),
140
+ 'filters': ((json['filters'] as Array<any>).map(ReportFilterDefinitionFromJSON)),
141
+ 'defaultSort': ReportSortFromJSON(json['default_sort']),
142
+ };
143
+ }
144
+
145
+ export function ReportDefinitionToJSON(json: any): ReportDefinition {
146
+ return ReportDefinitionToJSONTyped(json, false);
147
+ }
148
+
149
+ export function ReportDefinitionToJSONTyped(value?: ReportDefinition | null, ignoreDiscriminator: boolean = false): any {
150
+ if (value == null) {
151
+ return value;
152
+ }
153
+
154
+ return {
155
+
156
+ 'key': value['key'],
157
+ 'title': value['title'],
158
+ 'description': value['description'],
159
+ 'category': value['category'],
160
+ 'permission': value['permission'],
161
+ 'columns': ((value['columns'] as Array<any>).map(ReportColumnToJSON)),
162
+ 'filters': ((value['filters'] as Array<any>).map(ReportFilterDefinitionToJSON)),
163
+ 'default_sort': ReportSortToJSON(value['defaultSort']),
164
+ };
165
+ }
166
+
@@ -0,0 +1,154 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * LMS API
5
+ * LMS API
6
+ *
7
+ * The version of the OpenAPI document: 1.0.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+ import { mapValues } from '../runtime';
16
+ import type { ReportFilterOption } from './ReportFilterOption';
17
+ import {
18
+ ReportFilterOptionFromJSON,
19
+ ReportFilterOptionFromJSONTyped,
20
+ ReportFilterOptionToJSON,
21
+ ReportFilterOptionToJSONTyped,
22
+ } from './ReportFilterOption';
23
+
24
+ /**
25
+ * A filter accepted by a report. The key names the matching property in ReportFilters; a date_range filter maps to date_from and date_to.
26
+ *
27
+ * @export
28
+ * @interface ReportFilterDefinition
29
+ */
30
+ export interface ReportFilterDefinition {
31
+ /**
32
+ *
33
+ * @type {ReportFilterDefinitionKeyEnum}
34
+ * @memberof ReportFilterDefinition
35
+ */
36
+ key: ReportFilterDefinitionKeyEnum;
37
+ /**
38
+ *
39
+ * @type {string}
40
+ * @memberof ReportFilterDefinition
41
+ */
42
+ label: string;
43
+ /**
44
+ *
45
+ * @type {ReportFilterDefinitionTypeEnum}
46
+ * @memberof ReportFilterDefinition
47
+ */
48
+ type: ReportFilterDefinitionTypeEnum;
49
+ /**
50
+ * Allowed values for select filters.
51
+ * @type {Array<ReportFilterOption>}
52
+ * @memberof ReportFilterDefinition
53
+ */
54
+ options: Array<ReportFilterOption>;
55
+ /**
56
+ * For date_range filters, the number of trailing days applied when neither date_from nor date_to is supplied. Null means no default date limit.
57
+ *
58
+ * @type {number}
59
+ * @memberof ReportFilterDefinition
60
+ */
61
+ defaultDays: number | null;
62
+ /**
63
+ * For number filters, the value applied when none is supplied.
64
+ * @type {number}
65
+ * @memberof ReportFilterDefinition
66
+ */
67
+ defaultValue: number | null;
68
+ }
69
+
70
+
71
+ /**
72
+ * @export
73
+ */
74
+ export const ReportFilterDefinitionKeyEnum = {
75
+ Search: 'search',
76
+ UserType: 'user_type',
77
+ Company: 'company',
78
+ Status: 'status',
79
+ TeamPortalId: 'team_portal_id',
80
+ CourseId: 'course_id',
81
+ TagId: 'tag_id',
82
+ ManagerId: 'manager_id',
83
+ DateRange: 'date_range',
84
+ InactiveDays: 'inactive_days',
85
+ ExpiresWithinDays: 'expires_within_days',
86
+ FirstCourseStarted: 'first_course_started'
87
+ } as const;
88
+ export type ReportFilterDefinitionKeyEnum = typeof ReportFilterDefinitionKeyEnum[keyof typeof ReportFilterDefinitionKeyEnum];
89
+
90
+ /**
91
+ * @export
92
+ */
93
+ export const ReportFilterDefinitionTypeEnum = {
94
+ Search: 'search',
95
+ Text: 'text',
96
+ Select: 'select',
97
+ DateRange: 'date_range',
98
+ Number: 'number'
99
+ } as const;
100
+ export type ReportFilterDefinitionTypeEnum = typeof ReportFilterDefinitionTypeEnum[keyof typeof ReportFilterDefinitionTypeEnum];
101
+
102
+
103
+ /**
104
+ * Check if a given object implements the ReportFilterDefinition interface.
105
+ */
106
+ export function instanceOfReportFilterDefinition(value: object): value is ReportFilterDefinition {
107
+ if (!('key' in value) || value['key'] === undefined) return false;
108
+ if (!('label' in value) || value['label'] === undefined) return false;
109
+ if (!('type' in value) || value['type'] === undefined) return false;
110
+ if (!('options' in value) || value['options'] === undefined) return false;
111
+ if (!('defaultDays' in value) || value['defaultDays'] === undefined) return false;
112
+ if (!('defaultValue' in value) || value['defaultValue'] === undefined) return false;
113
+ return true;
114
+ }
115
+
116
+ export function ReportFilterDefinitionFromJSON(json: any): ReportFilterDefinition {
117
+ return ReportFilterDefinitionFromJSONTyped(json, false);
118
+ }
119
+
120
+ export function ReportFilterDefinitionFromJSONTyped(json: any, ignoreDiscriminator: boolean): ReportFilterDefinition {
121
+ if (json == null) {
122
+ return json;
123
+ }
124
+ return {
125
+
126
+ 'key': json['key'],
127
+ 'label': json['label'],
128
+ 'type': json['type'],
129
+ 'options': ((json['options'] as Array<any>).map(ReportFilterOptionFromJSON)),
130
+ 'defaultDays': json['default_days'],
131
+ 'defaultValue': json['default_value'],
132
+ };
133
+ }
134
+
135
+ export function ReportFilterDefinitionToJSON(json: any): ReportFilterDefinition {
136
+ return ReportFilterDefinitionToJSONTyped(json, false);
137
+ }
138
+
139
+ export function ReportFilterDefinitionToJSONTyped(value?: ReportFilterDefinition | null, ignoreDiscriminator: boolean = false): any {
140
+ if (value == null) {
141
+ return value;
142
+ }
143
+
144
+ return {
145
+
146
+ 'key': value['key'],
147
+ 'label': value['label'],
148
+ 'type': value['type'],
149
+ 'options': ((value['options'] as Array<any>).map(ReportFilterOptionToJSON)),
150
+ 'default_days': value['defaultDays'],
151
+ 'default_value': value['defaultValue'],
152
+ };
153
+ }
154
+
@@ -0,0 +1,75 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * LMS API
5
+ * LMS API
6
+ *
7
+ * The version of the OpenAPI document: 1.0.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+ import { mapValues } from '../runtime';
16
+ /**
17
+ *
18
+ * @export
19
+ * @interface ReportFilterOption
20
+ */
21
+ export interface ReportFilterOption {
22
+ /**
23
+ *
24
+ * @type {string}
25
+ * @memberof ReportFilterOption
26
+ */
27
+ value: string;
28
+ /**
29
+ *
30
+ * @type {string}
31
+ * @memberof ReportFilterOption
32
+ */
33
+ label: string;
34
+ }
35
+
36
+ /**
37
+ * Check if a given object implements the ReportFilterOption interface.
38
+ */
39
+ export function instanceOfReportFilterOption(value: object): value is ReportFilterOption {
40
+ if (!('value' in value) || value['value'] === undefined) return false;
41
+ if (!('label' in value) || value['label'] === undefined) return false;
42
+ return true;
43
+ }
44
+
45
+ export function ReportFilterOptionFromJSON(json: any): ReportFilterOption {
46
+ return ReportFilterOptionFromJSONTyped(json, false);
47
+ }
48
+
49
+ export function ReportFilterOptionFromJSONTyped(json: any, ignoreDiscriminator: boolean): ReportFilterOption {
50
+ if (json == null) {
51
+ return json;
52
+ }
53
+ return {
54
+
55
+ 'value': json['value'],
56
+ 'label': json['label'],
57
+ };
58
+ }
59
+
60
+ export function ReportFilterOptionToJSON(json: any): ReportFilterOption {
61
+ return ReportFilterOptionToJSONTyped(json, false);
62
+ }
63
+
64
+ export function ReportFilterOptionToJSONTyped(value?: ReportFilterOption | null, ignoreDiscriminator: boolean = false): any {
65
+ if (value == null) {
66
+ return value;
67
+ }
68
+
69
+ return {
70
+
71
+ 'value': value['value'],
72
+ 'label': value['label'],
73
+ };
74
+ }
75
+
@@ -0,0 +1,162 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * LMS API
5
+ * LMS API
6
+ *
7
+ * The version of the OpenAPI document: 1.0.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+ import { mapValues } from '../runtime';
16
+ /**
17
+ * Report filters. Only filters listed in the report definition may be supplied; any other non-null filter is rejected with HTTP 400.
18
+ *
19
+ * @export
20
+ * @interface ReportFilters
21
+ */
22
+ export interface ReportFilters {
23
+ /**
24
+ * Case-insensitive match against names, emails and titles.
25
+ * @type {string}
26
+ * @memberof ReportFilters
27
+ */
28
+ search?: string | null;
29
+ /**
30
+ * Role base type, such as Learner or ClientManager.
31
+ * @type {string}
32
+ * @memberof ReportFilters
33
+ */
34
+ userType?: string | null;
35
+ /**
36
+ * Case-insensitive match against the company user field.
37
+ * @type {string}
38
+ * @memberof ReportFilters
39
+ */
40
+ company?: string | null;
41
+ /**
42
+ *
43
+ * @type {string}
44
+ * @memberof ReportFilters
45
+ */
46
+ status?: string | null;
47
+ /**
48
+ * Limits the report to one team portal and its descendants.
49
+ * @type {string}
50
+ * @memberof ReportFilters
51
+ */
52
+ teamPortalId?: string | null;
53
+ /**
54
+ *
55
+ * @type {string}
56
+ * @memberof ReportFilters
57
+ */
58
+ courseId?: string | null;
59
+ /**
60
+ *
61
+ * @type {string}
62
+ * @memberof ReportFilters
63
+ */
64
+ tagId?: string | null;
65
+ /**
66
+ *
67
+ * @type {string}
68
+ * @memberof ReportFilters
69
+ */
70
+ managerId?: string | null;
71
+ /**
72
+ *
73
+ * @type {Date}
74
+ * @memberof ReportFilters
75
+ */
76
+ dateFrom?: Date | null;
77
+ /**
78
+ *
79
+ * @type {Date}
80
+ * @memberof ReportFilters
81
+ */
82
+ dateTo?: Date | null;
83
+ /**
84
+ *
85
+ * @type {number}
86
+ * @memberof ReportFilters
87
+ */
88
+ inactiveDays?: number | null;
89
+ /**
90
+ *
91
+ * @type {number}
92
+ * @memberof ReportFilters
93
+ */
94
+ expiresWithinDays?: number | null;
95
+ /**
96
+ * Either yes or no.
97
+ * @type {string}
98
+ * @memberof ReportFilters
99
+ */
100
+ firstCourseStarted?: string | null;
101
+ }
102
+
103
+ /**
104
+ * Check if a given object implements the ReportFilters interface.
105
+ */
106
+ export function instanceOfReportFilters(value: object): value is ReportFilters {
107
+ return true;
108
+ }
109
+
110
+ export function ReportFiltersFromJSON(json: any): ReportFilters {
111
+ return ReportFiltersFromJSONTyped(json, false);
112
+ }
113
+
114
+ export function ReportFiltersFromJSONTyped(json: any, ignoreDiscriminator: boolean): ReportFilters {
115
+ if (json == null) {
116
+ return json;
117
+ }
118
+ return {
119
+
120
+ 'search': json['search'] == null ? undefined : json['search'],
121
+ 'userType': json['user_type'] == null ? undefined : json['user_type'],
122
+ 'company': json['company'] == null ? undefined : json['company'],
123
+ 'status': json['status'] == null ? undefined : json['status'],
124
+ 'teamPortalId': json['team_portal_id'] == null ? undefined : json['team_portal_id'],
125
+ 'courseId': json['course_id'] == null ? undefined : json['course_id'],
126
+ 'tagId': json['tag_id'] == null ? undefined : json['tag_id'],
127
+ 'managerId': json['manager_id'] == null ? undefined : json['manager_id'],
128
+ 'dateFrom': json['date_from'] == null ? undefined : (new Date(json['date_from'])),
129
+ 'dateTo': json['date_to'] == null ? undefined : (new Date(json['date_to'])),
130
+ 'inactiveDays': json['inactive_days'] == null ? undefined : json['inactive_days'],
131
+ 'expiresWithinDays': json['expires_within_days'] == null ? undefined : json['expires_within_days'],
132
+ 'firstCourseStarted': json['first_course_started'] == null ? undefined : json['first_course_started'],
133
+ };
134
+ }
135
+
136
+ export function ReportFiltersToJSON(json: any): ReportFilters {
137
+ return ReportFiltersToJSONTyped(json, false);
138
+ }
139
+
140
+ export function ReportFiltersToJSONTyped(value?: ReportFilters | null, ignoreDiscriminator: boolean = false): any {
141
+ if (value == null) {
142
+ return value;
143
+ }
144
+
145
+ return {
146
+
147
+ 'search': value['search'],
148
+ 'user_type': value['userType'],
149
+ 'company': value['company'],
150
+ 'status': value['status'],
151
+ 'team_portal_id': value['teamPortalId'],
152
+ 'course_id': value['courseId'],
153
+ 'tag_id': value['tagId'],
154
+ 'manager_id': value['managerId'],
155
+ 'date_from': value['dateFrom'] == null ? value['dateFrom'] : value['dateFrom'].toISOString().substring(0,10),
156
+ 'date_to': value['dateTo'] == null ? value['dateTo'] : value['dateTo'].toISOString().substring(0,10),
157
+ 'inactive_days': value['inactiveDays'],
158
+ 'expires_within_days': value['expiresWithinDays'],
159
+ 'first_course_started': value['firstCourseStarted'],
160
+ };
161
+ }
162
+