@adventurelabs/scout-core 1.5.5 → 2.0.1
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.
- package/README.md +47 -0
- package/dist/api_keys/actions.d.ts +0 -1
- package/dist/api_keys/actions.js +0 -14
- package/dist/client/index.d.ts +76 -0
- package/dist/client/index.js +83 -0
- package/dist/constants/index.d.ts +1 -0
- package/dist/constants/index.js +1 -0
- package/dist/helpers/analysis_usage/jobs_server.d.ts +25 -0
- package/dist/helpers/analysis_usage/jobs_server.js +10 -0
- package/dist/helpers/analysis_usage/tasks_server.d.ts +63 -0
- package/dist/helpers/analysis_usage/tasks_server.js +14 -0
- package/dist/helpers/artifacts.d.ts +0 -1
- package/dist/helpers/artifacts.js +10 -147
- package/dist/helpers/artifacts.queries.d.ts +26 -0
- package/dist/helpers/{artifacts.internal.js → artifacts.queries.js} +24 -41
- package/dist/helpers/auth.d.ts +1 -1
- package/dist/helpers/auth.js +2 -3
- package/dist/helpers/auth_server.d.ts +2 -0
- package/dist/helpers/auth_server.js +10 -0
- package/dist/helpers/certificates_server.d.ts +101 -0
- package/dist/helpers/certificates_server.js +42 -0
- package/dist/helpers/chat.d.ts +1 -2
- package/dist/helpers/chat.js +3 -38
- package/dist/helpers/chat.queries.d.ts +13 -0
- package/dist/helpers/chat.queries.js +39 -0
- package/dist/helpers/client_abilities_jwt_keys.js +0 -1
- package/dist/helpers/client_abilities_token_server.d.ts +1 -0
- package/dist/helpers/client_abilities_token_server.js +5 -2
- package/dist/helpers/compliance.d.ts +26 -0
- package/dist/helpers/compliance.js +74 -0
- package/dist/helpers/compliance.queries.d.ts +28 -0
- package/dist/helpers/compliance.queries.js +167 -0
- package/dist/helpers/connectivity.d.ts +1 -5
- package/dist/helpers/connectivity.js +7 -140
- package/dist/helpers/connectivity.queries.d.ts +18 -0
- package/dist/helpers/connectivity.queries.js +121 -0
- package/dist/helpers/contacts_server.d.ts +75 -0
- package/dist/helpers/contacts_server.js +18 -0
- package/dist/helpers/deviceTransfer.js +2 -11
- package/dist/helpers/deviceTransfer.queries.d.ts +4 -0
- package/dist/helpers/deviceTransfer.queries.js +11 -0
- package/dist/helpers/devices.js +4 -61
- package/dist/helpers/devices.queries.d.ts +4 -1
- package/dist/helpers/devices.queries.js +52 -0
- package/dist/helpers/document_templates.js +6 -52
- package/dist/helpers/document_templates.queries.d.ts +9 -0
- package/dist/helpers/document_templates.queries.js +56 -0
- package/dist/helpers/documents_server.d.ts +226 -0
- package/dist/helpers/documents_server.js +38 -0
- package/dist/helpers/email.d.ts +0 -6
- package/dist/helpers/email.js +1 -19
- package/dist/helpers/embeddings.d.ts +0 -5
- package/dist/helpers/embeddings.js +2 -19
- package/dist/helpers/embeddings.queries.d.ts +7 -0
- package/dist/helpers/{embeddings.internal.js → embeddings.queries.js} +2 -2
- package/dist/helpers/eventUtils.d.ts +3 -12
- package/dist/helpers/eventUtils.js +0 -10
- package/dist/helpers/events.d.ts +0 -1
- package/dist/helpers/events.js +7 -107
- package/dist/helpers/events.queries.d.ts +17 -0
- package/dist/helpers/{events.internal.js → events.queries.js} +24 -15
- package/dist/helpers/health_metrics.js +3 -38
- package/dist/helpers/health_metrics.queries.d.ts +12 -0
- package/dist/helpers/health_metrics.queries.js +39 -0
- package/dist/helpers/heartbeats.js +4 -83
- package/dist/helpers/heartbeats.queries.d.ts +11 -0
- package/dist/helpers/heartbeats.queries.js +76 -0
- package/dist/helpers/herd_allowed_domains.js +2 -12
- package/dist/helpers/{herd_allowed_domains_internal.d.ts → herd_allowed_domains.queries.d.ts} +1 -1
- package/dist/helpers/{herd_allowed_domains_internal.js → herd_allowed_domains.queries.js} +2 -2
- package/dist/helpers/herd_credentials_server.d.ts +76 -0
- package/dist/helpers/herd_credentials_server.js +22 -0
- package/dist/helpers/herd_modules.queries.js +10 -7
- package/dist/helpers/herd_roles.js +13 -148
- package/dist/helpers/herd_roles.queries.d.ts +18 -0
- package/dist/helpers/{herd_roles_internal.js → herd_roles.queries.js} +28 -28
- package/dist/helpers/herds.js +5 -47
- package/dist/helpers/herds.queries.d.ts +8 -1
- package/dist/helpers/herds.queries.js +48 -0
- package/dist/helpers/invitations.js +7 -58
- package/dist/helpers/invitations.queries.d.ts +10 -0
- package/dist/helpers/{invitations_internal.js → invitations.queries.js} +12 -12
- package/dist/helpers/issuers.js +6 -52
- package/dist/helpers/issuers.queries.d.ts +9 -0
- package/dist/helpers/issuers.queries.js +53 -0
- package/dist/helpers/layers.js +2 -20
- package/dist/helpers/layers.queries.d.ts +2 -1
- package/dist/helpers/layers.queries.js +9 -13
- package/dist/helpers/lifecycle_server.d.ts +178 -0
- package/dist/helpers/lifecycle_server.js +38 -0
- package/dist/helpers/localizations.js +5 -42
- package/dist/helpers/localizations.queries.d.ts +8 -0
- package/dist/helpers/localizations.queries.js +45 -0
- package/dist/helpers/maintenance_requests_server.d.ts +124 -0
- package/dist/helpers/maintenance_requests_server.js +34 -0
- package/dist/helpers/manufacturers.js +5 -43
- package/dist/helpers/manufacturers.queries.d.ts +10 -0
- package/dist/helpers/manufacturers.queries.js +46 -0
- package/dist/helpers/media_urls.d.ts +13 -0
- package/dist/helpers/media_urls.js +21 -0
- package/dist/helpers/models.js +8 -80
- package/dist/helpers/models.queries.d.ts +13 -0
- package/dist/helpers/models.queries.js +79 -0
- package/dist/helpers/observations_server.d.ts +51 -0
- package/dist/helpers/observations_server.js +22 -0
- package/dist/helpers/operating_contexts.js +39 -154
- package/dist/helpers/operating_contexts.queries.d.ts +48 -0
- package/dist/helpers/operating_contexts.queries.js +223 -0
- package/dist/helpers/operators.js +4 -57
- package/dist/helpers/operators.queries.d.ts +7 -0
- package/dist/helpers/operators.queries.js +55 -0
- package/dist/helpers/parts.d.ts +0 -87
- package/dist/helpers/parts.js +1 -89
- package/dist/helpers/parts_server.d.ts +260 -0
- package/dist/helpers/parts_server.js +71 -0
- package/dist/helpers/pins_server.d.ts +118 -0
- package/dist/helpers/pins_server.js +38 -0
- package/dist/helpers/plans.js +4 -56
- package/dist/helpers/plans.queries.d.ts +4 -1
- package/dist/helpers/plans.queries.js +39 -12
- package/dist/helpers/points_for_user_server.d.ts +9 -0
- package/dist/helpers/points_for_user_server.js +14 -0
- package/dist/helpers/product_compatibilities.js +6 -78
- package/dist/helpers/product_compatibilities.queries.d.ts +9 -0
- package/dist/helpers/product_compatibilities.queries.js +83 -0
- package/dist/helpers/product_numbers.js +6 -55
- package/dist/helpers/product_numbers.queries.d.ts +9 -0
- package/dist/helpers/product_numbers.queries.js +58 -0
- package/dist/helpers/products.js +6 -54
- package/dist/helpers/products.queries.d.ts +11 -0
- package/dist/helpers/products.queries.js +58 -0
- package/dist/helpers/providers.js +5 -71
- package/dist/helpers/providers.queries.d.ts +5 -1
- package/dist/helpers/providers.queries.js +52 -11
- package/dist/helpers/pubsub_token_server.d.ts +1 -0
- package/dist/helpers/pubsub_token_server.js +5 -2
- package/dist/helpers/segmentations_sam3.js +5 -78
- package/dist/helpers/segmentations_sam3.queries.d.ts +16 -0
- package/dist/helpers/segmentations_sam3.queries.js +81 -0
- package/dist/helpers/sensor_poses_server.d.ts +98 -0
- package/dist/helpers/sensor_poses_server.js +26 -0
- package/dist/helpers/session_incidents_server.d.ts +106 -0
- package/dist/helpers/session_incidents_server.js +22 -0
- package/dist/helpers/session_summaries.d.ts +2 -0
- package/dist/helpers/session_summaries.js +7 -23
- package/dist/helpers/session_summaries.queries.d.ts +6 -3
- package/dist/helpers/session_summaries.queries.js +27 -0
- package/dist/helpers/sessions.js +8 -122
- package/dist/helpers/sessions.queries.d.ts +14 -2
- package/dist/helpers/sessions.queries.js +88 -1
- package/dist/helpers/storage.js +0 -1
- package/dist/helpers/supabase_auth.d.ts +6 -0
- package/dist/helpers/supabase_auth.js +37 -0
- package/dist/helpers/tags.d.ts +0 -1
- package/dist/helpers/tags.js +13 -559
- package/dist/helpers/tags.queries.d.ts +33 -0
- package/dist/helpers/tags.queries.js +454 -0
- package/dist/helpers/user_credentials_server.d.ts +76 -0
- package/dist/helpers/user_credentials_server.js +22 -0
- package/dist/helpers/users.d.ts +2 -2
- package/dist/helpers/users.js +8 -107
- package/dist/helpers/users.queries.d.ts +9 -1
- package/dist/helpers/users.queries.js +107 -0
- package/dist/helpers/versions_software.d.ts +3 -1
- package/dist/helpers/versions_software.js +24 -0
- package/dist/helpers/versions_software_server.d.ts +83 -4
- package/dist/helpers/versions_software_server.js +23 -50
- package/dist/helpers/zones.d.ts +1 -16
- package/dist/helpers/zones.js +4 -104
- package/dist/helpers/zones.queries.d.ts +6 -0
- package/dist/helpers/zones.queries.js +78 -0
- package/dist/hooks/useAuthorizedRealtimeTopics.js +8 -2
- package/dist/hooks/useInfiniteQuery.js +18 -14
- package/dist/hooks/useScoutRealtimeBroadcast.js +8 -6
- package/dist/hooks/useScoutRealtimeDocuments.js +3 -2
- package/dist/hooks/useScoutRefresh.d.ts +9 -25
- package/dist/hooks/useScoutRefresh.js +33 -213
- package/dist/providers/ScoutRefreshProvider.d.ts +1 -1
- package/dist/providers/ScoutRefreshProvider.js +56 -13
- package/dist/server/index.d.ts +78 -0
- package/dist/server/index.js +80 -0
- package/dist/server/middleware.d.ts +2 -0
- package/dist/server/middleware.js +2 -0
- package/dist/server/supabase.d.ts +2 -0
- package/dist/server/supabase.js +2 -0
- package/dist/store/api.d.ts +40 -40
- package/dist/store/api.js +38 -109
- package/dist/store/configureStore.d.ts +0 -55
- package/dist/store/configureStore.js +1 -8
- package/dist/store/hooks.js +1 -0
- package/dist/supabase/client.d.ts +3 -0
- package/dist/supabase/client.js +10 -0
- package/dist/supabase/middleware.d.ts +1 -0
- package/dist/supabase/middleware.js +6 -20
- package/dist/supabase/server.d.ts +7 -2
- package/dist/supabase/server.js +13 -1
- package/dist/types/db.d.ts +47 -3
- package/dist/types/index.d.ts +5 -0
- package/dist/types/index.js +5 -0
- package/dist/types/supabase.d.ts +512 -0
- package/package.json +53 -4
- package/dist/api_keys/index.d.ts +0 -1
- package/dist/api_keys/index.js +0 -1
- package/dist/helpers/artifacts.internal.d.ts +0 -22
- package/dist/helpers/client_abilities_jwt_keys_internal.d.ts +0 -9
- package/dist/helpers/client_abilities_jwt_keys_internal.js +0 -20
- package/dist/helpers/connectivity.internal.d.ts +0 -10
- package/dist/helpers/connectivity.internal.js +0 -47
- package/dist/helpers/credentials.d.ts +0 -9
- package/dist/helpers/credentials.js +0 -92
- package/dist/helpers/embeddings.internal.d.ts +0 -5
- package/dist/helpers/events.internal.d.ts +0 -13
- package/dist/helpers/herd_roles_internal.d.ts +0 -18
- package/dist/helpers/index.d.ts +0 -56
- package/dist/helpers/index.js +0 -56
- package/dist/helpers/invitations_internal.d.ts +0 -10
- package/dist/helpers/versions_software_internal.d.ts +0 -6
- package/dist/helpers/versions_software_internal.js +0 -53
- package/dist/hooks/useDeviceDisplayName.d.ts +0 -8
- package/dist/hooks/useDeviceDisplayName.js +0 -49
- package/dist/index.d.ts +0 -108
- package/dist/index.js +0 -114
- package/dist/supabase/index.d.ts +0 -2
- package/dist/supabase/index.js +0 -2
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import { MaintenanceRequestInsert, MaintenanceRequestUpdate } from "../types/db";
|
|
2
|
+
export declare function server_get_maintenance_requests_by_device_id(device_id: number): Promise<import("../types").IWebResponseCompatible<{
|
|
3
|
+
created_at: string;
|
|
4
|
+
creator_user_id: string | null;
|
|
5
|
+
defect_timestamp: string;
|
|
6
|
+
description: string;
|
|
7
|
+
device_id: number | null;
|
|
8
|
+
id: number;
|
|
9
|
+
image: string | null;
|
|
10
|
+
is_serviceable: boolean;
|
|
11
|
+
part_id: number | null;
|
|
12
|
+
remediation_completed_at: string | null;
|
|
13
|
+
remediation_completed_user_id: string | null;
|
|
14
|
+
remediation_notes: string | null;
|
|
15
|
+
session_incident_id: number | null;
|
|
16
|
+
updated_at: string | null;
|
|
17
|
+
updated_by_user_id: string | null;
|
|
18
|
+
}[]>>;
|
|
19
|
+
export declare function server_get_maintenance_requests_by_part_id(part_id: number): Promise<import("../types").IWebResponseCompatible<{
|
|
20
|
+
created_at: string;
|
|
21
|
+
creator_user_id: string | null;
|
|
22
|
+
defect_timestamp: string;
|
|
23
|
+
description: string;
|
|
24
|
+
device_id: number | null;
|
|
25
|
+
id: number;
|
|
26
|
+
image: string | null;
|
|
27
|
+
is_serviceable: boolean;
|
|
28
|
+
part_id: number | null;
|
|
29
|
+
remediation_completed_at: string | null;
|
|
30
|
+
remediation_completed_user_id: string | null;
|
|
31
|
+
remediation_notes: string | null;
|
|
32
|
+
session_incident_id: number | null;
|
|
33
|
+
updated_at: string | null;
|
|
34
|
+
updated_by_user_id: string | null;
|
|
35
|
+
}[]>>;
|
|
36
|
+
export declare function server_get_maintenance_requests_by_herd_id(herd_id: number, options?: {
|
|
37
|
+
limit?: number;
|
|
38
|
+
offset?: number;
|
|
39
|
+
}): Promise<import("../types").IWebResponseCompatible<{
|
|
40
|
+
created_at: string;
|
|
41
|
+
creator_user_id: string | null;
|
|
42
|
+
defect_timestamp: string;
|
|
43
|
+
description: string;
|
|
44
|
+
device_id: number | null;
|
|
45
|
+
id: number;
|
|
46
|
+
image: string | null;
|
|
47
|
+
is_serviceable: boolean;
|
|
48
|
+
part_id: number | null;
|
|
49
|
+
remediation_completed_at: string | null;
|
|
50
|
+
remediation_completed_user_id: string | null;
|
|
51
|
+
remediation_notes: string | null;
|
|
52
|
+
session_incident_id: number | null;
|
|
53
|
+
updated_at: string | null;
|
|
54
|
+
updated_by_user_id: string | null;
|
|
55
|
+
}[]>>;
|
|
56
|
+
export declare function server_get_maintenance_requests_count_by_herd_id(herd_id: number): Promise<import("../types").IWebResponseCompatible<number>>;
|
|
57
|
+
export declare function server_get_maintenance_request_by_id(request_id: number): Promise<import("../types").IWebResponseCompatible<{
|
|
58
|
+
created_at: string;
|
|
59
|
+
creator_user_id: string | null;
|
|
60
|
+
defect_timestamp: string;
|
|
61
|
+
description: string;
|
|
62
|
+
device_id: number | null;
|
|
63
|
+
id: number;
|
|
64
|
+
image: string | null;
|
|
65
|
+
is_serviceable: boolean;
|
|
66
|
+
part_id: number | null;
|
|
67
|
+
remediation_completed_at: string | null;
|
|
68
|
+
remediation_completed_user_id: string | null;
|
|
69
|
+
remediation_notes: string | null;
|
|
70
|
+
session_incident_id: number | null;
|
|
71
|
+
updated_at: string | null;
|
|
72
|
+
updated_by_user_id: string | null;
|
|
73
|
+
} | null>>;
|
|
74
|
+
export declare function server_create_maintenance_request(row: MaintenanceRequestInsert): Promise<import("../types").IWebResponseCompatible<{
|
|
75
|
+
created_at: string;
|
|
76
|
+
creator_user_id: string | null;
|
|
77
|
+
defect_timestamp: string;
|
|
78
|
+
description: string;
|
|
79
|
+
device_id: number | null;
|
|
80
|
+
id: number;
|
|
81
|
+
image: string | null;
|
|
82
|
+
is_serviceable: boolean;
|
|
83
|
+
part_id: number | null;
|
|
84
|
+
remediation_completed_at: string | null;
|
|
85
|
+
remediation_completed_user_id: string | null;
|
|
86
|
+
remediation_notes: string | null;
|
|
87
|
+
session_incident_id: number | null;
|
|
88
|
+
updated_at: string | null;
|
|
89
|
+
updated_by_user_id: string | null;
|
|
90
|
+
} | null>>;
|
|
91
|
+
export declare function server_update_maintenance_request(request_id: number, patch: MaintenanceRequestUpdate): Promise<import("../types").IWebResponseCompatible<{
|
|
92
|
+
created_at: string;
|
|
93
|
+
creator_user_id: string | null;
|
|
94
|
+
defect_timestamp: string;
|
|
95
|
+
description: string;
|
|
96
|
+
device_id: number | null;
|
|
97
|
+
id: number;
|
|
98
|
+
image: string | null;
|
|
99
|
+
is_serviceable: boolean;
|
|
100
|
+
part_id: number | null;
|
|
101
|
+
remediation_completed_at: string | null;
|
|
102
|
+
remediation_completed_user_id: string | null;
|
|
103
|
+
remediation_notes: string | null;
|
|
104
|
+
session_incident_id: number | null;
|
|
105
|
+
updated_at: string | null;
|
|
106
|
+
updated_by_user_id: string | null;
|
|
107
|
+
} | null>>;
|
|
108
|
+
export declare function server_delete_maintenance_request(request_id: number): Promise<import("../types").IWebResponseCompatible<{
|
|
109
|
+
created_at: string;
|
|
110
|
+
creator_user_id: string | null;
|
|
111
|
+
defect_timestamp: string;
|
|
112
|
+
description: string;
|
|
113
|
+
device_id: number | null;
|
|
114
|
+
id: number;
|
|
115
|
+
image: string | null;
|
|
116
|
+
is_serviceable: boolean;
|
|
117
|
+
part_id: number | null;
|
|
118
|
+
remediation_completed_at: string | null;
|
|
119
|
+
remediation_completed_user_id: string | null;
|
|
120
|
+
remediation_notes: string | null;
|
|
121
|
+
session_incident_id: number | null;
|
|
122
|
+
updated_at: string | null;
|
|
123
|
+
updated_by_user_id: string | null;
|
|
124
|
+
} | null>>;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { newServerClient } from "../supabase/server";
|
|
2
|
+
import { create_maintenance_request, delete_maintenance_request, get_maintenance_request_by_id, get_maintenance_requests_by_device_id, get_maintenance_requests_by_herd_id, get_maintenance_requests_by_part_id, get_maintenance_requests_count_by_herd_id, update_maintenance_request, } from "./maintenance_requests";
|
|
3
|
+
export async function server_get_maintenance_requests_by_device_id(device_id) {
|
|
4
|
+
const client = await newServerClient();
|
|
5
|
+
return get_maintenance_requests_by_device_id(client, device_id);
|
|
6
|
+
}
|
|
7
|
+
export async function server_get_maintenance_requests_by_part_id(part_id) {
|
|
8
|
+
const client = await newServerClient();
|
|
9
|
+
return get_maintenance_requests_by_part_id(client, part_id);
|
|
10
|
+
}
|
|
11
|
+
export async function server_get_maintenance_requests_by_herd_id(herd_id, options) {
|
|
12
|
+
const client = await newServerClient();
|
|
13
|
+
return get_maintenance_requests_by_herd_id(client, herd_id, options);
|
|
14
|
+
}
|
|
15
|
+
export async function server_get_maintenance_requests_count_by_herd_id(herd_id) {
|
|
16
|
+
const client = await newServerClient();
|
|
17
|
+
return get_maintenance_requests_count_by_herd_id(client, herd_id);
|
|
18
|
+
}
|
|
19
|
+
export async function server_get_maintenance_request_by_id(request_id) {
|
|
20
|
+
const client = await newServerClient();
|
|
21
|
+
return get_maintenance_request_by_id(client, request_id);
|
|
22
|
+
}
|
|
23
|
+
export async function server_create_maintenance_request(row) {
|
|
24
|
+
const client = await newServerClient();
|
|
25
|
+
return create_maintenance_request(client, row);
|
|
26
|
+
}
|
|
27
|
+
export async function server_update_maintenance_request(request_id, patch) {
|
|
28
|
+
const client = await newServerClient();
|
|
29
|
+
return update_maintenance_request(client, request_id, patch);
|
|
30
|
+
}
|
|
31
|
+
export async function server_delete_maintenance_request(request_id) {
|
|
32
|
+
const client = await newServerClient();
|
|
33
|
+
return delete_maintenance_request(client, request_id);
|
|
34
|
+
}
|
|
@@ -1,52 +1,14 @@
|
|
|
1
|
-
"use server";
|
|
2
1
|
import { newServerClient } from "../supabase/server";
|
|
3
|
-
import {
|
|
2
|
+
import { create_manufacturer_query, get_manufacturer_by_id_query, get_manufacturers_query, update_manufacturer_query, } from "./manufacturers.queries";
|
|
4
3
|
export async function server_get_manufacturers(options) {
|
|
5
|
-
|
|
6
|
-
let query = supabase.from("manufacturers").select("*").order("name");
|
|
7
|
-
if (!options?.include_inactive) {
|
|
8
|
-
query = query.eq("lifecycle", "active");
|
|
9
|
-
}
|
|
10
|
-
const { data, error } = await query;
|
|
11
|
-
if (error) {
|
|
12
|
-
return { status: EnumWebResponse.ERROR, msg: error.message, data: [] };
|
|
13
|
-
}
|
|
14
|
-
return IWebResponse.success(data ?? []).to_compatible();
|
|
4
|
+
return get_manufacturers_query(await newServerClient(), options);
|
|
15
5
|
}
|
|
16
6
|
export async function server_get_manufacturer_by_id(manufacturer_id) {
|
|
17
|
-
|
|
18
|
-
const { data, error } = await supabase
|
|
19
|
-
.from("manufacturers")
|
|
20
|
-
.select("*")
|
|
21
|
-
.eq("id", manufacturer_id)
|
|
22
|
-
.maybeSingle();
|
|
23
|
-
if (error) {
|
|
24
|
-
return { status: EnumWebResponse.ERROR, msg: error.message, data: null };
|
|
25
|
-
}
|
|
26
|
-
return IWebResponse.success(data).to_compatible();
|
|
7
|
+
return get_manufacturer_by_id_query(await newServerClient(), manufacturer_id);
|
|
27
8
|
}
|
|
28
9
|
export async function server_create_manufacturer(row) {
|
|
29
|
-
|
|
30
|
-
const { data, error } = await supabase
|
|
31
|
-
.from("manufacturers")
|
|
32
|
-
.insert(row)
|
|
33
|
-
.select("*")
|
|
34
|
-
.single();
|
|
35
|
-
if (error) {
|
|
36
|
-
return { status: EnumWebResponse.ERROR, msg: error.message, data: null };
|
|
37
|
-
}
|
|
38
|
-
return IWebResponse.success(data).to_compatible();
|
|
10
|
+
return create_manufacturer_query(await newServerClient(), row);
|
|
39
11
|
}
|
|
40
12
|
export async function server_update_manufacturer(manufacturer_id, updates) {
|
|
41
|
-
|
|
42
|
-
const { data, error } = await supabase
|
|
43
|
-
.from("manufacturers")
|
|
44
|
-
.update(updates)
|
|
45
|
-
.eq("id", manufacturer_id)
|
|
46
|
-
.select("*")
|
|
47
|
-
.single();
|
|
48
|
-
if (error) {
|
|
49
|
-
return { status: EnumWebResponse.ERROR, msg: error.message, data: null };
|
|
50
|
-
}
|
|
51
|
-
return IWebResponse.success(data).to_compatible();
|
|
13
|
+
return update_manufacturer_query(await newServerClient(), manufacturer_id, updates);
|
|
52
14
|
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { SupabaseClient } from "@supabase/supabase-js";
|
|
2
|
+
import { IManufacturer, ManufacturerInsert, ManufacturerUpdate } from "../types/db";
|
|
3
|
+
import { IWebResponseCompatible } from "../types/requests";
|
|
4
|
+
import { Database } from "../types/supabase";
|
|
5
|
+
export declare function get_manufacturers_query(client: SupabaseClient<Database>, options?: {
|
|
6
|
+
include_inactive?: boolean;
|
|
7
|
+
}): Promise<IWebResponseCompatible<IManufacturer[]>>;
|
|
8
|
+
export declare function get_manufacturer_by_id_query(client: SupabaseClient<Database>, manufacturer_id: number): Promise<IWebResponseCompatible<IManufacturer | null>>;
|
|
9
|
+
export declare function create_manufacturer_query(client: SupabaseClient<Database>, row: ManufacturerInsert): Promise<IWebResponseCompatible<IManufacturer | null>>;
|
|
10
|
+
export declare function update_manufacturer_query(client: SupabaseClient<Database>, manufacturer_id: number, updates: ManufacturerUpdate): Promise<IWebResponseCompatible<IManufacturer | null>>;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { EnumWebResponse, IWebResponse, } from "../types/requests";
|
|
2
|
+
export async function get_manufacturers_query(client, options) {
|
|
3
|
+
let query = client.from("manufacturers").select("*").order("name");
|
|
4
|
+
if (!options?.include_inactive) {
|
|
5
|
+
query = query.eq("lifecycle", "active");
|
|
6
|
+
}
|
|
7
|
+
const { data, error } = await query;
|
|
8
|
+
if (error) {
|
|
9
|
+
return { status: EnumWebResponse.ERROR, msg: error.message, data: [] };
|
|
10
|
+
}
|
|
11
|
+
return IWebResponse.success(data ?? []).to_compatible();
|
|
12
|
+
}
|
|
13
|
+
export async function get_manufacturer_by_id_query(client, manufacturer_id) {
|
|
14
|
+
const { data, error } = await client
|
|
15
|
+
.from("manufacturers")
|
|
16
|
+
.select("*")
|
|
17
|
+
.eq("id", manufacturer_id)
|
|
18
|
+
.maybeSingle();
|
|
19
|
+
if (error) {
|
|
20
|
+
return { status: EnumWebResponse.ERROR, msg: error.message, data: null };
|
|
21
|
+
}
|
|
22
|
+
return IWebResponse.success(data).to_compatible();
|
|
23
|
+
}
|
|
24
|
+
export async function create_manufacturer_query(client, row) {
|
|
25
|
+
const { data, error } = await client
|
|
26
|
+
.from("manufacturers")
|
|
27
|
+
.insert(row)
|
|
28
|
+
.select("*")
|
|
29
|
+
.single();
|
|
30
|
+
if (error) {
|
|
31
|
+
return { status: EnumWebResponse.ERROR, msg: error.message, data: null };
|
|
32
|
+
}
|
|
33
|
+
return IWebResponse.success(data).to_compatible();
|
|
34
|
+
}
|
|
35
|
+
export async function update_manufacturer_query(client, manufacturer_id, updates) {
|
|
36
|
+
const { data, error } = await client
|
|
37
|
+
.from("manufacturers")
|
|
38
|
+
.update(updates)
|
|
39
|
+
.eq("id", manufacturer_id)
|
|
40
|
+
.select("*")
|
|
41
|
+
.single();
|
|
42
|
+
if (error) {
|
|
43
|
+
return { status: EnumWebResponse.ERROR, msg: error.message, data: null };
|
|
44
|
+
}
|
|
45
|
+
return IWebResponse.success(data).to_compatible();
|
|
46
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { SupabaseClient } from "@supabase/supabase-js";
|
|
2
|
+
import type { IArtifact, IArtifactWithMediaUrl } from "../types/db";
|
|
3
|
+
import type { Database } from "../types/supabase";
|
|
4
|
+
type EventWithStoragePath = {
|
|
5
|
+
file_path?: string | null;
|
|
6
|
+
media_url?: string | null;
|
|
7
|
+
};
|
|
8
|
+
export declare function createSignedUrlMap(client: SupabaseClient<Database>, paths: Iterable<string | null | undefined>): Promise<Map<string, string | null>>;
|
|
9
|
+
export declare function addEventMediaUrls<T extends EventWithStoragePath>(client: SupabaseClient<Database>, events: T[]): Promise<Array<T & {
|
|
10
|
+
media_url: string | null;
|
|
11
|
+
}>>;
|
|
12
|
+
export declare function addArtifactMediaUrls(client: SupabaseClient<Database>, artifacts: IArtifact[]): Promise<IArtifactWithMediaUrl[]>;
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { collectArtifactStoragePaths, withArtifactMediaUrls, } from "./artifactMedia";
|
|
2
|
+
import { generateSignedUrlsBatchWithClient } from "./storage_internal";
|
|
3
|
+
import { isNonEmptyStorageFilePath } from "./storagePath";
|
|
4
|
+
export async function createSignedUrlMap(client, paths) {
|
|
5
|
+
const uniquePaths = Array.from(new Set(Array.from(paths).filter(isNonEmptyStorageFilePath)));
|
|
6
|
+
const urls = await generateSignedUrlsBatchWithClient(client, uniquePaths);
|
|
7
|
+
return new Map(uniquePaths.map((path, index) => [path, urls[index]]));
|
|
8
|
+
}
|
|
9
|
+
export async function addEventMediaUrls(client, events) {
|
|
10
|
+
const urlMap = await createSignedUrlMap(client, events.map((event) => event.file_path));
|
|
11
|
+
return events.map((event) => ({
|
|
12
|
+
...event,
|
|
13
|
+
media_url: isNonEmptyStorageFilePath(event.file_path)
|
|
14
|
+
? urlMap.get(event.file_path) ?? event.media_url ?? null
|
|
15
|
+
: event.media_url ?? null,
|
|
16
|
+
}));
|
|
17
|
+
}
|
|
18
|
+
export async function addArtifactMediaUrls(client, artifacts) {
|
|
19
|
+
const urlMap = await createSignedUrlMap(client, collectArtifactStoragePaths(artifacts));
|
|
20
|
+
return artifacts.map((artifact) => withArtifactMediaUrls(artifact, urlMap));
|
|
21
|
+
}
|
package/dist/helpers/models.js
CHANGED
|
@@ -1,95 +1,23 @@
|
|
|
1
|
-
"use server";
|
|
2
1
|
import { newServerClient } from "../supabase/server";
|
|
3
|
-
import {
|
|
4
|
-
// function that fetches a single model by id; null if not found
|
|
2
|
+
import { create_models_per_jobs_per_herd_query, delete_models_per_jobs_per_herd_by_ids_query, get_model_by_id_query, get_models_by_ids_query, get_models_per_jobs_per_herd_by_herd_query, get_models_query, update_models_per_jobs_per_herd_query, } from "./models.queries";
|
|
5
3
|
export async function server_get_model_by_id(model_id) {
|
|
6
|
-
|
|
7
|
-
const { data, error } = await supabase
|
|
8
|
-
.from("models")
|
|
9
|
-
.select("*")
|
|
10
|
-
.eq("id", model_id)
|
|
11
|
-
.maybeSingle();
|
|
12
|
-
if (error) {
|
|
13
|
-
return { status: EnumWebResponse.ERROR, msg: error.message, data: null };
|
|
14
|
-
}
|
|
15
|
-
return IWebResponse.success(data).to_compatible();
|
|
4
|
+
return get_model_by_id_query(await newServerClient(), model_id);
|
|
16
5
|
}
|
|
17
|
-
// function that fetches multiple models by id
|
|
18
6
|
export async function server_get_models_by_ids(model_ids) {
|
|
19
|
-
|
|
20
|
-
return IWebResponse.success([]).to_compatible();
|
|
21
|
-
}
|
|
22
|
-
const supabase = await newServerClient();
|
|
23
|
-
const { data, error } = await supabase
|
|
24
|
-
.from("models")
|
|
25
|
-
.select("*")
|
|
26
|
-
.in("id", model_ids);
|
|
27
|
-
if (error) {
|
|
28
|
-
return { status: EnumWebResponse.ERROR, msg: error.message, data: [] };
|
|
29
|
-
}
|
|
30
|
-
return IWebResponse.success(data ?? []).to_compatible();
|
|
7
|
+
return get_models_by_ids_query(await newServerClient(), model_ids);
|
|
31
8
|
}
|
|
32
|
-
// function that lists models, active only by default
|
|
33
9
|
export async function server_get_models(options) {
|
|
34
|
-
|
|
35
|
-
let query = supabase.from("models").select("*").order("name");
|
|
36
|
-
if (!options?.include_inactive) {
|
|
37
|
-
query = query.eq("is_active", true);
|
|
38
|
-
}
|
|
39
|
-
const { data, error } = await query;
|
|
40
|
-
if (error) {
|
|
41
|
-
return { status: EnumWebResponse.ERROR, msg: error.message, data: [] };
|
|
42
|
-
}
|
|
43
|
-
return IWebResponse.success(data ?? []).to_compatible();
|
|
10
|
+
return get_models_query(await newServerClient(), options);
|
|
44
11
|
}
|
|
45
|
-
// function that fetches the model activations for a herd
|
|
46
12
|
export async function server_get_models_per_jobs_per_herd_by_herd(herd_id) {
|
|
47
|
-
|
|
48
|
-
const { data, error } = await supabase
|
|
49
|
-
.from("models_per_jobs_per_herd")
|
|
50
|
-
.select("*")
|
|
51
|
-
.eq("herd_id", herd_id);
|
|
52
|
-
if (error) {
|
|
53
|
-
return { status: EnumWebResponse.ERROR, msg: error.message, data: [] };
|
|
54
|
-
}
|
|
55
|
-
return IWebResponse.success(data ?? []).to_compatible();
|
|
13
|
+
return get_models_per_jobs_per_herd_by_herd_query(await newServerClient(), herd_id);
|
|
56
14
|
}
|
|
57
|
-
// function that creates a model activation
|
|
58
15
|
export async function server_create_models_per_jobs_per_herd(activation) {
|
|
59
|
-
|
|
60
|
-
const { data, error } = await supabase
|
|
61
|
-
.from("models_per_jobs_per_herd")
|
|
62
|
-
.insert(activation)
|
|
63
|
-
.select("*")
|
|
64
|
-
.single();
|
|
65
|
-
if (error) {
|
|
66
|
-
return { status: EnumWebResponse.ERROR, msg: error.message, data: null };
|
|
67
|
-
}
|
|
68
|
-
return IWebResponse.success(data).to_compatible();
|
|
16
|
+
return create_models_per_jobs_per_herd_query(await newServerClient(), activation);
|
|
69
17
|
}
|
|
70
|
-
// function that updates a model activation
|
|
71
18
|
export async function server_update_models_per_jobs_per_herd(id, updates) {
|
|
72
|
-
|
|
73
|
-
const { data, error } = await supabase
|
|
74
|
-
.from("models_per_jobs_per_herd")
|
|
75
|
-
.update(updates)
|
|
76
|
-
.eq("id", id)
|
|
77
|
-
.select("*")
|
|
78
|
-
.single();
|
|
79
|
-
if (error) {
|
|
80
|
-
return { status: EnumWebResponse.ERROR, msg: error.message, data: null };
|
|
81
|
-
}
|
|
82
|
-
return IWebResponse.success(data).to_compatible();
|
|
19
|
+
return update_models_per_jobs_per_herd_query(await newServerClient(), id, updates);
|
|
83
20
|
}
|
|
84
|
-
// function that deletes model activations by ids
|
|
85
21
|
export async function server_delete_models_per_jobs_per_herd_by_ids(ids) {
|
|
86
|
-
|
|
87
|
-
const { error } = await supabase
|
|
88
|
-
.from("models_per_jobs_per_herd")
|
|
89
|
-
.delete()
|
|
90
|
-
.in("id", ids);
|
|
91
|
-
if (error) {
|
|
92
|
-
return { status: EnumWebResponse.ERROR, msg: error.message, data: false };
|
|
93
|
-
}
|
|
94
|
-
return IWebResponse.success(true).to_compatible();
|
|
22
|
+
return delete_models_per_jobs_per_herd_by_ids_query(await newServerClient(), ids);
|
|
95
23
|
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { SupabaseClient } from "@supabase/supabase-js";
|
|
2
|
+
import { IModel, IModelsPerJobsPerHerd } from "../types/db";
|
|
3
|
+
import { IWebResponseCompatible } from "../types/requests";
|
|
4
|
+
import { Database } from "../types/supabase";
|
|
5
|
+
export declare function get_model_by_id_query(client: SupabaseClient<Database>, model_id: number): Promise<IWebResponseCompatible<IModel | null>>;
|
|
6
|
+
export declare function get_models_by_ids_query(client: SupabaseClient<Database>, model_ids: number[]): Promise<IWebResponseCompatible<IModel[]>>;
|
|
7
|
+
export declare function get_models_query(client: SupabaseClient<Database>, options?: {
|
|
8
|
+
include_inactive?: boolean;
|
|
9
|
+
}): Promise<IWebResponseCompatible<IModel[]>>;
|
|
10
|
+
export declare function get_models_per_jobs_per_herd_by_herd_query(client: SupabaseClient<Database>, herd_id: number): Promise<IWebResponseCompatible<IModelsPerJobsPerHerd[]>>;
|
|
11
|
+
export declare function create_models_per_jobs_per_herd_query(client: SupabaseClient<Database>, activation: Omit<IModelsPerJobsPerHerd, "id" | "inserted_at">): Promise<IWebResponseCompatible<IModelsPerJobsPerHerd>>;
|
|
12
|
+
export declare function update_models_per_jobs_per_herd_query(client: SupabaseClient<Database>, id: number, updates: Partial<Omit<IModelsPerJobsPerHerd, "id" | "inserted_at">>): Promise<IWebResponseCompatible<IModelsPerJobsPerHerd>>;
|
|
13
|
+
export declare function delete_models_per_jobs_per_herd_by_ids_query(client: SupabaseClient<Database>, ids: number[]): Promise<IWebResponseCompatible<boolean>>;
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { EnumWebResponse, IWebResponse, } from "../types/requests";
|
|
2
|
+
export async function get_model_by_id_query(client, model_id) {
|
|
3
|
+
const { data, error } = await client
|
|
4
|
+
.from("models")
|
|
5
|
+
.select("*")
|
|
6
|
+
.eq("id", model_id)
|
|
7
|
+
.maybeSingle();
|
|
8
|
+
if (error) {
|
|
9
|
+
return { status: EnumWebResponse.ERROR, msg: error.message, data: null };
|
|
10
|
+
}
|
|
11
|
+
return IWebResponse.success(data).to_compatible();
|
|
12
|
+
}
|
|
13
|
+
export async function get_models_by_ids_query(client, model_ids) {
|
|
14
|
+
if (model_ids.length === 0) {
|
|
15
|
+
return IWebResponse.success([]).to_compatible();
|
|
16
|
+
}
|
|
17
|
+
const { data, error } = await client
|
|
18
|
+
.from("models")
|
|
19
|
+
.select("*")
|
|
20
|
+
.in("id", model_ids);
|
|
21
|
+
if (error) {
|
|
22
|
+
return { status: EnumWebResponse.ERROR, msg: error.message, data: [] };
|
|
23
|
+
}
|
|
24
|
+
return IWebResponse.success(data ?? []).to_compatible();
|
|
25
|
+
}
|
|
26
|
+
export async function get_models_query(client, options) {
|
|
27
|
+
let query = client.from("models").select("*").order("name");
|
|
28
|
+
if (!options?.include_inactive) {
|
|
29
|
+
query = query.eq("is_active", true);
|
|
30
|
+
}
|
|
31
|
+
const { data, error } = await query;
|
|
32
|
+
if (error) {
|
|
33
|
+
return { status: EnumWebResponse.ERROR, msg: error.message, data: [] };
|
|
34
|
+
}
|
|
35
|
+
return IWebResponse.success(data ?? []).to_compatible();
|
|
36
|
+
}
|
|
37
|
+
export async function get_models_per_jobs_per_herd_by_herd_query(client, herd_id) {
|
|
38
|
+
const { data, error } = await client
|
|
39
|
+
.from("models_per_jobs_per_herd")
|
|
40
|
+
.select("*")
|
|
41
|
+
.eq("herd_id", herd_id);
|
|
42
|
+
if (error) {
|
|
43
|
+
return { status: EnumWebResponse.ERROR, msg: error.message, data: [] };
|
|
44
|
+
}
|
|
45
|
+
return IWebResponse.success(data ?? []).to_compatible();
|
|
46
|
+
}
|
|
47
|
+
export async function create_models_per_jobs_per_herd_query(client, activation) {
|
|
48
|
+
const { data, error } = await client
|
|
49
|
+
.from("models_per_jobs_per_herd")
|
|
50
|
+
.insert(activation)
|
|
51
|
+
.select("*")
|
|
52
|
+
.single();
|
|
53
|
+
if (error) {
|
|
54
|
+
return { status: EnumWebResponse.ERROR, msg: error.message, data: null };
|
|
55
|
+
}
|
|
56
|
+
return IWebResponse.success(data).to_compatible();
|
|
57
|
+
}
|
|
58
|
+
export async function update_models_per_jobs_per_herd_query(client, id, updates) {
|
|
59
|
+
const { data, error } = await client
|
|
60
|
+
.from("models_per_jobs_per_herd")
|
|
61
|
+
.update(updates)
|
|
62
|
+
.eq("id", id)
|
|
63
|
+
.select("*")
|
|
64
|
+
.single();
|
|
65
|
+
if (error) {
|
|
66
|
+
return { status: EnumWebResponse.ERROR, msg: error.message, data: null };
|
|
67
|
+
}
|
|
68
|
+
return IWebResponse.success(data).to_compatible();
|
|
69
|
+
}
|
|
70
|
+
export async function delete_models_per_jobs_per_herd_by_ids_query(client, ids) {
|
|
71
|
+
const { error } = await client
|
|
72
|
+
.from("models_per_jobs_per_herd")
|
|
73
|
+
.delete()
|
|
74
|
+
.in("id", ids);
|
|
75
|
+
if (error) {
|
|
76
|
+
return { status: EnumWebResponse.ERROR, msg: error.message, data: false };
|
|
77
|
+
}
|
|
78
|
+
return IWebResponse.success(true).to_compatible();
|
|
79
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { ObservationInsert, ObservationUpdate } from "../types/db";
|
|
2
|
+
export declare function server_get_observations_for_session(session_id: number): Promise<import("../types").IWebResponseCompatible<{
|
|
3
|
+
action_complete: boolean;
|
|
4
|
+
action_required: string | null;
|
|
5
|
+
description: string;
|
|
6
|
+
id: number;
|
|
7
|
+
inserted_at: string;
|
|
8
|
+
session_id: number;
|
|
9
|
+
timestamp: string | null;
|
|
10
|
+
updated_at: string | null;
|
|
11
|
+
}[]>>;
|
|
12
|
+
export declare function server_get_observation_by_id(observation_id: number): Promise<import("../types").IWebResponseCompatible<{
|
|
13
|
+
action_complete: boolean;
|
|
14
|
+
action_required: string | null;
|
|
15
|
+
description: string;
|
|
16
|
+
id: number;
|
|
17
|
+
inserted_at: string;
|
|
18
|
+
session_id: number;
|
|
19
|
+
timestamp: string | null;
|
|
20
|
+
updated_at: string | null;
|
|
21
|
+
} | null>>;
|
|
22
|
+
export declare function server_create_observation(row: ObservationInsert): Promise<import("../types").IWebResponseCompatible<{
|
|
23
|
+
action_complete: boolean;
|
|
24
|
+
action_required: string | null;
|
|
25
|
+
description: string;
|
|
26
|
+
id: number;
|
|
27
|
+
inserted_at: string;
|
|
28
|
+
session_id: number;
|
|
29
|
+
timestamp: string | null;
|
|
30
|
+
updated_at: string | null;
|
|
31
|
+
} | null>>;
|
|
32
|
+
export declare function server_update_observation(observation_id: number, patch: ObservationUpdate): Promise<import("../types").IWebResponseCompatible<{
|
|
33
|
+
action_complete: boolean;
|
|
34
|
+
action_required: string | null;
|
|
35
|
+
description: string;
|
|
36
|
+
id: number;
|
|
37
|
+
inserted_at: string;
|
|
38
|
+
session_id: number;
|
|
39
|
+
timestamp: string | null;
|
|
40
|
+
updated_at: string | null;
|
|
41
|
+
} | null>>;
|
|
42
|
+
export declare function server_delete_observation(observation_id: number): Promise<import("../types").IWebResponseCompatible<{
|
|
43
|
+
action_complete: boolean;
|
|
44
|
+
action_required: string | null;
|
|
45
|
+
description: string;
|
|
46
|
+
id: number;
|
|
47
|
+
inserted_at: string;
|
|
48
|
+
session_id: number;
|
|
49
|
+
timestamp: string | null;
|
|
50
|
+
updated_at: string | null;
|
|
51
|
+
} | null>>;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { newServerClient } from "../supabase/server";
|
|
2
|
+
import { create_observation, delete_observation, get_observation_by_id, get_observations_for_session, update_observation, } from "./observations";
|
|
3
|
+
export async function server_get_observations_for_session(session_id) {
|
|
4
|
+
const client = await newServerClient();
|
|
5
|
+
return get_observations_for_session(client, session_id);
|
|
6
|
+
}
|
|
7
|
+
export async function server_get_observation_by_id(observation_id) {
|
|
8
|
+
const client = await newServerClient();
|
|
9
|
+
return get_observation_by_id(client, observation_id);
|
|
10
|
+
}
|
|
11
|
+
export async function server_create_observation(row) {
|
|
12
|
+
const client = await newServerClient();
|
|
13
|
+
return create_observation(client, row);
|
|
14
|
+
}
|
|
15
|
+
export async function server_update_observation(observation_id, patch) {
|
|
16
|
+
const client = await newServerClient();
|
|
17
|
+
return update_observation(client, observation_id, patch);
|
|
18
|
+
}
|
|
19
|
+
export async function server_delete_observation(observation_id) {
|
|
20
|
+
const client = await newServerClient();
|
|
21
|
+
return delete_observation(client, observation_id);
|
|
22
|
+
}
|