@evercam/api 1.0.0-591fdcb25 → 1.0.0-5ccefe067

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 (95) hide show
  1. package/dist/api/api/3dFirebaseApi.d.ts +16 -0
  2. package/dist/api/{adminApi.d.ts → api/adminApi.d.ts} +24 -3
  3. package/dist/api/{aiApi.d.ts → api/aiApi.d.ts} +29 -7
  4. package/dist/api/{client → api/client}/customErrors.d.ts +10 -0
  5. package/dist/api/{client → api/client}/interceptors.d.ts +1 -1
  6. package/dist/api/api/client/swr/Swr.d.ts +14 -0
  7. package/dist/api/api/client/swr/SwrStore.d.ts +10 -0
  8. package/dist/api/{evercamApi.d.ts → api/evercamApi.d.ts} +48 -10
  9. package/dist/api/{evercamLabsApi.d.ts → api/evercamLabsApi.d.ts} +3 -2
  10. package/dist/api/api/index.d.ts +13 -0
  11. package/dist/api/{ingestApi.d.ts → api/ingestApi.d.ts} +6 -6
  12. package/dist/api/index.d.ts +3 -13
  13. package/dist/{types → api/types}/360.d.ts +11 -0
  14. package/dist/{types → api/types}/aconex.d.ts +1 -1
  15. package/dist/{types → api/types}/analytics.d.ts +41 -6
  16. package/dist/{types → api/types}/anpr.d.ts +2 -0
  17. package/dist/{types → api/types}/automation.d.ts +4 -0
  18. package/dist/{types → api/types}/axios.d.ts +15 -0
  19. package/dist/{types → api/types}/camera.d.ts +6 -3
  20. package/dist/{types → api/types}/company.d.ts +28 -0
  21. package/dist/{types → api/types}/connector.d.ts +4 -0
  22. package/dist/{types → api/types}/countries.d.ts +0 -7
  23. package/dist/{types → api/types}/detections.d.ts +55 -5
  24. package/dist/{types → api/types}/errors.d.ts +12 -0
  25. package/dist/{types → api/types}/index.d.ts +1 -0
  26. package/dist/{types → api/types}/ingest.d.ts +4 -0
  27. package/dist/{types → api/types}/kit.d.ts +12 -4
  28. package/dist/{types → api/types}/planner.d.ts +4 -0
  29. package/dist/api/types/posthog.d.ts +18 -0
  30. package/dist/api/types/procore.d.ts +222 -0
  31. package/dist/{types → api/types}/progressPhoto.d.ts +20 -7
  32. package/dist/{types → api/types}/project.d.ts +5 -1
  33. package/dist/{types → api/types}/recording.d.ts +1 -2
  34. package/dist/{types → api/types}/routeParams.d.ts +2 -1
  35. package/dist/{types → api/types}/shared.d.ts +1 -1
  36. package/dist/{types → api/types}/siteAnalytics.d.ts +20 -1
  37. package/dist/{types → api/types}/time.d.ts +2 -0
  38. package/dist/{types → api/types}/user.d.ts +1 -6
  39. package/dist/index.d.ts +2 -3
  40. package/dist/index.js +1022 -641
  41. package/dist/index.js.map +1 -1
  42. package/dist/index.umd.cjs +1 -1
  43. package/dist/index.umd.cjs.map +1 -1
  44. package/dist/shared/api/index.d.ts +3 -0
  45. package/dist/shared/components/timelinePlayer/providers/index.d.ts +3 -0
  46. package/dist/shared/components/timelinePlayer/providers/timelineAnprProvider.d.ts +17 -0
  47. package/dist/shared/components/timelinePlayer/providers/timelineDataProvider.d.ts +13 -0
  48. package/dist/shared/components/timelinePlayer/providers/timelineLuminanceProvider.d.ts +16 -0
  49. package/dist/shared/types/components.d.ts +192 -0
  50. package/dist/shared/types/imagePlayer.d.ts +34 -0
  51. package/dist/shared/types/index.d.ts +4 -0
  52. package/dist/shared/types/timeline.d.ts +9 -0
  53. package/package.json +3 -2
  54. package/dist/api/3dFirebaseApi.d.ts +0 -10
  55. package/dist/types/procore.d.ts +0 -76
  56. /package/dist/api/{authzApi.d.ts → api/authzApi.d.ts} +0 -0
  57. /package/dist/api/{client → api/client}/axios.d.ts +0 -0
  58. /package/dist/api/{client → api/client}/index.d.ts +0 -0
  59. /package/dist/api/{exNvrApi.d.ts → api/exNvrApi.d.ts} +0 -0
  60. /package/dist/api/{ptzApi.d.ts → api/ptzApi.d.ts} +0 -0
  61. /package/dist/api/{videoWallApi.d.ts → api/videoWallApi.d.ts} +0 -0
  62. /package/dist/api/{weatherApi.d.ts → api/weatherApi.d.ts} +0 -0
  63. /package/dist/api/{webRtcApi.d.ts → api/webRtcApi.d.ts} +0 -0
  64. /package/dist/{types → api/types}/auditLogs.d.ts +0 -0
  65. /package/dist/{types → api/types}/autodesk.d.ts +0 -0
  66. /package/dist/{types → api/types}/bim.d.ts +0 -0
  67. /package/dist/{types → api/types}/comments.d.ts +0 -0
  68. /package/dist/{types → api/types}/compare.d.ts +0 -0
  69. /package/dist/{types → api/types}/coolify.d.ts +0 -0
  70. /package/dist/{types → api/types}/copilot.d.ts +0 -0
  71. /package/dist/{types → api/types}/credentials.d.ts +0 -0
  72. /package/dist/{types → api/types}/drone.d.ts +0 -0
  73. /package/dist/{types → api/types}/gateReport.d.ts +0 -0
  74. /package/dist/{types → api/types}/hdd.d.ts +0 -0
  75. /package/dist/{types → api/types}/map.d.ts +0 -0
  76. /package/dist/{types → api/types}/media.d.ts +0 -0
  77. /package/dist/{types → api/types}/notification.d.ts +0 -0
  78. /package/dist/{types → api/types}/nvr.d.ts +0 -0
  79. /package/dist/{types → api/types}/roi.d.ts +0 -0
  80. /package/dist/{types → api/types}/router.d.ts +0 -0
  81. /package/dist/{types → api/types}/shares.d.ts +0 -0
  82. /package/dist/{types → api/types}/sim.d.ts +0 -0
  83. /package/dist/{types → api/types}/snapshots.d.ts +0 -0
  84. /package/dist/{types → api/types}/storageServers.d.ts +0 -0
  85. /package/dist/{types → api/types}/streaming.d.ts +0 -0
  86. /package/dist/{types → api/types}/systemCheck.d.ts +0 -0
  87. /package/dist/{types → api/types}/tag.d.ts +0 -0
  88. /package/dist/{types → api/types}/timelapse.d.ts +0 -0
  89. /package/dist/{types → api/types}/vendorModel.d.ts +0 -0
  90. /package/dist/{types → api/types}/videoWall.d.ts +0 -0
  91. /package/dist/{types → api/types}/voyageControl.d.ts +0 -0
  92. /package/dist/{types → api/types}/weather.d.ts +0 -0
  93. /package/dist/{types → api/types}/widget.d.ts +0 -0
  94. /package/dist/{types → api/types}/xweather.d.ts +0 -0
  95. /package/dist/{utils.d.ts → api/utils.d.ts} +0 -0
