camstreamerlib 4.0.0-beta.111 → 4.0.0-beta.113

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.
@@ -13,6 +13,8 @@ export declare class CamStreamerAPI<Client extends IClient<TResponse, any>> {
13
13
  wsAuthorization(options?: THttpRequestOptions): Promise<string>;
14
14
  getUtcTime(options?: THttpRequestOptions): Promise<number>;
15
15
  getMaxFps(source?: number, options?: THttpRequestOptions): Promise<any>;
16
+ isCSPassValid(pass: string, options?: THttpRequestOptions): Promise<boolean>;
17
+ getCamStreamerAppLog(options?: THttpRequestOptions): Promise<string>;
16
18
  getStreamList(options?: THttpRequestOptions): Promise<({
17
19
  post: {
18
20
  postLocation: "timeline";
@@ -2278,6 +2280,7 @@ export declare class CamStreamerAPI<Client extends IClient<TResponse, any>> {
2278
2280
  })[]>;
2279
2281
  getFileFromCamera(path: string, options?: THttpRequestOptions): Promise<TBlobResponse<Client>>;
2280
2282
  private _getJson;
2283
+ private _getText;
2281
2284
  private _getBlob;
2282
2285
  private parseBlobResponse;
2283
2286
  private _postUrlEncoded;
@@ -38,6 +38,13 @@ class CamStreamerAPI {
38
38
  async getMaxFps(source = 0, options) {
39
39
  return await this._getJson(`${BASE_PATH}/get_max_framerate.cgi`, { video_source: source.toString() }, options);
40
40
  }
41
+ async isCSPassValid(pass, options) {
42
+ const res = await this._getJson(`${BASE_PATH}/check_pass.cgi`, { pass }, options);
43
+ return res.data === '1';
44
+ }
45
+ async getCamStreamerAppLog(options) {
46
+ return await this._getText(`${BASE_PATH}/view_log.cgi`, undefined, options);
47
+ }
41
48
  async getStreamList(options) {
42
49
  const res = await this._getJson(`${BASE_PATH}/stream_list.cgi`, { action: 'get' }, options);
43
50
  const oldStreamListRecord = zod_1.z.record(zod_1.z.string(), oldStreamSchema_1.oldStringStreamSchema).safeParse(res.data);
@@ -132,6 +139,16 @@ class CamStreamerAPI {
132
139
  throw new errors_1.ErrorWithResponse(res);
133
140
  }
134
141
  }
142
+ async _getText(path, parameters, options) {
143
+ const agent = this.getClient(options?.proxyParams);
144
+ const res = await agent.get({ path, parameters, timeout: options?.timeout });
145
+ if (res.ok) {
146
+ return await res.text();
147
+ }
148
+ else {
149
+ throw new errors_1.ErrorWithResponse(res);
150
+ }
151
+ }
135
152
  async _getBlob(path, parameters, options) {
136
153
  const agent = this.getClient(options?.proxyParams);
137
154
  const res = await agent.get({ path, parameters, timeout: options?.timeout });
@@ -23,9 +23,9 @@ export declare class PlaneTrackerAPI<Client extends IClient<TResponse, any>> {
23
23
  camera: {
24
24
  ip: string;
25
25
  port: number;
26
- protocol: "https" | "http" | "https_insecure";
27
- user: string;
28
26
  pass: string;
27
+ user: string;
28
+ protocol: "https" | "http" | "https_insecure";
29
29
  };
30
30
  units: "metric" | "imperial";
31
31
  adsbSource: {
@@ -100,9 +100,9 @@ export declare class PlaneTrackerAPI<Client extends IClient<TResponse, any>> {
100
100
  ip: string;
101
101
  port: number;
102
102
  enabled: boolean;
103
- protocol: "https" | "http" | "https_insecure";
104
- user: string;
105
103
  pass: string;
104
+ user: string;
105
+ protocol: "https" | "http" | "https_insecure";
106
106
  sourceKey: string;
107
107
  };
108
108
  genetec: {
@@ -110,10 +110,10 @@ export declare class PlaneTrackerAPI<Client extends IClient<TResponse, any>> {
110
110
  port: number;
111
111
  enabled: boolean;
112
112
  cameraList: string[];
113
+ pass: string;
113
114
  appId: string;
114
- protocol: "https" | "http" | "https_insecure";
115
115
  user: string;
116
- pass: string;
116
+ protocol: "https" | "http" | "https_insecure";
117
117
  baseUri: string;
118
118
  };
119
119
  camstreamerIntegration: {
package/cjs/VapixAPI.d.ts CHANGED
@@ -95,6 +95,9 @@ export declare class VapixAPI<Client extends IClient<TResponse, any>> {
95
95
  }[]>;
96
96
  setPorts(ports: TPortSetSchema[], options?: THttpRequestOptions): Promise<void>;
97
97
  setPortStateSequence(port: number, sequence: TPortSequenceStateSchema[], options?: THttpRequestOptions): Promise<void>;
98
+ addCameraUser(username: string, pass: string, sgrp: string, comment?: string, options?: THttpRequestOptions): Promise<TResponse>;
99
+ getCameraUsers(options?: THttpRequestOptions): Promise<string>;
100
+ editCameraUser(username: string, pass: string, options?: THttpRequestOptions): Promise<TResponse>;
98
101
  getApplicationList(options?: THttpRequestOptions): Promise<{
99
102
  Name: string;
100
103
  NiceName: string;
package/cjs/VapixAPI.js CHANGED
@@ -395,6 +395,29 @@ class VapixAPI {
395
395
  params: { port, sequence },
396
396
  }, undefined, options);
397
397
  }
398
+ async addCameraUser(username, pass, sgrp, comment, options) {
399
+ return await this.postUrlEncoded('/axis-cgi/pwdgrp.cgi', {
400
+ action: 'add',
401
+ user: username,
402
+ pwd: pass,
403
+ grp: 'users',
404
+ sgrp,
405
+ comment,
406
+ }, undefined, options);
407
+ }
408
+ async getCameraUsers(options) {
409
+ const res = await this.postUrlEncoded('/axis-cgi/pwdgrp.cgi', {
410
+ action: 'get',
411
+ }, undefined, options);
412
+ return await res.text();
413
+ }
414
+ async editCameraUser(username, pass, options) {
415
+ return await this.postUrlEncoded('/axis-cgi/pwdgrp.cgi', {
416
+ action: 'update',
417
+ user: username,
418
+ pwd: pass,
419
+ }, undefined, options);
420
+ }
398
421
  async getApplicationList(options) {
399
422
  const agent = this.getClient(options?.proxyParams);
400
423
  const res = await agent.get({ path: '/axis-cgi/applications/list.cgi', timeout: options?.timeout });
@@ -28,15 +28,15 @@ export declare const connectionSchema: z.ZodObject<{
28
28
  }, "strip", z.ZodTypeAny, {
29
29
  ip: string;
30
30
  port: number;
31
- protocol: "https" | "http" | "https_insecure";
32
- user: string;
33
31
  pass: string;
32
+ user: string;
33
+ protocol: "https" | "http" | "https_insecure";
34
34
  }, {
35
35
  ip: string;
36
36
  port: number;
37
- protocol: "https" | "http" | "https_insecure";
38
- user: string;
39
37
  pass: string;
38
+ user: string;
39
+ protocol: "https" | "http" | "https_insecure";
40
40
  }>;
41
41
  export declare const widgetSchema: z.ZodObject<{
42
42
  enabled: z.ZodDefault<z.ZodBoolean>;
@@ -80,15 +80,15 @@ export declare const cameraSettingsSchema: z.ZodObject<{
80
80
  }, "strip", z.ZodTypeAny, {
81
81
  ip: string;
82
82
  port: number;
83
- protocol: "https" | "http" | "https_insecure";
84
- user: string;
85
83
  pass: string;
84
+ user: string;
85
+ protocol: "https" | "http" | "https_insecure";
86
86
  }, {
87
87
  ip: string;
88
88
  port: number;
89
- protocol: "https" | "http" | "https_insecure";
90
- user: string;
91
89
  pass: string;
90
+ user: string;
91
+ protocol: "https" | "http" | "https_insecure";
92
92
  }>>;
93
93
  cameraCalibrationProcessConfig: z.ZodDefault<z.ZodObject<{
94
94
  nightSkyCalibrationEnabled: z.ZodBoolean;
@@ -334,17 +334,17 @@ export declare const cameraSettingsSchema: z.ZodObject<{
334
334
  ip: string;
335
335
  port: number;
336
336
  enabled: boolean;
337
- protocol: "https" | "http" | "https_insecure";
338
- user: string;
339
337
  pass: string;
338
+ user: string;
339
+ protocol: "https" | "http" | "https_insecure";
340
340
  sourceKey: string;
341
341
  }, {
342
342
  ip: string;
343
343
  port: number;
344
344
  enabled: boolean;
345
- protocol: "https" | "http" | "https_insecure";
346
- user: string;
347
345
  pass: string;
346
+ user: string;
347
+ protocol: "https" | "http" | "https_insecure";
348
348
  sourceKey: string;
349
349
  }>>;
350
350
  genetec: z.ZodDefault<z.ZodObject<{
@@ -363,18 +363,18 @@ export declare const cameraSettingsSchema: z.ZodObject<{
363
363
  port: number;
364
364
  enabled: boolean;
365
365
  cameraList: string[];
366
+ pass: string;
366
367
  appId: string;
367
- protocol: "https" | "http" | "https_insecure";
368
368
  user: string;
369
- pass: string;
369
+ protocol: "https" | "http" | "https_insecure";
370
370
  baseUri: string;
371
371
  }, {
372
372
  ip: string;
373
373
  port: number;
374
374
  enabled: boolean;
375
- protocol: "https" | "http" | "https_insecure";
376
- user: string;
377
375
  pass: string;
376
+ user: string;
377
+ protocol: "https" | "http" | "https_insecure";
378
378
  cameraList?: string[] | undefined;
379
379
  appId?: string | undefined;
380
380
  baseUri?: string | undefined;
@@ -399,9 +399,9 @@ export declare const cameraSettingsSchema: z.ZodObject<{
399
399
  camera: {
400
400
  ip: string;
401
401
  port: number;
402
- protocol: "https" | "http" | "https_insecure";
403
- user: string;
404
402
  pass: string;
403
+ user: string;
404
+ protocol: "https" | "http" | "https_insecure";
405
405
  };
406
406
  units: "metric" | "imperial";
407
407
  adsbSource: {
@@ -476,9 +476,9 @@ export declare const cameraSettingsSchema: z.ZodObject<{
476
476
  ip: string;
477
477
  port: number;
478
478
  enabled: boolean;
479
- protocol: "https" | "http" | "https_insecure";
480
- user: string;
481
479
  pass: string;
480
+ user: string;
481
+ protocol: "https" | "http" | "https_insecure";
482
482
  sourceKey: string;
483
483
  };
484
484
  genetec: {
@@ -486,10 +486,10 @@ export declare const cameraSettingsSchema: z.ZodObject<{
486
486
  port: number;
487
487
  enabled: boolean;
488
488
  cameraList: string[];
489
+ pass: string;
489
490
  appId: string;
490
- protocol: "https" | "http" | "https_insecure";
491
491
  user: string;
492
- pass: string;
492
+ protocol: "https" | "http" | "https_insecure";
493
493
  baseUri: string;
494
494
  };
495
495
  camstreamerIntegration: {
@@ -523,9 +523,9 @@ export declare const cameraSettingsSchema: z.ZodObject<{
523
523
  camera?: {
524
524
  ip: string;
525
525
  port: number;
526
- protocol: "https" | "http" | "https_insecure";
527
- user: string;
528
526
  pass: string;
527
+ user: string;
528
+ protocol: "https" | "http" | "https_insecure";
529
529
  } | undefined;
530
530
  units?: "metric" | "imperial" | undefined;
531
531
  adsbSource?: {
@@ -621,18 +621,18 @@ export declare const cameraSettingsSchema: z.ZodObject<{
621
621
  ip: string;
622
622
  port: number;
623
623
  enabled: boolean;
624
- protocol: "https" | "http" | "https_insecure";
625
- user: string;
626
624
  pass: string;
625
+ user: string;
626
+ protocol: "https" | "http" | "https_insecure";
627
627
  sourceKey: string;
628
628
  } | undefined;
629
629
  genetec?: {
630
630
  ip: string;
631
631
  port: number;
632
632
  enabled: boolean;
633
- protocol: "https" | "http" | "https_insecure";
634
- user: string;
635
633
  pass: string;
634
+ user: string;
635
+ protocol: "https" | "http" | "https_insecure";
636
636
  cameraList?: string[] | undefined;
637
637
  appId?: string | undefined;
638
638
  baseUri?: string | undefined;
@@ -35,6 +35,13 @@ export class CamStreamerAPI {
35
35
  async getMaxFps(source = 0, options) {
36
36
  return await this._getJson(`${BASE_PATH}/get_max_framerate.cgi`, { video_source: source.toString() }, options);
37
37
  }
38
+ async isCSPassValid(pass, options) {
39
+ const res = await this._getJson(`${BASE_PATH}/check_pass.cgi`, { pass }, options);
40
+ return res.data === '1';
41
+ }
42
+ async getCamStreamerAppLog(options) {
43
+ return await this._getText(`${BASE_PATH}/view_log.cgi`, undefined, options);
44
+ }
38
45
  async getStreamList(options) {
39
46
  const res = await this._getJson(`${BASE_PATH}/stream_list.cgi`, { action: 'get' }, options);
40
47
  const oldStreamListRecord = z.record(z.string(), oldStringStreamSchema).safeParse(res.data);
@@ -129,6 +136,16 @@ export class CamStreamerAPI {
129
136
  throw new ErrorWithResponse(res);
130
137
  }
131
138
  }
139
+ async _getText(path, parameters, options) {
140
+ const agent = this.getClient(options?.proxyParams);
141
+ const res = await agent.get({ path, parameters, timeout: options?.timeout });
142
+ if (res.ok) {
143
+ return await res.text();
144
+ }
145
+ else {
146
+ throw new ErrorWithResponse(res);
147
+ }
148
+ }
132
149
  async _getBlob(path, parameters, options) {
133
150
  const agent = this.getClient(options?.proxyParams);
134
151
  const res = await agent.get({ path, parameters, timeout: options?.timeout });
package/esm/VapixAPI.js CHANGED
@@ -392,6 +392,29 @@ export class VapixAPI {
392
392
  params: { port, sequence },
393
393
  }, undefined, options);
394
394
  }
395
+ async addCameraUser(username, pass, sgrp, comment, options) {
396
+ return await this.postUrlEncoded('/axis-cgi/pwdgrp.cgi', {
397
+ action: 'add',
398
+ user: username,
399
+ pwd: pass,
400
+ grp: 'users',
401
+ sgrp,
402
+ comment,
403
+ }, undefined, options);
404
+ }
405
+ async getCameraUsers(options) {
406
+ const res = await this.postUrlEncoded('/axis-cgi/pwdgrp.cgi', {
407
+ action: 'get',
408
+ }, undefined, options);
409
+ return await res.text();
410
+ }
411
+ async editCameraUser(username, pass, options) {
412
+ return await this.postUrlEncoded('/axis-cgi/pwdgrp.cgi', {
413
+ action: 'update',
414
+ user: username,
415
+ pwd: pass,
416
+ }, undefined, options);
417
+ }
395
418
  async getApplicationList(options) {
396
419
  const agent = this.getClient(options?.proxyParams);
397
420
  const res = await agent.get({ path: '/axis-cgi/applications/list.cgi', timeout: options?.timeout });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "camstreamerlib",
3
- "version": "4.0.0-beta.111",
3
+ "version": "4.0.0-beta.113",
4
4
  "description": "Helper library for CamStreamer ACAP applications.",
5
5
  "prettier": "@camstreamer/prettier-config",
6
6
  "engine": {
@@ -13,6 +13,8 @@ export declare class CamStreamerAPI<Client extends IClient<TResponse, any>> {
13
13
  wsAuthorization(options?: THttpRequestOptions): Promise<string>;
14
14
  getUtcTime(options?: THttpRequestOptions): Promise<number>;
15
15
  getMaxFps(source?: number, options?: THttpRequestOptions): Promise<any>;
16
+ isCSPassValid(pass: string, options?: THttpRequestOptions): Promise<boolean>;
17
+ getCamStreamerAppLog(options?: THttpRequestOptions): Promise<string>;
16
18
  getStreamList(options?: THttpRequestOptions): Promise<({
17
19
  post: {
18
20
  postLocation: "timeline";
@@ -2278,6 +2280,7 @@ export declare class CamStreamerAPI<Client extends IClient<TResponse, any>> {
2278
2280
  })[]>;
2279
2281
  getFileFromCamera(path: string, options?: THttpRequestOptions): Promise<TBlobResponse<Client>>;
2280
2282
  private _getJson;
2283
+ private _getText;
2281
2284
  private _getBlob;
2282
2285
  private parseBlobResponse;
2283
2286
  private _postUrlEncoded;
@@ -23,9 +23,9 @@ export declare class PlaneTrackerAPI<Client extends IClient<TResponse, any>> {
23
23
  camera: {
24
24
  ip: string;
25
25
  port: number;
26
- protocol: "https" | "http" | "https_insecure";
27
- user: string;
28
26
  pass: string;
27
+ user: string;
28
+ protocol: "https" | "http" | "https_insecure";
29
29
  };
30
30
  units: "metric" | "imperial";
31
31
  adsbSource: {
@@ -100,9 +100,9 @@ export declare class PlaneTrackerAPI<Client extends IClient<TResponse, any>> {
100
100
  ip: string;
101
101
  port: number;
102
102
  enabled: boolean;
103
- protocol: "https" | "http" | "https_insecure";
104
- user: string;
105
103
  pass: string;
104
+ user: string;
105
+ protocol: "https" | "http" | "https_insecure";
106
106
  sourceKey: string;
107
107
  };
108
108
  genetec: {
@@ -110,10 +110,10 @@ export declare class PlaneTrackerAPI<Client extends IClient<TResponse, any>> {
110
110
  port: number;
111
111
  enabled: boolean;
112
112
  cameraList: string[];
113
+ pass: string;
113
114
  appId: string;
114
- protocol: "https" | "http" | "https_insecure";
115
115
  user: string;
116
- pass: string;
116
+ protocol: "https" | "http" | "https_insecure";
117
117
  baseUri: string;
118
118
  };
119
119
  camstreamerIntegration: {
@@ -95,6 +95,9 @@ export declare class VapixAPI<Client extends IClient<TResponse, any>> {
95
95
  }[]>;
96
96
  setPorts(ports: TPortSetSchema[], options?: THttpRequestOptions): Promise<void>;
97
97
  setPortStateSequence(port: number, sequence: TPortSequenceStateSchema[], options?: THttpRequestOptions): Promise<void>;
98
+ addCameraUser(username: string, pass: string, sgrp: string, comment?: string, options?: THttpRequestOptions): Promise<TResponse>;
99
+ getCameraUsers(options?: THttpRequestOptions): Promise<string>;
100
+ editCameraUser(username: string, pass: string, options?: THttpRequestOptions): Promise<TResponse>;
98
101
  getApplicationList(options?: THttpRequestOptions): Promise<{
99
102
  Name: string;
100
103
  NiceName: string;
@@ -28,15 +28,15 @@ export declare const connectionSchema: z.ZodObject<{
28
28
  }, "strip", z.ZodTypeAny, {
29
29
  ip: string;
30
30
  port: number;
31
- protocol: "https" | "http" | "https_insecure";
32
- user: string;
33
31
  pass: string;
32
+ user: string;
33
+ protocol: "https" | "http" | "https_insecure";
34
34
  }, {
35
35
  ip: string;
36
36
  port: number;
37
- protocol: "https" | "http" | "https_insecure";
38
- user: string;
39
37
  pass: string;
38
+ user: string;
39
+ protocol: "https" | "http" | "https_insecure";
40
40
  }>;
41
41
  export declare const widgetSchema: z.ZodObject<{
42
42
  enabled: z.ZodDefault<z.ZodBoolean>;
@@ -80,15 +80,15 @@ export declare const cameraSettingsSchema: z.ZodObject<{
80
80
  }, "strip", z.ZodTypeAny, {
81
81
  ip: string;
82
82
  port: number;
83
- protocol: "https" | "http" | "https_insecure";
84
- user: string;
85
83
  pass: string;
84
+ user: string;
85
+ protocol: "https" | "http" | "https_insecure";
86
86
  }, {
87
87
  ip: string;
88
88
  port: number;
89
- protocol: "https" | "http" | "https_insecure";
90
- user: string;
91
89
  pass: string;
90
+ user: string;
91
+ protocol: "https" | "http" | "https_insecure";
92
92
  }>>;
93
93
  cameraCalibrationProcessConfig: z.ZodDefault<z.ZodObject<{
94
94
  nightSkyCalibrationEnabled: z.ZodBoolean;
@@ -334,17 +334,17 @@ export declare const cameraSettingsSchema: z.ZodObject<{
334
334
  ip: string;
335
335
  port: number;
336
336
  enabled: boolean;
337
- protocol: "https" | "http" | "https_insecure";
338
- user: string;
339
337
  pass: string;
338
+ user: string;
339
+ protocol: "https" | "http" | "https_insecure";
340
340
  sourceKey: string;
341
341
  }, {
342
342
  ip: string;
343
343
  port: number;
344
344
  enabled: boolean;
345
- protocol: "https" | "http" | "https_insecure";
346
- user: string;
347
345
  pass: string;
346
+ user: string;
347
+ protocol: "https" | "http" | "https_insecure";
348
348
  sourceKey: string;
349
349
  }>>;
350
350
  genetec: z.ZodDefault<z.ZodObject<{
@@ -363,18 +363,18 @@ export declare const cameraSettingsSchema: z.ZodObject<{
363
363
  port: number;
364
364
  enabled: boolean;
365
365
  cameraList: string[];
366
+ pass: string;
366
367
  appId: string;
367
- protocol: "https" | "http" | "https_insecure";
368
368
  user: string;
369
- pass: string;
369
+ protocol: "https" | "http" | "https_insecure";
370
370
  baseUri: string;
371
371
  }, {
372
372
  ip: string;
373
373
  port: number;
374
374
  enabled: boolean;
375
- protocol: "https" | "http" | "https_insecure";
376
- user: string;
377
375
  pass: string;
376
+ user: string;
377
+ protocol: "https" | "http" | "https_insecure";
378
378
  cameraList?: string[] | undefined;
379
379
  appId?: string | undefined;
380
380
  baseUri?: string | undefined;
@@ -399,9 +399,9 @@ export declare const cameraSettingsSchema: z.ZodObject<{
399
399
  camera: {
400
400
  ip: string;
401
401
  port: number;
402
- protocol: "https" | "http" | "https_insecure";
403
- user: string;
404
402
  pass: string;
403
+ user: string;
404
+ protocol: "https" | "http" | "https_insecure";
405
405
  };
406
406
  units: "metric" | "imperial";
407
407
  adsbSource: {
@@ -476,9 +476,9 @@ export declare const cameraSettingsSchema: z.ZodObject<{
476
476
  ip: string;
477
477
  port: number;
478
478
  enabled: boolean;
479
- protocol: "https" | "http" | "https_insecure";
480
- user: string;
481
479
  pass: string;
480
+ user: string;
481
+ protocol: "https" | "http" | "https_insecure";
482
482
  sourceKey: string;
483
483
  };
484
484
  genetec: {
@@ -486,10 +486,10 @@ export declare const cameraSettingsSchema: z.ZodObject<{
486
486
  port: number;
487
487
  enabled: boolean;
488
488
  cameraList: string[];
489
+ pass: string;
489
490
  appId: string;
490
- protocol: "https" | "http" | "https_insecure";
491
491
  user: string;
492
- pass: string;
492
+ protocol: "https" | "http" | "https_insecure";
493
493
  baseUri: string;
494
494
  };
495
495
  camstreamerIntegration: {
@@ -523,9 +523,9 @@ export declare const cameraSettingsSchema: z.ZodObject<{
523
523
  camera?: {
524
524
  ip: string;
525
525
  port: number;
526
- protocol: "https" | "http" | "https_insecure";
527
- user: string;
528
526
  pass: string;
527
+ user: string;
528
+ protocol: "https" | "http" | "https_insecure";
529
529
  } | undefined;
530
530
  units?: "metric" | "imperial" | undefined;
531
531
  adsbSource?: {
@@ -621,18 +621,18 @@ export declare const cameraSettingsSchema: z.ZodObject<{
621
621
  ip: string;
622
622
  port: number;
623
623
  enabled: boolean;
624
- protocol: "https" | "http" | "https_insecure";
625
- user: string;
626
624
  pass: string;
625
+ user: string;
626
+ protocol: "https" | "http" | "https_insecure";
627
627
  sourceKey: string;
628
628
  } | undefined;
629
629
  genetec?: {
630
630
  ip: string;
631
631
  port: number;
632
632
  enabled: boolean;
633
- protocol: "https" | "http" | "https_insecure";
634
- user: string;
635
633
  pass: string;
634
+ user: string;
635
+ protocol: "https" | "http" | "https_insecure";
636
636
  cameraList?: string[] | undefined;
637
637
  appId?: string | undefined;
638
638
  baseUri?: string | undefined;