@evercam/api 1.0.0-9633bd3c5 → 1.0.0-9670187dd

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (149) hide show
  1. package/README.md +4 -0
  2. package/dist/api/api/3dFirebaseApi.d.ts +215 -0
  3. package/dist/api/api/adminApi.d.ts +387 -0
  4. package/dist/api/api/aiApi.d.ts +251 -0
  5. package/dist/api/api/authzApi.d.ts +40 -0
  6. package/dist/api/{client → api/client}/axios.d.ts +2 -1
  7. package/dist/api/{client → api/client}/customErrors.d.ts +10 -0
  8. package/dist/api/{client → api/client}/interceptors.d.ts +1 -1
  9. package/dist/api/api/client/swr/Swr.d.ts +14 -0
  10. package/dist/api/api/client/swr/SwrStore.d.ts +10 -0
  11. package/dist/api/api/evercamApi.d.ts +360 -0
  12. package/dist/api/api/evercamLabsApi.d.ts +34 -0
  13. package/dist/api/{exNvrApi.d.ts → api/exNvrApi.d.ts} +1 -1
  14. package/dist/api/api/index.d.ts +14 -0
  15. package/dist/api/api/ingestApi.d.ts +160 -0
  16. package/dist/api/{ptzApi.d.ts → api/ptzApi.d.ts} +12 -3
  17. package/dist/api/api/videoWallApi.d.ts +9 -0
  18. package/dist/api/{weatherApi.d.ts → api/weatherApi.d.ts} +2 -2
  19. package/dist/api/api/workflowsApi.d.ts +15 -0
  20. package/dist/api/index.d.ts +3 -13
  21. package/dist/api/types/360.d.ts +365 -0
  22. package/dist/api/types/aconex.d.ts +143 -0
  23. package/dist/api/types/admin.d.ts +51 -0
  24. package/dist/api/types/aiConfigs.d.ts +244 -0
  25. package/dist/{types → api/types}/analytics.d.ts +226 -65
  26. package/dist/{types → api/types}/anpr.d.ts +55 -13
  27. package/dist/{types → api/types}/auditLogs.d.ts +20 -5
  28. package/dist/api/types/authz.d.ts +132 -0
  29. package/dist/{types → api/types}/autodesk.d.ts +7 -7
  30. package/dist/api/types/automation.d.ts +123 -0
  31. package/dist/{types → api/types}/axios.d.ts +32 -11
  32. package/dist/{types → api/types}/bim.d.ts +39 -10
  33. package/dist/{types → api/types}/camera.d.ts +141 -166
  34. package/dist/api/types/comments.d.ts +64 -0
  35. package/dist/api/types/company.d.ts +114 -0
  36. package/dist/{types → api/types}/compare.d.ts +21 -6
  37. package/dist/{types → api/types}/connector.d.ts +9 -5
  38. package/dist/api/types/coolify.d.ts +36 -0
  39. package/dist/{types → api/types}/countries.d.ts +0 -7
  40. package/dist/{types → api/types}/credentials.d.ts +1 -0
  41. package/dist/api/types/detections.d.ts +117 -0
  42. package/dist/api/types/drone.d.ts +106 -0
  43. package/dist/{types → api/types}/errors.d.ts +30 -1
  44. package/dist/{types → api/types}/gateReport.d.ts +49 -168
  45. package/dist/api/types/gateReportManagement.d.ts +170 -0
  46. package/dist/api/types/hammertech.d.ts +98 -0
  47. package/dist/{types → api/types}/hdd.d.ts +26 -1
  48. package/dist/{types → api/types}/index.d.ts +19 -4
  49. package/dist/api/types/ingest.d.ts +297 -0
  50. package/dist/{types → api/types}/kit.d.ts +124 -102
  51. package/dist/api/types/map.d.ts +16 -0
  52. package/dist/{types → api/types}/media.d.ts +9 -3
  53. package/dist/api/types/notification.d.ts +107 -0
  54. package/dist/api/types/oauth.d.ts +62 -0
  55. package/dist/api/types/observationEvents.d.ts +141 -0
  56. package/dist/api/types/observations.d.ts +84 -0
  57. package/dist/api/types/planner.d.ts +125 -0
  58. package/dist/api/types/posthog.d.ts +53 -0
  59. package/dist/api/types/procore.d.ts +229 -0
  60. package/dist/{types → api/types}/progressPhoto.d.ts +11 -23
  61. package/dist/api/types/project.d.ts +259 -0
  62. package/dist/{types → api/types}/recording.d.ts +10 -16
  63. package/dist/api/types/recycleBin.d.ts +14 -0
  64. package/dist/api/types/ring.d.ts +53 -0
  65. package/dist/{types → api/types}/roi.d.ts +2 -9
  66. package/dist/{types → api/types}/routeParams.d.ts +5 -2
  67. package/dist/{types → api/types}/router.d.ts +20 -1
  68. package/dist/{types → api/types}/shared.d.ts +34 -30
  69. package/dist/api/types/shares.d.ts +45 -0
  70. package/dist/{types → api/types}/sim.d.ts +6 -6
  71. package/dist/api/types/siteAnalytics.d.ts +285 -0
  72. package/dist/api/types/siteAnalyticsManagement.d.ts +127 -0
  73. package/dist/api/types/siteView.d.ts +78 -0
  74. package/dist/api/types/smartSeach.d.ts +5 -0
  75. package/dist/api/types/snapshots.d.ts +104 -0
  76. package/dist/api/types/socket.d.ts +4 -0
  77. package/dist/api/types/sso.d.ts +55 -0
  78. package/dist/api/types/storageProvider.d.ts +19 -0
  79. package/dist/api/types/storyblok.d.ts +27 -0
  80. package/dist/{types → api/types}/streaming.d.ts +4 -25
  81. package/dist/{types → api/types}/tag.d.ts +1 -1
  82. package/dist/api/types/time.d.ts +7 -0
  83. package/dist/{types → api/types}/timelapse.d.ts +7 -11
  84. package/dist/{types → api/types}/user.d.ts +121 -40
  85. package/dist/api/types/videoWall.d.ts +66 -0
  86. package/dist/api/types/weather.d.ts +153 -0
  87. package/dist/{types → api/types}/widget.d.ts +96 -16
  88. package/dist/api/types/workflows.d.ts +108 -0
  89. package/dist/{types → api/types}/xweather.d.ts +4 -4
  90. package/dist/{utils.d.ts → api/utils.d.ts} +1 -0
  91. package/dist/index.d.ts +2 -3
  92. package/dist/index.js +3051 -1083
  93. package/dist/index.js.map +1 -1
  94. package/dist/index.umd.cjs +1 -1
  95. package/dist/index.umd.cjs.map +1 -1
  96. package/dist/shared/api/index.d.ts +3 -0
  97. package/dist/shared/components/timelinePlayer/providers/index.d.ts +3 -0
  98. package/dist/shared/components/timelinePlayer/providers/timelineAnprProvider.d.ts +17 -0
  99. package/dist/shared/components/timelinePlayer/providers/timelineDataProvider.d.ts +13 -0
  100. package/dist/shared/components/timelinePlayer/providers/timelineLuminanceProvider.d.ts +16 -0
  101. package/dist/shared/types/components.d.ts +501 -0
  102. package/dist/shared/types/customDataTableFilters.d.ts +10 -0
  103. package/dist/shared/types/droneUpload.d.ts +66 -0
  104. package/dist/shared/types/imagePlayer.d.ts +41 -0
  105. package/dist/shared/types/index.d.ts +9 -0
  106. package/dist/shared/types/observations.d.ts +25 -0
  107. package/dist/shared/types/rbac.d.ts +67 -0
  108. package/dist/shared/types/report.d.ts +101 -0
  109. package/dist/shared/types/timeline.d.ts +10 -0
  110. package/dist/shared/utils/datePickerValue.d.ts +36 -0
  111. package/dist/shared/utils/datePresets.d.ts +31 -0
  112. package/package.json +7 -4
  113. package/dist/api/3dFirebaseApi.d.ts +0 -9
  114. package/dist/api/adminApi.d.ts +0 -308
  115. package/dist/api/aiApi.d.ts +0 -110
  116. package/dist/api/authzApi.d.ts +0 -21
  117. package/dist/api/evercamApi.d.ts +0 -271
  118. package/dist/api/evercamLabsApi.d.ts +0 -50
  119. package/dist/api/ingestApi.d.ts +0 -66
  120. package/dist/api/videoWallApi.d.ts +0 -9
  121. package/dist/types/360.d.ts +0 -83
  122. package/dist/types/aconex.d.ts +0 -45
  123. package/dist/types/automation.d.ts +0 -6
  124. package/dist/types/comments.d.ts +0 -36
  125. package/dist/types/company.d.ts +0 -46
  126. package/dist/types/coolify.d.ts +0 -18
  127. package/dist/types/copilot.d.ts +0 -157
  128. package/dist/types/detections.d.ts +0 -76
  129. package/dist/types/devices.d.ts +0 -228
  130. package/dist/types/drone.d.ts +0 -17
  131. package/dist/types/ingest.d.ts +0 -43
  132. package/dist/types/map.d.ts +0 -4
  133. package/dist/types/notification.d.ts +0 -27
  134. package/dist/types/planner.d.ts +0 -28
  135. package/dist/types/procore.d.ts +0 -76
  136. package/dist/types/project.d.ts +0 -123
  137. package/dist/types/shares.d.ts +0 -196
  138. package/dist/types/siteAnalytics.d.ts +0 -84
  139. package/dist/types/snapshots.d.ts +0 -50
  140. package/dist/types/storageServers.d.ts +0 -4
  141. package/dist/types/time.d.ts +0 -19
  142. package/dist/types/vendorModel.d.ts +0 -15
  143. package/dist/types/videoWall.d.ts +0 -33
  144. package/dist/types/weather.d.ts +0 -87
  145. /package/dist/api/{client → api/client}/index.d.ts +0 -0
  146. /package/dist/api/{webRtcApi.d.ts → api/webRtcApi.d.ts} +0 -0
  147. /package/dist/{types → api/types}/nvr.d.ts +0 -0
  148. /package/dist/{types → api/types}/systemCheck.d.ts +0 -0
  149. /package/dist/{types → api/types}/voyageControl.d.ts +0 -0
