@evercam/api 1.0.0-92eee7184 → 1.0.0-946af3a76

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 (151) 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 +161 -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/api/weatherApi.d.ts +9 -0
  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 +231 -96
  26. package/dist/{types → api/types}/anpr.d.ts +56 -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 +143 -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/api/types/connector.d.ts +21 -0
  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 +22 -4
  49. package/dist/api/types/ingest.d.ts +301 -0
  50. package/dist/{types → api/types}/kit.d.ts +129 -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/api/types/systemCheck.d.ts +11 -0
  82. package/dist/api/types/tag.d.ts +12 -0
  83. package/dist/api/types/time.d.ts +7 -0
  84. package/dist/{types → api/types}/timelapse.d.ts +7 -11
  85. package/dist/{types → api/types}/user.d.ts +121 -40
  86. package/dist/api/types/videoWall.d.ts +66 -0
  87. package/dist/api/types/weather.d.ts +153 -0
  88. package/dist/{types → api/types}/widget.d.ts +96 -16
  89. package/dist/api/types/workflows.d.ts +108 -0
  90. package/dist/api/types/xweather.d.ts +12 -0
  91. package/dist/{utils.d.ts → api/utils.d.ts} +1 -0
  92. package/dist/index.d.ts +2 -3
  93. package/dist/index.js +3126 -1147
  94. package/dist/index.js.map +1 -1
  95. package/dist/index.umd.cjs +1 -1
  96. package/dist/index.umd.cjs.map +1 -1
  97. package/dist/shared/api/index.d.ts +3 -0
  98. package/dist/shared/components/timelinePlayer/providers/index.d.ts +3 -0
  99. package/dist/shared/components/timelinePlayer/providers/timelineAnprProvider.d.ts +17 -0
  100. package/dist/shared/components/timelinePlayer/providers/timelineDataProvider.d.ts +13 -0
  101. package/dist/shared/components/timelinePlayer/providers/timelineLuminanceProvider.d.ts +16 -0
  102. package/dist/shared/types/components.d.ts +501 -0
  103. package/dist/shared/types/customDataTableFilters.d.ts +10 -0
  104. package/dist/shared/types/droneUpload.d.ts +67 -0
  105. package/dist/shared/types/imagePlayer.d.ts +41 -0
  106. package/dist/shared/types/index.d.ts +9 -0
  107. package/dist/shared/types/observations.d.ts +25 -0
  108. package/dist/shared/types/rbac.d.ts +67 -0
  109. package/dist/shared/types/report.d.ts +101 -0
  110. package/dist/shared/types/timeline.d.ts +10 -0
  111. package/dist/shared/utils/datePickerValue.d.ts +36 -0
  112. package/dist/shared/utils/datePresets.d.ts +31 -0
  113. package/package.json +7 -4
  114. package/dist/api/3dFirebaseApi.d.ts +0 -9
  115. package/dist/api/adminApi.d.ts +0 -304
  116. package/dist/api/aiApi.d.ts +0 -110
  117. package/dist/api/authzApi.d.ts +0 -21
  118. package/dist/api/evercamApi.d.ts +0 -266
  119. package/dist/api/evercamLabsApi.d.ts +0 -46
  120. package/dist/api/ingestApi.d.ts +0 -65
  121. package/dist/api/videoWallApi.d.ts +0 -9
  122. package/dist/api/weatherApi.d.ts +0 -27
  123. package/dist/types/360.d.ts +0 -83
  124. package/dist/types/aconex.d.ts +0 -45
  125. package/dist/types/automation.d.ts +0 -6
  126. package/dist/types/comments.d.ts +0 -36
  127. package/dist/types/company.d.ts +0 -46
  128. package/dist/types/connector.d.ts +0 -16
  129. package/dist/types/coolify.d.ts +0 -18
  130. package/dist/types/copilot.d.ts +0 -157
  131. package/dist/types/detections.d.ts +0 -76
  132. package/dist/types/devices.d.ts +0 -228
  133. package/dist/types/drone.d.ts +0 -17
  134. package/dist/types/ingest.d.ts +0 -43
  135. package/dist/types/map.d.ts +0 -4
  136. package/dist/types/notification.d.ts +0 -27
  137. package/dist/types/planner.d.ts +0 -28
  138. package/dist/types/procore.d.ts +0 -76
  139. package/dist/types/project.d.ts +0 -119
  140. package/dist/types/shares.d.ts +0 -192
  141. package/dist/types/siteAnalytics.d.ts +0 -84
  142. package/dist/types/snapshots.d.ts +0 -50
  143. package/dist/types/storageServers.d.ts +0 -4
  144. package/dist/types/time.d.ts +0 -19
  145. package/dist/types/vendorModel.d.ts +0 -15
  146. package/dist/types/videoWall.d.ts +0 -33
  147. package/dist/types/weather.d.ts +0 -83
  148. /package/dist/api/{client → api/client}/index.d.ts +0 -0
  149. /package/dist/api/{webRtcApi.d.ts → api/webRtcApi.d.ts} +0 -0
  150. /package/dist/{types → api/types}/nvr.d.ts +0 -0
  151. /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-92eee7184",
