@partium/js-sdk 13.0.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 (269) hide show
  1. package/LICENSE.txt +100 -0
  2. package/README.md +18 -0
  3. package/core/constants/constants.d.ts +12 -0
  4. package/core/constants/constants.js +2 -0
  5. package/core/decorators/injection-identifier.d.ts +10 -0
  6. package/core/decorators/injection-identifier.js +2 -0
  7. package/core/factories/paginated-request-service.factory.d.ts +22 -0
  8. package/core/factories/paginated-request-service.factory.js +2 -0
  9. package/core/index.d.ts +47 -0
  10. package/core/index.js +2 -0
  11. package/core/integration-defaults/http/fetch-api-http-error-helper.d.ts +16 -0
  12. package/core/integration-defaults/http/fetch-api-http-error-helper.js +2 -0
  13. package/core/integration-defaults/http/file-transfer/axios-file-transfer.service.d.ts +35 -0
  14. package/core/integration-defaults/http/file-transfer/axios-file-transfer.service.js +2 -0
  15. package/core/integration-defaults/http/file-transfer/fetch-api-file-transfer.service.d.ts +47 -0
  16. package/core/integration-defaults/http/file-transfer/fetch-api-file-transfer.service.js +2 -0
  17. package/core/integration-defaults/http/handle-axios-error-helper.d.ts +17 -0
  18. package/core/integration-defaults/http/handle-axios-error-helper.js +2 -0
  19. package/core/integration-defaults/http/https-client/axios-https-client.service.d.ts +83 -0
  20. package/core/integration-defaults/http/https-client/axios-https-client.service.js +2 -0
  21. package/core/integration-defaults/http/https-client/fetch-api-https-client.service.d.ts +85 -0
  22. package/core/integration-defaults/http/https-client/fetch-api-https-client.service.js +2 -0
  23. package/core/integration-defaults/http/js-oauth-keycloak-https.service.d.ts +8 -0
  24. package/core/integration-defaults/http/js-oauth-keycloak-https.service.js +2 -0
  25. package/core/integration-defaults/js-p-file.d.ts +8 -0
  26. package/core/integration-defaults/js-p-file.js +2 -0
  27. package/core/integration-defaults/session/js-oauth-api-key-session.service.d.ts +76 -0
  28. package/core/integration-defaults/session/js-oauth-api-key-session.service.js +2 -0
  29. package/core/integration-defaults/session/js-oauth-keycloak-auth-config.d.ts +28 -0
  30. package/core/integration-defaults/session/js-oauth-keycloak-auth-config.js +2 -0
  31. package/core/integration-defaults/session/js-oauth-keycloak-session.service.d.ts +82 -0
  32. package/core/integration-defaults/session/js-oauth-keycloak-session.service.js +2 -0
  33. package/core/integration-defaults/web-device-status.service.d.ts +24 -0
  34. package/core/integration-defaults/web-device-status.service.js +2 -0
  35. package/core/integration-defaults/web-file.service.d.ts +9 -0
  36. package/core/integration-defaults/web-file.service.js +2 -0
  37. package/core/integration-defaults/web-indexeddb.service.d.ts +19 -0
  38. package/core/integration-defaults/web-indexeddb.service.js +2 -0
  39. package/core/integration-defaults/web-local-storage.service.d.ts +157 -0
  40. package/core/integration-defaults/web-local-storage.service.js +2 -0
  41. package/core/models/api-object.d.ts +7 -0
  42. package/core/models/api-object.js +2 -0
  43. package/core/models/auth-config.d.ts +38 -0
  44. package/core/models/auth-config.js +2 -0
  45. package/core/models/device-info.d.ts +62 -0
  46. package/core/models/device-info.js +2 -0
  47. package/core/models/error.d.ts +70 -0
  48. package/core/models/error.js +2 -0
  49. package/core/models/formatted-string.d.ts +9 -0
  50. package/core/models/formatted-string.js +2 -0
  51. package/core/models/i18n-map.d.ts +34 -0
  52. package/core/models/i18n-map.js +2 -0
  53. package/core/models/i18n-string.d.ts +8 -0
  54. package/core/models/i18n-string.js +2 -0
  55. package/core/models/log.d.ts +130 -0
  56. package/core/models/log.js +2 -0
  57. package/core/models/organization.d.ts +121 -0
  58. package/core/models/organization.js +2 -0
  59. package/core/models/p-file.d.ts +17 -0
  60. package/core/models/p-file.js +2 -0
  61. package/core/models/paginated-list.d.ts +23 -0
  62. package/core/models/paginated-list.js +2 -0
  63. package/core/models/partium-config.d.ts +31 -0
  64. package/core/models/partium-config.js +2 -0
  65. package/core/models/user-token.d.ts +16 -0
  66. package/core/models/user-token.js +2 -0
  67. package/core/models/user.d.ts +48 -0
  68. package/core/models/user.js +2 -0
  69. package/core/services/backend-status.service.d.ts +46 -0
  70. package/core/services/backend-status.service.js +2 -0
  71. package/core/services/base-login-init.service.d.ts +32 -0
  72. package/core/services/base-login-init.service.js +2 -0
  73. package/core/services/base.service.d.ts +31 -0
  74. package/core/services/base.service.js +2 -0
  75. package/core/services/device-status.service.interface.d.ts +36 -0
  76. package/core/services/device-status.service.interface.js +2 -0
  77. package/core/services/file.service.interface.d.ts +24 -0
  78. package/core/services/file.service.interface.js +2 -0
  79. package/core/services/http/file-transfer/file-transfer.service.interface.d.ts +57 -0
  80. package/core/services/http/file-transfer/file-transfer.service.interface.js +2 -0
  81. package/core/services/http/https-client/https-client.service.interface.d.ts +96 -0
  82. package/core/services/http/https-client/https-client.service.interface.js +2 -0
  83. package/core/services/http/https.service.interface.d.ts +164 -0
  84. package/core/services/http/https.service.interface.js +2 -0
  85. package/core/services/http/oauth-https.service.d.ts +120 -0
  86. package/core/services/http/oauth-https.service.js +2 -0
  87. package/core/services/local-storage.service.interface.d.ts +221 -0
  88. package/core/services/local-storage.service.interface.js +2 -0
  89. package/core/services/log.service.d.ts +48 -0
  90. package/core/services/log.service.js +2 -0
  91. package/core/services/organization.service.d.ts +48 -0
  92. package/core/services/organization.service.js +2 -0
  93. package/core/services/paginated-request.service.d.ts +104 -0
  94. package/core/services/paginated-request.service.js +2 -0
  95. package/core/services/recent-parts.service.d.ts +59 -0
  96. package/core/services/recent-parts.service.js +2 -0
  97. package/core/services/service-provider.d.ts +58 -0
  98. package/core/services/service-provider.js +2 -0
  99. package/core/services/session/oauth-session.service.d.ts +76 -0
  100. package/core/services/session/oauth-session.service.js +2 -0
  101. package/core/services/session/session.service.interface.d.ts +138 -0
  102. package/core/services/session/session.service.interface.js +2 -0
  103. package/core/utils/general-helper.d.ts +35 -0
  104. package/core/utils/general-helper.js +2 -0
  105. package/data/index.d.ts +28 -0
  106. package/data/index.js +2 -0
  107. package/data/models/announcement.d.ts +30 -0
  108. package/data/models/announcement.js +2 -0
  109. package/data/models/assembly-hierarchy-node-breadcrumb.d.ts +10 -0
  110. package/data/models/assembly-hierarchy-node-breadcrumb.js +2 -0
  111. package/data/models/assembly-hierarchy-node.d.ts +16 -0
  112. package/data/models/assembly-hierarchy-node.js +2 -0
  113. package/data/models/attribute.d.ts +46 -0
  114. package/data/models/attribute.js +2 -0
  115. package/data/models/csa-request-search.d.ts +18 -0
  116. package/data/models/csa-request-search.js +2 -0
  117. package/data/models/csa-request-status.d.ts +16 -0
  118. package/data/models/csa-request-status.js +2 -0
  119. package/data/models/csa-request.d.ts +41 -0
  120. package/data/models/csa-request.js +2 -0
  121. package/data/models/document.d.ts +12 -0
  122. package/data/models/document.js +2 -0
  123. package/data/models/filter-key.d.ts +12 -0
  124. package/data/models/filter-key.js +2 -0
  125. package/data/models/filter-option-value.d.ts +18 -0
  126. package/data/models/filter-option-value.js +2 -0
  127. package/data/models/image.d.ts +36 -0
  128. package/data/models/image.js +2 -0
  129. package/data/models/inquiry.d.ts +32 -0
  130. package/data/models/inquiry.js +2 -0
  131. package/data/models/mounting-location.d.ts +32 -0
  132. package/data/models/mounting-location.js +2 -0
  133. package/data/models/multiple-expert-searches.d.ts +9 -0
  134. package/data/models/multiple-expert-searches.js +2 -0
  135. package/data/models/part-enrichment-data.d.ts +24 -0
  136. package/data/models/part-enrichment-data.js +2 -0
  137. package/data/models/part.d.ts +168 -0
  138. package/data/models/part.js +2 -0
  139. package/data/models/shopping-cart.d.ts +43 -0
  140. package/data/models/shopping-cart.js +2 -0
  141. package/data/services/announcement.service.d.ts +68 -0
  142. package/data/services/announcement.service.js +2 -0
  143. package/data/services/assembly-hierarchy-nodes.service.d.ts +113 -0
  144. package/data/services/assembly-hierarchy-nodes.service.js +2 -0
  145. package/data/services/csa-helper.service.d.ts +32 -0
  146. package/data/services/csa-helper.service.js +2 -0
  147. package/data/services/customer-service-assistance.service.d.ts +181 -0
  148. package/data/services/customer-service-assistance.service.js +2 -0
  149. package/data/services/filter.service.d.ts +97 -0
  150. package/data/services/filter.service.js +2 -0
  151. package/data/services/inquiry.service.d.ts +54 -0
  152. package/data/services/inquiry.service.js +2 -0
  153. package/data/services/part-attribute.service.d.ts +42 -0
  154. package/data/services/part-attribute.service.js +2 -0
  155. package/data/services/part-enrichment.service.d.ts +32 -0
  156. package/data/services/part-enrichment.service.js +2 -0
  157. package/data/services/part.service.d.ts +121 -0
  158. package/data/services/part.service.js +2 -0
  159. package/data/services/related-parts.service.d.ts +75 -0
  160. package/data/services/related-parts.service.js +2 -0
  161. package/data/services/shopping-cart.service.d.ts +150 -0
  162. package/data/services/shopping-cart.service.js +2 -0
  163. package/find/index.d.ts +35 -0
  164. package/find/index.js +2 -0
  165. package/find/models/assets/asset.d.ts +24 -0
  166. package/find/models/assets/asset.js +2 -0
  167. package/find/models/search-filter.d.ts +87 -0
  168. package/find/models/search-filter.js +2 -0
  169. package/find/models/search-input.d.ts +39 -0
  170. package/find/models/search-input.js +2 -0
  171. package/find/models/search-output.d.ts +10 -0
  172. package/find/models/search-output.js +2 -0
  173. package/find/models/search-result-status.d.ts +33 -0
  174. package/find/models/search-result-status.js +2 -0
  175. package/find/models/search-session-log-object.d.ts +16 -0
  176. package/find/models/search-session-log-object.js +2 -0
  177. package/find/models/search-status/cv-search-status.d.ts +20 -0
  178. package/find/models/search-status/cv-search-status.js +2 -0
  179. package/find/models/search-status/search-filter-status.d.ts +33 -0
  180. package/find/models/search-status/search-filter-status.js +2 -0
  181. package/find/models/search-status/search-status.d.ts +34 -0
  182. package/find/models/search-status/search-status.js +2 -0
  183. package/find/models/search-status/tag-search-status.d.ts +16 -0
  184. package/find/models/search-status/tag-search-status.js +2 -0
  185. package/find/models/search-status/text-search-status.d.ts +15 -0
  186. package/find/models/search-status/text-search-status.js +2 -0
  187. package/find/models/search-tag.d.ts +12 -0
  188. package/find/models/search-tag.js +2 -0
  189. package/find/models/smart-filter.d.ts +25 -0
  190. package/find/models/smart-filter.js +2 -0
  191. package/find/models/tagable/i18n-tagable.d.ts +10 -0
  192. package/find/models/tagable/i18n-tagable.js +2 -0
  193. package/find/models/tagable/tagable-base.d.ts +11 -0
  194. package/find/models/tagable/tagable-base.js +2 -0
  195. package/find/models/tagable/tagable.d.ts +10 -0
  196. package/find/models/tagable/tagable.js +2 -0
  197. package/find/models/text-search-config.d.ts +57 -0
  198. package/find/models/text-search-config.js +2 -0
  199. package/find/models/text-search-manipulator.d.ts +46 -0
  200. package/find/models/text-search-manipulator.js +2 -0
  201. package/find/models/text-search-result-item/text-search-error.d.ts +7 -0
  202. package/find/models/text-search-result-item/text-search-error.js +2 -0
  203. package/find/models/text-search-result-item/text-search-result-item-document.d.ts +10 -0
  204. package/find/models/text-search-result-item/text-search-result-item-document.js +2 -0
  205. package/find/models/text-search-result-item/text-search-result-item-part.d.ts +12 -0
  206. package/find/models/text-search-result-item/text-search-result-item-part.js +2 -0
  207. package/find/models/text-search-result-item/text-search-result-item-recent-query.d.ts +10 -0
  208. package/find/models/text-search-result-item/text-search-result-item-recent-query.js +2 -0
  209. package/find/models/text-search-result-item/text-search-result-item-unknown.d.ts +12 -0
  210. package/find/models/text-search-result-item/text-search-result-item-unknown.js +2 -0
  211. package/find/models/text-search-result-item/text-search-result-item.d.ts +16 -0
  212. package/find/models/text-search-result-item/text-search-result-item.js +2 -0
  213. package/find/services/asset.service.d.ts +160 -0
  214. package/find/services/asset.service.js +2 -0
  215. package/find/services/filter-uploaders/filter-uploader.d.ts +13 -0
  216. package/find/services/filter-uploaders/filter-uploader.js +2 -0
  217. package/find/services/filter-uploaders/update-filters-uploader.d.ts +17 -0
  218. package/find/services/filter-uploaders/update-filters-uploader.js +2 -0
  219. package/find/services/filter-uploaders/update-filters.model.d.ts +19 -0
  220. package/find/services/filter-uploaders/update-filters.model.js +2 -0
  221. package/find/services/search/cv-search.service.d.ts +103 -0
  222. package/find/services/search/cv-search.service.js +2 -0
  223. package/find/services/search/recent-text-search-queries.service.d.ts +89 -0
  224. package/find/services/search/recent-text-search-queries.service.js +2 -0
  225. package/find/services/search/search-result.service.d.ts +142 -0
  226. package/find/services/search/search-result.service.js +2 -0
  227. package/find/services/search/search.service.d.ts +291 -0
  228. package/find/services/search/search.service.js +2 -0
  229. package/find/services/search/tag-search.service.d.ts +66 -0
  230. package/find/services/search/tag-search.service.js +2 -0
  231. package/find/services/search/text-search.service.d.ts +116 -0
  232. package/find/services/search/text-search.service.js +2 -0
  233. package/find/services/search-filter.service.d.ts +223 -0
  234. package/find/services/search-filter.service.js +2 -0
  235. package/find/utils/search-helper.d.ts +14 -0
  236. package/find/utils/search-helper.js +2 -0
  237. package/gen/sdk-version.d.ts +2 -0
  238. package/gen/sdk-version.js +2 -0
  239. package/index.d.ts +121 -0
  240. package/index.js +2 -0
  241. package/management/index.d.ts +5 -0
  242. package/management/index.js +2 -0
  243. package/management/models/api-key-list-response.d.ts +10 -0
  244. package/management/models/api-key-list-response.js +2 -0
  245. package/management/models/api-key-type.d.ts +5 -0
  246. package/management/models/api-key-type.js +2 -0
  247. package/management/models/api-key.d.ts +4 -0
  248. package/management/models/api-key.js +2 -0
  249. package/management/services/api-key.service.d.ts +39 -0
  250. package/management/services/api-key.service.js +2 -0
  251. package/ocr/index.d.ts +4 -0
  252. package/ocr/index.js +2 -0
  253. package/ocr/models/detect-response.d.ts +5 -0
  254. package/ocr/models/detect-response.js +2 -0
  255. package/ocr/models/detected-text-entry.d.ts +5 -0
  256. package/ocr/models/detected-text-entry.js +2 -0
  257. package/ocr/services/ocr.service.d.ts +36 -0
  258. package/ocr/services/ocr.service.js +2 -0
  259. package/package.json +45 -0
  260. package/user-data/index.d.ts +5 -0
  261. package/user-data/index.js +2 -0
  262. package/user-data/models/part-with-nullable.d.ts +5 -0
  263. package/user-data/models/part-with-nullable.js +2 -0
  264. package/user-data/models/request-list/request-list.d.ts +16 -0
  265. package/user-data/models/request-list/request-list.js +2 -0
  266. package/user-data/services/favorite/favorite.service.d.ts +45 -0
  267. package/user-data/services/favorite/favorite.service.js +2 -0
  268. package/user-data/services/request-list/request-list.service.d.ts +97 -0
  269. package/user-data/services/request-list/request-list.service.js +2 -0
