@adventurelabs/scout-core 1.5.2 → 1.5.3
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/dist/helpers/index.d.ts +1 -0
- package/dist/helpers/index.js +1 -0
- package/dist/helpers/operating_contexts.d.ts +4 -1
- package/dist/helpers/operating_contexts.js +9 -0
- package/dist/helpers/sensor_poses.d.ts +16 -0
- package/dist/helpers/sensor_poses.js +97 -0
- package/dist/hooks/useScoutRealtimeOperatingContexts.d.ts +3 -3
- package/dist/hooks/useScoutRealtimeOperatingContexts.js +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/types/db.d.ts +5 -0
- package/dist/types/supabase.d.ts +58 -0
- package/package.json +1 -1
package/dist/helpers/index.d.ts
CHANGED
|
@@ -40,6 +40,7 @@ export * from "./cache";
|
|
|
40
40
|
export * from "./observations";
|
|
41
41
|
export * from "./operators";
|
|
42
42
|
export * from "./parts";
|
|
43
|
+
export * from "./sensor_poses";
|
|
43
44
|
export * from "./versions_software";
|
|
44
45
|
export * from "./versions_software_server";
|
|
45
46
|
export * from "./artifacts";
|
package/dist/helpers/index.js
CHANGED
|
@@ -40,6 +40,7 @@ export * from "./cache";
|
|
|
40
40
|
export * from "./observations";
|
|
41
41
|
export * from "./operators";
|
|
42
42
|
export * from "./parts";
|
|
43
|
+
export * from "./sensor_poses";
|
|
43
44
|
export * from "./versions_software";
|
|
44
45
|
export * from "./versions_software_server";
|
|
45
46
|
export * from "./artifacts";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { DocumentConditionCreateInput, DocumentConditionUpdateInput, IDocumentCondition, IOperatingContext, IOperatingContextEquipmentCategory, IOperatingContextEquipmentItem, IOperatingContextEquipmentRequirement, IOperatingContextPayload, IOperatingContextRegion, IOperatingContextRisk, IOperatingContextRole, IOperatingContextRoleAssignment, IOperatingContextType, IOperatingContextWeatherSnapshot, OperatingContextCreateInput, OperatingContextEquipmentCategoryCreateInput, OperatingContextEquipmentCategoryUpdateInput, OperatingContextEquipmentItemCreateInput, OperatingContextEquipmentItemUpdateInput, OperatingContextEquipmentRequirementCreateInput, OperatingContextEquipmentRequirementUpdateInput, OperatingContextListOptions, OperatingContextPayloadCreateInput, OperatingContextPayloadUpdateInput, OperatingContextRegionCreateInput, OperatingContextRegionUpdateInput, OperatingContextRiskCreateInput, OperatingContextRiskUpdateInput, OperatingContextRoleAssignmentCreateInput, OperatingContextRoleAssignmentUpdateInput, OperatingContextRoleCreateInput, OperatingContextRoleUpdateInput, OperatingContextTypeCreateInput, OperatingContextTypeUpdateInput, OperatingContextUpdateInput } from "../types/db";
|
|
1
|
+
import { DocumentConditionCreateInput, DocumentConditionUpdateInput, IDocumentCondition, IOperatingContext, IOperatingContextDevice, IOperatingContextEquipmentCategory, IOperatingContextEquipmentItem, IOperatingContextEquipmentRequirement, IOperatingContextPayload, IOperatingContextRegion, IOperatingContextRisk, IOperatingContextRole, IOperatingContextRoleAssignment, IOperatingContextType, IOperatingContextWeatherSnapshot, OperatingContextCreateInput, OperatingContextDeviceCreateInput, OperatingContextDeviceUpdateInput, OperatingContextEquipmentCategoryCreateInput, OperatingContextEquipmentCategoryUpdateInput, OperatingContextEquipmentItemCreateInput, OperatingContextEquipmentItemUpdateInput, OperatingContextEquipmentRequirementCreateInput, OperatingContextEquipmentRequirementUpdateInput, OperatingContextListOptions, OperatingContextPayloadCreateInput, OperatingContextPayloadUpdateInput, OperatingContextRegionCreateInput, OperatingContextRegionUpdateInput, OperatingContextRiskCreateInput, OperatingContextRiskUpdateInput, OperatingContextRoleAssignmentCreateInput, OperatingContextRoleAssignmentUpdateInput, OperatingContextRoleCreateInput, OperatingContextRoleUpdateInput, OperatingContextTypeCreateInput, OperatingContextTypeUpdateInput, OperatingContextUpdateInput } from "../types/db";
|
|
2
2
|
import { IWebResponseCompatible } from "../types/requests";
|
|
3
3
|
export declare function server_get_document_conditions_by_localization(localization_id: number, options?: OperatingContextListOptions): Promise<IWebResponseCompatible<IDocumentCondition[]>>;
|
|
4
4
|
export declare function server_create_document_condition(row: DocumentConditionCreateInput): Promise<IWebResponseCompatible<IDocumentCondition | null>>;
|
|
@@ -25,6 +25,9 @@ export declare function server_update_operating_context_payload(id: number, upda
|
|
|
25
25
|
export declare function server_get_operating_context_role_assignments_by_operating_context(operating_context_id: number, options?: OperatingContextListOptions): Promise<IWebResponseCompatible<IOperatingContextRoleAssignment[]>>;
|
|
26
26
|
export declare function server_create_operating_context_role_assignment(row: OperatingContextRoleAssignmentCreateInput): Promise<IWebResponseCompatible<IOperatingContextRoleAssignment | null>>;
|
|
27
27
|
export declare function server_update_operating_context_role_assignment(id: number, updates: OperatingContextRoleAssignmentUpdateInput): Promise<IWebResponseCompatible<IOperatingContextRoleAssignment | null>>;
|
|
28
|
+
export declare function server_get_operating_context_devices_by_operating_context(operating_context_id: number, options?: OperatingContextListOptions): Promise<IWebResponseCompatible<IOperatingContextDevice[]>>;
|
|
29
|
+
export declare function server_create_operating_context_device(row: OperatingContextDeviceCreateInput): Promise<IWebResponseCompatible<IOperatingContextDevice | null>>;
|
|
30
|
+
export declare function server_update_operating_context_device(id: number, updates: OperatingContextDeviceUpdateInput): Promise<IWebResponseCompatible<IOperatingContextDevice | null>>;
|
|
28
31
|
export declare function server_get_operating_context_equipment_requirements_by_operating_context(operating_context_id: number, options?: OperatingContextListOptions): Promise<IWebResponseCompatible<IOperatingContextEquipmentRequirement[]>>;
|
|
29
32
|
export declare function server_create_operating_context_equipment_requirement(row: OperatingContextEquipmentRequirementCreateInput): Promise<IWebResponseCompatible<IOperatingContextEquipmentRequirement | null>>;
|
|
30
33
|
export declare function server_update_operating_context_equipment_requirement(id: number, updates: OperatingContextEquipmentRequirementUpdateInput): Promise<IWebResponseCompatible<IOperatingContextEquipmentRequirement | null>>;
|
|
@@ -177,6 +177,15 @@ export async function server_create_operating_context_role_assignment(row) {
|
|
|
177
177
|
export async function server_update_operating_context_role_assignment(id, updates) {
|
|
178
178
|
return patch_row("operating_context_role_assignments", id, updates, "lifecycle");
|
|
179
179
|
}
|
|
180
|
+
export async function server_get_operating_context_devices_by_operating_context(operating_context_id, options) {
|
|
181
|
+
return list_by("operating_contexts_devices", "operating_context_id", operating_context_id, options);
|
|
182
|
+
}
|
|
183
|
+
export async function server_create_operating_context_device(row) {
|
|
184
|
+
return insert_row("operating_contexts_devices", row);
|
|
185
|
+
}
|
|
186
|
+
export async function server_update_operating_context_device(id, updates) {
|
|
187
|
+
return patch_row("operating_contexts_devices", id, updates, "lifecycle");
|
|
188
|
+
}
|
|
180
189
|
export async function server_get_operating_context_equipment_requirements_by_operating_context(operating_context_id, options) {
|
|
181
190
|
return list_by("operating_context_equipment_requirements", "operating_context_id", operating_context_id, options);
|
|
182
191
|
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Database } from "../types/supabase";
|
|
2
|
+
import { ISensorPose, SensorPoseInsert, SensorPoseUpdate } from "../types/db";
|
|
3
|
+
import { IWebResponseCompatible } from "../types/requests";
|
|
4
|
+
import { SupabaseClient } from "@supabase/supabase-js";
|
|
5
|
+
interface SensorPoseTimeRangeOptions {
|
|
6
|
+
start_timestamp?: string;
|
|
7
|
+
end_timestamp?: string;
|
|
8
|
+
limit?: number;
|
|
9
|
+
}
|
|
10
|
+
export declare function get_sensor_poses_by_part_id(client: SupabaseClient<Database>, part_id: number, options?: SensorPoseTimeRangeOptions): Promise<IWebResponseCompatible<ISensorPose[]>>;
|
|
11
|
+
export declare function get_sensor_pose_by_id(client: SupabaseClient<Database>, sensor_pose_id: number): Promise<IWebResponseCompatible<ISensorPose | null>>;
|
|
12
|
+
export declare function create_sensor_pose(client: SupabaseClient<Database>, row: SensorPoseInsert): Promise<IWebResponseCompatible<ISensorPose | null>>;
|
|
13
|
+
export declare function create_sensor_poses(client: SupabaseClient<Database>, rows: SensorPoseInsert[]): Promise<IWebResponseCompatible<ISensorPose[]>>;
|
|
14
|
+
export declare function update_sensor_pose(client: SupabaseClient<Database>, sensor_pose_id: number, patch: SensorPoseUpdate): Promise<IWebResponseCompatible<ISensorPose | null>>;
|
|
15
|
+
export declare function delete_sensor_pose(client: SupabaseClient<Database>, sensor_pose_id: number): Promise<IWebResponseCompatible<ISensorPose | null>>;
|
|
16
|
+
export {};
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { IWebResponse } from "../types/requests";
|
|
2
|
+
export async function get_sensor_poses_by_part_id(client, part_id, options) {
|
|
3
|
+
let query = client
|
|
4
|
+
.from("sensor_poses")
|
|
5
|
+
.select("*")
|
|
6
|
+
.eq("part_id", part_id)
|
|
7
|
+
.order("timestamp_observation", { ascending: true });
|
|
8
|
+
if (options?.start_timestamp) {
|
|
9
|
+
query = query.gte("timestamp_observation", options.start_timestamp);
|
|
10
|
+
}
|
|
11
|
+
if (options?.end_timestamp) {
|
|
12
|
+
query = query.lte("timestamp_observation", options.end_timestamp);
|
|
13
|
+
}
|
|
14
|
+
if (options?.limit != null) {
|
|
15
|
+
query = query.limit(options.limit);
|
|
16
|
+
}
|
|
17
|
+
const { data, error } = await query;
|
|
18
|
+
if (error) {
|
|
19
|
+
return IWebResponse.error(error.message).to_compatible();
|
|
20
|
+
}
|
|
21
|
+
return IWebResponse.success(data ?? []).to_compatible();
|
|
22
|
+
}
|
|
23
|
+
export async function get_sensor_pose_by_id(client, sensor_pose_id) {
|
|
24
|
+
const { data, error } = await client
|
|
25
|
+
.from("sensor_poses")
|
|
26
|
+
.select("*")
|
|
27
|
+
.eq("id", sensor_pose_id)
|
|
28
|
+
.maybeSingle();
|
|
29
|
+
if (error) {
|
|
30
|
+
return IWebResponse.error(error.message).to_compatible();
|
|
31
|
+
}
|
|
32
|
+
if (!data) {
|
|
33
|
+
return IWebResponse.error("Sensor pose not found").to_compatible();
|
|
34
|
+
}
|
|
35
|
+
return IWebResponse.success(data).to_compatible();
|
|
36
|
+
}
|
|
37
|
+
export async function create_sensor_pose(client, row) {
|
|
38
|
+
const { data, error } = await client
|
|
39
|
+
.from("sensor_poses")
|
|
40
|
+
.insert([row])
|
|
41
|
+
.select("*")
|
|
42
|
+
.single();
|
|
43
|
+
if (error) {
|
|
44
|
+
return IWebResponse.error(error.message).to_compatible();
|
|
45
|
+
}
|
|
46
|
+
if (!data) {
|
|
47
|
+
return IWebResponse.error("Failed to create sensor pose").to_compatible();
|
|
48
|
+
}
|
|
49
|
+
return IWebResponse.success(data).to_compatible();
|
|
50
|
+
}
|
|
51
|
+
export async function create_sensor_poses(client, rows) {
|
|
52
|
+
if (rows.length === 0) {
|
|
53
|
+
return IWebResponse.success([]).to_compatible();
|
|
54
|
+
}
|
|
55
|
+
const { data, error } = await client
|
|
56
|
+
.from("sensor_poses")
|
|
57
|
+
.insert(rows)
|
|
58
|
+
.select("*");
|
|
59
|
+
if (error) {
|
|
60
|
+
return IWebResponse.error(error.message).to_compatible();
|
|
61
|
+
}
|
|
62
|
+
return IWebResponse.success(data ?? []).to_compatible();
|
|
63
|
+
}
|
|
64
|
+
export async function update_sensor_pose(client, sensor_pose_id, patch) {
|
|
65
|
+
const { id: _id, inserted_at: _ia, ...updateData } = patch;
|
|
66
|
+
if (Object.keys(updateData).length === 0) {
|
|
67
|
+
return IWebResponse.error("No valid fields to update").to_compatible();
|
|
68
|
+
}
|
|
69
|
+
const { data, error } = await client
|
|
70
|
+
.from("sensor_poses")
|
|
71
|
+
.update(updateData)
|
|
72
|
+
.eq("id", sensor_pose_id)
|
|
73
|
+
.select("*")
|
|
74
|
+
.single();
|
|
75
|
+
if (error) {
|
|
76
|
+
return IWebResponse.error(error.message).to_compatible();
|
|
77
|
+
}
|
|
78
|
+
if (!data) {
|
|
79
|
+
return IWebResponse.error("Sensor pose not found or update failed").to_compatible();
|
|
80
|
+
}
|
|
81
|
+
return IWebResponse.success(data).to_compatible();
|
|
82
|
+
}
|
|
83
|
+
export async function delete_sensor_pose(client, sensor_pose_id) {
|
|
84
|
+
const { data, error } = await client
|
|
85
|
+
.from("sensor_poses")
|
|
86
|
+
.delete()
|
|
87
|
+
.eq("id", sensor_pose_id)
|
|
88
|
+
.select("*")
|
|
89
|
+
.single();
|
|
90
|
+
if (error) {
|
|
91
|
+
return IWebResponse.error(error.message).to_compatible();
|
|
92
|
+
}
|
|
93
|
+
if (!data) {
|
|
94
|
+
return IWebResponse.error("Sensor pose not found or deletion failed").to_compatible();
|
|
95
|
+
}
|
|
96
|
+
return IWebResponse.success(data).to_compatible();
|
|
97
|
+
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { SupabaseClient } from "@supabase/supabase-js";
|
|
2
2
|
import { Database } from "../types/supabase";
|
|
3
|
-
import { IOperatingContext, IOperatingContextEquipmentRequirement, IOperatingContextPayload, IOperatingContextRegion, IOperatingContextRisk, IOperatingContextRoleAssignment } from "../types/db";
|
|
3
|
+
import { IOperatingContext, IOperatingContextDevice, IOperatingContextEquipmentRequirement, IOperatingContextPayload, IOperatingContextRegion, IOperatingContextRisk, IOperatingContextRoleAssignment } from "../types/db";
|
|
4
4
|
import { RealtimeData } from "../types/realtime";
|
|
5
5
|
import { ScoutRealtimeBroadcastOptions } from "./useScoutRealtimeBroadcast";
|
|
6
|
-
export type OperatingContextRealtimeRow = IOperatingContext | IOperatingContextPayload | IOperatingContextRoleAssignment | IOperatingContextEquipmentRequirement | IOperatingContextRegion | IOperatingContextRisk;
|
|
6
|
+
export type OperatingContextRealtimeRow = IOperatingContext | IOperatingContextDevice | IOperatingContextPayload | IOperatingContextRoleAssignment | IOperatingContextEquipmentRequirement | IOperatingContextRegion | IOperatingContextRisk;
|
|
7
7
|
type OperatingContextRealtimeChange<T, Table extends string> = Omit<RealtimeData<T>, "table"> & {
|
|
8
8
|
table: Table;
|
|
9
9
|
};
|
|
10
|
-
export type OperatingContextRealtimeData = OperatingContextRealtimeChange<IOperatingContext, "operating_contexts"> | OperatingContextRealtimeChange<IOperatingContextPayload, "operating_context_payloads"> | OperatingContextRealtimeChange<IOperatingContextRoleAssignment, "operating_context_role_assignments"> | OperatingContextRealtimeChange<IOperatingContextEquipmentRequirement, "operating_context_equipment_requirements"> | OperatingContextRealtimeChange<IOperatingContextRegion, "operating_context_regions"> | OperatingContextRealtimeChange<IOperatingContextRisk, "operating_context_risks">;
|
|
10
|
+
export type OperatingContextRealtimeData = OperatingContextRealtimeChange<IOperatingContext, "operating_contexts"> | OperatingContextRealtimeChange<IOperatingContextDevice, "operating_contexts_devices"> | OperatingContextRealtimeChange<IOperatingContextPayload, "operating_context_payloads"> | OperatingContextRealtimeChange<IOperatingContextRoleAssignment, "operating_context_role_assignments"> | OperatingContextRealtimeChange<IOperatingContextEquipmentRequirement, "operating_context_equipment_requirements"> | OperatingContextRealtimeChange<IOperatingContextRegion, "operating_context_regions"> | OperatingContextRealtimeChange<IOperatingContextRisk, "operating_context_risks">;
|
|
11
11
|
export declare function useScoutRealtimeOperatingContexts(scoutSupabase: SupabaseClient<Database>, options?: ScoutRealtimeBroadcastOptions): [OperatingContextRealtimeData | null, () => void];
|
|
12
12
|
export {};
|
|
@@ -4,6 +4,7 @@ import { useSelector } from "react-redux";
|
|
|
4
4
|
import { useScoutRealtimeBroadcast, } from "./useScoutRealtimeBroadcast";
|
|
5
5
|
const TABLE_MARKERS = [
|
|
6
6
|
["operating_contexts", "operating_context_type_id"],
|
|
7
|
+
["operating_contexts_devices", "device_id"],
|
|
7
8
|
["operating_context_payloads", "payload_type"],
|
|
8
9
|
["operating_context_role_assignments", "membership_id"],
|
|
9
10
|
["operating_context_equipment_requirements", "equipment_item_id"],
|
package/dist/index.d.ts
CHANGED
|
@@ -62,6 +62,7 @@ export * from "./helpers/operators";
|
|
|
62
62
|
export * from "./helpers/versions_software";
|
|
63
63
|
export * from "./helpers/versions_software_server";
|
|
64
64
|
export * from "./helpers/parts";
|
|
65
|
+
export * from "./helpers/sensor_poses";
|
|
65
66
|
export * from "./helpers/manufacturers";
|
|
66
67
|
export * from "./helpers/products";
|
|
67
68
|
export * from "./helpers/product_numbers";
|
package/dist/index.js
CHANGED
|
@@ -65,6 +65,7 @@ export * from "./helpers/operators";
|
|
|
65
65
|
export * from "./helpers/versions_software";
|
|
66
66
|
export * from "./helpers/versions_software_server";
|
|
67
67
|
export * from "./helpers/parts";
|
|
68
|
+
export * from "./helpers/sensor_poses";
|
|
68
69
|
export * from "./helpers/manufacturers";
|
|
69
70
|
export * from "./helpers/products";
|
|
70
71
|
export * from "./helpers/product_numbers";
|
package/dist/types/db.d.ts
CHANGED
|
@@ -80,6 +80,7 @@ export type IOperatingContextEquipmentItem = Database["public"]["Tables"]["opera
|
|
|
80
80
|
export type IOperatingContext = Database["public"]["Tables"]["operating_contexts"]["Row"];
|
|
81
81
|
export type IOperatingContextPayload = Database["public"]["Tables"]["operating_context_payloads"]["Row"];
|
|
82
82
|
export type IOperatingContextRoleAssignment = Database["public"]["Tables"]["operating_context_role_assignments"]["Row"];
|
|
83
|
+
export type IOperatingContextDevice = Database["public"]["Tables"]["operating_contexts_devices"]["Row"];
|
|
83
84
|
export type IOperatingContextEquipmentRequirement = Database["public"]["Tables"]["operating_context_equipment_requirements"]["Row"];
|
|
84
85
|
export type IOperatingContextRegion = Database["public"]["Tables"]["operating_context_regions"]["Row"];
|
|
85
86
|
export type IOperatingContextRisk = Database["public"]["Tables"]["operating_context_risks"]["Row"];
|
|
@@ -120,6 +121,8 @@ export type OperatingContextPayloadCreateInput = Pick<OperatingContextPayloadIns
|
|
|
120
121
|
export type OperatingContextPayloadUpdateInput = Partial<Omit<OperatingContextPayloadCreateInput, "operating_context_id">> & LifecyclePatch;
|
|
121
122
|
export type OperatingContextRoleAssignmentCreateInput = Pick<OperatingContextRoleAssignmentInsert, "operating_context_id" | "membership_id" | "role_id" | "herd_id">;
|
|
122
123
|
export type OperatingContextRoleAssignmentUpdateInput = Partial<Pick<OperatingContextRoleAssignmentCreateInput, "membership_id" | "role_id">> & LifecyclePatch;
|
|
124
|
+
export type OperatingContextDeviceCreateInput = Pick<OperatingContextDeviceInsert, "operating_context_id" | "device_id" | "herd_id">;
|
|
125
|
+
export type OperatingContextDeviceUpdateInput = Partial<Pick<OperatingContextDeviceCreateInput, "device_id">> & LifecyclePatch;
|
|
123
126
|
export type OperatingContextEquipmentRequirementCreateInput = Pick<OperatingContextEquipmentRequirementInsert, "operating_context_id" | "equipment_item_id">;
|
|
124
127
|
export type OperatingContextEquipmentRequirementUpdateInput = Partial<Pick<OperatingContextEquipmentRequirementCreateInput, "equipment_item_id">> & LifecyclePatch;
|
|
125
128
|
export interface OperatingContextRegionCreateInput {
|
|
@@ -225,6 +228,8 @@ export type OperatingContextPayloadInsert = Database["public"]["Tables"]["operat
|
|
|
225
228
|
export type OperatingContextPayloadUpdate = Database["public"]["Tables"]["operating_context_payloads"]["Update"];
|
|
226
229
|
export type OperatingContextRoleAssignmentInsert = Database["public"]["Tables"]["operating_context_role_assignments"]["Insert"];
|
|
227
230
|
export type OperatingContextRoleAssignmentUpdate = Database["public"]["Tables"]["operating_context_role_assignments"]["Update"];
|
|
231
|
+
export type OperatingContextDeviceInsert = Database["public"]["Tables"]["operating_contexts_devices"]["Insert"];
|
|
232
|
+
export type OperatingContextDeviceUpdate = Database["public"]["Tables"]["operating_contexts_devices"]["Update"];
|
|
228
233
|
export type OperatingContextEquipmentRequirementInsert = Database["public"]["Tables"]["operating_context_equipment_requirements"]["Insert"];
|
|
229
234
|
export type OperatingContextEquipmentRequirementUpdate = Database["public"]["Tables"]["operating_context_equipment_requirements"]["Update"];
|
|
230
235
|
export type OperatingContextRegionInsert = Database["public"]["Tables"]["operating_context_regions"]["Insert"];
|
package/dist/types/supabase.d.ts
CHANGED
|
@@ -2693,6 +2693,64 @@ export type Database = {
|
|
|
2693
2693
|
}
|
|
2694
2694
|
];
|
|
2695
2695
|
};
|
|
2696
|
+
operating_contexts_devices: {
|
|
2697
|
+
Row: {
|
|
2698
|
+
device_id: number;
|
|
2699
|
+
herd_id: number;
|
|
2700
|
+
id: number;
|
|
2701
|
+
inserted_at: string;
|
|
2702
|
+
lifecycle: Database["public"]["Enums"]["entity_lifecycle"];
|
|
2703
|
+
lifecycle_changed_at: string;
|
|
2704
|
+
lifecycle_changed_by: string | null;
|
|
2705
|
+
lifecycle_reason: string | null;
|
|
2706
|
+
operating_context_id: number;
|
|
2707
|
+
};
|
|
2708
|
+
Insert: {
|
|
2709
|
+
device_id: number;
|
|
2710
|
+
herd_id: number;
|
|
2711
|
+
id?: number;
|
|
2712
|
+
inserted_at?: string;
|
|
2713
|
+
lifecycle?: Database["public"]["Enums"]["entity_lifecycle"];
|
|
2714
|
+
lifecycle_changed_at?: string;
|
|
2715
|
+
lifecycle_changed_by?: string | null;
|
|
2716
|
+
lifecycle_reason?: string | null;
|
|
2717
|
+
operating_context_id: number;
|
|
2718
|
+
};
|
|
2719
|
+
Update: {
|
|
2720
|
+
device_id?: number;
|
|
2721
|
+
herd_id?: number;
|
|
2722
|
+
id?: number;
|
|
2723
|
+
inserted_at?: string;
|
|
2724
|
+
lifecycle?: Database["public"]["Enums"]["entity_lifecycle"];
|
|
2725
|
+
lifecycle_changed_at?: string;
|
|
2726
|
+
lifecycle_changed_by?: string | null;
|
|
2727
|
+
lifecycle_reason?: string | null;
|
|
2728
|
+
operating_context_id?: number;
|
|
2729
|
+
};
|
|
2730
|
+
Relationships: [
|
|
2731
|
+
{
|
|
2732
|
+
foreignKeyName: "operating_context_device_context_fkey";
|
|
2733
|
+
columns: ["operating_context_id", "herd_id"];
|
|
2734
|
+
isOneToOne: false;
|
|
2735
|
+
referencedRelation: "operating_contexts";
|
|
2736
|
+
referencedColumns: ["id", "herd_id"];
|
|
2737
|
+
},
|
|
2738
|
+
{
|
|
2739
|
+
foreignKeyName: "operating_context_device_device_fkey";
|
|
2740
|
+
columns: ["device_id"];
|
|
2741
|
+
isOneToOne: false;
|
|
2742
|
+
referencedRelation: "devices";
|
|
2743
|
+
referencedColumns: ["id"];
|
|
2744
|
+
},
|
|
2745
|
+
{
|
|
2746
|
+
foreignKeyName: "operating_contexts_devices_lifecycle_changed_by_fkey";
|
|
2747
|
+
columns: ["lifecycle_changed_by"];
|
|
2748
|
+
isOneToOne: false;
|
|
2749
|
+
referencedRelation: "users";
|
|
2750
|
+
referencedColumns: ["id"];
|
|
2751
|
+
}
|
|
2752
|
+
];
|
|
2753
|
+
};
|
|
2696
2754
|
operators: {
|
|
2697
2755
|
Row: {
|
|
2698
2756
|
action: string | null;
|