@jield/solodb-typescript-core 1.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 (162) hide show
  1. package/README.md +61 -0
  2. package/dist/chemical/api/getChemicalContainer.d.ts +4 -0
  3. package/dist/chemical/api/listChemicalContainerExternalLabels.d.ts +5 -0
  4. package/dist/chemical/api/listChemicalContainerMethodsOfUse.d.ts +5 -0
  5. package/dist/chemical/api/listChemicalContainerPurposes.d.ts +5 -0
  6. package/dist/chemical/api/listChemicalContainerTypes.d.ts +5 -0
  7. package/dist/chemical/api/listChemicals.d.ts +5 -0
  8. package/dist/chemical/interfaces/chemical/chemicalContainer.d.ts +31 -0
  9. package/dist/chemical/interfaces/chemical/container/chemicalContainerExternalLabel.d.ts +10 -0
  10. package/dist/chemical/interfaces/chemical/container/chemicalContainerMethodOfUse.d.ts +5 -0
  11. package/dist/chemical/interfaces/chemical/container/chemicalContainerPurpose.d.ts +5 -0
  12. package/dist/chemical/interfaces/chemical/container/chemicalContainerType.d.ts +4 -0
  13. package/dist/chemical/interfaces/chemical/container/chemicalContainerUser.d.ts +10 -0
  14. package/dist/chemical/interfaces/chemical.d.ts +30 -0
  15. package/dist/chemical/interfaces/mainChemical.d.ts +5 -0
  16. package/dist/chemical/interfaces/safetyIcon.d.ts +6 -0
  17. package/dist/chemical/interfaces/safetyStatement.d.ts +5 -0
  18. package/dist/core/api/getFilter.d.ts +6 -0
  19. package/dist/core/api/getMe.d.ts +2 -0
  20. package/dist/core/api/listUsers.d.ts +6 -0
  21. package/dist/core/functions/configureAxiosHeaders.d.ts +1 -0
  22. package/dist/core/functions/fileToBase64.d.ts +1 -0
  23. package/dist/core/interfaces/file.d.ts +11 -0
  24. package/dist/core/interfaces/filter.d.ts +47 -0
  25. package/dist/core/interfaces/project.d.ts +8 -0
  26. package/dist/core/interfaces/response.d.ts +15 -0
  27. package/dist/core/interfaces/user.d.ts +8 -0
  28. package/dist/equipment/api/getEquipment.d.ts +4 -0
  29. package/dist/equipment/api/getSetup.d.ts +4 -0
  30. package/dist/equipment/api/getStatusMail.d.ts +4 -0
  31. package/dist/equipment/api/listEquipment.d.ts +18 -0
  32. package/dist/equipment/api/listEquipmentStatus.d.ts +3 -0
  33. package/dist/equipment/api/module/ecn/listEcnAttachments.d.ts +10 -0
  34. package/dist/equipment/api/module/getEquipmentModule.d.ts +4 -0
  35. package/dist/equipment/api/module/issue/listIssueAttachments.d.ts +10 -0
  36. package/dist/equipment/api/module/listEcn.d.ts +10 -0
  37. package/dist/equipment/api/module/listEquipmentModuleParameters.d.ts +9 -0
  38. package/dist/equipment/api/module/listIssues.d.ts +10 -0
  39. package/dist/equipment/api/module/listModules.d.ts +10 -0
  40. package/dist/equipment/api/module/listReservations.d.ts +9 -0
  41. package/dist/equipment/interfaces/ecnAttachmentPost.d.ts +6 -0
  42. package/dist/equipment/interfaces/equipment/equipmentModule.d.ts +16 -0
  43. package/dist/equipment/interfaces/equipment/equipmentProperty.d.ts +8 -0
  44. package/dist/equipment/interfaces/equipment/logging/equipmentLoggingParameter.d.ts +8 -0
  45. package/dist/equipment/interfaces/equipment/module/ecn/equipmentModuleEcnAttachment.d.ts +10 -0
  46. package/dist/equipment/interfaces/equipment/module/equipmentModuleEcn.d.ts +13 -0
  47. package/dist/equipment/interfaces/equipment/module/equipmentModuleIssue.d.ts +26 -0
  48. package/dist/equipment/interfaces/equipment/module/equipmentModuleParameter.d.ts +17 -0
  49. package/dist/equipment/interfaces/equipment/module/equipmentModuleReservation.d.ts +14 -0
  50. package/dist/equipment/interfaces/equipment/module/equipmentModuleStatus.d.ts +11 -0
  51. package/dist/equipment/interfaces/equipment/module/issue/equipmentModuleIssueAttachment.d.ts +10 -0
  52. package/dist/equipment/interfaces/equipment/module/status/equipmentModuleStatusAttachment.d.ts +9 -0
  53. package/dist/equipment/interfaces/equipment.d.ts +27 -0
  54. package/dist/equipment/interfaces/equipmentStatus.d.ts +9 -0
  55. package/dist/equipment/interfaces/issueAttachmentPost.d.ts +6 -0
  56. package/dist/equipment/interfaces/setup/equipment.d.ts +5 -0
  57. package/dist/equipment/interfaces/setup.d.ts +9 -0
  58. package/dist/equipment/interfaces/statusMail.d.ts +45 -0
  59. package/dist/index.cjs +7 -0
  60. package/dist/index.cjs.map +1 -0
  61. package/dist/index.d.ts +156 -0
  62. package/dist/index.js +2582 -0
  63. package/dist/index.js.map +1 -0
  64. package/dist/location/api/listLocationMessages.d.ts +6 -0
  65. package/dist/location/interfaces/area.d.ts +9 -0
  66. package/dist/location/interfaces/facility.d.ts +7 -0
  67. package/dist/location/interfaces/locationMessage.d.ts +14 -0
  68. package/dist/location/interfaces/message/messageType.d.ts +6 -0
  69. package/dist/monitor/api/getMonitor.d.ts +4 -0
  70. package/dist/monitor/api/listMonitorRequirements.d.ts +6 -0
  71. package/dist/monitor/api/listMonitors.d.ts +6 -0
  72. package/dist/monitor/api/measurement/listMonitorRequirementResults.d.ts +12 -0
  73. package/dist/monitor/api/measurement/result/listMonitorRequirementResultMonitorStepParameterValues.d.ts +12 -0
  74. package/dist/monitor/api/requirement/listMonitorRequirementTargets.d.ts +6 -0
  75. package/dist/monitor/api/step/listMonitorStepFiles.d.ts +9 -0
  76. package/dist/monitor/api/step/listMonitorStepParameters.d.ts +11 -0
  77. package/dist/monitor/interfaces/measurement/monitorMeasurementResult.d.ts +6 -0
  78. package/dist/monitor/interfaces/measurement/result/monitorResultStepParameterValue.d.ts +10 -0
  79. package/dist/monitor/interfaces/measurement/result/monitorStepParameterValue.d.ts +7 -0
  80. package/dist/monitor/interfaces/monitor/step/parameter.d.ts +18 -0
  81. package/dist/monitor/interfaces/monitor.d.ts +9 -0
  82. package/dist/monitor/interfaces/monitorRequirement.d.ts +11 -0
  83. package/dist/monitor/interfaces/monitorStep.d.ts +5 -0
  84. package/dist/monitor/interfaces/requirement/monitorRequirementTarget.d.ts +10 -0
  85. package/dist/organisation/interfaces/department.d.ts +6 -0
  86. package/dist/process/interfaces/category.d.ts +8 -0
  87. package/dist/process/interfaces/module/recipe/version.d.ts +7 -0
  88. package/dist/process/interfaces/module/recipe.d.ts +6 -0
  89. package/dist/process/interfaces/module.d.ts +10 -0
  90. package/dist/process/interfaces/parameter.d.ts +11 -0
  91. package/dist/process/interfaces/process.d.ts +9 -0
  92. package/dist/process/interfaces/type.d.ts +8 -0
  93. package/dist/process/interfaces/unit.d.ts +5 -0
  94. package/dist/room/api/getLocation.d.ts +4 -0
  95. package/dist/room/api/getRoom.d.ts +4 -0
  96. package/dist/room/api/listLocations.d.ts +8 -0
  97. package/dist/room/api/listRooms.d.ts +6 -0
  98. package/dist/room/interfaces/building.d.ts +10 -0
  99. package/dist/room/interfaces/location.d.ts +10 -0
  100. package/dist/room/interfaces/room.d.ts +12 -0
  101. package/dist/room/interfaces/site.d.ts +10 -0
  102. package/dist/room/interfaces/zone.d.ts +11 -0
  103. package/dist/room/interfaces/zoneGroup.d.ts +12 -0
  104. package/dist/run/api/getRun.d.ts +4 -0
  105. package/dist/run/api/getRunStep.d.ts +4 -0
  106. package/dist/run/api/listRequirements.d.ts +8 -0
  107. package/dist/run/api/listRunChangelog.d.ts +7 -0
  108. package/dist/run/api/listRunParts.d.ts +6 -0
  109. package/dist/run/api/listRunSteps.d.ts +8 -0
  110. package/dist/run/api/listRuns.d.ts +7 -0
  111. package/dist/run/api/measurement/listResults.d.ts +6 -0
  112. package/dist/run/api/step/listRunStepChecklistItems.d.ts +6 -0
  113. package/dist/run/api/step/listRunStepFiles.d.ts +7 -0
  114. package/dist/run/api/step/listRunStepParameters.d.ts +6 -0
  115. package/dist/run/api/step/listRunStepParts.d.ts +9 -0
  116. package/dist/run/api/step/part/listRunStepPartActions.d.ts +9 -0
  117. package/dist/run/api/step/part/setRunStepPartAction.d.ts +7 -0
  118. package/dist/run/enum/runStepPartActionEnum.d.ts +6 -0
  119. package/dist/run/interfaces/measurement/result/value.d.ts +11 -0
  120. package/dist/run/interfaces/measurement/result.d.ts +5 -0
  121. package/dist/run/interfaces/measurement.d.ts +6 -0
  122. package/dist/run/interfaces/requirement/target.d.ts +9 -0
  123. package/dist/run/interfaces/requirement.d.ts +11 -0
  124. package/dist/run/interfaces/run/batchCard.d.ts +8 -0
  125. package/dist/run/interfaces/run/changelog.d.ts +13 -0
  126. package/dist/run/interfaces/run/holdCode.d.ts +6 -0
  127. package/dist/run/interfaces/run/priority.d.ts +6 -0
  128. package/dist/run/interfaces/run/runPart.d.ts +10 -0
  129. package/dist/run/interfaces/run.d.ts +29 -0
  130. package/dist/run/interfaces/runHoldCode.d.ts +7 -0
  131. package/dist/run/interfaces/runPriority.d.ts +7 -0
  132. package/dist/run/interfaces/runStep.d.ts +47 -0
  133. package/dist/run/interfaces/step/parameter/stepParameterValue.d.ts +6 -0
  134. package/dist/run/interfaces/step/part/runStepPartAction.d.ts +10 -0
  135. package/dist/run/interfaces/step/rework.d.ts +6 -0
  136. package/dist/run/interfaces/step/runStepChecklistItem.d.ts +8 -0
  137. package/dist/run/interfaces/step/runStepGroup.d.ts +4 -0
  138. package/dist/run/interfaces/step/runStepLabel.d.ts +5 -0
  139. package/dist/run/interfaces/step/runStepParameter.d.ts +16 -0
  140. package/dist/run/interfaces/step/runStepPart.d.ts +16 -0
  141. package/dist/service/api/getReportResult.d.ts +4 -0
  142. package/dist/service/api/getServiceEventReport.d.ts +4 -0
  143. package/dist/service/api/listServiceEventReportResult.d.ts +4 -0
  144. package/dist/service/api/listServices.d.ts +5 -0
  145. package/dist/service/interfaces/report/criterion/serviceReportCriterionType.d.ts +9 -0
  146. package/dist/service/interfaces/report/criterion/serviceReportCriterionVersion.d.ts +11 -0
  147. package/dist/service/interfaces/report/criterion/serviceReportcriterionCategory.d.ts +7 -0
  148. package/dist/service/interfaces/report/serviceReportCriterion.d.ts +15 -0
  149. package/dist/service/interfaces/report/serviceReportType.d.ts +6 -0
  150. package/dist/service/interfaces/report/serviceReportVersion.d.ts +9 -0
  151. package/dist/service/interfaces/service/event/report/serviceEventReportResult.d.ts +11 -0
  152. package/dist/service/interfaces/service/event/serviceEventPlace.d.ts +7 -0
  153. package/dist/service/interfaces/service/event/serviceEventReport.d.ts +9 -0
  154. package/dist/service/interfaces/service/serviceEvent.d.ts +12 -0
  155. package/dist/service/interfaces/service.d.ts +21 -0
  156. package/dist/service/interfaces/serviceTeam.d.ts +6 -0
  157. package/dist/service/interfaces/serviceType.d.ts +6 -0
  158. package/dist/template/api/getTemplateSteps.d.ts +11 -0
  159. package/dist/template/api/listTemplates.d.ts +10 -0
  160. package/dist/template/interfaces/template.d.ts +9 -0
  161. package/dist/template/interfaces/templateStep.d.ts +31 -0
  162. package/package.json +43 -0
