@semantha/product-sdk 9.3.6 → 9.3.7

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 (37) hide show
  1. package/dist/{chunk-L3NE3MB6.mjs → chunk-CS6GMBMN.mjs} +2 -2
  2. package/dist/chunk-CS6GMBMN.mjs.map +1 -0
  3. package/dist/{chunk-EWH4N3WH.js → chunk-DZDAOP2P.js} +2 -2
  4. package/dist/{chunk-EWH4N3WH.js.map → chunk-DZDAOP2P.js.map} +1 -1
  5. package/dist/{chunk-OYJIIC7E.mjs → chunk-EYLT3IYT.mjs} +2 -2
  6. package/dist/{chunk-OYJIIC7E.mjs.map → chunk-EYLT3IYT.mjs.map} +1 -1
  7. package/dist/{chunk-5LVSCZPN.mjs → chunk-KXW4EKOH.mjs} +2 -2
  8. package/dist/{chunk-5LVSCZPN.mjs.map → chunk-KXW4EKOH.mjs.map} +1 -1
  9. package/dist/{chunk-PSWCXZCM.js → chunk-QLRNGP4O.js} +2 -2
  10. package/dist/chunk-QLRNGP4O.js.map +1 -0
  11. package/dist/{chunk-7HYARBNP.mjs → chunk-RBBUO547.mjs} +2 -2
  12. package/dist/{chunk-7HYARBNP.mjs.map → chunk-RBBUO547.mjs.map} +1 -1
  13. package/dist/{chunk-4GQLGD5G.js → chunk-TZZY6IKG.js} +2 -2
  14. package/dist/{chunk-4GQLGD5G.js.map → chunk-TZZY6IKG.js.map} +1 -1
  15. package/dist/{chunk-42V6ET2L.js → chunk-UMOFUDEK.js} +2 -2
  16. package/dist/{chunk-42V6ET2L.js.map → chunk-UMOFUDEK.js.map} +1 -1
  17. package/dist/file-box/api/index.js +1 -1
  18. package/dist/file-box/api/index.mjs +1 -1
  19. package/dist/file-box/index.js +1 -1
  20. package/dist/file-box/index.mjs +1 -1
  21. package/dist/requirements/api/index.js +1 -1
  22. package/dist/requirements/api/index.mjs +1 -1
  23. package/dist/rest/index.js +1 -1
  24. package/dist/rest/index.mjs +1 -1
  25. package/dist/structure-navigator/api/index.js +1 -1
  26. package/dist/structure-navigator/api/index.mjs +1 -1
  27. package/dist/structure-navigator/index.js +1 -1
  28. package/dist/structure-navigator/index.mjs +1 -1
  29. package/dist/table-extractor/api/index.js +1 -1
  30. package/dist/table-extractor/api/index.mjs +1 -1
  31. package/dist/tracking/api/index.js +1 -1
  32. package/dist/tracking/api/index.mjs +1 -1
  33. package/dist/tracking/index.js +1 -1
  34. package/dist/tracking/index.mjs +1 -1
  35. package/package.json +1 -1
  36. package/dist/chunk-L3NE3MB6.mjs.map +0 -1
  37. package/dist/chunk-PSWCXZCM.js.map +0 -1
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@semantha/product-sdk",
3
3
  "description": "",