@@ -0,0 +1,223 @@
1
+ // Copyright © 2022-2025 Partium, Inc. DBA Partium
2
+ import { BehaviorSubject, Observable } from 'rxjs';
3
+ import { BaseService } from '../../core/services/base.service';
4
+ import { ServiceProvider } from '../../core/services/service-provider';
5
+ import { AssemblyHierarchyNode } from '../../data/models/assembly-hierarchy-node';
6
+ import { KvpHardFilter, SearchFilter } from '../models/search-filter';
7
+ import { SearchStatus } from '../models/search-status/search-status';
8
+ /**
9
+ * Manages search filters for the current search session.
10
+ * Provides methods that manipulate and upload the filter status.
11
+ *
12
+ * @deprecated use SearchService.performSearch instead
13
+ */
14
+ export interface SearchFilterService {
15
+ /**
16
+ * Get an observable that always emits the currently set Search-Filters
17
+ *
18
+ * @returns Observable that emits an oAssemblyHierarchyNodesServiceImplSearch-Filters, whenever
19
+ * the filters are updated
20
+ *
21
+ * @deprecated use SearchService.performSearch instead
22
+ */
23
+ getFilters(): Observable<{
24
+ [filterKey: string]: SearchFilter;
25
+ }>;
26
+ /**
27
+ * Get an observable that always emits the currently set Search-Filters
28
+ *
29
+ * @deprecated this method is deprecated in favor of getFilters
30
+ *
31
+ * @returns Observable that emits an array of the current Search-Filters, whenever
32
+ * the filters are updated
33
+ */
34
+ getSearchFilters(): Observable<SearchFilter[]>;
35
+ /**
36
+ * Get an observable that always emits the currently excluded HierarchAssemblyHierarchyNodesServiceImpl
37
+ *
38
+ * @deprecated this method is deprecated in favor of getFilters containing the excluded node id's as part of the filter objects
39
+ * @returns Observable that emits an array of the currently excluded Hierarchy-Filters, whenever
40
+ * the filters are updated
41
+ */
42
+ getExcludedHierarchyFilterNodes(): Observable<{
43
+ [id: string]: AssemblyHierarchyNode;
44
+ }>;
45
+ /**
46
+ * Change the current Search-Filters in the search-session to the one that are passed as filters map.
47
+ * This removes any previously set search filters and replaces them with the passed filters.
48
+ *
49
+ * @param filters the search filters map
50
+ * @returns Observable that resolves with the request to the backend.
51
+ *
52
+ * @deprecated use SearchService.performSearch instead
53
+ */
54
+ setFilters(filters: {
55
+ [filterKey: string]: SearchFilter;
56
+ }): Observable<void>;
57
+ /**
58
+ * Change the current Search-Filters in the search-session to the one that are passed
59
+ * (remove existing ones)
60
+ * @deprecated this method will be removed in future SDK releases, please use "setFilters" instead
61
+ *
62
+ * @param filters the array of search filters to set. multiple filters with the same filter key will be merged and de-duplicated
63
+ * @returns Observable that resolves with the request to the backend.
64
+ */
65
+ setSearchFilters(filters: Array<SearchFilter>): Observable<void>;
66
+ /**
67
+ * Update the current Search-Filters in the search-session to the one that are passed
68
+ * (removes existing ones)
69
+ *
70
+ * @deprecated this method will be removed in future SDK releases, please use "setFilters" instead
71
+ *
72
+ *
73
+ * @param filtersAdd the array of search filters to add (only considers HierarchyFilter)
74
+ * @param filtersRemove the array of search filters to remove (only considers HierarchyFilter)
75
+ * @returns Observable that resolves with the request to the backend.
76
+ */
77
+ updateSearchFilters(filtersAdd: Array<SearchFilter>, filtersRemove: Array<SearchFilter>): Observable<void>;
78
+ /**
79
+ * Add a single Search-Filter to the current search-session
80
+ *
81
+ * @deprecated this method will be removed in future SDK releases, please use "setFilters" instead
82
+ *
83
+ * @param filter search filters to add
84
+ * @returns Observable that resolves with the request to the backend.
85
+ */
86
+ addSearchFilter(filter: SearchFilter): Observable<void>;
87
+ /**
88
+ * Remove a single Search-Filter to the current search-session
89
+ *
90
+ * @deprecated this method will be removed in future SDK releases, please use "setFilters" instead
91
+ *
92
+ * @param filter search filters to remove (removes filters with same filter key)
93
+ * @returns Observable that resolves with the request to the backend.
94
+ */
95
+ removeSearchFilter(filter: SearchFilter): Observable<void>;
96
+ /**
97
+ * Maps and returns the selected hard filter values and hierarchy filter values into the right structure to be uploaded by the uploadSearchFilters() method:
98
+ *
99
+ * @param selectedHardFiltersKeyWithValues the hard filters with the selected values type Array<FilterKeyWithValues>
100
+ * @param hierarchy the hierarchy filter values
101
+ * @returns an object with the filters , where the hardfilter id is the key of each of the filter objects { [filterKey: string]: SearchFilter }
102
+ *
103
+ * @deprecated use SearchService.performSearch instead
104
+ */
105
+ mapFiltersToUploadFilterFormat(selectedHardFiltersKeyWithValues: Array<KvpHardFilter>, hierarchy: {
106
+ exclude: string[];
107
+ include: string[];
108
+ key: string;
109
+ }): {
110
+ [filterKey: string]: SearchFilter;
111
+ };
112
+ /**
113
+ * Checks if the filters have already been loaded after the polling mechanism. This can be used when loading a search session to await the filter input being correctly loaded
114
+ * @deprecated this is not relevant for the new search
115
+ * @returns an observable with the boolean type
116
+ */
117
+ getSearchInputFiltersLoaded(): Observable<boolean>;
118
+ }
119
+ export declare class SearchFilterServiceImpl extends BaseService implements SearchFilterService {
120
+ searchFiltersLoaded$: BehaviorSubject<boolean>;
121
+ private httpsService;
122
+ private searchResultService;
123
+ private assemblyHierarchyNodeService;
124
+ private searchFilterUploader;
125
+ private searchStatus;
126
+ private searchFilters$;
127
+ private searchFiltersMap$;
128
+ private excludedHierarchyFilterNodes$;
129
+ constructor(serviceProvider: ServiceProvider);
130
+ onCreate(): void;
131
+ getSearchInputFiltersLoaded(): Observable<boolean>;
132
+ reset(searchStatus: SearchStatus): void;
133
+ /**
134
+ * Set the search filters to a certain status.
135
+ * This can happen if an old search-session is loaded or a change of the search-input
136
+ * was initiated on the backend-side.
137
+ *
138
+ * @param searchStatus the search-status object
139
+ * @param filters the filters object
140
+ */
141
+ setStatusExternal(searchStatus: SearchStatus, filters?: {
142
+ [filterKey: string]: SearchFilter;
143
+ }): void;
144
+ getFilters(): Observable<{
145
+ [filterKey: string]: SearchFilter;
146
+ }>;
147
+ /**
148
+ * Maps and returns the selected hard filter values and hierarchy filter values into the right structure to be uploaded by the uploadSearchFilters() method:
149
+ *
150
+ * @param selectedHardFiltersKeyWithValues the hard filters with the selected values type Array<FilterKeyWithValues>
151
+ * @param hierarchy the hierarchy filter values
152
+ * @returns an object with the filters , where the hardfilter id is the key of each of the filter objects { [filterKey: string]: SearchFilter }
153
+ *
154
+ *
155
+ * The structure should be something similar to this:
156
+ *
157
+ hierarchy-partium-id: {
158
+ "key": "hierarchy-partium-id",
159
+ "type": "includeExclude",
160
+ "include": [
161
+ "2d102f6a-343a-43ff-9a05-8eb84715a302"
162
+ ],
163
+ "exclude": []
164
+ }
165
+ en/2392692c-dd1f-481e-97cd-3fcd971158b4": {
166
+ "key": "en/2392692c-dd1f-481e-97cd-3fcd971158b4",
167
+ "type": "kvpHardFilter",
168
+ "values": [
169
+ "25A",
170
+ "3A"
171
+ ],
172
+ "label": "Amperage"
173
+ }
174
+ */
175
+ mapFiltersToUploadFilterFormat(hardFilters: Array<KvpHardFilter>, hierarchy: {
176
+ exclude: string[];
177
+ include: string[];
178
+ key: string;
179
+ }): {
180
+ [filterKey: string]: SearchFilter;
181
+ };
182
+ /**
183
+ * @deprecated this method is deprecated in favor of getFilters
184
+ */
185
+ getSearchFilters(): Observable<SearchFilter[]>;
186
+ /**
187
+ * @deprecated this method is deprecated in favor of getFilters containing the excluded node id's as part of the filter objects
188
+ */
189
+ getExcludedHierarchyFilterNodes(): Observable<{
190
+ [id: string]: AssemblyHierarchyNode;
191
+ }>;
192
+ setFilters(filters: {
193
+ [filterKey: string]: SearchFilter;
194
+ }): Observable<void>;
195
+ /**
196
+ * @deprecated this method is deprecated in favor of setFilters
197
+ */
198
+ setSearchFilters(filters: Array<SearchFilter>): Observable<void>;
199
+ /**
200
+ * helper function to merge multiple filters with same key to one filter
201
+ * @param filters array of search filters
202
+ * @returns dict of search filters grouped by their filter key
203
+ */
204
+ private mergeFilters;
205
+ /**
206
+ * @deprecated this method is deprecated in favor of setFilters
207
+ */
208
+ updateSearchFilters(filtersAdd: Array<SearchFilter>, filtersRemove: Array<SearchFilter>): Observable<void>;
209
+ /**
210
+ * @deprecated this method is deprecated in favor of setFilters
211
+ */
212
+ addSearchFilter(filter: SearchFilter): Observable<void>;
213
+ /**
214
+ * @deprecated this method is deprecated in favor of setFilters
215
+ */
216
+ removeSearchFilter(filter: SearchFilter): Observable<void>;
217
+ /**
218
+ * Send the Request for updating the Search-Filters to the backend
219
+ * @param filters dict of all Search-Filters to set in the search
220
+ * @returns Observable that resolves with the request to the backend.
221
+ */
222
+ private uploadSearchFilters;
223
+ }
@@ -0,0 +1,2 @@
1
+ // Copyright © 2022-2025 Partium, Inc. DBA Partium
2
+ "use strict";var __extends=this&&this.__extends||function(){var e=function(r,t){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,r){e.__proto__=r}||function(e,r){for(var t in r)Object.prototype.hasOwnProperty.call(r,t)&&(e[t]=r[t])},e(r,t)};return function(r,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function s(){this.constructor=r}e(r,t),r.prototype=null===t?Object.create(t):(s.prototype=t.prototype,new s)}}(),__decorate=this&&this.__decorate||function(e,r,t,s){var i,a=arguments.length,c=a<3?r:null===s?s=Object.getOwnPropertyDescriptor(r,t):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)c=Reflect.decorate(e,r,t,s);else for(var l=e.length-1;l>=0;l--)(i=e[l])&&(c=(a<3?i(c):a>3?i(r,t,c):i(r,t))||c);return a>3&&c&&Object.defineProperty(r,t,c),c},__spreadArray=this&&this.__spreadArray||function(e,r,t){if(t||2===arguments.length)for(var s,i=0,a=r.length;i<a;i++)!s&&i in r||(s||(s=Array.prototype.slice.call(r,0,i)),s[i]=r[i]);return e.concat(s||Array.prototype.slice.call(r))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.SearchFilterServiceImpl=void 0;var rxjs_1=require("rxjs"),operators_1=require("rxjs/operators"),injection_identifier_1=require("../../core/decorators/injection-identifier"),base_service_1=require("../../core/services/base.service"),https_service_interface_1=require("../../core/services/http/https.service.interface"),assembly_hierarchy_nodes_service_1=require("../../data/services/assembly-hierarchy-nodes.service"),search_filter_1=require("../models/search-filter"),update_filters_uploader_1=require("./filter-uploaders/update-filters-uploader"),search_result_service_1=require("./search/search-result.service"),SearchFilterServiceImpl=function(e){function r(r){var t=e.call(this,r)||this;return t.searchFiltersLoaded$=new rxjs_1.BehaviorSubject(!1),t.searchFilters$=new rxjs_1.BehaviorSubject([]),t.searchFiltersMap$=new rxjs_1.BehaviorSubject({}),t.excludedHierarchyFilterNodes$=new rxjs_1.BehaviorSubject({}),t}return __extends(r,e),r.prototype.onCreate=function(){this.httpsService=this.serviceProvider.getService(https_service_interface_1.HttpsService),this.searchResultService=this.serviceProvider.getService(search_result_service_1.SearchResultService),this.assemblyHierarchyNodeService=this.serviceProvider.getService(assembly_hierarchy_nodes_service_1.AssemblyHierarchyNodesServiceImpl),this.searchFilterUploader=new update_filters_uploader_1.UpdateFiltersUploader(this.httpsService)},r.prototype.getSearchInputFiltersLoaded=function(){return this.searchFiltersLoaded$},r.prototype.reset=function(e){var r,t;this.searchStatus=e,this.searchStatus.filterStatus.filters=[],this.searchStatus.filterStatus.filtersMap={},this.searchStatus.filterStatus.excludedHierarchyNodes={},this.searchFilters$.next([]),this.searchFiltersMap$.next({}),this.searchFiltersLoaded$.next(!1),this.excludedHierarchyFilterNodes$.next({}),null===(r=this.searchFilterUploader)||void 0===r||r.reset(),null===(t=this.searchResultService)||void 0===t||t.startPollingForResults()},r.prototype.setStatusExternal=function(e,r){this.searchStatus=e,r&&(this.searchStatus.filterStatus.filters=Object.values(r),this.searchStatus.filterStatus.filtersMap=r,this.searchFilters$.next(this.searchStatus.filterStatus.filters),this.searchFiltersMap$.next(this.searchStatus.filterStatus.filtersMap)),this.searchFiltersLoaded$.next(!0)},r.prototype.getFilters=function(){return this.searchFiltersMap$.asObservable()},r.prototype.mapFiltersToUploadFilterFormat=function(e,r){var t={};return r&&(t[r.key]=new search_filter_1.HierarchyPartiumIdFilter(r.include,r.exclude)),e.length>0&&e.forEach((function(e){t[e.key]=e})),t},r.prototype.getSearchFilters=function(){return this.searchFilters$.asObservable()},r.prototype.getExcludedHierarchyFilterNodes=function(){return this.excludedHierarchyFilterNodes$.asObservable()},r.prototype.setFilters=function(e){var r=this;return this.uploadSearchFilters(e).pipe((0,operators_1.mergeMap)((function(){var t=e[search_filter_1.HierarchyPartiumIdFilter.KEY];return t&&t.exclude&&t.exclude.length?r.assemblyHierarchyNodeService.getAssemblyHierarchyNodes(t.exclude):(0,rxjs_1.of)([])})),(0,operators_1.map)((function(t){r.searchStatus.filterStatus.filters=Object.values(e),r.searchStatus.filterStatus.filtersMap=e,r.searchStatus.filterStatus.excludedHierarchyNodes=t.reduce((function(e,r){return e[r.partiumId]=r,e}),{}),console.log("NEW filter state: ",{filters:e,excludedNodes:Object.keys(r.searchStatus.filterStatus.excludedHierarchyNodes)}),r.excludedHierarchyFilterNodes$.next(r.searchStatus.filterStatus.excludedHierarchyNodes),r.searchFilters$.next(r.searchStatus.filterStatus.filters),r.searchFiltersMap$.next(r.searchStatus.filterStatus.filtersMap)})))},r.prototype.setSearchFilters=function(e){console.log("SearchFilterService - setSearchFilters():",e);var r=this.mergeFilters(e);return this.setFilters(r)},r.prototype.mergeFilters=function(e){for(var r={},t=0,s=e;t<s.length;t++){var i=s[t];if(i instanceof search_filter_1.HierarchyFilter){var a=Array.isArray(i.value)?i.value:[i.value];(c=r[i.key])?c.include=__spreadArray([],Array.from(new Set(__spreadArray(__spreadArray([],c.include,!0),a,!0))),!0):r[i.key]=new search_filter_1.HierarchyPartiumIdFilter(a,[])}else if(i instanceof search_filter_1.HierarchyPartiumIdFilter){(c=r[i.key])?(c.include=__spreadArray([],Array.from(new Set(__spreadArray(__spreadArray([],c.include,!0),i.include,!0))),!0),c.exclude=__spreadArray([],Array.from(new Set(__spreadArray(__spreadArray([],c.exclude,!0),i.exclude,!0))),!0)):r[i.key]=new search_filter_1.HierarchyPartiumIdFilter(i.include,i.exclude)}else if(i instanceof search_filter_1.CategoryFilter){var c;if(c=r[i.key]){a=Array.isArray(i.value)?i.value:[i.value];var l=Array.isArray(c.value)?c.value:[c.value];c.value=__spreadArray([],Array.from(new Set(__spreadArray(__spreadArray([],l,!0),a,!0))),!0)}else r[i.key]=i}}return r},r.prototype.updateSearchFilters=function(e,r){console.log("SearchFilterService - updateSearchFilters( filtersAdd: %s ; filtersRemove: %s )",e,r);var t=e.filter((function(e){return e instanceof search_filter_1.HierarchyFilter})).reduce((function(e,r){var t=Array.isArray(r.value)?r.value:[r.value];return __spreadArray(__spreadArray([],e,!0),t,!0)}),[]),s=r.filter((function(e){return e instanceof search_filter_1.HierarchyFilter})).reduce((function(e,r){var t=Array.isArray(r.value)?r.value:[r.value];return __spreadArray(__spreadArray([],e,!0),t,!0)}),[]),i=new search_filter_1.HierarchyPartiumIdFilter(t,s);return this.setSearchFilters([i])},r.prototype.addSearchFilter=function(e){console.log("SearchFilterService - addSearchFilter():",e);var r=__spreadArray(__spreadArray([],this.searchStatus.filterStatus.filters,!0),[e],!1);return this.setSearchFilters(r)},r.prototype.removeSearchFilter=function(e){console.log("SearchFilterService - removeSearchFilter(): ",e);var r=__spreadArray([],this.searchStatus.filterStatus.filters,!0),t=r.findIndex((function(r){return r.key===e.key}));return t>-1&&r.splice(t,1),this.setSearchFilters(r)},r.prototype.uploadSearchFilters=function(e){var r=this;return console.log("SearchFilterService - uploadSearchFilters() .."),this.searchFilterUploader.uploadFilters(e,this.searchStatus.searchSessionID).pipe((0,operators_1.tap)((function(){r.searchResultService.startPollingForResults()})))},r=__decorate([(0,injection_identifier_1.InjectionIdentifier)("SearchFilterService")],r)}(base_service_1.BaseService);exports.SearchFilterServiceImpl=SearchFilterServiceImpl;
@@ -0,0 +1,14 @@
1
+ // Copyright © 2022-2025 Partium, Inc. DBA Partium
2
+ import { Observable } from "rxjs";
3
+ import { SearchInput } from "../models/search-input";
4
+ import { SearchEventContext } from "../services/search/search.service";
5
+ import { Part } from "../../data";
6
+ /**
7
+ * Helper function for sync search.
8
+ * Performs an image search based on the given search-input.
9
+ */
10
+ export declare const performImageSearch: (organizationId: string, searchInput: SearchInput, searchEventContext?: SearchEventContext) => Observable<void>;
11
+ /**
12
+ * Load all results of a given searchSessionId
13
+ */
14
+ export declare const getAllResults: (searchSessionId: string, maxPartCount?: number) => Observable<Part[]>;
@@ -0,0 +1,2 @@
1
+ // Copyright © 2022-2025 Partium, Inc. DBA Partium
2
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getAllResults=exports.performImageSearch=void 0;var rxjs_1=require("rxjs"),core_1=require("../../core"),asset_1=require("../models/assets/asset"),__1=require("../.."),data_1=require("../../data"),performImageSearch=function(e,r,t){var s;if(r.searchImageAssetId){var a=new asset_1.Asset(null==r?void 0:r.searchImage);a.referenceId=r.searchImageAssetId,s=__1.Partium.search.cv.performCVObs(a,r.searchImageCropArea)}else s=r.searchImage?__1.Partium.asset.generateAsset(e,r.searchImage,{eventInterface:null==t?void 0:t.eventInterface}).pipe((0,rxjs_1.filter)((function(e){return e.asset.getStatus()===asset_1.ASSET_STATUS.VERIFIED})),(0,rxjs_1.first)(),(0,rxjs_1.mergeMap)((function(e){return __1.Partium.search.cv.performCVObs(e.asset,r.searchImageCropArea)}))):(0,rxjs_1.of)(null);return s.pipe((0,rxjs_1.catchError)((function(e){return e.code===core_1.SDK_ERROR_CODES.INVALID_MULTIPLE_IMAGE_SEARCHES?(console.log("Swallowed INVALID_MULTIPLE_IMAGE_SEARCHES error"),(0,rxjs_1.of)(null)):(0,rxjs_1.throwError)((function(){return e}))})))};exports.performImageSearch=performImageSearch;var getAllResults=function(e,r){return void 0===r&&(r=500),__1.Partium.https.get("search/".concat(e),[{skip:0},{limit:r}]).pipe((0,rxjs_1.map)((function(e){return e&&e.results&&e.results.entities?e.results.entities.map((function(e){return new data_1.Part({name:new core_1.i18nString(e.name),partiumId:e.partiumId,externalId:e.externalId,externalPayload:e.externalPayload,dataOrigin:data_1.DATA_ORIGIN.PARTIAL})})):[]})))};exports.getAllResults=getAllResults;
@@ -0,0 +1,2 @@
1
+ // Copyright © 2022-2025 Partium, Inc. DBA Partium
2
+ export declare const SDK_VERSION_NUMBER = "13.0.0";
@@ -0,0 +1,2 @@
1
+ // Copyright © 2022-2025 Partium, Inc. DBA Partium
2
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.SDK_VERSION_NUMBER=void 0,exports.SDK_VERSION_NUMBER="13.0.0";
package/index.d.ts ADDED
@@ -0,0 +1,121 @@
1
+ // Copyright © 2022-2025 Partium, Inc. DBA Partium
2
+ import { Observable } from 'rxjs';
3
+ import { RecentPartsService, OrganizationService } from './core';
4
+ import { PartiumConfig } from './core/models/partium-config';
5
+ import { Organization } from './core/models/organization';
6
+ import { FileService } from './core/services/file.service.interface';
7
+ import { FileTransferService } from './core/services/http/file-transfer/file-transfer.service.interface';
8
+ import { HttpsService } from './core/services/http/https.service.interface';
9
+ import { LocalStorageService } from './core/services/local-storage.service.interface';
10
+ import { LogService } from './core/services/log.service';
11
+ import { SessionService } from './core/services/session/session.service.interface';
12
+ import { AssemblyHierarchyNodesService, CustomerServiceAssistanceService } from './data';
13
+ import { FilterService } from './data/services/filter.service';
14
+ import { PartAttributeService } from './data/services/part-attribute.service';
15
+ import { PartService } from './data/services/part.service';
16
+ import { RequestListService } from './user-data/services/request-list/request-list.service';
17
+ import { FavoriteService } from './user-data/services/favorite/favorite.service';
18
+ import { AssetService } from './find/services/asset.service';
19
+ import { SearchService } from './find/services/search/search.service';
20
+ import { OcrService } from './ocr';
21
+ import { ShoppingCartService } from './data/services/shopping-cart.service';
22
+ import { InquiryService } from './data/services/inquiry.service';
23
+ import { AnnouncementService } from './data/services/announcement.service';
24
+ import { RelatedPartsService } from './data/services/related-parts.service';
25
+ import { ApiKeyService } from './management';
26
+ import { PartEnrichmentService } from './data/services/part-enrichment.service';
27
+ export declare enum INITIALIZATION_STATUS {
28
+ NOT_INITIALIZED = 0,
29
+ INITIALIZING = 1,
30
+ INITIALIZED = 2,
31
+ INITIALIZATION_ERROR = 3
32
+ }
33
+ /**
34
+ * The main Partium object, that can be imported by other applications and serves as
35
+ * interaction-interface to the whole Partium-JS-SDK.
36
+ * All features that are not exposed via this class can/should not be used from the outside.
37
+ *
38
+ * In order to use the Partium-SDK it has to be configured and initialized via the init-method,
39
+ * that takes a configuration object.
40
+ */
41
+ export declare class Partium {
42
+ private static _serviceProvider;
43
+ private static _initializationStatus$;
44
+ static get search(): SearchService;
45
+ static get asset(): AssetService;
46
+ static get https(): HttpsService;
47
+ static get fileTransfer(): FileTransferService;
48
+ static get session(): SessionService;
49
+ static get assemblyHierarchyNode(): AssemblyHierarchyNodesService;
50
+ static get part(): PartService;
51
+ static get partEnrichment(): PartEnrichmentService;
52
+ static get relatedParts(): RelatedPartsService;
53
+ static get requestList(): RequestListService;
54
+ static get shoppingCart(): ShoppingCartService;
55
+ static get partAttribute(): PartAttributeService;
56
+ static get inquiry(): InquiryService;
57
+ static get announcement(): AnnouncementService;
58
+ static get customerServiceAssistance(): CustomerServiceAssistanceService;
59
+ static get log(): LogService;
60
+ static get file(): FileService;
61
+ static get recentParts(): RecentPartsService;
62
+ static get favorites(): FavoriteService;
63
+ static get filters(): FilterService;
64
+ static get organization(): OrganizationService;
65
+ static get ocr(): OcrService;
66
+ static get apiKey(): ApiKeyService;
67
+ static get localStorage(): LocalStorageService;
68
+ /**
69
+ * Initialize the Partium SDK with a given configuration.
70
+ * The configuration defines what Authentication method is used and which
71
+ * platform-specific implementations of some Services should be used.
72
+ *
73
+ * During the init function also the Partium-Status-Backend is called,
74
+ * to check it's status and the SDK-Version.
75
+ *
76
+ * @param config the partium configuration
77
+ */
78
+ static init(config: PartiumConfig): Observable<any>;
79
+ /**
80
+ * Convenience function to init partium with an API-key and default configuration.
81
+ *
82
+ * During the init function also the Partium-Status-Backend is called,
83
+ * to check it's status and the SDK-Version.
84
+ *
85
+ * @param apiKey the api-key the partium configuration
86
+ */
87
+ static initApiKey(apiKey: string): Observable<any>;
88
+ /**
89
+ * Reset the Partium SDK to uninitialized state
90
+ */
91
+ private static reset;
92
+ /**
93
+ * Returns whether the Partium Service is already initialized or not
94
+ *
95
+ * @returns true if the Partium has already been initialized, false otherwise
96
+ */
97
+ static getInitializationStatus(): Observable<INITIALIZATION_STATUS>;
98
+ /**
99
+ * Returns all Organizations of the currently logged in user.
100
+ *
101
+ * @returns a promise that resolves with an array with all available organizations for a customer. Returns null if not initialized/logged in
102
+ */
103
+ static getOrganizations(): Promise<Array<Organization>>;
104
+ /**
105
+ * Set organization with the given identifier as the current organization to be used in the session.
106
+ *
107
+ * @param organizationIdentifier can be organization-id or organization-name
108
+ * @returns void if organization is found, otherwise throws an error
109
+ */
110
+ static useOrganization(organizationIdentifier: string): Promise<void>;
111
+ /**
112
+ * Get a service from the service-singleton provider
113
+ *
114
+ * @param service the Service-class to get an instance of
115
+ * @returns singleton instance of the requested service
116
+ */
117
+ private static getService;
118
+ static isInitialized(): boolean;
119
+ private static ensureInitialized;
120
+ private static buildUrl;
121
+ }
package/index.js ADDED
@@ -0,0 +1,2 @@
1
+ // Copyright © 2022-2025 Partium, Inc. DBA Partium
2
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Partium=exports.INITIALIZATION_STATUS=void 0;var INITIALIZATION_STATUS,rxjs_1=require("rxjs"),operators_1=require("rxjs/operators"),core_1=require("./core"),auth_config_1=require("./core/models/auth-config"),partium_config_1=require("./core/models/partium-config"),backend_status_service_1=require("./core/services/backend-status.service"),device_status_service_interface_1=require("./core/services/device-status.service.interface"),file_service_interface_1=require("./core/services/file.service.interface"),file_transfer_service_interface_1=require("./core/services/http/file-transfer/file-transfer.service.interface"),https_client_service_interface_1=require("./core/services/http/https-client/https-client.service.interface"),https_service_interface_1=require("./core/services/http/https.service.interface"),local_storage_service_interface_1=require("./core/services/local-storage.service.interface"),log_service_1=require("./core/services/log.service"),service_provider_1=require("./core/services/service-provider"),session_service_interface_1=require("./core/services/session/session.service.interface"),data_1=require("./data"),filter_service_1=require("./data/services/filter.service"),part_attribute_service_1=require("./data/services/part-attribute.service"),part_service_1=require("./data/services/part.service"),request_list_service_1=require("./user-data/services/request-list/request-list.service"),favorite_service_1=require("./user-data/services/favorite/favorite.service"),asset_service_1=require("./find/services/asset.service"),search_service_1=require("./find/services/search/search.service"),sdk_version_1=require("./gen/sdk-version"),recent_text_search_queries_service_1=require("./find/services/search/recent-text-search-queries.service"),ocr_1=require("./ocr"),shopping_cart_service_1=require("./data/services/shopping-cart.service"),inquiry_service_1=require("./data/services/inquiry.service"),announcement_service_1=require("./data/services/announcement.service"),related_parts_service_1=require("./data/services/related-parts.service"),constants_1=require("./core/constants/constants"),management_1=require("./management"),part_enrichment_service_1=require("./data/services/part-enrichment.service");!function(e){e[e.NOT_INITIALIZED=0]="NOT_INITIALIZED",e[e.INITIALIZING=1]="INITIALIZING",e[e.INITIALIZED=2]="INITIALIZED",e[e.INITIALIZATION_ERROR=3]="INITIALIZATION_ERROR"}(INITIALIZATION_STATUS||(exports.INITIALIZATION_STATUS=INITIALIZATION_STATUS={}));var Partium=function(){function e(){}return Object.defineProperty(e,"search",{get:function(){return e.getService(search_service_1.SearchServiceImpl)},enumerable:!1,configurable:!0}),Object.defineProperty(e,"asset",{get:function(){return e.getService(asset_service_1.AssetServiceImpl)},enumerable:!1,configurable:!0}),Object.defineProperty(e,"https",{get:function(){return e.getService(https_service_interface_1.HttpsService)},enumerable:!1,configurable:!0}),Object.defineProperty(e,"fileTransfer",{get:function(){return e.getService(file_transfer_service_interface_1.FileTransferService)},enumerable:!1,configurable:!0}),Object.defineProperty(e,"session",{get:function(){return e.getService(session_service_interface_1.SessionService)},enumerable:!1,configurable:!0}),Object.defineProperty(e,"assemblyHierarchyNode",{get:function(){return e.getService(data_1.AssemblyHierarchyNodesServiceImpl)},enumerable:!1,configurable:!0}),Object.defineProperty(e,"part",{get:function(){return e.getService(part_service_1.PartServiceImpl)},enumerable:!1,configurable:!0}),Object.defineProperty(e,"partEnrichment",{get:function(){return e.getService(part_enrichment_service_1.PartEnrichmentServiceImpl)},enumerable:!1,configurable:!0}),Object.defineProperty(e,"relatedParts",{get:function(){return e.getService(related_parts_service_1.RelatedPartsServiceImpl)},enumerable:!1,configurable:!0}),Object.defineProperty(e,"requestList",{get:function(){return e.getService(request_list_service_1.RequestListServiceImpl)},enumerable:!1,configurable:!0}),Object.defineProperty(e,"shoppingCart",{get:function(){return e.getService(shopping_cart_service_1.ShoppingCartServiceImpl)},enumerable:!1,configurable:!0}),Object.defineProperty(e,"partAttribute",{get:function(){return e.getService(part_attribute_service_1.PartAttributeServiceImpl)},enumerable:!1,configurable:!0}),Object.defineProperty(e,"inquiry",{get:function(){return e.getService(inquiry_service_1.InquiryServiceImpl)},enumerable:!1,configurable:!0}),Object.defineProperty(e,"announcement",{get:function(){return e.getService(announcement_service_1.AnnouncementServiceImpl)},enumerable:!1,configurable:!0}),Object.defineProperty(e,"customerServiceAssistance",{get:function(){return e.getService(data_1.CustomerServiceAssistanceServiceImpl)},enumerable:!1,configurable:!0}),Object.defineProperty(e,"log",{get:function(){return e.getService(log_service_1.LogServiceImpl)},enumerable:!1,configurable:!0}),Object.defineProperty(e,"file",{get:function(){return e.getService(file_service_interface_1.FileService)},enumerable:!1,configurable:!0}),Object.defineProperty(e,"recentParts",{get:function(){return e.getService(core_1.RecentPartsServiceImpl)},enumerable:!1,configurable:!0}),Object.defineProperty(e,"favorites",{get:function(){return e.getService(favorite_service_1.FavoriteServiceImpl)},enumerable:!1,configurable:!0}),Object.defineProperty(e,"filters",{get:function(){return e.getService(filter_service_1.FilterServiceImpl)},enumerable:!1,configurable:!0}),Object.defineProperty(e,"organization",{get:function(){return e.getService(core_1.OrganizationService)},enumerable:!1,configurable:!0}),Object.defineProperty(e,"ocr",{get:function(){return e.getService(ocr_1.OcrServiceImpl)},enumerable:!1,configurable:!0}),Object.defineProperty(e,"apiKey",{get:function(){return e.getService(management_1.ApiKeyServiceImpl)},enumerable:!1,configurable:!0}),Object.defineProperty(e,"localStorage",{get:function(){return e.getService(local_storage_service_interface_1.LocalStorageService)},enumerable:!1,configurable:!0}),e.init=function(r){e._initializationStatus$.next(INITIALIZATION_STATUS.INITIALIZING),e._serviceProvider||(e._serviceProvider=new service_provider_1.ServiceProvider);var i=[r.partiumApiBaseUrl,r.partiumLoginUrl];switch(e._serviceProvider.useService(r.httpsClientService,https_client_service_interface_1.HttpsClientService,i),e._serviceProvider.useService(r.fileTransferService,file_transfer_service_interface_1.FileTransferService,i),e._serviceProvider.useService(r.localStorageService,local_storage_service_interface_1.LocalStorageService),e._serviceProvider.useService(r.deviceStatusService,device_status_service_interface_1.DeviceStatusService),e._serviceProvider.useService(r.fileService,file_service_interface_1.FileService),r.authenticationMethod){case partium_config_1.AUTHENTICATION_METHOD.OAUTH_API_KEY:case partium_config_1.AUTHENTICATION_METHOD.OAUTH:e._serviceProvider.useService(r.authenticationConfig.oauthHttpsService,https_service_interface_1.HttpsService),e._serviceProvider.useService(r.authenticationConfig.oauthSessionService,session_service_interface_1.SessionService)}e._serviceProvider.serviceSelectionFinished();var t=e.getService(session_service_interface_1.SessionService),c=e.getService(local_storage_service_interface_1.LocalStorageService);t.registerLoginInitService(c,1);var n=e.getService(asset_service_1.AssetServiceImpl);t.registerLoginInitService(n,2);var s=e.getService(core_1.RecentPartsServiceImpl);t.registerLoginInitService(s,2);var a=e.getService(recent_text_search_queries_service_1.RecentTextSearchQueriesServiceImpl);t.registerLoginInitService(a,2);var _=e.getService(favorite_service_1.FavoriteServiceImpl);t.registerLoginInitService(_,2);var o=e.getService(data_1.CustomerServiceAssistanceServiceImpl);t.registerLoginInitService(o,2);var v=e.getService(search_service_1.SearchServiceImpl);t.registerLoginInitService(v,2);var u=e.getService(log_service_1.LogServiceImpl);t.registerLoginInitService(u,2);var I=e.getService(https_service_interface_1.HttpsService),l=e.getService(backend_status_service_1.BackendStatusService);return l.init(sdk_version_1.SDK_VERSION_NUMBER,"en",e.buildUrl([r.partiumApiBaseUrl,"".concat(constants_1.PARTIUM_API_VERSION),constants_1.REL_STATUS_API_URL]),constants_1.BACKEND_STATUS_FALLBACK_URL),l.checkCompatibility().pipe((0,operators_1.mergeMap)((function(){return l.checkAvailability()})),(0,operators_1.mergeMap)((function(){return t.init(r)})),(0,operators_1.mergeMap)((function(){return I.init(e.buildUrl([r.partiumApiBaseUrl,"".concat(constants_1.PARTIUM_API_VERSION)]),e.buildUrl([r.partiumApiBaseUrl,"".concat(constants_1.PARTIUM_API_VERSION),constants_1.REL_FIND_API_URL]),e.buildUrl([r.partiumApiBaseUrl,"".concat(constants_1.PARTIUM_API_VERSION),constants_1.REL_DATA_API_URL]),e.buildUrl([r.partiumApiBaseUrl,"".concat(constants_1.PARTIUM_API_VERSION),constants_1.REL_CSA_API_URL]),e.buildUrl([r.partiumApiBaseUrl,"".concat(constants_1.PARTIUM_API_VERSION),constants_1.REL_LOGS_API_URL]),e.buildUrl([r.partiumApiBaseUrl,"".concat(constants_1.PARTIUM_API_VERSION),constants_1.REL_USER_DATA_API_URL]),e.buildUrl([r.partiumApiBaseUrl,"".concat(constants_1.PARTIUM_API_VERSION),constants_1.REL_OCR_API_URL]),e.buildUrl([r.partiumApiBaseUrl,"".concat(constants_1.PARTIUM_API_VERSION),constants_1.REL_MANAGEMENT_API_URL]),r.authenticationConfig)})),(0,operators_1.tap)((function(){I.setCurrentOrganization(t.getCurrentOrganization$())})),(0,operators_1.tap)((function(){e._initializationStatus$.next(INITIALIZATION_STATUS.INITIALIZED)})),(0,operators_1.catchError)((function(r){return e._initializationStatus$.next(INITIALIZATION_STATUS.INITIALIZATION_ERROR),e.reset(),(0,rxjs_1.throwError)(r)})))},e.initApiKey=function(r){return e.init(new partium_config_1.PartiumConfig({authenticationConfig:new auth_config_1.OauthApiKeyAuthenticationConfig({apiKey:r})}))},e.reset=function(){e._serviceProvider=null,e._initializationStatus$.next(INITIALIZATION_STATUS.NOT_INITIALIZED)},e.getInitializationStatus=function(){return e._initializationStatus$.asObservable()},e.getOrganizations=function(){return e.ensureInitialized(),e.getService(core_1.OrganizationService).getOrganizations()},e.useOrganization=function(r){return e.ensureInitialized(),e.session.useOrganization(r)},e.getService=function(r){return e._serviceProvider||(e._serviceProvider=new service_provider_1.ServiceProvider),e._serviceProvider.getService(r)},e.isInitialized=function(){return e._initializationStatus$.value===INITIALIZATION_STATUS.INITIALIZED},e.ensureInitialized=function(){if(!e.isInitialized())throw"Partium-JS-SDK not initialized. Make sure to initialize the Partium-JS-SDK before you try to use it's features!"},e.buildUrl=function(e){for(var r=[],i=0,t=e;i<t.length;i++){var c=t[i];r.push(c.replace(/^\/+/,"").replace(/\/+$/,""))}return r.join("/")},e._initializationStatus$=new rxjs_1.BehaviorSubject(INITIALIZATION_STATUS.NOT_INITIALIZED),e}();exports.Partium=Partium;
@@ -0,0 +1,5 @@
1
+ // Copyright © 2022-2025 Partium, Inc. DBA Partium
2
+ export * from './models/api-key';
3
+ export * from './models/api-key-type';
4
+ export * from './models/api-key-list-response';
5
+ export * from './services/api-key.service';
@@ -0,0 +1,2 @@
1
+ // Copyright © 2022-2025 Partium, Inc. DBA Partium
2
+ "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,r,t,i){void 0===i&&(i=t);var o=Object.getOwnPropertyDescriptor(r,t);o&&!("get"in o?!r.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return r[t]}}),Object.defineProperty(e,i,o)}:function(e,r,t,i){void 0===i&&(i=t),e[i]=r[t]}),__exportStar=this&&this.__exportStar||function(e,r){for(var t in e)"default"===t||Object.prototype.hasOwnProperty.call(r,t)||__createBinding(r,e,t)};Object.defineProperty(exports,"__esModule",{value:!0}),__exportStar(require("./models/api-key"),exports),__exportStar(require("./models/api-key-type"),exports),__exportStar(require("./models/api-key-list-response"),exports),__exportStar(require("./services/api-key.service"),exports);
@@ -0,0 +1,10 @@
1
+ // Copyright © 2022-2025 Partium, Inc. DBA Partium
2
+ import { ApiKey } from './api-key';
3
+ import { API_KEY_TYPE } from './api-key-type';
4
+ export interface ApiKeyListResponse {
5
+ keys: {
6
+ organization: string;
7
+ keyType: API_KEY_TYPE;
8
+ keys: ApiKey[];
9
+ }[];
10
+ }
@@ -0,0 +1,2 @@
1
+ // Copyright © 2022-2025 Partium, Inc. DBA Partium
2
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});
@@ -0,0 +1,5 @@
1
+ // Copyright © 2022-2025 Partium, Inc. DBA Partium
2
+ export declare enum API_KEY_TYPE {
3
+ FIND_API = "find_api",
4
+ CATALOG_API = "catalog_api"
5
+ }
@@ -0,0 +1,2 @@
1
+ // Copyright © 2022-2025 Partium, Inc. DBA Partium
2
+ "use strict";var API_KEY_TYPE;Object.defineProperty(exports,"__esModule",{value:!0}),exports.API_KEY_TYPE=void 0,function(_){_.FIND_API="find_api",_.CATALOG_API="catalog_api"}(API_KEY_TYPE||(exports.API_KEY_TYPE=API_KEY_TYPE={}));
@@ -0,0 +1,4 @@
1
+ // Copyright © 2022-2025 Partium, Inc. DBA Partium
2
+ export interface ApiKey {
3
+ value: string;
4
+ }
@@ -0,0 +1,2 @@
1
+ // Copyright © 2022-2025 Partium, Inc. DBA Partium
2
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});
@@ -0,0 +1,39 @@
1
+ // Copyright © 2022-2025 Partium, Inc. DBA Partium
2
+ import { Observable } from 'rxjs';
3
+ import { ApiKey } from '../models/api-key';
4
+ import { API_KEY_TYPE } from '../models/api-key-type';
5
+ import { ApiKeyListResponse } from '../models/api-key-list-response';
6
+ import { BaseService, ServiceProvider } from '../../core';
7
+ /**
8
+ * Service that provides API Key management functionality.
9
+ */
10
+ export interface ApiKeyService {
11
+ /**
12
+ * Gets all API keys.
13
+ * @param keyType Type of API to query the keys from
14
+ * @returns The list of API keys.
15
+ */
16
+ getAll(keyType?: API_KEY_TYPE): Observable<ApiKeyListResponse>;
17
+ /**
18
+ * Creates a new API key.
19
+ * @param organization Id of the organization to create the API key for.
20
+ * @param keyType Type of API for which the key is created.
21
+ * @returns The newly created API key.
22
+ */
23
+ create(organization: string, keyType?: API_KEY_TYPE): Observable<ApiKey>;
24
+ /**
25
+ * Deletes an API key.
26
+ * @param organization Id of the organization to delete the API key for.
27
+ * @param apiKey Id of the API key to delete.
28
+ * @param keyType Type of API from which the key should be removed
29
+ */
30
+ delete(organization: string, apiKey: string, keyType?: API_KEY_TYPE): Observable<void>;
31
+ }
32
+ export declare class ApiKeyServiceImpl extends BaseService implements ApiKeyService {
33
+ private httpsService;
34
+ constructor(serviceProvider: ServiceProvider);
35
+ onCreate(): void;
36
+ getAll(keyType?: API_KEY_TYPE): Observable<ApiKeyListResponse>;
37
+ create(organization: string, keyType?: API_KEY_TYPE): Observable<ApiKey>;
38
+ delete(organization: string, value: string, keyType?: API_KEY_TYPE): Observable<void>;
39
+ }
@@ -0,0 +1,2 @@
1
+ // Copyright © 2022-2025 Partium, Inc. DBA Partium
2
+ "use strict";var __extends=this&&this.__extends||function(){var e=function(t,r){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},e(t,r)};return function(t,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function o(){this.constructor=t}e(t,r),t.prototype=null===r?Object.create(r):(o.prototype=r.prototype,new o)}}(),__decorate=this&&this.__decorate||function(e,t,r,o){var i,n=arguments.length,c=n<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)c=Reflect.decorate(e,t,r,o);else for(var p=e.length-1;p>=0;p--)(i=e[p])&&(c=(n<3?i(c):n>3?i(t,r,c):i(t,r))||c);return n>3&&c&&Object.defineProperty(t,r,c),c};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ApiKeyServiceImpl=void 0;var api_key_type_1=require("../models/api-key-type"),core_1=require("../../core"),ApiKeyServiceImpl=function(e){function t(t){return e.call(this,t)||this}return __extends(t,e),t.prototype.onCreate=function(){this.httpsService=this.serviceProvider.getService(core_1.HttpsService)},t.prototype.getAll=function(e){return void 0===e&&(e=api_key_type_1.API_KEY_TYPE.FIND_API),this.httpsService.get("keys",[{keyType:e}],core_1.BACKEND_SERVICE.MANAGEMENT)},t.prototype.create=function(e,t){return void 0===t&&(t=api_key_type_1.API_KEY_TYPE.FIND_API),this.httpsService.post("keys",{organization:e,keyType:t},[],core_1.BACKEND_SERVICE.MANAGEMENT)},t.prototype.delete=function(e,t,r){return void 0===r&&(r=api_key_type_1.API_KEY_TYPE.FIND_API),this.httpsService.delete("keys",{organization:e,value:t,keyType:r},[],core_1.BACKEND_SERVICE.MANAGEMENT)},t=__decorate([(0,core_1.InjectionIdentifier)("ApiKeyService")],t)}(core_1.BaseService);exports.ApiKeyServiceImpl=ApiKeyServiceImpl;
package/ocr/index.d.ts ADDED
@@ -0,0 +1,4 @@
1
+ // Copyright © 2022-2025 Partium, Inc. DBA Partium
2
+ export * from './models/detect-response';
3
+ export * from './models/detected-text-entry';
4
+ export * from './services/ocr.service';
package/ocr/index.js ADDED
@@ -0,0 +1,2 @@
1
+ // Copyright © 2022-2025 Partium, Inc. DBA Partium
2
+ "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,i)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),__exportStar=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||__createBinding(t,e,r)};Object.defineProperty(exports,"__esModule",{value:!0}),__exportStar(require("./models/detect-response"),exports),__exportStar(require("./models/detected-text-entry"),exports),__exportStar(require("./services/ocr.service"),exports);
@@ -0,0 +1,5 @@
1
+ // Copyright © 2022-2025 Partium, Inc. DBA Partium
2
+ import { DetectedTextEntry } from './detected-text-entry';
3
+ export interface DetectResponse {
4
+ detectedTexts: DetectedTextEntry[];
5
+ }
@@ -0,0 +1,2 @@
1
+ // Copyright © 2022-2025 Partium, Inc. DBA Partium
2
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});
@@ -0,0 +1,5 @@
1
+ // Copyright © 2022-2025 Partium, Inc. DBA Partium
2
+ export interface DetectedTextEntry {
3
+ text: string;
4
+ score: number;
5
+ }
@@ -0,0 +1,2 @@
1
+ // Copyright © 2022-2025 Partium, Inc. DBA Partium
2
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});
@@ -0,0 +1,36 @@
1
+ // Copyright © 2022-2025 Partium, Inc. DBA Partium
2
+ import { Observable } from 'rxjs';
3
+ import { BaseService } from '../../core/services/base.service';
4
+ import { ServiceProvider } from '../../core/services/service-provider';
5
+ import { EventContext, PFile } from '../../core';
6
+ export interface OCREventContext extends EventContext {
7
+ searchSessionId?: string;
8
+ }
9
+ /**
10
+ * Service that provides OCR functionality.
11
+ */
12
+ export interface OcrService {
13
+ /**
14
+ * Detects text in an image.
15
+ *
16
+ * @param assetUrl The URL of the image.
17
+ * @returns The detected texts.
18
+ */
19
+ detect(assetUrl: string): Observable<string[]>;
20
+ /**
21
+ * Upload an image and detect text in it.
22
+ *
23
+ * @param organizationId Id of the organization to use the OCR in.
24
+ * @param file PFile of the image to use (ideally cropped to the area of interest)
25
+ * @returns The detected texts.
26
+ */
27
+ detectFromFile(organizationId: string, file: PFile): Observable<string[]>;
28
+ }
29
+ export declare class OcrServiceImpl extends BaseService implements OcrService {
30
+ private httpsService;
31
+ private assetService;
32
+ constructor(serviceProvider: ServiceProvider);
33
+ onCreate(): void;
34
+ detect(assetUrl: string): Observable<string[]>;
35
+ detectFromFile(organizationId: string, file: PFile, eventContext?: OCREventContext): Observable<string[]>;
36
+ }
@@ -0,0 +1,2 @@
1
+ // Copyright © 2022-2025 Partium, Inc. DBA Partium
2
+ "use strict";var __extends=this&&this.__extends||function(){var e=function(t,r){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},e(t,r)};return function(t,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function i(){this.constructor=t}e(t,r),t.prototype=null===r?Object.create(r):(i.prototype=r.prototype,new i)}}(),__decorate=this&&this.__decorate||function(e,t,r,i){var o,n=arguments.length,c=n<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)c=Reflect.decorate(e,t,r,i);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(c=(n<3?o(c):n>3?o(t,r,c):o(t,r))||c);return n>3&&c&&Object.defineProperty(t,r,c),c};Object.defineProperty(exports,"__esModule",{value:!0}),exports.OcrServiceImpl=void 0;var operators_1=require("rxjs/operators"),injection_identifier_1=require("../../core/decorators/injection-identifier"),base_service_1=require("../../core/services/base.service"),https_service_interface_1=require("../../core/services/http/https.service.interface"),find_1=require("../../find"),OcrServiceImpl=function(e){function t(t){return e.call(this,t)||this}return __extends(t,e),t.prototype.onCreate=function(){this.httpsService=this.serviceProvider.getService(https_service_interface_1.HttpsService),this.assetService=this.serviceProvider.getService(find_1.AssetServiceImpl)},t.prototype.detect=function(e){return this.httpsService.post("detect",{assetUrl:e},[],https_service_interface_1.BACKEND_SERVICE.OCR).pipe((0,operators_1.map)((function(e){return e.detectedTexts.map((function(e){return e.text}))})))},t.prototype.detectFromFile=function(e,t,r){var i=this;return this.assetService.generateAsset(e,t,{searchSessionId:null==r?void 0:r.searchSessionId}).pipe((0,operators_1.filter)((function(e){return e.asset.getStatus()===find_1.ASSET_STATUS.VERIFIED})),(0,operators_1.first)(),(0,operators_1.mergeMap)((function(e){return i.assetService.getImageUrlFromFind(e.asset.referenceId)})),(0,operators_1.mergeMap)((function(e){return i.detect(e.url)})))},t=__decorate([(0,injection_identifier_1.InjectionIdentifier)("OcrService")],t)}(base_service_1.BaseService);exports.OcrServiceImpl=OcrServiceImpl;