package/README.md ADDED
@@ -0,0 +1,61 @@
1
+ # SoloDB TypeScript Core
2
+
3
+ Reusable TypeScript API clients, interfaces, and helper utilities for SoloDB. The package wraps SoloDB REST endpoints with typed axios calls so you can build front-ends quickly without hand-writing requests or response types.
4
+
5
+ ## Features
6
+ - Typed axios clients for SoloDB domains (core, chemical, equipment, location, monitor, run, service, template, etc.)
7
+ - Shared response helpers (`ApiResponse`, `ApiFormattedResponse`) for consistent pagination handling
8
+ - `configureAxiosHeaders` helper to set auth token, JSON headers, and the API base URL once
9
+ - Barrel exports for all interfaces so you can import domain models from a single entry point
10
+
11
+ ## Getting started
12
+ 1) Configure axios defaults with your SoloDB server URL and bearer token.
13
+ ```ts
14
+ import { configureAxiosHeaders } from "solodb-typescript-core";
15
+
16
+ configureAxiosHeaders("<token>", "https://your-solodb-server");
17
+ // sets axios defaults: Authorization, JSON headers, and baseURL `${server}/api`
18
+ ```
19
+
20
+ 2) Call any of the exported API helpers. Each function returns typed data so you get autocompletion and type safety in your app.
21
+ ```ts
22
+ import { ListRuns, GetRun } from "solodb-typescript-core";
23
+
24
+ const runs = await ListRuns({ environment: "qa" });
25
+ // runs.items -> Run[]
26
+
27
+ const run = await GetRun({ id: 42 });
28
+ // run.id, run.steps, etc. are strongly typed
29
+ ```
30
+
31
+ 3) Use filters and list helpers with query parameters.
32
+ ```ts
33
+ import { GetFilter, ListChemicals } from "solodb-typescript-core";
34
+
35
+ const filter = await GetFilter({ service: "chemical" });
36
+ const chemicals = await ListChemicals({ query: "acetone" });
37
+ ```
38
+
39
+ ## Response shapes
40
+ - `ApiResponse<T>` mirrors the HAL-ish SoloDB response `{ _embedded: { items: T[] }, page_count, total_items, page }`.
41
+ - `ApiFormattedResponse<T>` is a convenience shape `{ items, amountOfPages, currentPage, totalItems, hasMore }` returned by most list helpers.
42
+
43
+ ## API surface (high level)
44
+ Import everything from the root entrypoint. Functions are grouped by domain:
45
+ - **core**: `configureAxiosHeaders`, `GetMe`, `GetFilter`
46
+ - **chemical**: `ListChemicals`, `GetChemicalContainer`, `ListChemicalContainerTypes`, `ListChemicalContainerPurposes`, etc.
47
+ - **equipment**: `GetEquipment`, `ListEquipment`, `GetSetup`, `ListModules`, `ListIssues`, `ListReservations`, `GetStatusMail`, and related attachment/status helpers
48
+ - **location / room**: `ListLocationMessages`, `GetLocation`, `ListLocations`, `GetRoom`, `ListRooms`
49
+ - **monitor**: `getMonitor`, `ListMonitors`, `ListMonitorRequirements`, plus measurement/step parameter/result helpers
50
+ - **run**: `ListRuns`, `GetRun`, `GetRunStep`, `ListRunSteps`, `ListRunParts`, measurement results, step parameter/file/checklist/part helpers, `SetRunStepPartAction`
51
+ - **service / template**: `ListServices`, `getServiceEventReport`, `ListReportResult`, `listServiceEventReportResult`, `ListTemplates`, `getTemplateSteps`
52
+ - **organisation, process**: department/process/unit/category/module/recipe/type/parameter interfaces
53
+
54
+ ## Types and interfaces
55
+ All API interfaces are exported from the root so you can import models directly, e.g. `import { Run, Equipment, Chemical, User } from "solodb-typescript-core";`.
56
+
57
+ ## Development
58
+ ```bash
59
+ yarn lint # lint TypeScript sources
60
+ yarn build # compile to dist (CJS, ESM, and type declarations)
61
+ ```
@@ -0,0 +1,4 @@
1
+ import { ChemicalContainer } from '../interfaces/chemical/chemicalContainer';
2
+ export default function getChemicalContainer({ id }: {
3
+ id: number;
4
+ }): Promise<ChemicalContainer>;
@@ -0,0 +1,5 @@
1
+ import { ApiFormattedResponse } from '../../core/interfaces/response';
2
+ import { ChemicalContainerExternalLabel } from '../interfaces/chemical/container/chemicalContainerExternalLabel';
3
+ export default function listChemicalContainerExternalLabels({ qrCodeContent, }: {
4
+ qrCodeContent: string;
5
+ }): Promise<ApiFormattedResponse<ChemicalContainerExternalLabel>>;
@@ -0,0 +1,5 @@
1
+ import { ApiFormattedResponse } from '../../core/interfaces/response';
2
+ import { ChemicalContainerMethodOfUse } from '../interfaces/chemical/container/chemicalContainerMethodOfUse';
3
+ export default function listChemicalContainerMethodsOfUse({ query, }: {
4
+ query?: string;
5
+ }): Promise<ApiFormattedResponse<ChemicalContainerMethodOfUse>>;
@@ -0,0 +1,5 @@
1
+ import { ApiFormattedResponse } from '../../core/interfaces/response';
2
+ import { ChemicalContainerPurpose } from '../interfaces/chemical/container/chemicalContainerPurpose';
3
+ export default function listChemicalContainerPurposes({ query, }: {
4
+ query?: string;
5
+ }): Promise<ApiFormattedResponse<ChemicalContainerPurpose>>;
@@ -0,0 +1,5 @@
1
+ import { ApiFormattedResponse } from '../../core/interfaces/response';
2
+ import { ChemicalContainerType } from '../interfaces/chemical/container/chemicalContainerType';
3
+ export default function listChemicalContainerTypes({ query, }: {
4
+ query?: string;
5
+ }): Promise<ApiFormattedResponse<ChemicalContainerType>>;
@@ -0,0 +1,5 @@
1
+ import { ApiFormattedResponse } from '../../core/interfaces/response';
2
+ import { Chemical } from '../interfaces/chemical';
3
+ export default function listChemicals({ query }: {
4
+ query?: string;
5
+ }): Promise<ApiFormattedResponse<Chemical>>;
@@ -0,0 +1,31 @@
1
+ import { Chemical } from '.';
2
+ import { Project } from '../../../core/interfaces/project';
3
+ import { ChemicalContainerType } from './container/chemicalContainerType';
4
+ import { ChemicalContainerPurpose } from './container/chemicalContainerPurpose';
5
+ import { ChemicalContainerMethodOfUse } from './container/chemicalContainerMethodOfUse';
6
+ import { Location } from '../../../room/interfaces/location';
7
+ export interface ChemicalContainer {
8
+ id: number;
9
+ chemical: Chemical;
10
+ location: Location;
11
+ project: Project;
12
+ is_marked_for_removal: boolean;
13
+ is_marked_for_removal_date?: string;
14
+ is_deleted: boolean;
15
+ supplier: string | null;
16
+ concentration: string | null;
17
+ amount: number | null;
18
+ amount_unit: string | null;
19
+ order_number: string | null;
20
+ type: ChemicalContainerType;
21
+ purpose: ChemicalContainerPurpose;
22
+ method_of_use: ChemicalContainerMethodOfUse;
23
+ amount_of_users: number;
24
+ amount_of_active_users: number;
25
+ amount_of_inactive_users: number;
26
+ date_arrived: string | null;
27
+ date_expired: string | null;
28
+ date_opened: string | null;
29
+ i_am_user?: boolean;
30
+ i_am_responsible?: boolean;
31
+ }
@@ -0,0 +1,10 @@
1
+ import { ChemicalContainer } from '../chemicalContainer';
2
+ export interface ChemicalContainerExternalLabel {
3
+ id: number;
4
+ qr_code_content: string;
5
+ label: string | null;
6
+ description: string | null;
7
+ order_number: string | null;
8
+ sequence: string | null;
9
+ container: ChemicalContainer;
10
+ }
@@ -0,0 +1,5 @@
1
+ export interface ChemicalContainerMethodOfUse {
2
+ id: number;
3
+ name: string;
4
+ description: string | null;
5
+ }
@@ -0,0 +1,5 @@
1
+ export interface ChemicalContainerPurpose {
2
+ id: number;
3
+ name: string;
4
+ description: string | null;
5
+ }
@@ -0,0 +1,4 @@
1
+ export interface ChemicalContainerType {
2
+ id: number;
3
+ name: string;
4
+ }
@@ -0,0 +1,10 @@
1
+ import { User } from '../../../../core/interfaces/user';
2
+ import { ChemicalContainer } from '../chemicalContainer';
3
+ export interface ChemicalContainerUser {
4
+ id: number;
5
+ user: User;
6
+ comment: string | null;
7
+ date_created: string;
8
+ deleted_at: string | null;
9
+ container: ChemicalContainer;
10
+ }
@@ -0,0 +1,30 @@
1
+ import { MainChemical } from './mainChemical';
2
+ import { SafetyStatement } from './safetyStatement';
3
+ import { SafetyIcon } from './safetyIcon';
4
+ export declare enum ChemicalStandardProductEnum {
5
+ STANDARD_PRODUCT = 1,
6
+ NON_STANDARD_PRODUCT = 2
7
+ }
8
+ export declare enum ChemicalPhysicalStateEnum {
9
+ SOLID = 1,
10
+ LIQUID = 2,
11
+ GAS = 3,
12
+ OTHER = 4
13
+ }
14
+ export interface Chemical {
15
+ id: number;
16
+ name: string;
17
+ cas_number: string | null;
18
+ chemical_formula: string | null;
19
+ ehs_link: string | null;
20
+ cmr: string[];
21
+ description: string | null;
22
+ is_standard_product: boolean;
23
+ standard_product: ChemicalStandardProductEnum;
24
+ physical_state: ChemicalPhysicalStateEnum;
25
+ is_halogenated: boolean;
26
+ contains_metals: boolean;
27
+ main_chemical: MainChemical | null;
28
+ safety_statement: SafetyStatement[];
29
+ safety_icons: SafetyIcon[];
30
+ }
@@ -0,0 +1,5 @@
1
+ export interface MainChemical {
2
+ id: number;
3
+ code: string;
4
+ name: string;
5
+ }
@@ -0,0 +1,6 @@
1
+ export interface SafetyIcon {
2
+ id: number;
3
+ class: string;
4
+ description: string;
5
+ image: string;
6
+ }
@@ -0,0 +1,5 @@
1
+ export interface SafetyStatement {
2
+ id: number;
3
+ statement: string;
4
+ number: string;
5
+ }
@@ -0,0 +1,6 @@
1
+ import { FilterData, FilterFormData } from '../interfaces/filter';
2
+ export default function getFilter({ service, environment, formResult, }: {
3
+ service: string;
4
+ environment?: string;
5
+ formResult?: FilterData;
6
+ }): Promise<FilterFormData>;
@@ -0,0 +1,2 @@
1
+ import { User } from '../interfaces/user';
2
+ export default function getMe(): Promise<User>;
@@ -0,0 +1,6 @@
1
+ import { User } from '../interfaces/user';
2
+ import { ApiFormattedResponse } from '../interfaces/response';
3
+ export default function listUsers({ query, selection }: {
4
+ query?: string;
5
+ selection?: number;
6
+ }): Promise<ApiFormattedResponse<User>>;
@@ -0,0 +1 @@
1
+ export declare const configureAxiosHeaders: (token: string, server_uri: string) => void;
@@ -0,0 +1 @@
1
+ export default function fileToBase64(file: File): Promise<string>;
@@ -0,0 +1,11 @@
1
+ export interface File {
2
+ id: number;
3
+ name: string;
4
+ is_image: boolean;
5
+ url: string;
6
+ size: number;
7
+ extension: string;
8
+ date_created: string;
9
+ has_run_step_loggings: boolean;
10
+ has_monitor_step_loggings: boolean;
11
+ }
@@ -0,0 +1,47 @@
1
+ export interface FilterFormData {
2
+ filter: Filter;
3
+ facet: Facet;
4
+ }
5
+ export interface Filter {
6
+ name: string;
7
+ label: string | null;
8
+ elements: FieldsetElement[];
9
+ fieldsets: Record<string, Fieldset>;
10
+ }
11
+ export interface Facet {
12
+ name: string;
13
+ label: string | null;
14
+ visibility: string;
15
+ elements: FieldsetElement[];
16
+ fieldsets: Record<string, Fieldset>;
17
+ }
18
+ export interface Fieldset {
19
+ name: string;
20
+ label: string | null;
21
+ visibility: string;
22
+ elements: FieldsetElement[];
23
+ fieldsets: Record<string, Fieldset>;
24
+ }
25
+ export interface FieldsetElement {
26
+ name: string;
27
+ type: string;
28
+ label: string;
29
+ options: Options;
30
+ value_options: Record<string, string>;
31
+ }
32
+ export interface Options {
33
+ label?: string;
34
+ value_options?: Record<string, string>;
35
+ inline?: boolean;
36
+ type?: number;
37
+ }
38
+ export interface FilterData {
39
+ filter: {
40
+ general: string[];
41
+ };
42
+ facet: {
43
+ [fieldsetName: string]: {
44
+ values: string[];
45
+ };
46
+ };
47
+ }
@@ -0,0 +1,8 @@
1
+ export interface Project {
2
+ id: number;
3
+ name: string;
4
+ description: string;
5
+ wbs: string;
6
+ is_private: boolean;
7
+ is_active: boolean;
8
+ }
@@ -0,0 +1,15 @@
1
+ export interface ApiFormattedResponse<T> {
2
+ items: T[];
3
+ amountOfPages: number;
4
+ currentPage: number;
5
+ totalItems: number;
6
+ hasMore: boolean;
7
+ }
8
+ export interface ApiResponse<T> {
9
+ _embedded: {
10
+ items: T[];
11
+ };
12
+ page_count: number;
13
+ total_items: number;
14
+ page: number;
15
+ }
@@ -0,0 +1,8 @@
1
+ export interface User {
2
+ id: number;
3
+ first_name: string;
4
+ last_name: string;
5
+ initials: string;
6
+ full_name: string;
7
+ email: string;
8
+ }
@@ -0,0 +1,4 @@
1
+ import { Equipment } from '../interfaces/equipment';
2
+ export default function getEquipment({ id }: {
3
+ id: number;
4
+ }): Promise<Equipment>;
@@ -0,0 +1,4 @@
1
+ import { Setup } from '../interfaces/setup';
2
+ export default function getSetup({ id }: {
3
+ id: number;
4
+ }): Promise<Setup>;
@@ -0,0 +1,4 @@
1
+ import { StatusMail } from '../interfaces/statusMail';
2
+ export default function getStatusMail({ id }: {
3
+ id: number;
4
+ }): Promise<StatusMail>;
@@ -0,0 +1,18 @@
1
+ import { Run } from '../../run/interfaces/run';
2
+ import { Equipment } from '../interfaces/equipment';
3
+ import { ApiFormattedResponse } from '../../core/interfaces/response';
4
+ import { StatusMail } from '../interfaces/statusMail';
5
+ import { Room } from '../../room/interfaces/room';
6
+ import { FilterData } from '../../core/interfaces/filter';
7
+ export default function listEquipment({ environment, run, room, statusMail, page, pageSize, query, filter, order, direction }: {
8
+ environment?: string;
9
+ run?: Run;
10
+ room?: Room;
11
+ statusMail?: StatusMail;
12
+ page?: number;
13
+ pageSize?: number;
14
+ query?: string;
15
+ filter?: FilterData;
16
+ order?: string;
17
+ direction?: "desc" | "asc";
18
+ }): Promise<ApiFormattedResponse<Equipment>>;
@@ -0,0 +1,3 @@
1
+ import { ApiFormattedResponse } from '../../core/interfaces/response';
2
+ import { EquipmentStatus } from '../interfaces/equipmentStatus';
3
+ export default function listEquipmentStatus(): Promise<ApiFormattedResponse<EquipmentStatus>>;
@@ -0,0 +1,10 @@
1
+ import { ApiFormattedResponse } from '../../../../core/interfaces/response';
2
+ import { Equipment } from '../../../interfaces/equipment';
3
+ import { EquipmentModule } from '../../../interfaces/equipment/equipmentModule';
4
+ import { StatusMail } from '../../../interfaces/statusMail';
5
+ import { EquipmentModuleEcnAttachment } from '../../../interfaces/equipment/module/ecn/equipmentModuleEcnAttachment';
6
+ export default function listEcnAttachments({ equipment, module, statusMail, }: {
7
+ equipment?: Equipment;
8
+ module?: EquipmentModule;
9
+ statusMail?: StatusMail;
10
+ }): Promise<ApiFormattedResponse<EquipmentModuleEcnAttachment>>;
@@ -0,0 +1,4 @@
1
+ import { EquipmentModule } from '../../interfaces/equipment/equipmentModule';
2
+ export default function getEquipmentModule({ id }: {
3
+ id: number;
4
+ }): Promise<EquipmentModule>;
@@ -0,0 +1,10 @@
1
+ import { ApiFormattedResponse } from '../../../../core/interfaces/response';
2
+ import { Equipment } from '../../../interfaces/equipment';
3
+ import { EquipmentModule } from '../../../interfaces/equipment/equipmentModule';
4
+ import { StatusMail } from '../../../interfaces/statusMail';
5
+ import { EquipmentModuleIssueAttachment } from '../../../interfaces/equipment/module/issue/equipmentModuleIssueAttachment';
6
+ export default function listIssueAttachments({ equipment, module, statusMail, }: {
7
+ equipment?: Equipment;
8
+ module?: EquipmentModule;
9
+ statusMail?: StatusMail;
10
+ }): Promise<ApiFormattedResponse<EquipmentModuleIssueAttachment>>;
@@ -0,0 +1,10 @@
1
+ import { EquipmentModuleEcn } from '../../interfaces/equipment/module/equipmentModuleEcn';
2
+ import { ApiFormattedResponse } from '../../../core/interfaces/response';
3
+ import { Equipment } from '../../interfaces/equipment';
4
+ import { EquipmentModule } from '../../interfaces/equipment/equipmentModule';
5
+ import { StatusMail } from '../../interfaces/statusMail';
6
+ export default function listEcn({ equipment, module, statusMail, }: {
7
+ equipment?: Equipment;
8
+ module?: EquipmentModule;
9
+ statusMail?: StatusMail;
10
+ }): Promise<ApiFormattedResponse<EquipmentModuleEcn>>;
@@ -0,0 +1,9 @@
1
+ import { ApiFormattedResponse } from '../../../core/interfaces/response';
2
+ import { EquipmentModuleParameter } from '../../interfaces/equipment/module/equipmentModuleParameter';
3
+ import { EquipmentModule } from '../../interfaces/equipment/equipmentModule';
4
+ export default function listEquipmentModuleParameters({ module, pageSize, order, direction, }: {
5
+ module?: EquipmentModule;
6
+ pageSize?: number;
7
+ order?: "sequence";
8
+ direction?: "asc" | "desc";
9
+ }): Promise<ApiFormattedResponse<EquipmentModuleParameter>>;
@@ -0,0 +1,10 @@
1
+ import { ApiFormattedResponse } from '../../../core/interfaces/response';
2
+ import { Equipment } from '../../interfaces/equipment';
3
+ import { EquipmentModule } from '../../interfaces/equipment/equipmentModule';
4
+ import { StatusMail } from '../../interfaces/statusMail';
5
+ import { EquipmentModuleIssue } from '../../interfaces/equipment/module/equipmentModuleIssue';
6
+ export default function listIssues({ equipment, module, statusMail, }: {
7
+ equipment?: Equipment;
8
+ module?: EquipmentModule;
9
+ statusMail?: StatusMail;
10
+ }): Promise<ApiFormattedResponse<EquipmentModuleIssue>>;
@@ -0,0 +1,10 @@
1
+ import { Equipment } from '../../interfaces/equipment';
2
+ import { ApiFormattedResponse } from '../../../core/interfaces/response';
3
+ import { StatusMail } from '../../interfaces/statusMail';
4
+ import { EquipmentModule } from '../../interfaces/equipment/equipmentModule';
5
+ import { Run } from '../../../run/interfaces/run';
6
+ export default function listModules({ equipment, statusMail, run, }: {
7
+ equipment?: Equipment;
8
+ statusMail?: StatusMail;
9
+ run?: Run;
10
+ }): Promise<ApiFormattedResponse<EquipmentModule>>;
@@ -0,0 +1,9 @@
1
+ import { EquipmentModuleReservation } from '../../interfaces/equipment/module/equipmentModuleReservation';
2
+ import { ApiFormattedResponse } from '../../../core/interfaces/response';
3
+ import { Equipment } from '../../interfaces/equipment';
4
+ import { EquipmentModule } from '../../interfaces/equipment/equipmentModule';
5
+ export default function listReservations({ equipment, module, which, }: {
6
+ equipment?: Equipment;
7
+ module?: EquipmentModule;
8
+ which?: "active" | "past" | "upcoming";
9
+ }): Promise<ApiFormattedResponse<EquipmentModuleReservation>>;
@@ -0,0 +1,6 @@
1
+ export type EcnAttachmentPostType = {
2
+ ecn_id: number;
3
+ filename: string;
4
+ type: string;
5
+ content: string;
6
+ };
@@ -0,0 +1,16 @@
1
+ import { Equipment } from '.';
2
+ import { EquipmentModuleStatus } from './module/equipmentModuleStatus';
3
+ export interface EquipmentModule {
4
+ id: number;
5
+ name: string;
6
+ mes_name: string;
7
+ active: boolean;
8
+ type: EquipmentModuleType;
9
+ latest_module_status?: EquipmentModuleStatus;
10
+ equipment: Equipment;
11
+ }
12
+ export interface EquipmentModuleType {
13
+ id: number;
14
+ type: string;
15
+ is_main_tool: boolean;
16
+ }
@@ -0,0 +1,8 @@
1
+ export interface EquipmentProperty {
2
+ id: number;
3
+ value: string;
4
+ float_value: number;
5
+ int_value: number;
6
+ property: string;
7
+ label: string;
8
+ }
@@ -0,0 +1,8 @@
1
+ import { Parameter as ProcessParameter } from '../../../../process/interfaces/parameter';
2
+ import { Unit } from '../../../../process/interfaces/unit';
3
+ export interface EquipmentLoggingParameter {
4
+ id: number;
5
+ name: string;
6
+ parameter: ProcessParameter | null;
7
+ unit: Unit | null;
8
+ }
@@ -0,0 +1,10 @@
1
+ import { EquipmentModuleEcn } from '../equipmentModuleEcn';
2
+ export interface EquipmentModuleEcnAttachment {
3
+ id: number;
4
+ date_created: string;
5
+ filename: string;
6
+ mime_type: string;
7
+ file_size: number;
8
+ url: string;
9
+ ecn: EquipmentModuleEcn;
10
+ }
@@ -0,0 +1,13 @@
1
+ import { User } from '../../../../core/interfaces/user';
2
+ export interface EquipmentModuleEcn {
3
+ id: number;
4
+ module_id: number;
5
+ ecn: string;
6
+ description: string;
7
+ date_created: string;
8
+ owner: User;
9
+ date_closed: string;
10
+ last_update: string;
11
+ updated_by?: User;
12
+ attachments: number;
13
+ }
@@ -0,0 +1,26 @@
1
+ import { User } from '../../../../core/interfaces/user';
2
+ export declare enum EquipmentModuleIssueType {
3
+ DEFAULT = 1,
4
+ PRIORITY = 2,
5
+ ESCALATION = 3
6
+ }
7
+ export declare enum EquipmentModuleIssueStatus {
8
+ ACTIVE = 1,
9
+ CLOSED = 2
10
+ }
11
+ export interface EquipmentModuleIssue {
12
+ id: number;
13
+ module_id: number;
14
+ date_created: string;
15
+ date_closed?: string;
16
+ last_update?: string;
17
+ issue: string;
18
+ description: string;
19
+ issue_type: EquipmentModuleIssueType;
20
+ status: EquipmentModuleIssueStatus;
21
+ owner: User;
22
+ updated_by?: User;
23
+ forecast_up: string;
24
+ actions: string;
25
+ attachments: number;
26
+ }
@@ -0,0 +1,17 @@
1
+ import { Parameter } from '../../../../process/interfaces/parameter';
2
+ import { Unit } from '../../../../process/interfaces/unit';
3
+ export interface EquipmentModuleParameter {
4
+ id: number;
5
+ parameter: Parameter;
6
+ unit: Unit | null;
7
+ version: number;
8
+ sequence: number;
9
+ fix_range: number;
10
+ min_value: number | null;
11
+ max_value: number | null;
12
+ show_in_name: boolean;
13
+ required: number;
14
+ header: number;
15
+ locked: boolean;
16
+ visibility: number;
17
+ }
@@ -0,0 +1,14 @@
1
+ import { User } from '../../../../core/interfaces/user';
2
+ import { EquipmentModule } from '../equipmentModule';
3
+ export interface EquipmentModuleReservation {
4
+ id: number;
5
+ start: string;
6
+ end: string;
7
+ title: string;
8
+ color: string;
9
+ is_technical_reservation: boolean;
10
+ is_preventive_maintenance: boolean;
11
+ user: User;
12
+ modules: EquipmentModule[];
13
+ active?: boolean;
14
+ }
@@ -0,0 +1,11 @@
1
+ import { EquipmentStatus } from '../../equipmentStatus';
2
+ import { User } from '../../../../core/interfaces/user';
3
+ import { EquipmentModuleStatusAttachment } from './status/equipmentModuleStatusAttachment';
4
+ export interface EquipmentModuleStatus {
5
+ id: number;
6
+ status: EquipmentStatus;
7
+ description: string;
8
+ user: User;
9
+ date_created: string;
10
+ attachments: EquipmentModuleStatusAttachment[];
11
+ }