4
- "version": "9.3.6",
4
+ "version": "9.3.7",
5
5
  "files": [
6
6
  "./dist"
7
7
  ],
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../semantha-product-sdk/rest/restResponse.ts","../semantha-product-sdk/rest/restClient.ts"],"names":["RestResponse","response","contentDisposition","filename","match","MediaType","RestClient","_RestClient","serverUrl","apiKey","clientId","client_secret","tokenUrl","data","axios","method","url","params","headers","authHeader","responseType","acceptMimeType","contentType"],"mappings":"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","file":"chunk-L3NE3MB6.mjs","sourcesContent":["import { AxiosResponse } from 'axios';\n\nexport class RestResponse<T> {\n constructor(private readonly response: Promise<AxiosResponse<T>>) {}\n\n async toModel(): Promise<T> {\n return (await this.response).data;\n }\n\n async toFile(): Promise<File> {\n const response: AxiosResponse = await this.response;\n const contentDisposition = response?.headers['content-disposition'];\n let filename = 'file'\n if (contentDisposition) {\n const match = contentDisposition.match(/filename=\"?([^\"]+)\"?/)\n if (match && match[1]) {\n filename = match[1]\n }\n }\n return new File([response.data.blob()], filename)\n }\n\n async getStatusCode(): Promise<number> {\n return (await this.response).status;\n }\n\n async getStatusText(): Promise<string> {\n return (await this.response).statusText;\n }\n}\n","import axios, { AxiosRequestConfig, AxiosResponse, ResponseType } from 'axios';\nimport { RestResponse } from './restResponse';\n\nexport enum MediaType {\n JSON = 'application/json',\n XLSX = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\n PDF = 'application/pdf',\n DOCX = 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',\n ZIP = 'application/zip',\n REQIFZ = 'application/reqifz',\n PNG = 'image/png'\n}\n\nexport class RestClient {\n // in seconds\n private static readonly LEEWAY = 30;\n\n private expireTime: number;\n private accessToken: string;\n\n constructor(\n private readonly serverUrl: string,\n private readonly apiKey?: string,\n private readonly clientId?: string,\n private readonly client_secret?: string,\n private readonly tokenUrl?: string\n ) {\n this.expireTime = 0.0;\n this.accessToken = '';\n }\n\n async buildHeadersForJsonRequest(): Promise<{ [key: string]: string }> {\n return {\n Accept: 'application/json',\n Authorization: `Bearer ${await this.getToken()}`\n };\n }\n\n async buildHeadersForRequest(): Promise<{ [key: string]: string }> {\n return {\n Authorization: `Bearer ${await this.getToken()}`\n };\n }\n\n async getToken(): Promise<string> {\n if (this.apiKey) {\n return this.apiKey;\n }\n if (\n this.clientId &&\n this.client_secret &&\n this.tokenUrl &&\n (this.accessToken == '' || this.expireTime < performance.now())\n ) {\n const data = {\n grant_type: 'client_credentials',\n client_id: this.clientId,\n client_secret: this.client_secret,\n scope: 'openid'\n };\n const response = await axios.post(this.tokenUrl, data, {\n headers: { accept: 'application/json', 'content-type': 'application/x-www-form-urlencoded' }\n });\n if (response.status >= axios.HttpStatusCode.BadRequest) {\n // example for error response: {\"error\":\"invalid_client\",\"error_description\":\"Invalid client or Invalid client credentials\"}\n // we have no token -> this leads to a permission error\n return '';\n }\n this.accessToken = response.data['id_token'] ?? response.data['access_token'];\n this.expireTime = performance.now() + (response.data['expires_in'] - RestClient.LEEWAY);\n }\n return this.accessToken;\n }\n\n private async request<R>(\n method: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE',\n url: string,\n params?: any,\n headers?: { [key: string]: string },\n data?: any\n ): Promise<RestResponse<R>> {\n if (!headers) {\n headers = await this.buildHeadersForJsonRequest();\n } else {\n const authHeader = await this.buildHeadersForRequest();\n headers = { ...headers, ...authHeader };\n }\n return new RestResponse<R>(\n axios.request<R>({\n method: method,\n url: this.serverUrl + url,\n headers: { ...headers, 'User-Agent': 'semantha TypeScript SDK; ' },\n data: data,\n params: params\n })\n );\n }\n\n async get<R>(url: string, params?: any, headers?: { [key: string]: string }, data?: any): Promise<RestResponse<R>> {\n return this.request<R>('GET', url, params, headers, data);\n }\n\n async post<R>(url: string, params?: any, headers?: { [key: string]: string }, data?: any, responseType: ResponseType = 'json'): Promise<RestResponse<R>> {\n if (!headers) {\n headers = await this.buildHeadersForJsonRequest();\n } else {\n const authHeader = await this.buildHeadersForRequest();\n headers = { ...headers, ...authHeader };\n }\n return new RestResponse<R>(axios.post<R>(url, {params, headers, data, responseType}))\n }\n\n async delete(url: string, data?: any): Promise<void> {\n this.request<void>('DELETE', url, (data = data));\n }\n\n async patch<R>(url: string, data?: any): Promise<RestResponse<R>> {\n return this.request<R>('PATCH', url, (data = data));\n }\n\n async put<R>(url: string, data: any): Promise<RestResponse<R>> {\n return this.request<R>('PUT', url, (data = data));\n }\n\n toHeader(acceptMimeType: MediaType, contentType?: string): { [key: string]: string } {\n if (contentType) {\n return { Accept: acceptMimeType, 'Content-Type': contentType };\n }\n return { Accept: acceptMimeType };\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../semantha-product-sdk/rest/restResponse.ts","../semantha-product-sdk/rest/restClient.ts"],"names":["RestResponse","response","contentDisposition","filename","match","MediaType","RestClient","_RestClient","serverUrl","apiKey","clientId","client_secret","tokenUrl","data","axios","method","url","params","headers","authHeader","responseType","acceptMimeType","contentType"],"mappings":"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","file":"chunk-PSWCXZCM.js","sourcesContent":["import { AxiosResponse } from 'axios';\n\nexport class RestResponse<T> {\n constructor(private readonly response: Promise<AxiosResponse<T>>) {}\n\n async toModel(): Promise<T> {\n return (await this.response).data;\n }\n\n async toFile(): Promise<File> {\n const response: AxiosResponse = await this.response;\n const contentDisposition = response?.headers['content-disposition'];\n let filename = 'file'\n if (contentDisposition) {\n const match = contentDisposition.match(/filename=\"?([^\"]+)\"?/)\n if (match && match[1]) {\n filename = match[1]\n }\n }\n return new File([response.data.blob()], filename)\n }\n\n async getStatusCode(): Promise<number> {\n return (await this.response).status;\n }\n\n async getStatusText(): Promise<string> {\n return (await this.response).statusText;\n }\n}\n","import axios, { AxiosRequestConfig, AxiosResponse, ResponseType } from 'axios';\nimport { RestResponse } from './restResponse';\n\nexport enum MediaType {\n JSON = 'application/json',\n XLSX = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\n PDF = 'application/pdf',\n DOCX = 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',\n ZIP = 'application/zip',\n REQIFZ = 'application/reqifz',\n PNG = 'image/png'\n}\n\nexport class RestClient {\n // in seconds\n private static readonly LEEWAY = 30;\n\n private expireTime: number;\n private accessToken: string;\n\n constructor(\n private readonly serverUrl: string,\n private readonly apiKey?: string,\n private readonly clientId?: string,\n private readonly client_secret?: string,\n private readonly tokenUrl?: string\n ) {\n this.expireTime = 0.0;\n this.accessToken = '';\n }\n\n async buildHeadersForJsonRequest(): Promise<{ [key: string]: string }> {\n return {\n Accept: 'application/json',\n Authorization: `Bearer ${await this.getToken()}`\n };\n }\n\n async buildHeadersForRequest(): Promise<{ [key: string]: string }> {\n return {\n Authorization: `Bearer ${await this.getToken()}`\n };\n }\n\n async getToken(): Promise<string> {\n if (this.apiKey) {\n return this.apiKey;\n }\n if (\n this.clientId &&\n this.client_secret &&\n this.tokenUrl &&\n (this.accessToken == '' || this.expireTime < performance.now())\n ) {\n const data = {\n grant_type: 'client_credentials',\n client_id: this.clientId,\n client_secret: this.client_secret,\n scope: 'openid'\n };\n const response = await axios.post(this.tokenUrl, data, {\n headers: { accept: 'application/json', 'content-type': 'application/x-www-form-urlencoded' }\n });\n if (response.status >= axios.HttpStatusCode.BadRequest) {\n // example for error response: {\"error\":\"invalid_client\",\"error_description\":\"Invalid client or Invalid client credentials\"}\n // we have no token -> this leads to a permission error\n return '';\n }\n this.accessToken = response.data['id_token'] ?? response.data['access_token'];\n this.expireTime = performance.now() + (response.data['expires_in'] - RestClient.LEEWAY);\n }\n return this.accessToken;\n }\n\n private async request<R>(\n method: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE',\n url: string,\n params?: any,\n headers?: { [key: string]: string },\n data?: any\n ): Promise<RestResponse<R>> {\n if (!headers) {\n headers = await this.buildHeadersForJsonRequest();\n } else {\n const authHeader = await this.buildHeadersForRequest();\n headers = { ...headers, ...authHeader };\n }\n return new RestResponse<R>(\n axios.request<R>({\n method: method,\n url: this.serverUrl + url,\n headers: { ...headers, 'User-Agent': 'semantha TypeScript SDK; ' },\n data: data,\n params: params\n })\n );\n }\n\n async get<R>(url: string, params?: any, headers?: { [key: string]: string }, data?: any): Promise<RestResponse<R>> {\n return this.request<R>('GET', url, params, headers, data);\n }\n\n async post<R>(url: string, params?: any, headers?: { [key: string]: string }, data?: any, responseType: ResponseType = 'json'): Promise<RestResponse<R>> {\n if (!headers) {\n headers = await this.buildHeadersForJsonRequest();\n } else {\n const authHeader = await this.buildHeadersForRequest();\n headers = { ...headers, ...authHeader };\n }\n return new RestResponse<R>(axios.post<R>(url, {params, headers, data, responseType}))\n }\n\n async delete(url: string, data?: any): Promise<void> {\n this.request<void>('DELETE', url, (data = data));\n }\n\n async patch<R>(url: string, data?: any): Promise<RestResponse<R>> {\n return this.request<R>('PATCH', url, (data = data));\n }\n\n async put<R>(url: string, data: any): Promise<RestResponse<R>> {\n return this.request<R>('PUT', url, (data = data));\n }\n\n toHeader(acceptMimeType: MediaType, contentType?: string): { [key: string]: string } {\n if (contentType) {\n return { Accept: acceptMimeType, 'Content-Type': contentType };\n }\n return { Accept: acceptMimeType };\n }\n}\n"]}