@adventurelabs/scout-core 1.0.116 → 1.0.119
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/components.d.ts +14 -0
- package/dist/helpers/components.js +155 -0
- package/dist/helpers/index.d.ts +2 -0
- package/dist/helpers/index.js +2 -0
- package/dist/helpers/versions_software.d.ts +10 -0
- package/dist/helpers/versions_software.js +91 -0
- package/dist/providers/ScoutRefreshProvider.d.ts +213 -5
- package/dist/types/db.d.ts +5 -1
- package/dist/types/supabase.d.ts +220 -5
- package/dist/types/supabase.js +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Database } from "../types/supabase";
|
|
2
|
+
import { IComponent, ComponentInsert } from "../types/db";
|
|
3
|
+
import { IWebResponseCompatible } from "../types/requests";
|
|
4
|
+
import { SupabaseClient } from "@supabase/supabase-js";
|
|
5
|
+
export declare function get_components_by_device_id(client: SupabaseClient<Database>, device_id: number): Promise<IWebResponseCompatible<IComponent[]>>;
|
|
6
|
+
export declare function get_component_by_id(client: SupabaseClient<Database>, component_id: number): Promise<IWebResponseCompatible<IComponent | null>>;
|
|
7
|
+
export declare function get_components_by_serial_number(client: SupabaseClient<Database>, serial_number: string): Promise<IWebResponseCompatible<IComponent[]>>;
|
|
8
|
+
export declare function get_components_by_product_number(client: SupabaseClient<Database>, product_number: string): Promise<IWebResponseCompatible<IComponent[]>>;
|
|
9
|
+
export declare function get_components_by_status(client: SupabaseClient<Database>, status: Database["public"]["Enums"]["component_status"]): Promise<IWebResponseCompatible<IComponent[]>>;
|
|
10
|
+
export declare function create_component(client: SupabaseClient<Database>, newComponent: ComponentInsert): Promise<IWebResponseCompatible<IComponent | null>>;
|
|
11
|
+
export declare function update_component(client: SupabaseClient<Database>, component_id: number, updatedComponent: Partial<ComponentInsert>): Promise<IWebResponseCompatible<IComponent | null>>;
|
|
12
|
+
export declare function delete_component(client: SupabaseClient<Database>, component_id: number): Promise<IWebResponseCompatible<IComponent | null>>;
|
|
13
|
+
export declare function update_component_status(client: SupabaseClient<Database>, component_id: number, status: Database["public"]["Enums"]["component_status"]): Promise<IWebResponseCompatible<IComponent | null>>;
|
|
14
|
+
export declare function get_components_by_certificate_id(client: SupabaseClient<Database>, certificate_id: number): Promise<IWebResponseCompatible<IComponent[]>>;
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
import { IWebResponse } from "../types/requests";
|
|
2
|
+
export async function get_components_by_device_id(client, device_id) {
|
|
3
|
+
const { data, error } = await client
|
|
4
|
+
.from("components")
|
|
5
|
+
.select("*")
|
|
6
|
+
.eq("device_id", device_id)
|
|
7
|
+
.order("created_at", { ascending: false });
|
|
8
|
+
if (error) {
|
|
9
|
+
return IWebResponse.error(error.message).to_compatible();
|
|
10
|
+
}
|
|
11
|
+
if (!data) {
|
|
12
|
+
return IWebResponse.error("No components found for device").to_compatible();
|
|
13
|
+
}
|
|
14
|
+
return IWebResponse.success(data).to_compatible();
|
|
15
|
+
}
|
|
16
|
+
export async function get_component_by_id(client, component_id) {
|
|
17
|
+
const { data, error } = await client
|
|
18
|
+
.from("components")
|
|
19
|
+
.select("*")
|
|
20
|
+
.eq("id", component_id)
|
|
21
|
+
.single();
|
|
22
|
+
if (error) {
|
|
23
|
+
return IWebResponse.error(error.message).to_compatible();
|
|
24
|
+
}
|
|
25
|
+
if (!data) {
|
|
26
|
+
return IWebResponse.error("Component not found").to_compatible();
|
|
27
|
+
}
|
|
28
|
+
return IWebResponse.success(data).to_compatible();
|
|
29
|
+
}
|
|
30
|
+
export async function get_components_by_serial_number(client, serial_number) {
|
|
31
|
+
const { data, error } = await client
|
|
32
|
+
.from("components")
|
|
33
|
+
.select("*")
|
|
34
|
+
.eq("serial_number", serial_number)
|
|
35
|
+
.order("created_at", { ascending: false });
|
|
36
|
+
if (error) {
|
|
37
|
+
return IWebResponse.error(error.message).to_compatible();
|
|
38
|
+
}
|
|
39
|
+
if (!data) {
|
|
40
|
+
return IWebResponse.error(`No components found with serial number: ${serial_number}`).to_compatible();
|
|
41
|
+
}
|
|
42
|
+
return IWebResponse.success(data).to_compatible();
|
|
43
|
+
}
|
|
44
|
+
export async function get_components_by_product_number(client, product_number) {
|
|
45
|
+
const { data, error } = await client
|
|
46
|
+
.from("components")
|
|
47
|
+
.select("*")
|
|
48
|
+
.eq("product_number", product_number)
|
|
49
|
+
.order("created_at", { ascending: false });
|
|
50
|
+
if (error) {
|
|
51
|
+
return IWebResponse.error(error.message).to_compatible();
|
|
52
|
+
}
|
|
53
|
+
if (!data) {
|
|
54
|
+
return IWebResponse.error(`No components found with product number: ${product_number}`).to_compatible();
|
|
55
|
+
}
|
|
56
|
+
return IWebResponse.success(data).to_compatible();
|
|
57
|
+
}
|
|
58
|
+
export async function get_components_by_status(client, status) {
|
|
59
|
+
const { data, error } = await client
|
|
60
|
+
.from("components")
|
|
61
|
+
.select("*")
|
|
62
|
+
.eq("status", status)
|
|
63
|
+
.order("created_at", { ascending: false });
|
|
64
|
+
if (error) {
|
|
65
|
+
return IWebResponse.error(error.message).to_compatible();
|
|
66
|
+
}
|
|
67
|
+
if (!data) {
|
|
68
|
+
return IWebResponse.error(`No components found with status: ${status}`).to_compatible();
|
|
69
|
+
}
|
|
70
|
+
return IWebResponse.success(data).to_compatible();
|
|
71
|
+
}
|
|
72
|
+
export async function create_component(client, newComponent) {
|
|
73
|
+
// Validate required fields
|
|
74
|
+
if (!newComponent.device_id) {
|
|
75
|
+
return IWebResponse.error("Device ID is required").to_compatible();
|
|
76
|
+
}
|
|
77
|
+
if (!newComponent.serial_number) {
|
|
78
|
+
return IWebResponse.error("Serial number is required").to_compatible();
|
|
79
|
+
}
|
|
80
|
+
const { data, error } = await client
|
|
81
|
+
.from("components")
|
|
82
|
+
.insert([newComponent])
|
|
83
|
+
.select("*")
|
|
84
|
+
.single();
|
|
85
|
+
if (error) {
|
|
86
|
+
return IWebResponse.error(error.message).to_compatible();
|
|
87
|
+
}
|
|
88
|
+
if (!data) {
|
|
89
|
+
return IWebResponse.error("Failed to create component").to_compatible();
|
|
90
|
+
}
|
|
91
|
+
return IWebResponse.success(data).to_compatible();
|
|
92
|
+
}
|
|
93
|
+
export async function update_component(client, component_id, updatedComponent) {
|
|
94
|
+
// Remove fields that shouldn't be updated
|
|
95
|
+
const updateData = { ...updatedComponent };
|
|
96
|
+
delete updateData.id;
|
|
97
|
+
delete updateData.created_at;
|
|
98
|
+
const { data, error } = await client
|
|
99
|
+
.from("components")
|
|
100
|
+
.update(updateData)
|
|
101
|
+
.eq("id", component_id)
|
|
102
|
+
.select("*")
|
|
103
|
+
.single();
|
|
104
|
+
if (error) {
|
|
105
|
+
return IWebResponse.error(error.message).to_compatible();
|
|
106
|
+
}
|
|
107
|
+
if (!data) {
|
|
108
|
+
return IWebResponse.error("Component not found or update failed").to_compatible();
|
|
109
|
+
}
|
|
110
|
+
return IWebResponse.success(data).to_compatible();
|
|
111
|
+
}
|
|
112
|
+
export async function delete_component(client, component_id) {
|
|
113
|
+
const { data, error } = await client
|
|
114
|
+
.from("components")
|
|
115
|
+
.delete()
|
|
116
|
+
.eq("id", component_id)
|
|
117
|
+
.select("*")
|
|
118
|
+
.single();
|
|
119
|
+
if (error) {
|
|
120
|
+
return IWebResponse.error(error.message).to_compatible();
|
|
121
|
+
}
|
|
122
|
+
if (!data) {
|
|
123
|
+
return IWebResponse.error("Component not found or deletion failed").to_compatible();
|
|
124
|
+
}
|
|
125
|
+
return IWebResponse.success(data).to_compatible();
|
|
126
|
+
}
|
|
127
|
+
export async function update_component_status(client, component_id, status) {
|
|
128
|
+
const { data, error } = await client
|
|
129
|
+
.from("components")
|
|
130
|
+
.update({ status })
|
|
131
|
+
.eq("id", component_id)
|
|
132
|
+
.select("*")
|
|
133
|
+
.single();
|
|
134
|
+
if (error) {
|
|
135
|
+
return IWebResponse.error(error.message).to_compatible();
|
|
136
|
+
}
|
|
137
|
+
if (!data) {
|
|
138
|
+
return IWebResponse.error("Component not found or status update failed").to_compatible();
|
|
139
|
+
}
|
|
140
|
+
return IWebResponse.success(data).to_compatible();
|
|
141
|
+
}
|
|
142
|
+
export async function get_components_by_certificate_id(client, certificate_id) {
|
|
143
|
+
const { data, error } = await client
|
|
144
|
+
.from("components")
|
|
145
|
+
.select("*")
|
|
146
|
+
.eq("certificate_id", certificate_id)
|
|
147
|
+
.order("created_at", { ascending: false });
|
|
148
|
+
if (error) {
|
|
149
|
+
return IWebResponse.error(error.message).to_compatible();
|
|
150
|
+
}
|
|
151
|
+
if (!data) {
|
|
152
|
+
return IWebResponse.error(`No components found with certificate ID: ${certificate_id}`).to_compatible();
|
|
153
|
+
}
|
|
154
|
+
return IWebResponse.success(data).to_compatible();
|
|
155
|
+
}
|
package/dist/helpers/index.d.ts
CHANGED
package/dist/helpers/index.js
CHANGED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Database } from "../types/supabase";
|
|
2
|
+
import { IVersionsSoftware, VersionsSoftwareInsert } from "../types/db";
|
|
3
|
+
import { IWebResponseCompatible } from "../types/requests";
|
|
4
|
+
import { SupabaseClient } from "@supabase/supabase-js";
|
|
5
|
+
export declare function get_versions_software(client: SupabaseClient<Database>): Promise<IWebResponseCompatible<IVersionsSoftware[]>>;
|
|
6
|
+
export declare function get_versions_software_by_system(client: SupabaseClient<Database>, system: string): Promise<IWebResponseCompatible<IVersionsSoftware[]>>;
|
|
7
|
+
export declare function create_version_software(client: SupabaseClient<Database>, newVersionSoftware: VersionsSoftwareInsert): Promise<IWebResponseCompatible<IVersionsSoftware | null>>;
|
|
8
|
+
export declare function update_version_software(client: SupabaseClient<Database>, version_id: number, updatedVersionSoftware: Partial<VersionsSoftwareInsert>): Promise<IWebResponseCompatible<IVersionsSoftware | null>>;
|
|
9
|
+
export declare function delete_version_software(client: SupabaseClient<Database>, version_id: number): Promise<IWebResponseCompatible<IVersionsSoftware | null>>;
|
|
10
|
+
export declare function get_versions_software_by_created_by(client: SupabaseClient<Database>, user_id: string): Promise<IWebResponseCompatible<IVersionsSoftware[]>>;
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { IWebResponse } from "../types/requests";
|
|
2
|
+
export async function get_versions_software(client) {
|
|
3
|
+
const { data, error } = await client
|
|
4
|
+
.from("versions_software")
|
|
5
|
+
.select("*")
|
|
6
|
+
.order("created_at", { ascending: false });
|
|
7
|
+
if (error) {
|
|
8
|
+
return IWebResponse.error(error.message).to_compatible();
|
|
9
|
+
}
|
|
10
|
+
if (!data) {
|
|
11
|
+
return IWebResponse.error("No software versions found").to_compatible();
|
|
12
|
+
}
|
|
13
|
+
return IWebResponse.success(data).to_compatible();
|
|
14
|
+
}
|
|
15
|
+
export async function get_versions_software_by_system(client, system) {
|
|
16
|
+
const { data, error } = await client
|
|
17
|
+
.from("versions_software")
|
|
18
|
+
.select("*")
|
|
19
|
+
.eq("system", system)
|
|
20
|
+
.order("created_at", { ascending: false });
|
|
21
|
+
if (error) {
|
|
22
|
+
return IWebResponse.error(error.message).to_compatible();
|
|
23
|
+
}
|
|
24
|
+
if (!data) {
|
|
25
|
+
return IWebResponse.error(`No software versions found for system: ${system}`).to_compatible();
|
|
26
|
+
}
|
|
27
|
+
return IWebResponse.success(data).to_compatible();
|
|
28
|
+
}
|
|
29
|
+
export async function create_version_software(client, newVersionSoftware) {
|
|
30
|
+
const { data, error } = await client
|
|
31
|
+
.from("versions_software")
|
|
32
|
+
.insert([newVersionSoftware])
|
|
33
|
+
.select("*")
|
|
34
|
+
.single();
|
|
35
|
+
if (error) {
|
|
36
|
+
return IWebResponse.error(error.message).to_compatible();
|
|
37
|
+
}
|
|
38
|
+
if (!data) {
|
|
39
|
+
return IWebResponse.error("Failed to create software version").to_compatible();
|
|
40
|
+
}
|
|
41
|
+
return IWebResponse.success(data).to_compatible();
|
|
42
|
+
}
|
|
43
|
+
export async function update_version_software(client, version_id, updatedVersionSoftware) {
|
|
44
|
+
// Remove fields that shouldn't be updated
|
|
45
|
+
const updateData = { ...updatedVersionSoftware };
|
|
46
|
+
delete updateData.id;
|
|
47
|
+
delete updateData.created_at;
|
|
48
|
+
delete updateData.created_by; // Only original creator can modify due to RLS
|
|
49
|
+
const { data, error } = await client
|
|
50
|
+
.from("versions_software")
|
|
51
|
+
.update(updateData)
|
|
52
|
+
.eq("id", version_id)
|
|
53
|
+
.select("*")
|
|
54
|
+
.single();
|
|
55
|
+
if (error) {
|
|
56
|
+
return IWebResponse.error(error.message).to_compatible();
|
|
57
|
+
}
|
|
58
|
+
if (!data) {
|
|
59
|
+
return IWebResponse.error("Software version not found or update failed").to_compatible();
|
|
60
|
+
}
|
|
61
|
+
return IWebResponse.success(data).to_compatible();
|
|
62
|
+
}
|
|
63
|
+
export async function delete_version_software(client, version_id) {
|
|
64
|
+
const { data, error } = await client
|
|
65
|
+
.from("versions_software")
|
|
66
|
+
.delete()
|
|
67
|
+
.eq("id", version_id)
|
|
68
|
+
.select("*")
|
|
69
|
+
.single();
|
|
70
|
+
if (error) {
|
|
71
|
+
return IWebResponse.error(error.message).to_compatible();
|
|
72
|
+
}
|
|
73
|
+
if (!data) {
|
|
74
|
+
return IWebResponse.error("Software version not found or deletion failed").to_compatible();
|
|
75
|
+
}
|
|
76
|
+
return IWebResponse.success(data).to_compatible();
|
|
77
|
+
}
|
|
78
|
+
export async function get_versions_software_by_created_by(client, user_id) {
|
|
79
|
+
const { data, error } = await client
|
|
80
|
+
.from("versions_software")
|
|
81
|
+
.select("*")
|
|
82
|
+
.eq("created_by", user_id)
|
|
83
|
+
.order("created_at", { ascending: false });
|
|
84
|
+
if (error) {
|
|
85
|
+
return IWebResponse.error(error.message).to_compatible();
|
|
86
|
+
}
|
|
87
|
+
if (!data) {
|
|
88
|
+
return IWebResponse.error("No software versions found for user").to_compatible();
|
|
89
|
+
}
|
|
90
|
+
return IWebResponse.success(data).to_compatible();
|
|
91
|
+
}
|
|
@@ -49,26 +49,41 @@ export declare function useSupabase(): SupabaseClient<Database, "public", "publi
|
|
|
49
49
|
artifacts: {
|
|
50
50
|
Row: {
|
|
51
51
|
created_at: string;
|
|
52
|
+
device_id: number;
|
|
52
53
|
file_path: string;
|
|
53
54
|
id: number;
|
|
55
|
+
modality: string | null;
|
|
54
56
|
session_id: number | null;
|
|
55
57
|
timestamp_observation: string | null;
|
|
58
|
+
updated_at: string | null;
|
|
56
59
|
};
|
|
57
60
|
Insert: {
|
|
58
61
|
created_at?: string;
|
|
62
|
+
device_id: number;
|
|
59
63
|
file_path: string;
|
|
60
64
|
id?: number;
|
|
65
|
+
modality?: string | null;
|
|
61
66
|
session_id?: number | null;
|
|
62
67
|
timestamp_observation?: string | null;
|
|
68
|
+
updated_at?: string | null;
|
|
63
69
|
};
|
|
64
70
|
Update: {
|
|
65
71
|
created_at?: string;
|
|
72
|
+
device_id?: number;
|
|
66
73
|
file_path?: string;
|
|
67
74
|
id?: number;
|
|
75
|
+
modality?: string | null;
|
|
68
76
|
session_id?: number | null;
|
|
69
77
|
timestamp_observation?: string | null;
|
|
78
|
+
updated_at?: string | null;
|
|
70
79
|
};
|
|
71
80
|
Relationships: [{
|
|
81
|
+
foreignKeyName: "artifacts_device_id_fkey";
|
|
82
|
+
columns: ["device_id"];
|
|
83
|
+
isOneToOne: false;
|
|
84
|
+
referencedRelation: "devices";
|
|
85
|
+
referencedColumns: ["id"];
|
|
86
|
+
}, {
|
|
72
87
|
foreignKeyName: "artifacts_session_id_fkey";
|
|
73
88
|
columns: ["session_id"];
|
|
74
89
|
isOneToOne: false;
|
|
@@ -76,6 +91,36 @@ export declare function useSupabase(): SupabaseClient<Database, "public", "publi
|
|
|
76
91
|
referencedColumns: ["id"];
|
|
77
92
|
}];
|
|
78
93
|
};
|
|
94
|
+
certificates: {
|
|
95
|
+
Row: {
|
|
96
|
+
created_at: string;
|
|
97
|
+
expiration: string | null;
|
|
98
|
+
id: number;
|
|
99
|
+
issuer: string;
|
|
100
|
+
tracking_number: string | null;
|
|
101
|
+
type: string;
|
|
102
|
+
updated_at: string | null;
|
|
103
|
+
};
|
|
104
|
+
Insert: {
|
|
105
|
+
created_at?: string;
|
|
106
|
+
expiration?: string | null;
|
|
107
|
+
id?: number;
|
|
108
|
+
issuer: string;
|
|
109
|
+
tracking_number?: string | null;
|
|
110
|
+
type: string;
|
|
111
|
+
updated_at?: string | null;
|
|
112
|
+
};
|
|
113
|
+
Update: {
|
|
114
|
+
created_at?: string;
|
|
115
|
+
expiration?: string | null;
|
|
116
|
+
id?: number;
|
|
117
|
+
issuer?: string;
|
|
118
|
+
tracking_number?: string | null;
|
|
119
|
+
type?: string;
|
|
120
|
+
updated_at?: string | null;
|
|
121
|
+
};
|
|
122
|
+
Relationships: [];
|
|
123
|
+
};
|
|
79
124
|
chat: {
|
|
80
125
|
Row: {
|
|
81
126
|
created_at: string;
|
|
@@ -112,6 +157,51 @@ export declare function useSupabase(): SupabaseClient<Database, "public", "publi
|
|
|
112
157
|
referencedColumns: ["id"];
|
|
113
158
|
}];
|
|
114
159
|
};
|
|
160
|
+
components: {
|
|
161
|
+
Row: {
|
|
162
|
+
certificate_id: number | null;
|
|
163
|
+
created_at: string;
|
|
164
|
+
device_id: number;
|
|
165
|
+
id: number;
|
|
166
|
+
product_number: string | null;
|
|
167
|
+
serial_number: string;
|
|
168
|
+
status: Database["public"]["Enums"]["component_status"];
|
|
169
|
+
updated_at: string | null;
|
|
170
|
+
};
|
|
171
|
+
Insert: {
|
|
172
|
+
certificate_id?: number | null;
|
|
173
|
+
created_at?: string;
|
|
174
|
+
device_id: number;
|
|
175
|
+
id?: number;
|
|
176
|
+
product_number?: string | null;
|
|
177
|
+
serial_number: string;
|
|
178
|
+
status?: Database["public"]["Enums"]["component_status"];
|
|
179
|
+
updated_at?: string | null;
|
|
180
|
+
};
|
|
181
|
+
Update: {
|
|
182
|
+
certificate_id?: number | null;
|
|
183
|
+
created_at?: string;
|
|
184
|
+
device_id?: number;
|
|
185
|
+
id?: number;
|
|
186
|
+
product_number?: string | null;
|
|
187
|
+
serial_number?: string;
|
|
188
|
+
status?: Database["public"]["Enums"]["component_status"];
|
|
189
|
+
updated_at?: string | null;
|
|
190
|
+
};
|
|
191
|
+
Relationships: [{
|
|
192
|
+
foreignKeyName: "components_certificate_id_fkey";
|
|
193
|
+
columns: ["certificate_id"];
|
|
194
|
+
isOneToOne: false;
|
|
195
|
+
referencedRelation: "certificates";
|
|
196
|
+
referencedColumns: ["id"];
|
|
197
|
+
}, {
|
|
198
|
+
foreignKeyName: "components_device_id_fkey";
|
|
199
|
+
columns: ["device_id"];
|
|
200
|
+
isOneToOne: false;
|
|
201
|
+
referencedRelation: "devices";
|
|
202
|
+
referencedColumns: ["id"];
|
|
203
|
+
}];
|
|
204
|
+
};
|
|
115
205
|
connectivity: {
|
|
116
206
|
Row: {
|
|
117
207
|
altitude: number;
|
|
@@ -691,6 +781,51 @@ export declare function useSupabase(): SupabaseClient<Database, "public", "publi
|
|
|
691
781
|
referencedColumns: ["id"];
|
|
692
782
|
}];
|
|
693
783
|
};
|
|
784
|
+
versions_software: {
|
|
785
|
+
Row: {
|
|
786
|
+
commit_hash: string | null;
|
|
787
|
+
created_at: string;
|
|
788
|
+
created_by: string | null;
|
|
789
|
+
description: string;
|
|
790
|
+
hyperlink: string | null;
|
|
791
|
+
id: number;
|
|
792
|
+
system: string;
|
|
793
|
+
title: string | null;
|
|
794
|
+
updated_at: string | null;
|
|
795
|
+
version: string;
|
|
796
|
+
};
|
|
797
|
+
Insert: {
|
|
798
|
+
commit_hash?: string | null;
|
|
799
|
+
created_at?: string;
|
|
800
|
+
created_by?: string | null;
|
|
801
|
+
description: string;
|
|
802
|
+
hyperlink?: string | null;
|
|
803
|
+
id?: number;
|
|
804
|
+
system: string;
|
|
805
|
+
title?: string | null;
|
|
806
|
+
updated_at?: string | null;
|
|
807
|
+
version: string;
|
|
808
|
+
};
|
|
809
|
+
Update: {
|
|
810
|
+
commit_hash?: string | null;
|
|
811
|
+
created_at?: string;
|
|
812
|
+
created_by?: string | null;
|
|
813
|
+
description?: string;
|
|
814
|
+
hyperlink?: string | null;
|
|
815
|
+
id?: number;
|
|
816
|
+
system?: string;
|
|
817
|
+
title?: string | null;
|
|
818
|
+
updated_at?: string | null;
|
|
819
|
+
version?: string;
|
|
820
|
+
};
|
|
821
|
+
Relationships: [{
|
|
822
|
+
foreignKeyName: "versions_software_created_by_fkey";
|
|
823
|
+
columns: ["created_by"];
|
|
824
|
+
isOneToOne: false;
|
|
825
|
+
referencedRelation: "users";
|
|
826
|
+
referencedColumns: ["id"];
|
|
827
|
+
}];
|
|
828
|
+
};
|
|
694
829
|
zones: {
|
|
695
830
|
Row: {
|
|
696
831
|
herd_id: number;
|
|
@@ -855,6 +990,53 @@ export declare function useSupabase(): SupabaseClient<Database, "public", "publi
|
|
|
855
990
|
table_name: string;
|
|
856
991
|
}[];
|
|
857
992
|
};
|
|
993
|
+
delete_all_orphaned_sessions: {
|
|
994
|
+
Args: {
|
|
995
|
+
min_age_seconds?: number;
|
|
996
|
+
};
|
|
997
|
+
Returns: {
|
|
998
|
+
age_seconds: number;
|
|
999
|
+
device_id: number;
|
|
1000
|
+
session_id: number;
|
|
1001
|
+
status: string;
|
|
1002
|
+
timestamp_start: string;
|
|
1003
|
+
}[];
|
|
1004
|
+
};
|
|
1005
|
+
delete_orphaned_session: {
|
|
1006
|
+
Args: {
|
|
1007
|
+
min_age_seconds?: number;
|
|
1008
|
+
session_id_param: number;
|
|
1009
|
+
};
|
|
1010
|
+
Returns: {
|
|
1011
|
+
age_seconds: number;
|
|
1012
|
+
connectivity_count: number;
|
|
1013
|
+
device_id: number;
|
|
1014
|
+
session_id: number;
|
|
1015
|
+
status: string;
|
|
1016
|
+
timestamp_start: string;
|
|
1017
|
+
}[];
|
|
1018
|
+
};
|
|
1019
|
+
fix_all_sessions_missing_end_timestamps: {
|
|
1020
|
+
Args: never;
|
|
1021
|
+
Returns: {
|
|
1022
|
+
device_id: number;
|
|
1023
|
+
new_timestamp_end: string;
|
|
1024
|
+
old_timestamp_end: string;
|
|
1025
|
+
session_id: number;
|
|
1026
|
+
status: string;
|
|
1027
|
+
}[];
|
|
1028
|
+
};
|
|
1029
|
+
fix_session_end_timestamp: {
|
|
1030
|
+
Args: {
|
|
1031
|
+
session_id_param: number;
|
|
1032
|
+
};
|
|
1033
|
+
Returns: {
|
|
1034
|
+
new_timestamp_end: string;
|
|
1035
|
+
old_timestamp_end: string;
|
|
1036
|
+
session_id: number;
|
|
1037
|
+
status: string;
|
|
1038
|
+
}[];
|
|
1039
|
+
};
|
|
858
1040
|
get_connectivity_with_coordinates: {
|
|
859
1041
|
Args: {
|
|
860
1042
|
session_id_caller: number;
|
|
@@ -896,10 +1078,10 @@ export declare function useSupabase(): SupabaseClient<Database, "public", "publi
|
|
|
896
1078
|
Args: {
|
|
897
1079
|
device_id_caller: number;
|
|
898
1080
|
};
|
|
899
|
-
Returns: Database["public"]["CompositeTypes"]["
|
|
1081
|
+
Returns: Database["public"]["CompositeTypes"]["device_with_components"];
|
|
900
1082
|
SetofOptions: {
|
|
901
1083
|
from: "*";
|
|
902
|
-
to: "
|
|
1084
|
+
to: "device_with_components";
|
|
903
1085
|
isOneToOne: true;
|
|
904
1086
|
isSetofReturn: false;
|
|
905
1087
|
};
|
|
@@ -914,10 +1096,10 @@ export declare function useSupabase(): SupabaseClient<Database, "public", "publi
|
|
|
914
1096
|
Args: {
|
|
915
1097
|
herd_id_caller: number;
|
|
916
1098
|
};
|
|
917
|
-
Returns: Database["public"]["CompositeTypes"]["
|
|
1099
|
+
Returns: Database["public"]["CompositeTypes"]["device_with_components"][];
|
|
918
1100
|
SetofOptions: {
|
|
919
1101
|
from: "*";
|
|
920
|
-
to: "
|
|
1102
|
+
to: "device_with_components";
|
|
921
1103
|
isOneToOne: false;
|
|
922
1104
|
isSetofReturn: true;
|
|
923
1105
|
};
|
|
@@ -1061,7 +1243,16 @@ export declare function useSupabase(): SupabaseClient<Database, "public", "publi
|
|
|
1061
1243
|
Args: {
|
|
1062
1244
|
id_of_device: number;
|
|
1063
1245
|
};
|
|
1064
|
-
Returns:
|
|
1246
|
+
Returns: {
|
|
1247
|
+
error: true;
|
|
1248
|
+
} & "Could not choose the best candidate function between: public.load_api_keys(id_of_device => int8), public.load_api_keys(id_of_device => text). Try renaming the parameters or the function itself in the database so function overloading can be resolved";
|
|
1249
|
+
} | {
|
|
1250
|
+
Args: {
|
|
1251
|
+
id_of_device: string;
|
|
1252
|
+
};
|
|
1253
|
+
Returns: {
|
|
1254
|
+
error: true;
|
|
1255
|
+
} & "Could not choose the best candidate function between: public.load_api_keys(id_of_device => int8), public.load_api_keys(id_of_device => text). Try renaming the parameters or the function itself in the database so function overloading can be resolved";
|
|
1065
1256
|
};
|
|
1066
1257
|
load_api_keys_batch: {
|
|
1067
1258
|
Args: {
|
|
@@ -1086,6 +1277,7 @@ export declare function useSupabase(): SupabaseClient<Database, "public", "publi
|
|
|
1086
1277
|
};
|
|
1087
1278
|
Enums: {
|
|
1088
1279
|
app_permission: "herds.delete" | "events.delete";
|
|
1280
|
+
component_status: "active" | "inactive";
|
|
1089
1281
|
device_type: "trail_camera" | "drone_fixed_wing" | "drone_quad" | "gps_tracker" | "sentry_tower" | "smart_buoy" | "radio_mesh_base_station" | "radio_mesh_repeater" | "unknown" | "gps_tracker_vehicle" | "gps_tracker_person" | "radio_mesh_base_station_gateway";
|
|
1090
1282
|
media_type: "image" | "video" | "audio" | "text";
|
|
1091
1283
|
plan_type: "mission" | "fence" | "rally" | "markov";
|
|
@@ -1143,6 +1335,22 @@ export declare function useSupabase(): SupabaseClient<Database, "public", "publi
|
|
|
1143
1335
|
latitude: number | null;
|
|
1144
1336
|
longitude: number | null;
|
|
1145
1337
|
};
|
|
1338
|
+
device_with_components: {
|
|
1339
|
+
id: number | null;
|
|
1340
|
+
inserted_at: string | null;
|
|
1341
|
+
created_by: string | null;
|
|
1342
|
+
herd_id: number | null;
|
|
1343
|
+
device_type: Database["public"]["Enums"]["device_type"] | null;
|
|
1344
|
+
domain_name: string | null;
|
|
1345
|
+
location: string | null;
|
|
1346
|
+
altitude: number | null;
|
|
1347
|
+
heading: number | null;
|
|
1348
|
+
name: string | null;
|
|
1349
|
+
description: string | null;
|
|
1350
|
+
latitude: number | null;
|
|
1351
|
+
longitude: number | null;
|
|
1352
|
+
components: import("../types/supabase").Json | null;
|
|
1353
|
+
};
|
|
1146
1354
|
event_and_tags: {
|
|
1147
1355
|
id: number | null;
|
|
1148
1356
|
inserted_at: string | null;
|
package/dist/types/db.d.ts
CHANGED
|
@@ -6,7 +6,7 @@ export type DeviceType = Database["public"]["Enums"]["device_type"];
|
|
|
6
6
|
export type MediaType = Database["public"]["Enums"]["media_type"];
|
|
7
7
|
export type TagObservationType = Database["public"]["Enums"]["tag_observation_type"];
|
|
8
8
|
export type IUser = User;
|
|
9
|
-
export type IDevice = Database["public"]["CompositeTypes"]["
|
|
9
|
+
export type IDevice = Database["public"]["CompositeTypes"]["device_with_components"] & {
|
|
10
10
|
api_keys_scout?: IApiKeyScout[];
|
|
11
11
|
recent_events?: IEventAndTagsPrettyLocation[];
|
|
12
12
|
};
|
|
@@ -24,6 +24,10 @@ export type IConnectivity = Database["public"]["Tables"]["connectivity"]["Row"];
|
|
|
24
24
|
export type IHeartbeat = Database["public"]["Tables"]["heartbeats"]["Row"];
|
|
25
25
|
export type IOperator = Database["public"]["Tables"]["operators"]["Row"];
|
|
26
26
|
export type IProvider = Database["public"]["Tables"]["providers"]["Row"];
|
|
27
|
+
export type IComponent = Database["public"]["Tables"]["components"]["Row"];
|
|
28
|
+
export type IVersionsSoftware = Database["public"]["Tables"]["versions_software"]["Row"];
|
|
29
|
+
export type ComponentInsert = Database["public"]["Tables"]["components"]["Insert"];
|
|
30
|
+
export type VersionsSoftwareInsert = Database["public"]["Tables"]["versions_software"]["Insert"];
|
|
27
31
|
export type IEventWithTags = Database["public"]["CompositeTypes"]["event_with_tags"] & {
|
|
28
32
|
earthranger_url: string | null;
|
|
29
33
|
file_path: string | null;
|
package/dist/types/supabase.d.ts
CHANGED
|
@@ -49,26 +49,42 @@ export type Database = {
|
|
|
49
49
|
artifacts: {
|
|
50
50
|
Row: {
|
|
51
51
|
created_at: string;
|
|
52
|
+
device_id: number;
|
|
52
53
|
file_path: string;
|
|
53
54
|
id: number;
|
|
55
|
+
modality: string | null;
|
|
54
56
|
session_id: number | null;
|
|
55
57
|
timestamp_observation: string | null;
|
|
58
|
+
updated_at: string | null;
|
|
56
59
|
};
|
|
57
60
|
Insert: {
|
|
58
61
|
created_at?: string;
|
|
62
|
+
device_id: number;
|
|
59
63
|
file_path: string;
|
|
60
64
|
id?: number;
|
|
65
|
+
modality?: string | null;
|
|
61
66
|
session_id?: number | null;
|
|
62
67
|
timestamp_observation?: string | null;
|
|
68
|
+
updated_at?: string | null;
|
|
63
69
|
};
|
|
64
70
|
Update: {
|
|
65
71
|
created_at?: string;
|
|
72
|
+
device_id?: number;
|
|
66
73
|
file_path?: string;
|
|
67
74
|
id?: number;
|
|
75
|
+
modality?: string | null;
|
|
68
76
|
session_id?: number | null;
|
|
69
77
|
timestamp_observation?: string | null;
|
|
78
|
+
updated_at?: string | null;
|
|
70
79
|
};
|
|
71
80
|
Relationships: [
|
|
81
|
+
{
|
|
82
|
+
foreignKeyName: "artifacts_device_id_fkey";
|
|
83
|
+
columns: ["device_id"];
|
|
84
|
+
isOneToOne: false;
|
|
85
|
+
referencedRelation: "devices";
|
|
86
|
+
referencedColumns: ["id"];
|
|
87
|
+
},
|
|
72
88
|
{
|
|
73
89
|
foreignKeyName: "artifacts_session_id_fkey";
|
|
74
90
|
columns: ["session_id"];
|
|
@@ -78,6 +94,36 @@ export type Database = {
|
|
|
78
94
|
}
|
|
79
95
|
];
|
|
80
96
|
};
|
|
97
|
+
certificates: {
|
|
98
|
+
Row: {
|
|
99
|
+
created_at: string;
|
|
100
|
+
expiration: string | null;
|
|
101
|
+
id: number;
|
|
102
|
+
issuer: string;
|
|
103
|
+
tracking_number: string | null;
|
|
104
|
+
type: string;
|
|
105
|
+
updated_at: string | null;
|
|
106
|
+
};
|
|
107
|
+
Insert: {
|
|
108
|
+
created_at?: string;
|
|
109
|
+
expiration?: string | null;
|
|
110
|
+
id?: number;
|
|
111
|
+
issuer: string;
|
|
112
|
+
tracking_number?: string | null;
|
|
113
|
+
type: string;
|
|
114
|
+
updated_at?: string | null;
|
|
115
|
+
};
|
|
116
|
+
Update: {
|
|
117
|
+
created_at?: string;
|
|
118
|
+
expiration?: string | null;
|
|
119
|
+
id?: number;
|
|
120
|
+
issuer?: string;
|
|
121
|
+
tracking_number?: string | null;
|
|
122
|
+
type?: string;
|
|
123
|
+
updated_at?: string | null;
|
|
124
|
+
};
|
|
125
|
+
Relationships: [];
|
|
126
|
+
};
|
|
81
127
|
chat: {
|
|
82
128
|
Row: {
|
|
83
129
|
created_at: string;
|
|
@@ -117,6 +163,54 @@ export type Database = {
|
|
|
117
163
|
}
|
|
118
164
|
];
|
|
119
165
|
};
|
|
166
|
+
components: {
|
|
167
|
+
Row: {
|
|
168
|
+
certificate_id: number | null;
|
|
169
|
+
created_at: string;
|
|
170
|
+
device_id: number;
|
|
171
|
+
id: number;
|
|
172
|
+
product_number: string | null;
|
|
173
|
+
serial_number: string;
|
|
174
|
+
status: Database["public"]["Enums"]["component_status"];
|
|
175
|
+
updated_at: string | null;
|
|
176
|
+
};
|
|
177
|
+
Insert: {
|
|
178
|
+
certificate_id?: number | null;
|
|
179
|
+
created_at?: string;
|
|
180
|
+
device_id: number;
|
|
181
|
+
id?: number;
|
|
182
|
+
product_number?: string | null;
|
|
183
|
+
serial_number: string;
|
|
184
|
+
status?: Database["public"]["Enums"]["component_status"];
|
|
185
|
+
updated_at?: string | null;
|
|
186
|
+
};
|
|
187
|
+
Update: {
|
|
188
|
+
certificate_id?: number | null;
|
|
189
|
+
created_at?: string;
|
|
190
|
+
device_id?: number;
|
|
191
|
+
id?: number;
|
|
192
|
+
product_number?: string | null;
|
|
193
|
+
serial_number?: string;
|
|
194
|
+
status?: Database["public"]["Enums"]["component_status"];
|
|
195
|
+
updated_at?: string | null;
|
|
196
|
+
};
|
|
197
|
+
Relationships: [
|
|
198
|
+
{
|
|
199
|
+
foreignKeyName: "components_certificate_id_fkey";
|
|
200
|
+
columns: ["certificate_id"];
|
|
201
|
+
isOneToOne: false;
|
|
202
|
+
referencedRelation: "certificates";
|
|
203
|
+
referencedColumns: ["id"];
|
|
204
|
+
},
|
|
205
|
+
{
|
|
206
|
+
foreignKeyName: "components_device_id_fkey";
|
|
207
|
+
columns: ["device_id"];
|
|
208
|
+
isOneToOne: false;
|
|
209
|
+
referencedRelation: "devices";
|
|
210
|
+
referencedColumns: ["id"];
|
|
211
|
+
}
|
|
212
|
+
];
|
|
213
|
+
};
|
|
120
214
|
connectivity: {
|
|
121
215
|
Row: {
|
|
122
216
|
altitude: number;
|
|
@@ -727,6 +821,53 @@ export type Database = {
|
|
|
727
821
|
}
|
|
728
822
|
];
|
|
729
823
|
};
|
|
824
|
+
versions_software: {
|
|
825
|
+
Row: {
|
|
826
|
+
commit_hash: string | null;
|
|
827
|
+
created_at: string;
|
|
828
|
+
created_by: string | null;
|
|
829
|
+
description: string;
|
|
830
|
+
hyperlink: string | null;
|
|
831
|
+
id: number;
|
|
832
|
+
system: string;
|
|
833
|
+
title: string | null;
|
|
834
|
+
updated_at: string | null;
|
|
835
|
+
version: string;
|
|
836
|
+
};
|
|
837
|
+
Insert: {
|
|
838
|
+
commit_hash?: string | null;
|
|
839
|
+
created_at?: string;
|
|
840
|
+
created_by?: string | null;
|
|
841
|
+
description: string;
|
|
842
|
+
hyperlink?: string | null;
|
|
843
|
+
id?: number;
|
|
844
|
+
system: string;
|
|
845
|
+
title?: string | null;
|
|
846
|
+
updated_at?: string | null;
|
|
847
|
+
version: string;
|
|
848
|
+
};
|
|
849
|
+
Update: {
|
|
850
|
+
commit_hash?: string | null;
|
|
851
|
+
created_at?: string;
|
|
852
|
+
created_by?: string | null;
|
|
853
|
+
description?: string;
|
|
854
|
+
hyperlink?: string | null;
|
|
855
|
+
id?: number;
|
|
856
|
+
system?: string;
|
|
857
|
+
title?: string | null;
|
|
858
|
+
updated_at?: string | null;
|
|
859
|
+
version?: string;
|
|
860
|
+
};
|
|
861
|
+
Relationships: [
|
|
862
|
+
{
|
|
863
|
+
foreignKeyName: "versions_software_created_by_fkey";
|
|
864
|
+
columns: ["created_by"];
|
|
865
|
+
isOneToOne: false;
|
|
866
|
+
referencedRelation: "users";
|
|
867
|
+
referencedColumns: ["id"];
|
|
868
|
+
}
|
|
869
|
+
];
|
|
870
|
+
};
|
|
730
871
|
zones: {
|
|
731
872
|
Row: {
|
|
732
873
|
herd_id: number;
|
|
@@ -903,6 +1044,53 @@ export type Database = {
|
|
|
903
1044
|
table_name: string;
|
|
904
1045
|
}[];
|
|
905
1046
|
};
|
|
1047
|
+
delete_all_orphaned_sessions: {
|
|
1048
|
+
Args: {
|
|
1049
|
+
min_age_seconds?: number;
|
|
1050
|
+
};
|
|
1051
|
+
Returns: {
|
|
1052
|
+
age_seconds: number;
|
|
1053
|
+
device_id: number;
|
|
1054
|
+
session_id: number;
|
|
1055
|
+
status: string;
|
|
1056
|
+
timestamp_start: string;
|
|
1057
|
+
}[];
|
|
1058
|
+
};
|
|
1059
|
+
delete_orphaned_session: {
|
|
1060
|
+
Args: {
|
|
1061
|
+
min_age_seconds?: number;
|
|
1062
|
+
session_id_param: number;
|
|
1063
|
+
};
|
|
1064
|
+
Returns: {
|
|
1065
|
+
age_seconds: number;
|
|
1066
|
+
connectivity_count: number;
|
|
1067
|
+
device_id: number;
|
|
1068
|
+
session_id: number;
|
|
1069
|
+
status: string;
|
|
1070
|
+
timestamp_start: string;
|
|
1071
|
+
}[];
|
|
1072
|
+
};
|
|
1073
|
+
fix_all_sessions_missing_end_timestamps: {
|
|
1074
|
+
Args: never;
|
|
1075
|
+
Returns: {
|
|
1076
|
+
device_id: number;
|
|
1077
|
+
new_timestamp_end: string;
|
|
1078
|
+
old_timestamp_end: string;
|
|
1079
|
+
session_id: number;
|
|
1080
|
+
status: string;
|
|
1081
|
+
}[];
|
|
1082
|
+
};
|
|
1083
|
+
fix_session_end_timestamp: {
|
|
1084
|
+
Args: {
|
|
1085
|
+
session_id_param: number;
|
|
1086
|
+
};
|
|
1087
|
+
Returns: {
|
|
1088
|
+
new_timestamp_end: string;
|
|
1089
|
+
old_timestamp_end: string;
|
|
1090
|
+
session_id: number;
|
|
1091
|
+
status: string;
|
|
1092
|
+
}[];
|
|
1093
|
+
};
|
|
906
1094
|
get_connectivity_with_coordinates: {
|
|
907
1095
|
Args: {
|
|
908
1096
|
session_id_caller: number;
|
|
@@ -944,10 +1132,10 @@ export type Database = {
|
|
|
944
1132
|
Args: {
|
|
945
1133
|
device_id_caller: number;
|
|
946
1134
|
};
|
|
947
|
-
Returns: Database["public"]["CompositeTypes"]["
|
|
1135
|
+
Returns: Database["public"]["CompositeTypes"]["device_with_components"];
|
|
948
1136
|
SetofOptions: {
|
|
949
1137
|
from: "*";
|
|
950
|
-
to: "
|
|
1138
|
+
to: "device_with_components";
|
|
951
1139
|
isOneToOne: true;
|
|
952
1140
|
isSetofReturn: false;
|
|
953
1141
|
};
|
|
@@ -962,10 +1150,10 @@ export type Database = {
|
|
|
962
1150
|
Args: {
|
|
963
1151
|
herd_id_caller: number;
|
|
964
1152
|
};
|
|
965
|
-
Returns: Database["public"]["CompositeTypes"]["
|
|
1153
|
+
Returns: Database["public"]["CompositeTypes"]["device_with_components"][];
|
|
966
1154
|
SetofOptions: {
|
|
967
1155
|
from: "*";
|
|
968
|
-
to: "
|
|
1156
|
+
to: "device_with_components";
|
|
969
1157
|
isOneToOne: false;
|
|
970
1158
|
isSetofReturn: true;
|
|
971
1159
|
};
|
|
@@ -1109,7 +1297,16 @@ export type Database = {
|
|
|
1109
1297
|
Args: {
|
|
1110
1298
|
id_of_device: number;
|
|
1111
1299
|
};
|
|
1112
|
-
Returns:
|
|
1300
|
+
Returns: {
|
|
1301
|
+
error: true;
|
|
1302
|
+
} & "Could not choose the best candidate function between: public.load_api_keys(id_of_device => int8), public.load_api_keys(id_of_device => text). Try renaming the parameters or the function itself in the database so function overloading can be resolved";
|
|
1303
|
+
} | {
|
|
1304
|
+
Args: {
|
|
1305
|
+
id_of_device: string;
|
|
1306
|
+
};
|
|
1307
|
+
Returns: {
|
|
1308
|
+
error: true;
|
|
1309
|
+
} & "Could not choose the best candidate function between: public.load_api_keys(id_of_device => int8), public.load_api_keys(id_of_device => text). Try renaming the parameters or the function itself in the database so function overloading can be resolved";
|
|
1113
1310
|
};
|
|
1114
1311
|
load_api_keys_batch: {
|
|
1115
1312
|
Args: {
|
|
@@ -1134,6 +1331,7 @@ export type Database = {
|
|
|
1134
1331
|
};
|
|
1135
1332
|
Enums: {
|
|
1136
1333
|
app_permission: "herds.delete" | "events.delete";
|
|
1334
|
+
component_status: "active" | "inactive";
|
|
1137
1335
|
device_type: "trail_camera" | "drone_fixed_wing" | "drone_quad" | "gps_tracker" | "sentry_tower" | "smart_buoy" | "radio_mesh_base_station" | "radio_mesh_repeater" | "unknown" | "gps_tracker_vehicle" | "gps_tracker_person" | "radio_mesh_base_station_gateway";
|
|
1138
1336
|
media_type: "image" | "video" | "audio" | "text";
|
|
1139
1337
|
plan_type: "mission" | "fence" | "rally" | "markov";
|
|
@@ -1191,6 +1389,22 @@ export type Database = {
|
|
|
1191
1389
|
latitude: number | null;
|
|
1192
1390
|
longitude: number | null;
|
|
1193
1391
|
};
|
|
1392
|
+
device_with_components: {
|
|
1393
|
+
id: number | null;
|
|
1394
|
+
inserted_at: string | null;
|
|
1395
|
+
created_by: string | null;
|
|
1396
|
+
herd_id: number | null;
|
|
1397
|
+
device_type: Database["public"]["Enums"]["device_type"] | null;
|
|
1398
|
+
domain_name: string | null;
|
|
1399
|
+
location: string | null;
|
|
1400
|
+
altitude: number | null;
|
|
1401
|
+
heading: number | null;
|
|
1402
|
+
name: string | null;
|
|
1403
|
+
description: string | null;
|
|
1404
|
+
latitude: number | null;
|
|
1405
|
+
longitude: number | null;
|
|
1406
|
+
components: Json | null;
|
|
1407
|
+
};
|
|
1194
1408
|
event_and_tags: {
|
|
1195
1409
|
id: number | null;
|
|
1196
1410
|
inserted_at: string | null;
|
|
@@ -1351,6 +1565,7 @@ export declare const Constants: {
|
|
|
1351
1565
|
readonly public: {
|
|
1352
1566
|
readonly Enums: {
|
|
1353
1567
|
readonly app_permission: readonly ["herds.delete", "events.delete"];
|
|
1568
|
+
readonly component_status: readonly ["active", "inactive"];
|
|
1354
1569
|
readonly device_type: readonly ["trail_camera", "drone_fixed_wing", "drone_quad", "gps_tracker", "sentry_tower", "smart_buoy", "radio_mesh_base_station", "radio_mesh_repeater", "unknown", "gps_tracker_vehicle", "gps_tracker_person", "radio_mesh_base_station_gateway"];
|
|
1355
1570
|
readonly media_type: readonly ["image", "video", "audio", "text"];
|
|
1356
1571
|
readonly plan_type: readonly ["mission", "fence", "rally", "markov"];
|
package/dist/types/supabase.js
CHANGED