@@ -0,0 +1,25 @@
1
+ export type ObservationsTableHeader = {
2
+ isThumbnail?: boolean;
3
+ visible: boolean;
4
+ divider: boolean;
5
+ sortable: boolean;
6
+ text: string;
7
+ value: string;
8
+ class: string;
9
+ align: string;
10
+ };
11
+ export type ObservationsCountDay = {
12
+ day: string;
13
+ };
14
+ export type ObservationsTableOptionsUpdate = {
15
+ page: number;
16
+ sortBy: string[];
17
+ sortDesc: boolean[];
18
+ };
19
+ export type ObservationsEventsTableState = {
20
+ height: number | string;
21
+ };
22
+ export type ObservationTypeOption = {
23
+ value: string;
24
+ label: string;
25
+ };
@@ -0,0 +1,67 @@
1
+ import type { ProjectMember, ProjectInvite, ProjectResourceRole } from "@evercam/api/types";
2
+ export type HasRoleChangedFn<T = ProjectMember | ProjectInvite> = (entity: T, baseRole: ProjectResourceRole) => boolean;
3
+ export type ProjectRoleData = {
4
+ id?: number;
5
+ name: string;
6
+ description?: string | null;
7
+ permissions: string[];
8
+ subRoles?: Array<{
9
+ resourceId: string;
10
+ roleId: number | null;
11
+ }>;
12
+ };
13
+ export type ProjectResourcePermission = {
14
+ id: string;
15
+ name: string;
16
+ description?: string;
17
+ requires?: string;
18
+ };
19
+ export type ProjectResource = {
20
+ id: string;
21
+ name: string;
22
+ permissions: ProjectResourcePermission[];
23
+ };
24
+ export type ProjectPermissionWarning = {
25
+ resourceId: string;
26
+ message: string;
27
+ type?: string;
28
+ cameraExids?: string[];
29
+ accessLevel?: string;
30
+ grantAllPermissions?: boolean;
31
+ };
32
+ export type ProjectDisabledPermission = {
33
+ id: string;
34
+ reason: string;
35
+ };
36
+ export type CameraAccessFilters = {
37
+ memberName: string;
38
+ memberEmail: string;
39
+ cameraName: string;
40
+ };
41
+ export type CameraAccessLevelConfig = {
42
+ id: string;
43
+ name: string;
44
+ description: string;
45
+ permissions: string[];
46
+ };
47
+ export declare enum CameraStatusGroup {
48
+ Active = "active",
49
+ Pending = "pending",
50
+ Archived = "archived"
51
+ }
52
+ export type CameraStatusGroupConfig = {
53
+ text: string;
54
+ icon: string;
55
+ color: string;
56
+ };
57
+ export type CameraFeatureIconConfig = {
58
+ icon: string;
59
+ tooltip: string;
60
+ };
61
+ export type RecipientRule = {
62
+ blocked: string[];
63
+ };
64
+ export type RecipientRules = {
65
+ notExistingRecipients?: RecipientRule;
66
+ notPendingInviteRecipients?: RecipientRule;
67
+ };
@@ -0,0 +1,101 @@
1
+ import type Vue from "vue";
2
+ import type { CancelToken } from "axios";
3
+ import type { Operator } from "@evercam/api/types";
4
+ import type { DateRangeOption } from "@evercam/shared/utils/datePresets";
5
+ export type ReportTableHeaderParams<TItem = unknown> = {
6
+ value: string;
7
+ text: string;
8
+ align?: string;
9
+ sortable?: boolean;
10
+ visible?: boolean;
11
+ width?: number | string;
12
+ copyable?: boolean;
13
+ toStringFn?: (item: TItem, key: string) => string;
14
+ sort?(a: unknown, b: unknown): number;
15
+ togglable?: boolean;
16
+ filterable?: boolean;
17
+ };
18
+ export declare enum ReportSortDirection {
19
+ Asc = "asc",
20
+ Desc = "desc"
21
+ }
22
+ export declare enum ReportFilterComponent {
23
+ Text = "TextFieldSearchFilter",
24
+ Select = "SelectSearchFilter",
25
+ DatePicker = "DatePickerSearchFilter",
26
+ CountField = "CountFieldSearchFilter",
27
+ Tag = "TagSearchFilter"
28
+ }
29
+ export type ReportFilterCell = {
30
+ header: ReportTableHeaderParams;
31
+ field?: ReportFilterField;
32
+ };
33
+ export type OfflineCamerasReportContext = Vue & {
34
+ report: string;
35
+ };
36
+ export type ReportFilterItem = {
37
+ name?: string;
38
+ value: string | number | boolean | null;
39
+ };
40
+ export type ReportSearchParamValue = string | number | boolean | null | undefined | (string | number | boolean | null)[];
41
+ export type ReportSearchParams = Record<string, ReportSearchParamValue>;
42
+ export type ReportItem = Record<string, unknown>;
43
+ export type ReportProviderResponse<TItem = ReportItem> = {
44
+ total?: number;
45
+ [dataField: string]: TItem[] | number | undefined;
46
+ };
47
+ export type ReportTableProvider<TItem = ReportItem> = (request: {
48
+ cancelToken: CancelToken;
49
+ params: ReportSearchParams;
50
+ }) => Promise<ReportProviderResponse<TItem>>;
51
+ export type ReportTableOptions = {
52
+ page?: number;
53
+ itemsPerPage?: number | string;
54
+ sortBy?: string[];
55
+ sortDesc?: boolean[];
56
+ };
57
+ export type ReportFilterFieldNamesMap = {
58
+ fromField: string;
59
+ toField: string;
60
+ };
61
+ export type ReportFilterOperatorItem = {
62
+ value: Operator;
63
+ label: string;
64
+ };
65
+ export type ReportFilterAttributes = {
66
+ items?: ReportFilterItem[];
67
+ multiple?: boolean;
68
+ isAutocomplete?: boolean;
69
+ value?: string | number | string[];
70
+ label?: string;
71
+ textFieldAttrs?: {
72
+ placeholder?: string;
73
+ };
74
+ isRange?: boolean;
75
+ convertToIso?: boolean;
76
+ minDate?: string;
77
+ maxDate?: string;
78
+ options?: DateRangeOption[];
79
+ withOperator?: boolean;
80
+ operatorFieldName?: string;
81
+ operatorLabel?: string;
82
+ operatorItems?: ReportFilterOperatorItem[];
83
+ showToolTip?: boolean;
84
+ toolTipText?: string;
85
+ "menu-props"?: {
86
+ offsetY?: boolean;
87
+ };
88
+ };
89
+ export type ReportFilterField<TItem = ReportItem> = {
90
+ component: ReportFilterComponent;
91
+ name?: string;
92
+ width?: number;
93
+ attributes?: ReportFilterAttributes;
94
+ listeners?: {
95
+ keypress?: (event: KeyboardEvent) => boolean | void;
96
+ };
97
+ fieldNamesMap?: ReportFilterFieldNamesMap;
98
+ isGlobalFilter?: boolean;
99
+ offline?: boolean;
100
+ customFilter?: (item: TItem, fieldName: string, search: ReportSearchParamValue) => boolean;
101
+ };
@@ -0,0 +1,10 @@
1
+ import { TimelineGroupId, type TimelinePlayerGroupConfig } from "./components";
2
+ export interface TimelineGroup {
3
+ id: TimelineGroupId;
4
+ timelineConfig: TimelinePlayerGroupConfig | Record<string, TimelinePlayerGroupConfig>;
5
+ isVisible: boolean;
6
+ isDisabled: boolean;
7
+ isRestricted?: boolean;
8
+ hasMultipleGroups?: boolean;
9
+ isPersistent?: boolean;
10
+ }
@@ -0,0 +1,36 @@
1
+ import type { DateRange, DayMeta } from "@evercam/ui";
2
+ /**
3
+ * EDatePicker works in plain local `Date`s; this app stores dates as
4
+ * "YYYY-MM-DD" strings. Both helpers carry the wall-clock reading across that
5
+ * boundary — never the instant — so a date never shifts by a day.
6
+ */
7
+ export declare function toCalendarDate(value?: string | number | Date | null, { timezone, withHour }?: {
8
+ timezone?: string;
9
+ withHour?: boolean;
10
+ }): Date | undefined;
11
+ export declare function toIsoDay(date?: Date | null): string;
12
+ export declare function toCalendarDayEnd(value?: string | number | Date | null, timezone?: string): Date | undefined;
13
+ export declare function toCalendarRange(value?: string[] | null): DateRange;
14
+ export declare function fromCalendarRange(range?: DateRange | null): string[];
15
+ export declare function toCssColor(color?: string): string | undefined;
16
+ export declare function toDayMeta({ date, events, eventColor, }: {
17
+ date: Date;
18
+ events?: string[] | ((day: string) => boolean);
19
+ eventColor?: string | ((day: string) => string | undefined);
20
+ }): DayMeta | undefined;
21
+ /**
22
+ * Days inside the current selection carry no marker; everything else keeps the
23
+ * "available footage" dot. An empty or half-made selection marks every day.
24
+ */
25
+ export declare function getOutsideRangeColor(day: string, range?: string[] | null, color?: string): string | undefined;
26
+ export declare function orderDayRange(range?: string[] | null): {
27
+ fromDate: string;
28
+ toDate: string;
29
+ } | null;
30
+ export declare function toDayBounds({ fromDate, toDate, }: {
31
+ fromDate: string;
32
+ toDate: string;
33
+ }): {
34
+ fromDate: string;
35
+ toDate: string;
36
+ };
@@ -0,0 +1,31 @@
1
+ import type { DatePreset as EDatePickerPreset, WeekStart } from "@evercam/ui";
2
+ export declare enum DateRangeOption {
3
+ Today = 0,
4
+ Yesterday = -1,
5
+ Last7Days = -7,
6
+ Last30Days = -30,
7
+ Last90Days = -90,
8
+ Last365Days = -365,
9
+ Next7Days = 7,
10
+ Next30Days = 30,
11
+ Next60Days = 60,
12
+ ThisMonth = "__thisMonth__",
13
+ LastCalendarMonth = "__lastCalendarMonth__",
14
+ DataRange = "__dataRange__",
15
+ CalendarRange = "__calendarRange__"
16
+ }
17
+ export declare const DefaultDateRangeOptions: DateRangeOption[];
18
+ export type DateRangePresetOptions = {
19
+ min?: Date;
20
+ max?: Date;
21
+ dataRangeLabel?: string;
22
+ weekStartsOn?: WeekStart;
23
+ };
24
+ export declare function toDateRangePresets(options: DateRangeOption[], $t: (key: string) => string, { min, max, dataRangeLabel, weekStartsOn }?: DateRangePresetOptions): EDatePickerPreset[];
25
+ export declare function matchDateRangePreset({ range, presets, min, max, weekStartsOn, }: {
26
+ range?: string[] | null;
27
+ presets: EDatePickerPreset[];
28
+ min?: Date;
29
+ max?: Date;
30
+ weekStartsOn?: WeekStart;
31
+ }): EDatePickerPreset | null;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@evercam/api",
3
- "version": "1.0.0-9633bd3c5",
3
+ "version": "1.0.0-9670187dd",
4
4
  "description": "Evercam API client",