3
+ "version": "1.0.0-946af3a76",
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": "^22.15.19",
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,304 +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, EntityStatsQueryParams, EntityStat, UserSession, 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
- export declare const AdminApi: {
5
- mediaHub: {
6
- getAllMedia(params: {
7
- params: Partial<MediaFilterQueryParams>;
8
- }): Promise<PaginatedItems<Media>>;
9
- deleteMedia(params: Partial<MediaDeleteRequestPayload>): Promise<void>;
10
- };
11
- auditLogs: {
12
- getAuditLogs(params: {
13
- params: Partial<AuditLogsParams>;
14
- }): Promise<PaginatedItems<AuditLog>[]>;
15
- };
16
- cameras: {
17
- getCamerasStats(params: {
18
- params: {
19
- email?: string;
20
- };
21
- }): Promise<CamerasResponsePayload>;
22
- rebootCamera(cameraId: string): Promise<{
23
- message: string;
24
- }>;
25
- focusCamera(cameraId: string, device: string): Promise<{
26
- message: string;
27
- }>;
28
- getStorageServers(): Promise<StorageServersResponsePayload>;
29
- getStorageDetails(): Promise<import("axios").AxiosResponse<any, any>>;
30
- getSnapshotExtractions(params: {
31
- params: Partial<SnapshotExtractionQyeryParams>;
32
- }): Promise<PaginatedItems<SnapshotExtraction>>;
33
- createCameras(payload: CameraCreateRequestPayload): Promise<{
34
- cameras: [AdminCamera];
35
- }>;
36
- deleteCamera(exid: string, payload: CameraDeletePayload): Promise<void>;
37
- testSnapshot(payload: SnapshotTestPayload): Promise<SnapshotTestResponse>;
38
- getDuplicateCameras(params: {
39
- params: {
40
- fields?: DuplicatedCameraFields[];
41
- sort?: string;
42
- };
43
- }): Promise<PaginatedItems<DuplicatedCameraResponse>>;
44
- mergeDuplicateCameras(payload: MergeDuplicatedCameraPayload): Promise<{
45
- success: boolean;
46
- }>;
47
- getCameras(params: {
48
- params: Partial<FetchCameraQueryParams>;
49
- }): Promise<PaginatedItems<AdminCamera>>;
50
- getCompares(params: {
51
- params: AdminCompareQueryParams;
52
- }): Promise<PaginatedItems<AdminCompare[]>>;
53
- getCameraDetails(exid: string): Promise<AdminCamera>;
54
- deleteSnapshots(cameraId: string, params: DeleteSnapshotQueryParams): Promise<void>;
55
- refreshDeviceSettings(cameraId: string): Promise<void>;
56
- saveNote(cameraId: string, params: SaveNotePayload): Promise<CameraNote>;
57
- saveCameraNote(cameraId: string, params: CreateCameraNotePayload): Promise<{
58
- message: string;
59
- }>;
60
- update(cameraId: string, params: CameraUpdateRequestPayload): Promise<CamerasResponsePayload>;
61
- };
62
- companies: {
63
- getCompanies(params: {
64
- params: Partial<CompanyQueryParams>;
65
- }): Promise<PaginatedItems<Company[]>>;
66
- updateCompany(id: string, params: CompanyUpdatePayload): Promise<Omit<CompanyUpdatePayload, "linkedinUrl">>;
67
- deleteCompany(params: {
68
- ids: string | string[];
69
- }): Promise<{
70
- success: true;
71
- }>;
72
- reSyncCompanies(params: {
73
- companyIds: string[];
74
- }): Promise<{
75
- success: true;
76
- }>;
77
- };
78
- emailing: {
79
- performEmailing(template: string, params: Record<string, unknown>): Promise<import("axios").AxiosResponse<any, any>>;
80
- suppressions(params: {
81
- params: SuppressionsQueryParams;
82
- }): Promise<PaginatedItems<Suppression[]>>;
83
- deleteSuppression(id: number): Promise<void>;
84
- };
85
- extractions: {
86
- updateCloudRecordings(cameraId: string, params: Record<string, unknown>): Promise<import("axios").AxiosResponse<any, any>>;
87
- addExtraction(cameraId: string, params: SnapshotExtractionQyeryParams): Promise<PaginatedItems<SnapshotExtraction>>;
88
- getExtractionStatus(cameraId: string, extractionId: number, params: {
89
- type: SnapshotExtractionType;
90
- }): Promise<{
91
- status: string;
92
- jpegs: number;
93
- }>;
94
- deleteSnapshotExtraction(cameraId: string, extractionId: number, params: {
95
- type: SnapshotExtractionType;
96
- }): Promise<void>;
97
- };
98
- kits: {
99
- getAllKits(params: {
100
- params: KitQueryParams;
101
- }): Promise<PaginatedItems<Kit[]>>;
102
- getKit(kitId: number): Promise<Kit>;
103
- createKit(params: KitCreatePayload): Promise<AdminKit>;
104
- updateKit(id: string, params: PatchPayload<Kit>): Promise<import("axios").AxiosResponse<any, any>>;
105
- deleteKit(id: string, params: Record<string, unknown>): Promise<import("axios").AxiosResponse<any, any>>;
106
- getKitStats({ kitId, metric, fromDate, toDate, }: {
107
- kitId: number;
108
- metric: KitMetricId;
109
- fromDate: string;
110
- toDate: string;
111
- }): Promise<import("axios").AxiosResponse<any, any>>;
112
- };
113
- logs: {
114
- getAllCamerasStatusLogs(params: {
115
- params: CameraLogsQueryParams;
116
- }): Promise<{
117
- data: CameraLog[];
118
- }>;
119
- getCameraLogs(cameraId: string, payload: {
120
- params: CameraAuditLogsQueryParams;
121
- }): Promise<PaginatedItems<CameraAuditLog[]>>;
122
- togglePinNote(id: string): Promise<PaginatedItems<CameraAuditLog[]>>;
123
- };
124
- nvrs: {
125
- getNvrs(params: {
126
- params: NvrQueryParams;
127
- }): Promise<PaginatedItems<Nvr[]>>;
128
- createNvr(params: NvrCreatePayload): Promise<import("axios").AxiosResponse<any, any>>;
129
- updateNvr(id: string, params: PatchPayload<Nvr>): Promise<import("axios").AxiosResponse<any, any>>;
130
- rebootNVR(cameraId: string): Promise<{
131
- message: string;
132
- }>;
133
- };
134
- offlineCameras: {
135
- getSiteVisitCameras(params: {
136
- params: Partial<SiteVisitCamerasQueryParams>;
137
- }): Promise<PaginatedItems<AdminCamera>>;
138
- getOfflineCameras(params: {
139
- params: Partial<OfflineCameraQueryParams>;
140
- }): Promise<PaginatedItems<OfflineCamera>>;
141
- getOfflineCamerasLastNote(params: {
142
- cameraIds: number[];
143
- }): Promise<OfflineCameraNoteResponse>;
144
- };
145
- pa: {
146
- getPAUser(id: number, params: Record<string, unknown>): Promise<UserStatsResponse>;
147
- getPAProjectPeriodEvents(id: string | number, payload: EntityStatsQueryParams): Promise<EntityStat[]>;
148
- getPAUserEvents(id: string | number): Promise<UserSession[]>;
149
- getPAUserCameras(id: number): Promise<UserCameraResponse>;
150
- getPAUserProjects(id: number): Promise<UserProjectResponse>;
151
- getPAUserPeriodEvents(id: number, payload: EntityStatsQueryParams): Promise<EntityStat[]>;
152
- getProjectUsers(id: string): Promise<ProjectUsers>;
153
- getPAProject(id: string, params: Record<string, unknown>): Promise<{
154
- data: Project;
155
- }>;
156
- getPAProjectCameras(id: string): Promise<{
157
- data: ProjectCamera[];
158
- }>;
159
- };
160
- projects: {
161
- getAll(params: {
162
- params: Partial<ProjectsQueryParams>;
163
- }): Promise<PaginatedItems<Project>>;
164
- getProject(exid: string): Promise<Project>;
165
- getProjectsStats(): Promise<ProjectStatusStats>;
166
- createProject(params: ProjectCreateRequestPayload): Promise<ProjectCreateResponse>;
167
- updateProject(projectExid: string, params: Partial<ProjectUpdateRequestPayload>): Promise<ProjectCreateResponse>;
168
- deleteProject(projectExid: string): Promise<{
169
- success: boolean;
170
- }>;
171
- addToProject(projectExid: string, params: {
172
- cameraExids: string[];
173
- }): Promise<void>;
174
- };
175
- routers: {
176
- getRouters(params: {
177
- params: Partial<RouterQueryParams>;
178
- }): Promise<PaginatedItems<Router[]>>;
179
- getRouterTypes(): Promise<string[]>;
180
- createRouter(params: RouterCreatePayload): Promise<{
181
- routerId: number;
182
- }>;
183
- updateRouter(id: number, params: RouterCreatePayload): Promise<{
184
- success: boolean;
185
- }>;
186
- deleteRouter(id: number): Promise<void>;
187
- getRouter(id: number): Promise<Router>;
188
- };
189
- search: {
190
- search(params: {
191
- params: GlobalSearchQueryParams;
192
- }): Promise<PaginatedItems<Record<string, unknown>>>;
193
- };
194
- hdds: {
195
- getHdds(payload: {
196
- projectId: string;
197
- companyId: string;
198
- }): Promise<Hdd[]>;
199
- getAllHdds(params: {
200
- params: Partial<HDDsQueryParams>;
201
- }): Promise<import("axios").AxiosResponse<any, any>>;
202
- deleteHdd(hddId: number): Promise<import("axios").AxiosResponse<any, any>>;
203
- saveHdd(params: HDDCreateUpdatePayload): Promise<import("axios").AxiosResponse<any, any>>;
204
- updateHdd(hddId: number, params: HDDCreateUpdatePayload): Promise<import("axios").AxiosResponse<any, any>>;
205
- saveFootage(hddId: number, params: FootageCreateUpdatePayload): Promise<import("axios").AxiosResponse<any, any>>;
206
- deleteFootage(hddId: number, footageId: number): Promise<import("axios").AxiosResponse<any, any>>;
207
- updateFootage(hddId: number, footageId: number, params: FootageCreateUpdatePayload): Promise<import("axios").AxiosResponse<any, any>>;
208
- };
209
- shareRequests: {
210
- getShareRequests(params: {
211
- params: Partial<CameraShareRequestsQueryParams>;
212
- }): Promise<PaginatedItems<CameraShareRequest[]>>;
213
- deleteShareRequest(params: {
214
- ids: number[];
215
- }): Promise<{
216
- success: boolean;
217
- }>;
218
- updateShareRequestStatus(params: {
219
- ids: number[];
220
- status: string;
221
- }): Promise<{
222
- success: boolean;
223
- }>;
224
- };
225
- shares: {
226
- createShares(cameraExid: string, payload: CameraShareRequestPayload): Promise<ShareCreateResponsePayload>;
227
- getShares(params: {
228
- params: Partial<ShareQueryParams>;
229
- }): Promise<PaginatedItems<AdminShare[]>>;
230
- deleteShares(ids: number[]): Promise<void>;
231
- };
232
- sims: {
233
- deleteSim(simId: number): Promise<{
234
- deleted: boolean;
235
- }>;
236
- createSim(params: Omit<SimCreateUpdatePayload, "cameraId">): Promise<{
237
- success: boolean;
238
- }>;
239
- updateSim(simId: number, params: CameraShareRequestPayload): Promise<{
240
- success: boolean;
241
- }>;
242
- getSims(params: {
243
- params: Partial<SimsQueryParams>;
244
- }): Promise<PaginatedItems<Sim[]>>;
245
- getSimProviders(): Promise<import("axios").AxiosResponse<any, any>>;
246
- getBillPayers(): Promise<import("axios").AxiosResponse<any, any>>;
247
- };
248
- sms: {
249
- sendSms(number: string, params: SendSmsPayload): Promise<SendSmsResponse>;
250
- getSimHistory(number: string): Promise<SmsHistoryResponse>;
251
- getSms(params: {
252
- params: Partial<SmsQueryParams>;
253
- }): Promise<PaginatedItems<Sms[]>>;
254
- };
255
- progressPhotos: {
256
- getProgressPhotos(params: {
257
- params: Partial<ProgressPhotosQueryParams>;
258
- }): Promise<PaginatedItems<ProgressPhotoItem[]>>;
259
- getProgressPhotosHistory(params: {
260
- params: Partial<progressPhotosHistoryQueryParams>;
261
- }): Promise<ProgressPhotosHistory>;
262
- getProgressPhotoTemplate({ id, }: {
263
- id: string;
264
- }): Promise<{
265
- progressPhoto: string;
266
- }>;
267
- update(id: string, payload: ProgressPhotosCreateUpdateRequestPayload): Promise<ProgressPhoto>;
268
- };
269
- users: {
270
- updateUser(id: number, params: Partial<AdminUserUpdateRequestPayload>): Promise<AdminUser>;
271
- getAdmins(params: {
272
- params: Partial<AdminQueryParams>;
273
- }): Promise<PaginatedItems<Admin[]>>;
274
- deleteAdmin(email: string): Promise<void | {
275
- message: string;
276
- }>;
277
- makeAdmin(email: string): Promise<void | {
278
- message: string;
279
- }>;
280
- deleteUser(email: string, params: {
281
- verifyEmail: string;
282
- }): Promise<void | {
283
- message: string;
284
- }>;
285
- impersonateUser(email: string): Promise<ImpersonateUserResponse>;
286
- getUsers(params: {
287
- params: Partial<AdminUserQueryParams>;
288
- }): Promise<PaginatedItems<AdminUser>>;
289
- getUserPasswordResetLink(email: string): Promise<{
290
- passwordResetLink: string;
291
- }>;
292
- };
293
- widgets: {
294
- index(params: {
295
- params: Partial<WidgetsListRequestPayload>;
296
- }): Promise<PaginatedItems<Widget>>;
297
- show(id: number): Promise<WidgetFull>;
298
- update(id: number, payload: WidgetPayload): Promise<WidgetFull>;
299
- delete(id: number): Promise<import("axios").AxiosResponse<any, any>>;
300
- };
301
- zohoDesk: {
302
- searchTickets(params: Record<string, unknown>): Promise<import("axios").AxiosResponse<any, any>>;
303
- };
304
- };