@@ -44,6 +44,7 @@ export type AnprEvent = {
44
44
  id: number;
45
45
  plateNumber: string;
46
46
  cameraExid: CameraExid;
47
+ cameraex: CameraExid;
47
48
  picName: string;
48
49
  eventTime: string;
49
50
  insertedAt: string;
@@ -66,6 +67,7 @@ export type AnprEvent = {
66
67
  contextCamera: string;
67
68
  votedVehicleType: GateReportVehicleType | string;
68
69
  roiId?: number;
70
+ captureTime: DateType;
69
71
  metadata_: {
70
72
  evercamMetadata?: {
71
73
  anpr?: {
@@ -4,3 +4,7 @@ export declare enum AutomationProvider {
4
4
  Autodesk = "autodesk",
5
5
  Email = "email"
6
6
  }
7
+ export declare enum AutomationType {
8
+ Photo = "photo",
9
+ Compare = "compare"
10
+ }
@@ -1,4 +1,5 @@
1
1
  import type { AxiosError, AxiosInstance, AxiosRequestConfig, AxiosResponse, CancelTokenSource, CancelTokenStatic } from "axios";
2
+ import { Swr } from "@/api/client/swr/Swr";
2
3
  export type TimedRequest<T> = Promise<AxiosResponse<T> & {
3
4
  duration: number;
4
5
  error?: AxiosError;
@@ -8,6 +9,7 @@ export type AxiosEnvironment = {
8
9
  stagingAiApiUrl?: string | null;
9
10
  aiApiUrl?: string | null;
10
11
  ingestApiUrl?: string | null;
12
+ ingestGpuApiUrl?: string | null;
11
13
  posthogApiUrl?: string | null;
12
14
  posthogProjectId?: string | null;
13
15
  posthogPrivateApiKey?: string | null;
@@ -15,10 +17,13 @@ export type AxiosEnvironment = {
15
17
  weatherApiBaseUrl?: string | null;
16
18
  evercamLabsUrl?: string | null;
17
19
  firebaseDbLink?: string | null;
20
+ firebaseStorageUrl?: string | null;
21
+ firebaseStorageToken?: string | null;
18
22
  snapshotsURL?: string | null;
19
23
  app?: string | null;
20
24
  getAuthToken?: () => string | null;
21
25
  errorLogger?: (error: AxiosError) => void;
26
+ swrKey?: string;
22
27
  };
23
28
  export type RequestInterceptor = (req: AxiosRequestConfig, env: AxiosEnvironment) => AxiosRequestConfig & any;
24
29
  export type ResponseInterceptor = (res: AxiosResponse, env: AxiosEnvironment) => AxiosResponse & any;
@@ -37,7 +42,13 @@ export interface ExtendedAxiosInstance extends AxiosInstance {
37
42
  addRequestInterceptor: (interceptor: RequestInterceptor, errorInterceptor?: ErrorInterceptor) => void;
38
43
  addResponseInterceptor: (interceptor: ResponseInterceptor, errorInterceptor?: ErrorInterceptor) => void;
39
44
  addErrorInterceptor: (interceptor: ErrorInterceptor) => void;
45
+ swr: Swr;
40
46
  }
47
+ export type ResponseValue<T> = T | undefined;
48
+ export type SwrResponse<T> = {
49
+ cachedValue: ResponseValue<T>;
50
+ freshPromise: Promise<ResponseValue<T>>;
51
+ };
41
52
  declare module "axios" {
42
53
  interface AxiosRequestConfig {
43
54
  raw?: boolean;
@@ -46,5 +57,9 @@ declare module "axios" {
46
57
  _metadata?: {
47
58
  startTime: number;
48
59
  };
60
+ swr?: boolean;
61
+ onSwrHit?: <T>(data: T) => unknown;
62
+ onSwrRefresh?: <T>(data: T) => unknown;
63
+ onSwrError?: (error: Error) => unknown;
49
64
  }
50
65
  }
@@ -17,7 +17,7 @@ export type Camera = {
17
17
  storageDuration: string;
18
18
  };
19
19
  createdAt: DateTime_Z_micros;
20
- description: null;
20
+ description: string | null;
21
21
  discoverable: boolean;
22
22
  external: {
23
23
  host: string;
@@ -62,7 +62,7 @@ export type Camera = {
62
62
  offlineReason: string;
63
63
  owned: boolean;
64
64
  owner: string;
65
- pitch: null;
65
+ pitch: string | null;
66
66
  project: {
67
67
  id: string;
68
68
  name: string;
@@ -73,7 +73,7 @@ export type Camera = {
73
73
  };
74
74
  ptz: boolean;
75
75
  rights: string;
76
- roll: null;
76
+ roll: string | null;
77
77
  routerId: number;
78
78
  status: CameraStatus;
79
79
  streamingServer: string;
@@ -83,6 +83,7 @@ export type Camera = {
83
83
  updatedAt: DateTime_Z_micros;
84
84
  vendorName: string;
85
85
  isAccessRestricted?: boolean;
86
+ kitAlarms?: string[];
86
87
  };
87
88
  export type AdminCamera = {
88
89
  cameraHost: string;
@@ -178,6 +179,8 @@ export declare enum CameraStatus {
178
179
  export declare enum CameraFeatureFlag {
179
180
  EdgeVideo = "edge_video",
180
181
  BimCompare = "bim_compare",
182
+ TwoDBimCompare = "2d_bim_compare",
183
+ ForgeBIMCompare = "forge_bim_compare",
181
184
  GateReport = "gate_report",
182
185
  VideoStream = "video_stream",
183
186
  WebRTC = "webrtc",
@@ -13,6 +13,34 @@ export type CompanyProject = {
13
13
  status: string;
14
14
  startedAt: DateType;
15
15
  };
16
+ export type CompanyKit = {
17
+ id: number;
18
+ name: string;
19
+ serial: string;
20
+ status: string;
21
+ powerType: string;
22
+ countryName: string;
23
+ nvrId: string;
24
+ nvrSerial: string;
25
+ nvrVersion: string;
26
+ nvrNerves: boolean;
27
+ nvrModel: string;
28
+ nvrDeviceType: string;
29
+ routerId: string;
30
+ routerSerial: string;
31
+ projectExid: string;
32
+ projectName: string;
33
+ alarms: Array<string>;
34
+ sims: Array<{
35
+ id: number;
36
+ number: string;
37
+ }>;
38
+ cameras: Array<{
39
+ exid: string;
40
+ name: string;
41
+ status: string;
42
+ }>;
43
+ };
16
44
  export type Company = {
17
45
  id: number;
18
46
  exid: string;
@@ -10,6 +10,10 @@ export declare enum Connector {
10
10
  VoyageControl = "voyage_control",
11
11
  XWeather = "xweather"
12
12
  }
13
+ export declare enum ProcoreType {
14
+ Observations = "observations",
15
+ Photos = "photos"
16
+ }
13
17
  export type ConnectorResponsePayload = Array<{
14
18
  hostname: string;
15
19
  login: string;
@@ -490,13 +490,6 @@ export declare enum CountryCode {
490
490
  Zambia = "zm",
491
491
  Zimbabwe = "zw"
492
492
  }
493
- export declare enum Region {
494
- Apac = "apac",
495
- Emea = "emea",
496
- Us = "us",
497
- Latam = "latam",
498
- Na = "na"
499
- }
500
493
  export declare enum CameraRegion {
501
494
  APAC = "apac",
502
495
  AU = "au",
@@ -1,11 +1,17 @@
1
- import { type BoundingBox, type CameraExid, type DateType, DetectionLabel, SegmentLabel, type TimelineDateInterval, TimelinePrecision } from "@/types";
2
- export type DetectionsFilters = {
3
- cameraExid: CameraExid;
1
+ import { type BoundingBox, type ProjectExid, type CameraExid, type DateType, DetectionLabel, SegmentLabel, type TimelineDateInterval, TimelinePrecision } from "@/types";
2
+ export type BaseDetectionsFilters = {
4
3
  fromDate: string | Date;
5
4
  toDate: string | Date;
6
5
  labels: DetectionLabel | DetectionLabel[];
7
6
  trackId?: number;
8
7
  };
8
+ export type DetectionsFilters = BaseDetectionsFilters & {
9
+ projectExid: ProjectExid;
10
+ cameraExids?: CameraExid[];
11
+ };
12
+ export type SegmentsFilters = BaseDetectionsFilters & {
13
+ cameraExid: CameraExid;
14
+ };
9
15
  export type BBox = number[];
10
16
  export type SelectedObjectPath = {
11
17
  label: string;
@@ -16,9 +22,32 @@ export type SelectedObjectPath = {
16
22
  bbox: BBox;
17
23
  }>;
18
24
  };
25
+ export type Label = DetectionLabel | PpeLabel;
19
26
  export type Detection = {
20
27
  bbox: BBox;
21
28
  timestamp: string | Date;
29
+ label: DetectionLabel;
30
+ confidenceScore: number;
31
+ };
32
+ export type DetectionsGroup = {
33
+ timestamp: DateType;
34
+ detections: Detection[];
35
+ };
36
+ export type DetectionsCounts = {
37
+ timestamps: number;
38
+ } & {
39
+ [label in Label]: number;
40
+ };
41
+ export type DetectionsCountsByPeriod = {
42
+ days: Array<{
43
+ day: string;
44
+ } & DetectionsCounts>;
45
+ months: Array<{
46
+ month: string;
47
+ } & DetectionsCounts>;
48
+ years: Array<{
49
+ year: string;
50
+ } & DetectionsCounts>;
22
51
  };
23
52
  export type Tracking = {
24
53
  trackId: number;
@@ -55,14 +84,20 @@ export type SegmentsSimilaritySearchParams = {
55
84
  fromDate: string;
56
85
  toDate: string;
57
86
  };
58
- export type CountsParams = {
59
- cameraExid: CameraExid;
87
+ export type BaseCountsParams = {
60
88
  fromDate: string | Date;
61
89
  toDate: string | Date;
62
90
  precision: keyof typeof TimelinePrecision;
63
91
  trackId: number;
64
92
  labels: DetectionLabel | DetectionLabel[];
65
93
  };
94
+ export type DetectionsCountsParams = BaseCountsParams & {
95
+ projectExid: ProjectExid;
96
+ cameraExids?: CameraExid[];
97
+ };
98
+ export type SegmentsCountsParams = BaseCountsParams & {
99
+ cameraExid: CameraExid;
100
+ };
66
101
  export type CountByPeriod = {
67
102
  date: string | Date;
68
103
  counts: Record<string, number>;
@@ -74,3 +109,18 @@ export type LuminanceReading = {
74
109
  luminanceDelta: number;
75
110
  luminanceAverage: number;
76
111
  };
112
+ export declare enum PpeLabel {
113
+ Helmet = "helmet",
114
+ HighVisibilityVest = "high-visibility-vest",
115
+ SafetyGlasses = "safety-glasses",
116
+ Person = "person",
117
+ Man = "man",
118
+ Woman = "woman"
119
+ }
120
+ export declare enum DetectionModel {
121
+ Yolov10 = 1,
122
+ Yolov11 = 2,
123
+ Yolov112 = 3,
124
+ GroundingDino = 4,
125
+ Owlv2 = 5
126
+ }
@@ -14,12 +14,24 @@ export declare enum ErrorType {
14
14
  UnhandledRejection = "UnhandledRejection",
15
15
  TypeError = "TypeError"
16
16
  }
17
+ export declare enum ErrorCode {
18
+ InternalServerError = 500,
19
+ BadGatewayError = 502,
20
+ ServiceUnavailableError = 503,
21
+ GatewayTimeoutError = 504,
22
+ BadRequestError = 400,
23
+ UnauthorizedError = 401,
24
+ ForbiddenError = 403,
25
+ NotFoundError = 404,
26
+ ConflictError = 409
27
+ }
17
28
  export declare enum EvercamApiErrorCode {
18
29
  BadArgument = "BAD_ARGUMENT",
19
30
  DeviceError = "DEVICE_ERROR",
20
31
  UnsupportedOperation = "UNSUPPORTED_OPERATION",
21
32
  QuotaExceeded = "QUOTA_EXCEEDED",
22
33
  InvalidCredentials = "INVALID_CREDENTIALS",
34
+ InvalidToken = "INVALID_TOKEN",
23
35
  ProviderAuthFailure = "PROVIDER_AUTH_FAILURE",
24
36
  ProviderEmailRequired = "PROVIDER_EMAIL_REQUIRED",
25
37
  PasswordReset = "PASSWORD_RESET",
@@ -53,3 +53,4 @@ export * from "./automation";
53
53
  export * from "./coolify";
54
54
  export * from "./tag";
55
55
  export * from "./xweather";
56
+ export * from "./posthog";
@@ -9,6 +9,10 @@ export declare enum IngestProcessingStatus {
9
9
  InProgress = "inprogress",
10
10
  Pending = "pending"
11
11
  }
12
+ export declare enum IngestVersions {
13
+ V1 = "v1",
14
+ V2 = "v2"
15
+ }
12
16
  export type DronesQueryParams = Omit<PaginationParams, "sort"> & {
13
17
  projectId: string;
14
18
  consumed: string;
@@ -1,10 +1,10 @@
1
- import { CountryCode, CountryId, DateTime, DateType, Nvr, PaginationParams, PowerType, Project, Region, Router, Schedule, Tag } from "@/types";
1
+ import { CountryCode, CountryId, DateTime, DateType, Nvr, PaginationParams, PowerType, Project, Router, Schedule, Tag } from "@/types";
2
2
  export type Kit = {
3
3
  alarms: KitAlarm[];
4
4
  countryCode: CountryCode;
5
5
  countryId: CountryId;
6
6
  countryName: string;
7
- countryRegion: Region;
7
+ countryRegion: KitRegion;
8
8
  id?: number;
9
9
  jobId: number;
10
10
  name: string;
@@ -17,6 +17,7 @@ export type Kit = {
17
17
  status: KitStatus;
18
18
  powerSchedule: Schedule;
19
19
  tags: Tag[];
20
+ storages: KitStorage[];
20
21
  };
21
22
  export declare enum KitStatus {
22
23
  New = "new",
@@ -24,6 +25,12 @@ export declare enum KitStatus {
24
25
  Deployed = "deployed",
25
26
  Decommissioned = "decommissioned"
26
27
  }
28
+ export declare enum KitRegion {
29
+ APAC = "apac",
30
+ EMEA = "emea",
31
+ LATAM = "latam",
32
+ US = "na"
33
+ }
27
34
  export declare enum KitAlarm {
28
35
  NvrOffline = "nvr_offline",
29
36
  UnknownCamera = "unknown_camera",
@@ -292,7 +299,7 @@ export type KitCreatePayload = {
292
299
  status: KitStatus;
293
300
  powerType: PowerType;
294
301
  config: {
295
- region: Region;
302
+ region: KitRegion;
296
303
  };
297
304
  };
298
305
  export type KitUpdatePayload = {
@@ -310,7 +317,7 @@ export declare enum KitStorageTransport {
310
317
  export type KitStorageRequestPayload = {
311
318
  kitId: number;
312
319
  };
313
- export type KitStorageResponsePayload = {
320
+ export type KitStorage = {
314
321
  id: number;
315
322
  serial: string;
316
323
  status: string;
@@ -324,5 +331,6 @@ export type KitStorageResponsePayload = {
324
331
  vendor: string;
325
332
  kitId: number;
326
333
  capacity: number;
334
+ freeSpace: number;
327
335
  tran: KitStorageTransport;
328
336
  };
@@ -1,3 +1,7 @@
1
+ export declare enum EDistortImageModes {
2
+ FreeRotate = "freeRotate",
3
+ Lock = "lock"
4
+ }
1
5
  export declare enum EMapTypes {
2
6
  Blank = "Blank",
3
7
  Satellite = "Satellite",
@@ -0,0 +1,18 @@
1
+ export type ActiveUsersRequestPayload = {
2
+ from?: string;
3
+ to?: string;
4
+ companyExid?: string;
5
+ projectExid?: string;
6
+ cameraExid?: string;
7
+ };
8
+ export type ActiveUsersResponsePayload = Array<{
9
+ date?: string;
10
+ dau?: number;
11
+ wau?: number;
12
+ mau?: number;
13
+ }>;
14
+ export declare enum ActiveUsersMetric {
15
+ DAU = "dau",
16
+ WAU = "wau",
17
+ MAU = "mau"
18
+ }
@@ -0,0 +1,222 @@
1
+ export type ProcoreUserCompaniesResponsePayload = Array<{
2
+ id: number;
3
+ isActive?: boolean;
4
+ name: string;
5
+ }>;
6
+ export type ProcoreCompanyRequestPayload = {
7
+ companyId: number;
8
+ };
9
+ export type ProcoreProjectRequestPayload = {
10
+ companyId: number;
11
+ projectId: number;
12
+ };
13
+ export type ProcoreObservationListItem = {
14
+ id: number;
15
+ name: string;
16
+ };
17
+ export type ProcoreObservationDefaultList = Array<ProcoreObservationListItem & {
18
+ active: boolean;
19
+ global: boolean;
20
+ createdAt: string;
21
+ updatedAt: string;
22
+ }>;
23
+ export type ProcoreObservationAssignee = ProcoreObservationListItem & {
24
+ vendor: ProcoreObservationListItem;
25
+ };
26
+ export type ProcoreObservationDistributionMember = ProcoreObservationListItem & {
27
+ login: string;
28
+ };
29
+ export type ProcoreObservationTrades = ProcoreObservationListItem & {
30
+ active: boolean;
31
+ updatedAt: string;
32
+ };
33
+ export type ProcoreObservationLocation = ProcoreObservationListItem & {
34
+ nodeName: string;
35
+ parentId: number;
36
+ createdAt: string;
37
+ updatedAt: string;
38
+ code: string;
39
+ };
40
+ export type ProcoreObservationSpecificationSection = {
41
+ id: number;
42
+ number: string;
43
+ description: string;
44
+ label: string;
45
+ currentRevisionId: number;
46
+ };
47
+ export type ProcoreUserProjectsResponsePayload = Array<{
48
+ accountingProjectNumber?: number;
49
+ active: boolean;
50
+ address: string;
51
+ city: string;
52
+ company: {
53
+ id: number;
54
+ name: string;
55
+ };
56
+ completionDate: string;
57
+ countryCode: string;
58
+ county: string;
59
+ createdAt: string;
60
+ customFields?: object;
61
+ designatedMarketArea: string;
62
+ displayName: string;
63
+ estimatedValue: string;
64
+ id: number;
65
+ isDemo: boolean;
66
+ latitude: number;
67
+ longitude: number;
68
+ name: string;
69
+ originCode: string | number | null;
70
+ originData: string | null;
71
+ originId: number | null;
72
+ ownersProjectId: number | null;
73
+ parentJobId: number | null;
74
+ phone: string | number;
75
+ photoId: number;
76
+ projectBidTypeId: number | null;
77
+ projectNumber: string;
78
+ projectOwnerTypeId: number | null;
79
+ projectRegionId: number | null;
80
+ stage: string;
81
+ startDate: string;
82
+ stateCode: string;
83
+ storeNumber?: string;
84
+ timeZone: string;
85
+ totalValue: string;
86
+ updatedAt: string;
87
+ zip: number;
88
+ }>;
89
+ export type ProcoreToolUserAccessLevel = {
90
+ id: ProcoreToolUserAccessLevelIds;
91
+ name: string;
92
+ };
93
+ export type ProcoreToolPermittedAction = {
94
+ id: number;
95
+ actionName: string;
96
+ label: string;
97
+ toolName: string;
98
+ };
99
+ export type ProcoreToolPermissions = {
100
+ id: number;
101
+ name: string;
102
+ friendlyName: string;
103
+ domainId: number;
104
+ tabGroup: string;
105
+ availableForUser: boolean;
106
+ url: string;
107
+ userAccessLevel: ProcoreToolUserAccessLevel;
108
+ permittedActions: Array<ProcoreToolPermittedAction>;
109
+ createUrl: string;
110
+ canCreate: boolean;
111
+ trial: boolean;
112
+ };
113
+ export type ProcoreUserProjectPermissionsResponsePayload = {
114
+ tools: Array<ProcoreToolPermissions>;
115
+ };
116
+ export type ProcoreEditedImageUploadRequestPayload = {
117
+ projectExid: string;
118
+ companyId: number;
119
+ projectId: number;
120
+ snapshot: string;
121
+ categoryId?: number;
122
+ };
123
+ export type ProcoreProjectsAlbumsPayload = Array<{
124
+ count: number;
125
+ coverPhoto: string | null;
126
+ createdAt: string;
127
+ id: number;
128
+ links: {
129
+ delete: string;
130
+ show: string;
131
+ update: string;
132
+ };
133
+ name: string;
134
+ position: number;
135
+ private: boolean;
136
+ updatedAt: string;
137
+ }>;
138
+ export type ProcoreObservationTypesResponsePayload = Array<{
139
+ id: number;
140
+ name: string;
141
+ localizedName: string;
142
+ category: string;
143
+ categoryKey: string;
144
+ companyActive: boolean;
145
+ active: boolean;
146
+ kind: string;
147
+ parentInactive: boolean;
148
+ isUse: boolean;
149
+ nameTranslations: string;
150
+ }>;
151
+ export type ProcoreObservationFormRequestPayload = {
152
+ projectId: number;
153
+ companyId: number;
154
+ observationType: string;
155
+ };
156
+ export type ProcoreObservationForm = Record<string, ProcoreObservationField | ProcoreObservationCustomField>;
157
+ export type ProcoreObservationField = {
158
+ name: string;
159
+ required: boolean;
160
+ visible: boolean;
161
+ };
162
+ export type ProcoreObservationCustomField = {
163
+ id: number;
164
+ required: boolean;
165
+ visible: boolean;
166
+ name: string;
167
+ label: string;
168
+ description: string;
169
+ customFieldDefinitionId: number;
170
+ dataType: ProcoreObservationCustomFieldDataType;
171
+ variant: string;
172
+ position: number;
173
+ row: number;
174
+ column: number;
175
+ columnWidth: number;
176
+ optionsUrl: string | null;
177
+ defaultValue: string | null;
178
+ };
179
+ export type ProcoreNextObservationAvailableNumber = {
180
+ nextAvailableNumber: number;
181
+ };
182
+ export declare enum ProcoreObservationCustomFieldDataType {
183
+ RichText = "rich_text",
184
+ Date = "date",
185
+ DateTime = "datetime",
186
+ LovEntry = "lov_entry",
187
+ LovEntries = "lov_entries",
188
+ Boolean = "boolean",
189
+ Vendor = "vendor",
190
+ Decimal = "decimal",
191
+ String = "string",
192
+ LoginInformation = "login_information",
193
+ LoginInformations = "login_informations",
194
+ Dropdown = "dropdown"
195
+ }
196
+ export declare enum ProcoreObservationDefaultFieldNames {
197
+ Number = "number",
198
+ Name = "name",
199
+ Status = "status",
200
+ Trade = "tradeId",
201
+ Assignee = "assigneeId",
202
+ DueDate = "dueDate",
203
+ SpecificationSection = "specificationSectionId",
204
+ Priority = "priority",
205
+ Location = "locationId",
206
+ DistributionMembers = "distributionMemberIds",
207
+ Personal = "personal",
208
+ Hazard = "hazardId",
209
+ ContributingBehavior = "contributingBehaviorId",
210
+ ContributingCondition = "contributingConditionId",
211
+ Description = "description"
212
+ }
213
+ export declare enum ProcoreTools {
214
+ Observations = "observations",
215
+ ProgressPhotos = "images"
216
+ }
217
+ export declare enum ProcoreToolUserAccessLevelIds {
218
+ NoAccess = 1,
219
+ ReadOnly = 2,
220
+ Standard = 3,
221
+ Admin = 4
222
+ }
@@ -1,29 +1,42 @@
1
- import { DateTime, DateType, PaginationParams } from "@/types";
2
- export type ProgressPhoto = {
1
+ import { AutomationType, DateTime, DateType, PaginationParams } from "@/types";
2
+ export type Automation = {
3
3
  cameraIds: string;
4
4
  cameraNames: number;
5
+ cameraExids?: string[];
5
6
  createdAt: string;
6
7
  id: number;
7
8
  provider: string;
9
+ type: AutomationType;
8
10
  config: Partial<{
9
- recipients: string;
10
- projectId: number;
11
+ recipients: string | Record<string, string>[];
11
12
  companyId: number;
13
+ compareDelay: number;
14
+ categoryId: string;
15
+ hubId: string;
16
+ folderId: string;
17
+ projectId: number;
12
18
  }>;
13
19
  isPaused: boolean;
14
- notifyDays: string;
20
+ notifyDays: string | string[];
15
21
  notifyTime: string;
16
22
  requesterEmail: string;
17
23
  requesterName: string;
18
24
  timezone: string;
19
25
  title: string;
26
+ compareDelay?: number;
27
+ selectedProvider?: string;
28
+ restrictedCameraExids?: string[];
29
+ recipients?: string | string[];
20
30
  };
21
31
  export type ProgressPhotosCreateUpdateRequestPayload = {
22
32
  cameraExids?: string;
23
33
  notifyDays?: string;
34
+ compareDelay?: AutomationType;
24
35
  notifyTime?: string;
25
36
  provider?: string;
37
+ type?: string;
26
38
  config?: {
39
+ compareDelay?: AutomationType;
27
40
  recipients?: string;
28
41
  projectId?: number;
29
42
  companyId?: number;
@@ -38,9 +51,9 @@ export type ProgressPhotosUnSubscribeParams = {
38
51
  token?: string;
39
52
  };
40
53
  export type ProgressPhotosResponsePayload = {
41
- progressPhotos: ProgressPhoto[];
54
+ progressPhotos: Automation[];
42
55
  };
43
- export declare enum ProgressPhotoDialogType {
56
+ export declare enum AutomationDialogType {
44
57
  Create = "create",
45
58
  Edit = "edit",
46
59
  Pause = "pause"