5
5
  "repository": {
6
6
  "type": "git",
@@ -24,10 +24,12 @@
24
24
  "dist"
25
25
  ],
26
26
  "engines": {
27
- "node": "20.x"
27
+ "node": ">=22"
28
28
  },
29
29
  "readme": "README.md",
30
30
  "scripts": {
31
+ "preinstall": "node ../shared/ci-scripts/check-bootstrap.js",
32
+ "bootstrap": "node ../shared/ci-scripts/bootstrap.js",
31
33
  "clean": "rimraf dist",
32
34
  "typecheck": "tsc --noEmit",
33
35
  "build:types": "tsc --declaration --emitDeclarationOnly",
@@ -36,7 +38,7 @@
36
38
  "publish-api": "cd ../.. && yarn publish-api"
37
39
  },
38
40
  "devDependencies": {
39
- "@types/node": "^24.0.7",
41
+ "@types/node": "^25.9.1",
40
42
  "vite": "latest",
41
43
  "vite-plugin-commonjs": "^0.10.3",
42
44
  "vite-plugin-dts": "^4.5.4"
@@ -44,6 +46,7 @@
44
46
  "peerDependencies": {
45
47
  "axios": "^1.7.7",
46
48
  "humps": "^2.0.1",
49
+ "idb-keyval": "^6.2.2",
47
50
  "moment-timezone": "^0.5.46"
48
51
  }
49
- }
52
+ }
@@ -1,9 +0,0 @@
1
- import { _360ProjectJsonResponse, DroneProjectJsonResponse, ProjectExid } from "@evercam/api/types";
2
- export declare const _3dFirebaseApi: {
3
- drone: {
4
- getProjectInfo(projectExid: ProjectExid): Promise<DroneProjectJsonResponse>;
5
- };
6
- _360: {
7
- getProjectInfo(projectExid: ProjectExid): Promise<_360ProjectJsonResponse>;
8
- };
9
- };
@@ -1,308 +0,0 @@
1
- import { FootageCreateUpdatePayload, HDDCreateUpdatePayload, HDDsQueryParams } from "@/types/hdd";
2
- import type { CamerasResponsePayload, CameraUpdateRequestPayload, PaginatedItems, AdminCamera, Project, Hdd, AdminUser, ProgressPhotosCreateUpdateRequestPayload, ProgressPhoto, Kit, PatchPayload, StorageServersResponsePayload, MediaFilterQueryParams, Media, MediaDeleteRequestPayload, AuditLogsParams, AuditLog, SnapshotExtractionQyeryParams, SnapshotExtraction, CameraCreateRequestPayload, CameraDeletePayload, SnapshotTestPayload, SnapshotTestResponse, DuplicatedCameraFields, DuplicatedCameraResponse, MergeDuplicatedCameraPayload, FetchCameraQueryParams, DeleteSnapshotQueryParams, SaveNotePayload, CameraNote, CreateCameraNotePayload, CompanyQueryParams, Company, CompanyUpdatePayload, SuppressionsQueryParams, Suppression, SnapshotExtractionType, KitQueryParams, KitCreatePayload, AdminKit, CameraLogsQueryParams, CameraLog, CameraAuditLogsQueryParams, CameraAuditLog, NvrQueryParams, Nvr, SiteVisitCamerasQueryParams, OfflineCameraQueryParams, OfflineCamera, OfflineCameraNoteResponse, UserStatsResponse, UserCameraResponse, UserProjectResponse, ProjectUsers, ProjectCamera, ProjectsQueryParams, ProjectStatusStats, ProjectCreateRequestPayload, ProjectCreateResponse, ProjectUpdateRequestPayload, RouterQueryParams, Router, RouterCreatePayload, GlobalSearchQueryParams, CameraShareRequestsQueryParams, CameraShareRequest, CameraShareRequestPayload, ShareCreateResponsePayload, ShareQueryParams, AdminShare, SimCreateUpdatePayload, SimsQueryParams, Sim, SendSmsPayload, SendSmsResponse, SmsHistoryResponse, SmsQueryParams, Sms, ProgressPhotosQueryParams, ProgressPhotoItem, progressPhotosHistoryQueryParams, ProgressPhotosHistory, AdminUserUpdateRequestPayload, AdminQueryParams, Admin, ImpersonateUserResponse, AdminUserQueryParams, AdminCompareQueryParams, AdminCompare, NvrCreatePayload, WidgetsListRequestPayload, Widget, WidgetFull, WidgetPayload } from "@evercam/api/types";
3
- import { KitMetricId } from "@evercam/api/types";
4
- import { Tag } from "@/types/tag";
5
- export declare const AdminApi: {
6
- mediaHub: {
7
- getAllMedia(params: {
8
- params: Partial<MediaFilterQueryParams>;
9
- }): Promise<PaginatedItems<Media>>;
10
- deleteMedia(params: Partial<MediaDeleteRequestPayload>): Promise<void>;
11
- };
12
- auditLogs: {
13
- getAuditLogs(params: {
14
- params: Partial<AuditLogsParams>;
15
- }): Promise<PaginatedItems<AuditLog>[]>;
16
- };
17
- cameras: {
18
- getCamerasStats(params: {
19
- params: {
20
- email?: string;
21
- };
22
- }): Promise<CamerasResponsePayload>;
23
- rebootCamera(cameraId: string): Promise<{
24
- message: string;
25
- }>;
26
- focusCamera(cameraId: string, device: string): Promise<{
27
- message: string;
28
- }>;
29
- getStorageServers(): Promise<StorageServersResponsePayload>;
30
- getStorageDetails(): Promise<import("axios").AxiosResponse<any, any>>;
31
- getSnapshotExtractions(params: {
32
- params: Partial<SnapshotExtractionQyeryParams>;
33
- }): Promise<PaginatedItems<SnapshotExtraction>>;
34
- createCameras(payload: CameraCreateRequestPayload): Promise<{
35
- cameras: [AdminCamera];
36
- }>;
37
- deleteCamera(exid: string, payload: CameraDeletePayload): Promise<void>;
38
- restoreCamera(exid: string): Promise<{
39
- message: string;
40
- }>;
41
- testSnapshot(payload: SnapshotTestPayload): Promise<SnapshotTestResponse>;
42
- getDuplicateCameras(params: {
43
- params: {
44
- fields?: DuplicatedCameraFields[];
45
- sort?: string;
46
- };
47
- }): Promise<PaginatedItems<DuplicatedCameraResponse>>;
48
- mergeDuplicateCameras(payload: MergeDuplicatedCameraPayload): Promise<{
49
- success: boolean;
50
- }>;
51
- getCameras(params: {
52
- params: Partial<FetchCameraQueryParams>;
53
- }): Promise<PaginatedItems<AdminCamera>>;
54
- getCompares(params: {
55
- params: AdminCompareQueryParams;
56
- }): Promise<PaginatedItems<AdminCompare[]>>;
57
- getCameraDetails(exid: string): Promise<AdminCamera>;
58
- deleteSnapshots(cameraId: string, params: DeleteSnapshotQueryParams): Promise<void>;
59
- refreshDeviceSettings(cameraId: string): Promise<void>;
60
- saveNote(cameraId: string, params: SaveNotePayload): Promise<CameraNote>;
61
- saveCameraNote(cameraId: string, params: CreateCameraNotePayload): Promise<{
62
- message: string;
63
- }>;
64
- update(cameraId: string, params: CameraUpdateRequestPayload): Promise<CamerasResponsePayload>;
65
- };
66
- companies: {
67
- getCompanies(params: {
68
- params: Partial<CompanyQueryParams>;
69
- }): Promise<PaginatedItems<Company[]>>;
70
- updateCompany(id: string, params: CompanyUpdatePayload): Promise<Omit<CompanyUpdatePayload, "linkedinUrl">>;
71
- deleteCompany(params: {
72
- ids: string | string[];
73
- }): Promise<{
74
- success: true;
75
- }>;
76
- reSyncCompanies(params: {
77
- companyIds: string[];
78
- }): Promise<{
79
- success: true;
80
- }>;
81
- };
82
- emailing: {
83
- performEmailing(template: string, params: Record<string, unknown>): Promise<import("axios").AxiosResponse<any, any>>;
84
- suppressions(params: {
85
- params: SuppressionsQueryParams;
86
- }): Promise<PaginatedItems<Suppression[]>>;
87
- deleteSuppression(id: number): Promise<void>;
88
- };
89
- extractions: {
90
- updateCloudRecordings(cameraId: string, params: Record<string, unknown>): Promise<import("axios").AxiosResponse<any, any>>;
91
- addExtraction(cameraId: string, params: SnapshotExtractionQyeryParams): Promise<PaginatedItems<SnapshotExtraction>>;
92
- getExtractionStatus(cameraId: string, extractionId: number, params: {
93
- type: SnapshotExtractionType;
94
- }): Promise<{
95
- status: string;
96
- jpegs: number;
97
- }>;
98
- deleteSnapshotExtraction(cameraId: string, extractionId: number, params: {
99
- type: SnapshotExtractionType;
100
- }): Promise<void>;
101
- };
102
- kits: {
103
- getAllKits(params: {
104
- params: KitQueryParams;
105
- }): Promise<PaginatedItems<Kit[]>>;
106
- getKit(kitId: number): Promise<Kit>;
107
- createKit(params: KitCreatePayload): Promise<AdminKit>;
108
- updateKit(id: string, params: PatchPayload<Kit>): Promise<import("axios").AxiosResponse<any, any>>;
109
- deleteKit(id: string, params: Record<string, unknown>): Promise<import("axios").AxiosResponse<any, any>>;
110
- getKitStats({ kitId, metric, fromDate, toDate, }: {
111
- kitId: number;
112
- metric: KitMetricId;
113
- fromDate: string;
114
- toDate: string;
115
- }): Promise<import("axios").AxiosResponse<any, any>>;
116
- attachTag(kitId: number, tagId: number): Promise<void>;
117
- detachTag(kitId: number, tagId: number): Promise<void>;
118
- };
119
- logs: {
120
- getAllCamerasStatusLogs(params: {
121
- params: CameraLogsQueryParams;
122
- }): Promise<{
123
- data: CameraLog[];
124
- }>;
125
- getCameraLogs(cameraId: string, payload: {
126
- params: CameraAuditLogsQueryParams;
127
- }): Promise<PaginatedItems<CameraAuditLog[]>>;
128
- togglePinNote(id: string): Promise<PaginatedItems<CameraAuditLog[]>>;
129
- };
130
- nvrs: {
131
- getNvrs(params: {
132
- params: NvrQueryParams;
133
- }): Promise<PaginatedItems<Nvr[]>>;
134
- createNvr(params: NvrCreatePayload): Promise<import("axios").AxiosResponse<any, any>>;
135
- updateNvr(id: string, params: PatchPayload<Nvr>): Promise<import("axios").AxiosResponse<any, any>>;
136
- rebootNVR(cameraId: string): Promise<{
137
- message: string;
138
- }>;
139
- };
140
- offlineCameras: {
141
- getSiteVisitCameras(params: {
142
- params: Partial<SiteVisitCamerasQueryParams>;
143
- }): Promise<PaginatedItems<AdminCamera>>;
144
- getOfflineCameras(params: {
145
- params: Partial<OfflineCameraQueryParams>;
146
- }): Promise<PaginatedItems<OfflineCamera>>;
147
- getOfflineCamerasLastNote(params: {
148
- cameraIds: number[];
149
- }): Promise<OfflineCameraNoteResponse>;
150
- };
151
- projects: {
152
- index(params: {
153
- params: Partial<ProjectsQueryParams>;
154
- }): Promise<PaginatedItems<Project>>;
155
- show(exid: string, params?: Record<string, unknown>): Promise<Project>;
156
- getUsers(id: string): Promise<ProjectUsers>;
157
- getCameras(id: string): Promise<{
158
- data: ProjectCamera[];
159
- }>;
160
- getProjectsStats(): Promise<ProjectStatusStats>;
161
- createProject(params: ProjectCreateRequestPayload): Promise<ProjectCreateResponse>;
162
- updateProject(projectExid: string, params: Partial<ProjectUpdateRequestPayload>): Promise<ProjectCreateResponse>;
163
- deleteProject(projectExid: string): Promise<{
164
- success: boolean;
165
- }>;
166
- addToProject(projectExid: string, params: {
167
- cameraExids: string[];
168
- }): Promise<void>;
169
- };
170
- routers: {
171
- getRouters(params: {
172
- params: Partial<RouterQueryParams>;
173
- }): Promise<PaginatedItems<Router[]>>;
174
- getRouterTypes(): Promise<string[]>;
175
- createRouter(params: RouterCreatePayload): Promise<{
176
- routerId: number;
177
- }>;
178
- updateRouter(id: number, params: RouterCreatePayload): Promise<{
179
- success: boolean;
180
- }>;
181
- deleteRouter(id: number): Promise<void>;
182
- getRouter(id: number): Promise<Router>;
183
- };
184
- search: {
185
- search(params: {
186
- params: GlobalSearchQueryParams;
187
- }): Promise<PaginatedItems<Record<string, unknown>>>;
188
- };
189
- hdds: {
190
- getHdds(payload: {
191
- projectId: string;
192
- companyId: string;
193
- }): Promise<Hdd[]>;
194
- getAllHdds(params: {
195
- params: Partial<HDDsQueryParams>;
196
- }): Promise<import("axios").AxiosResponse<any, any>>;
197
- deleteHdd(hddId: number): Promise<import("axios").AxiosResponse<any, any>>;
198
- saveHdd(params: HDDCreateUpdatePayload): Promise<import("axios").AxiosResponse<any, any>>;
199
- updateHdd(hddId: number, params: HDDCreateUpdatePayload): Promise<import("axios").AxiosResponse<any, any>>;
200
- saveFootage(hddId: number, params: FootageCreateUpdatePayload): Promise<import("axios").AxiosResponse<any, any>>;
201
- deleteFootage(hddId: number, footageId: number): Promise<import("axios").AxiosResponse<any, any>>;
202
- updateFootage(hddId: number, footageId: number, params: FootageCreateUpdatePayload): Promise<import("axios").AxiosResponse<any, any>>;
203
- };
204
- shareRequests: {
205
- getShareRequests(params: {
206
- params: Partial<CameraShareRequestsQueryParams>;
207
- }): Promise<PaginatedItems<CameraShareRequest[]>>;
208
- deleteShareRequest(params: {
209
- ids: number[];
210
- }): Promise<{
211
- success: boolean;
212
- }>;
213
- updateShareRequestStatus(params: {
214
- ids: number[];
215
- status: string;
216
- }): Promise<{
217
- success: boolean;
218
- }>;
219
- };
220
- shares: {
221
- createShares(cameraExid: string, payload: CameraShareRequestPayload): Promise<ShareCreateResponsePayload>;
222
- getShares(params: {
223
- params: Partial<ShareQueryParams>;
224
- }): Promise<PaginatedItems<AdminShare[]>>;
225
- deleteShares(ids: number[]): Promise<void>;
226
- };
227
- sims: {
228
- deleteSim(simId: number): Promise<{
229
- deleted: boolean;
230
- }>;
231
- createSim(params: Omit<SimCreateUpdatePayload, "cameraId">): Promise<{
232
- success: boolean;
233
- }>;
234
- updateSim(simId: number, params: CameraShareRequestPayload): Promise<{
235
- success: boolean;
236
- }>;
237
- getSims(params: {
238
- params: Partial<SimsQueryParams>;
239
- }): Promise<PaginatedItems<Sim[]>>;
240
- getSimProviders(): Promise<import("axios").AxiosResponse<any, any>>;
241
- getBillPayers(): Promise<import("axios").AxiosResponse<any, any>>;
242
- };
243
- sms: {
244
- sendSms(number: string, params: SendSmsPayload): Promise<SendSmsResponse>;
245
- getSimHistory(number: string): Promise<SmsHistoryResponse>;
246
- getSms(params: {
247
- params: Partial<SmsQueryParams>;
248
- }): Promise<PaginatedItems<Sms[]>>;
249
- };
250
- progressPhotos: {
251
- getProgressPhotos(params: {
252
- params: Partial<ProgressPhotosQueryParams>;
253
- }): Promise<PaginatedItems<ProgressPhotoItem[]>>;
254
- getProgressPhotosHistory(params: {
255
- params: Partial<progressPhotosHistoryQueryParams>;
256
- }): Promise<ProgressPhotosHistory>;
257
- getProgressPhotoTemplate({ id, }: {
258
- id: string;
259
- }): Promise<{
260
- progressPhoto: string;
261
- }>;
262
- update(id: string, payload: ProgressPhotosCreateUpdateRequestPayload): Promise<ProgressPhoto>;
263
- };
264
- tags: {
265
- index(): Promise<Tag[]>;
266
- create(tag: Tag): Promise<Tag>;
267
- update(tag: Tag): Promise<Tag>;
268
- delete(tag: Tag): Promise<void>;
269
- };
270
- users: {
271
- updateUser(id: number, params: Partial<AdminUserUpdateRequestPayload>): Promise<AdminUser>;
272
- getAdmins(params: {
273
- params: Partial<AdminQueryParams>;
274
- }): Promise<PaginatedItems<Admin[]>>;
275
- deleteAdmin(email: string): Promise<void | {
276
- message: string;
277
- }>;
278
- makeAdmin(email: string): Promise<void | {
279
- message: string;
280
- }>;
281
- deleteUser(email: string, params: {
282
- verifyEmail: string;
283
- }): Promise<void | {
284
- message: string;
285
- }>;
286
- impersonateUser(email: string): Promise<ImpersonateUserResponse>;
287
- getUsers(params: {
288
- params: Partial<AdminUserQueryParams>;
289
- }): Promise<PaginatedItems<AdminUser>>;
290
- show(id: number, params: Record<string, unknown>): Promise<UserStatsResponse>;
291
- getProjects(id: number): Promise<UserProjectResponse>;
292
- getCameras(id: number): Promise<UserCameraResponse>;
293
- getUserPasswordResetLink(email: string): Promise<{
294
- passwordResetLink: string;
295
- }>;
296
- };
297
- widgets: {
298
- index(params: {
299
- params: Partial<WidgetsListRequestPayload>;
300
- }): Promise<PaginatedItems<Widget>>;
301
- show(id: number): Promise<WidgetFull>;
302
- update(id: number, payload: WidgetPayload): Promise<WidgetFull>;
303
- delete(id: number): Promise<import("axios").AxiosResponse<any, any>>;
304
- };
305
- zohoDesk: {
306
- searchTickets(params: Record<string, unknown>): Promise<import("axios").AxiosResponse<any, any>>;
307
- };
308
- };