@dronedeploy/rocos-js-sdk 3.0.1-alpha.27 → 3.0.1-alpha.29
Sign up to get free protection for your applications and to get access to all the features.
- package/cjs/constants/api.d.ts +2 -0
- package/cjs/constants/api.js +5 -3
- package/cjs/models/index.d.ts +2 -0
- package/cjs/models/index.js +2 -0
- package/cjs/models/projects/ExternalProject.d.ts +10 -0
- package/cjs/models/projects/ExternalProject.js +2 -0
- package/cjs/models/projects/NewProjectRequest.d.ts +8 -0
- package/cjs/models/projects/NewProjectRequest.js +2 -0
- package/cjs/models/target/Target.d.ts +11 -4
- package/cjs/services/ProjectService.d.ts +7 -2
- package/cjs/services/ProjectService.js +7 -3
- package/cjs/services/TargetService.d.ts +3 -1
- package/cjs/services/TargetService.js +16 -1
- package/esm/constants/api.d.ts +2 -0
- package/esm/constants/api.js +2 -0
- package/esm/models/index.d.ts +2 -0
- package/esm/models/index.js +2 -0
- package/esm/models/projects/ExternalProject.d.ts +10 -0
- package/esm/models/projects/ExternalProject.js +1 -0
- package/esm/models/projects/NewProjectRequest.d.ts +8 -0
- package/esm/models/projects/NewProjectRequest.js +1 -0
- package/esm/models/target/Target.d.ts +11 -4
- package/esm/services/ProjectService.d.ts +7 -2
- package/esm/services/ProjectService.js +9 -5
- package/esm/services/TargetService.d.ts +3 -1
- package/esm/services/TargetService.js +16 -1
- package/package.json +1 -1
- package/cjs/models/ExternalProject.d.ts +0 -6
- package/cjs/models/ExternalProject.js +0 -6
- package/esm/models/ExternalProject.d.ts +0 -6
- package/esm/models/ExternalProject.js +0 -2
package/cjs/constants/api.d.ts
CHANGED
@@ -28,6 +28,7 @@ export declare const API_ACCOUNT_PROJECT_USER_URL = "https://{url}/accounts/{acc
|
|
28
28
|
export declare const API_ACCOUNT_PROJECT_USER_ID_URL = "https://{url}/accounts/{accountId}/projects/{projectId}/users/{userId}";
|
29
29
|
export declare const API_ACCOUNT_PROJECT_APPLICATION_URL = "https://{url}/accounts/{accountId}/projects/{projectId}/applications";
|
30
30
|
export declare const API_ACCOUNT_PROJECT_APPLICATION_ID_URL = "https://{url}/accounts/{accountId}/projects/{projectId}/applications/{applicationId}";
|
31
|
+
export declare const API_ACCOUNT_EXTERNAL_PROJECTS_URL = "https://{url}/accounts/{accountId}/external-projects";
|
31
32
|
export declare const API_PROJECT_URL = "https://{url}/projects";
|
32
33
|
export declare const API_PROJECT_ID_URL = "https://{url}/projects/{projectId}";
|
33
34
|
export declare const API_PROJECT_USERS_URL = "https://{url}/projects/{projectId}/users";
|
@@ -136,3 +137,4 @@ export declare const API_LINKED_PROJECT_URL = "https://{url}/linked-projects/{li
|
|
136
137
|
export declare const API_DEVICE_CREDENTIALS_URL = "https://{url}/projects/{projectId}/callsigns/{callsign}/device-credentials";
|
137
138
|
export declare const API_DEVICE_CREDENTIALS_AUTH_URL = "https://{url}/device-credentials/auth";
|
138
139
|
export declare const API_TARGETS_URL = "https://{url}/projects/{projectId}/targets";
|
140
|
+
export declare const API_TARGETs_MEDIA_URL = "https://{url}/projects/{projectId}/targets/{targetId}/media";
|
package/cjs/constants/api.js
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.
|
4
|
-
exports.
|
5
|
-
exports.API_TARGETS_URL = exports.API_DEVICE_CREDENTIALS_AUTH_URL = exports.API_DEVICE_CREDENTIALS_URL = exports.API_LINKED_PROJECT_URL = exports.API_PROJECT_DEPLOYED_WORKFLOW_URL = exports.API_PROJECT_WORKFLOW_ASSET_URL = exports.API_PROJECT_WORKFLOW_ID_URL = exports.API_PROJECT_WORKFLOW_URL = exports.API_OBSERVATION_KEYS_URL = exports.API_OBSERVATIONS_URL = exports.API_MAPS_PANORAMA_OBSERVATIONS_URL = exports.API_MAPS_GEOJSON_URL = exports.API_MAPS_DEPLOY_URL = exports.API_MAPS_COPY_URL = exports.API_MAP_ID_URL = exports.API_MAPS_MERGE_URL = exports.API_MAPS_DEPLOYED_URL = exports.API_MAPS_URL = exports.API_DD_INTEGRATION_LOCATIONS_URL = exports.API_DD_INTEGRATION_ISSUES_URL = exports.API_DD_INTEGRATION_OVERLAYS_URL = exports.API_DD_INTEGRATION_PLAN_BY_ID_URL = exports.API_DD_INTEGRATION_PLANS_URL = exports.API_SPOTTY_URL = exports.API_PROJECT_SCHEDULES_URL = exports.API_SOURCE_ID_URL = exports.API_SOURCE_URL = exports.API_SOURCE_SCHEMA_URL = exports.API_TEMPLATE_EXPORTER_URL = exports.API_TEMPLATE_PROVISION_ID_URL = exports.API_TEMPLATE_PROVISION_URL = exports.API_TEMPLATE_DEPLOY_URL = exports.API_PROJECT_PROFILE_DASHBOARD_CUSTOM_WIDGET_URL = exports.API_PROJECT_PROFILE_DASHBOARD_ID_URL = exports.API_PROJECT_PROFILE_DASHBOARD_URL = exports.API_PROJECT_CALLSIGN_STREAM_URL = exports.API_PROJECT_ROBOT_DASHBOARD_CUSTOM_WIDGET_URL = exports.API_PROJECT_ROBOT_DASHBOARD_ID_URL = void 0;
|
3
|
+
exports.API_PROJECT_ROBOT_ATTRIBUTES_URL = exports.API_PROJECT_ROBOT_ID_URL = exports.API_PROJECT_ROBOT_URL = exports.API_PROJECT_MAPPED_ASSET_PATH_URL = exports.API_PROJECT_MAPPED_ASSETS_PATH_URL = exports.API_PROJECT_MISSION_ASSET_PATH_URL = exports.API_PROJECT_MISSION_ASSETS_PATH_URL = exports.API_PROJECT_FLOW_ASSET_PATH_URL = exports.API_PROJECT_ROBOT_ASSET_PATH_URL = exports.API_PROJECT_ASSET_INTEGRATION_PATH_URL = exports.API_PROJECT_ASSET_INTEGRATIONS_PATH_URL = exports.API_PROJECT_ASSET_INTEGRATION_PROVIDERS_PATH_URL = exports.API_PROJECT_ASSET_PROFILES_SYNC_DEFINITION_PATH_URL = exports.API_PROJECT_ASSET_ROBOTS_SYNC_DEFINITION_PATH_URL = exports.API_PROJECT_ASSET_PATH_URL = exports.API_PROJECT_ASSET_URL = exports.API_PROJECT_USERS_URL = exports.API_PROJECT_ID_URL = exports.API_PROJECT_URL = exports.API_ACCOUNT_EXTERNAL_PROJECTS_URL = exports.API_ACCOUNT_PROJECT_APPLICATION_ID_URL = exports.API_ACCOUNT_PROJECT_APPLICATION_URL = exports.API_ACCOUNT_PROJECT_USER_ID_URL = exports.API_ACCOUNT_PROJECT_USER_URL = exports.API_ACCOUNT_PROJECT_ID_URL = exports.API_ACCOUNT_PROJECT_URL = exports.API_SERVER_TIME_URL = exports.API_ACCOUNT_INTEGRATION_TYPE_URL = exports.API_ACCOUNT_INTEGRATION_URL = exports.API_ACCOUNT_SETTINGS_URL = exports.API_AUTH_USER_ACCOUNT_USER_ID_URL = exports.API_AUTH_USER_ACCOUNT_USER_URL = exports.API_ACCOUNT_ACTIVATE_URL = exports.API_ACCOUNT_ID_URL = exports.API_ACCOUNT_URL = exports.API_USER_PAT_TOKEN_URL = exports.API_USER_PAT_URL = exports.API_USER_VERIFY_EMAIL_URL = exports.API_USER_INVITATION_CHECK_URL = exports.API_USER_INVITATION_ACCEPT_URL = exports.API_USER_INVITATION_URL = exports.API_USER_PASSWORD_FORGOT_URL = exports.API_USER_PASSWORD_RESET_URL = exports.API_OTP_AUTH_URL = exports.API_OTP_URL = exports.API_USER_TOKEN_URL = exports.API_USER_AUTH_URL = exports.API_USER_URL = exports.API_ADMIN_USER_INVITATION_URL = exports.API_APPLICATION_AUTH_URL = void 0;
|
4
|
+
exports.API_PROJECT_STREAM_CALLSIGN_URL = exports.API_PROJECT_STREAM_DATA_URL = exports.API_PROJECT_STREAM_ID_URL = exports.API_PROJECT_STREAM_URL = exports.API_PROJECT_EXPORT_URL = exports.API_PROJECT_GROUP_TYPE_OWNER_OVERRIDE_URL = exports.API_PROJECT_GROUP_TYPE_OWNER_ID_URL = exports.API_PROJECT_GROUP_TYPE_VERSION_URL = exports.API_PROJECT_GROUP_TYPE_CONFIG_URL = exports.API_PROJECT_GROUP_TYPE_PUBLISH_URL = exports.API_PROJECT_GROUP_TYPE_ID_URL = exports.API_PROJECT_GROUP_TYPE_URL = exports.API_PROJECT_DEFINITION_IMPORT = exports.API_PROJECT_DEFINITION_EXPORT = exports.API_PROJECT_DEFINITION_GAMEPAD_URL = exports.API_PROJECT_DEFINITION_TRIGGER_URL = exports.API_PROJECT_DEFINITION_BUTTON_URL = exports.API_PROJECT_DEFINITION_ACTION_URL = exports.API_PROJECT_DEFINITION_EVENT_URL = exports.API_PROJECT_DEFINITION_COMMAND2_URL = exports.API_PROJECT_DEFINITION_COMMAND_URL = exports.API_PROJECT_DEFINITION_AGENT_URL = exports.API_PROJECT_DEFINITION_SETTING_URL = exports.API_PROJECT_DEFINITION_BLOB_URL = exports.API_PROJECT_DEFINITION_DASHBOARD_URL = exports.API_PROJECT_DEFINITION_COPY_URL = exports.API_PROJECT_DEFINITION_STREAM_URL = exports.API_PROJECT_DEFINITION_ID_URL = exports.API_PROJECT_DEFINITION_URL = exports.API_PROJECT_VROBOT_DEPLOY_URL = exports.API_PROJECT_VROBOT_DETAILS_URL = exports.API_PROJECT_COLLECTION_DOCS_URL = exports.API_PROJECT_COLLECTION_ID_URL = exports.API_PROJECT_DASHBOARD_CUSTOM_WIDGET_URL = exports.API_PROJECT_DASHBOARD_WIDGET_URL = exports.API_PROJECT_DASHBOARD_ID_URL = exports.API_PROJECT_DASHBOARD_URL = exports.API_PROJECT_OPERATION_ID_URL = exports.API_PROJECT_OPERATION_URL = exports.API_PROJECT_ROBOT_GAMEPAD_URL = exports.API_PROJECT_ROBOT_TRIGGER_URL = exports.API_PROJECT_ROBOT_BUTTON_URL = exports.API_PROJECT_ROBOT_COMMAND2_URL = exports.API_PROJECT_ROBOT_COMMAND_URL = exports.API_PROJECT_ROBOT_AGENT_URL = exports.API_PROJECT_ROBOT_SETTING_URL = exports.API_PROJECT_ROBOT_EVENT_HISTORY_URL = exports.API_PROJECT_ROBOT_EVENT_URL = exports.API_PROJECT_ROBOT_REGISTER_URL = exports.API_PROJECT_ROBOT_DEFINITION_URL = void 0;
|
5
|
+
exports.API_TARGETs_MEDIA_URL = exports.API_TARGETS_URL = exports.API_DEVICE_CREDENTIALS_AUTH_URL = exports.API_DEVICE_CREDENTIALS_URL = exports.API_LINKED_PROJECT_URL = exports.API_PROJECT_DEPLOYED_WORKFLOW_URL = exports.API_PROJECT_WORKFLOW_ASSET_URL = exports.API_PROJECT_WORKFLOW_ID_URL = exports.API_PROJECT_WORKFLOW_URL = exports.API_OBSERVATION_KEYS_URL = exports.API_OBSERVATIONS_URL = exports.API_MAPS_PANORAMA_OBSERVATIONS_URL = exports.API_MAPS_GEOJSON_URL = exports.API_MAPS_DEPLOY_URL = exports.API_MAPS_COPY_URL = exports.API_MAP_ID_URL = exports.API_MAPS_MERGE_URL = exports.API_MAPS_DEPLOYED_URL = exports.API_MAPS_URL = exports.API_DD_INTEGRATION_LOCATIONS_URL = exports.API_DD_INTEGRATION_ISSUES_URL = exports.API_DD_INTEGRATION_OVERLAYS_URL = exports.API_DD_INTEGRATION_PLAN_BY_ID_URL = exports.API_DD_INTEGRATION_PLANS_URL = exports.API_SPOTTY_URL = exports.API_PROJECT_SCHEDULES_URL = exports.API_SOURCE_ID_URL = exports.API_SOURCE_URL = exports.API_SOURCE_SCHEMA_URL = exports.API_TEMPLATE_EXPORTER_URL = exports.API_TEMPLATE_PROVISION_ID_URL = exports.API_TEMPLATE_PROVISION_URL = exports.API_TEMPLATE_DEPLOY_URL = exports.API_PROJECT_PROFILE_DASHBOARD_CUSTOM_WIDGET_URL = exports.API_PROJECT_PROFILE_DASHBOARD_ID_URL = exports.API_PROJECT_PROFILE_DASHBOARD_URL = exports.API_PROJECT_CALLSIGN_STREAM_URL = exports.API_PROJECT_ROBOT_DASHBOARD_CUSTOM_WIDGET_URL = exports.API_PROJECT_ROBOT_DASHBOARD_ID_URL = exports.API_PROJECT_ROBOT_DASHBOARD_URL = void 0;
|
6
6
|
exports.API_APPLICATION_AUTH_URL = 'https://{url}/applications/auth';
|
7
7
|
exports.API_ADMIN_USER_INVITATION_URL = 'https://{url}/admin/users/invitations';
|
8
8
|
exports.API_USER_URL = 'https://{url}/users';
|
@@ -33,6 +33,7 @@ exports.API_ACCOUNT_PROJECT_USER_URL = 'https://{url}/accounts/{accountId}/proje
|
|
33
33
|
exports.API_ACCOUNT_PROJECT_USER_ID_URL = 'https://{url}/accounts/{accountId}/projects/{projectId}/users/{userId}';
|
34
34
|
exports.API_ACCOUNT_PROJECT_APPLICATION_URL = 'https://{url}/accounts/{accountId}/projects/{projectId}/applications';
|
35
35
|
exports.API_ACCOUNT_PROJECT_APPLICATION_ID_URL = 'https://{url}/accounts/{accountId}/projects/{projectId}/applications/{applicationId}';
|
36
|
+
exports.API_ACCOUNT_EXTERNAL_PROJECTS_URL = 'https://{url}/accounts/{accountId}/external-projects';
|
36
37
|
exports.API_PROJECT_URL = 'https://{url}/projects';
|
37
38
|
exports.API_PROJECT_ID_URL = 'https://{url}/projects/{projectId}';
|
38
39
|
exports.API_PROJECT_USERS_URL = 'https://{url}/projects/{projectId}/users';
|
@@ -141,3 +142,4 @@ exports.API_LINKED_PROJECT_URL = 'https://{url}/linked-projects/{linkedProjectId
|
|
141
142
|
exports.API_DEVICE_CREDENTIALS_URL = 'https://{url}/projects/{projectId}/callsigns/{callsign}/device-credentials';
|
142
143
|
exports.API_DEVICE_CREDENTIALS_AUTH_URL = 'https://{url}/device-credentials/auth';
|
143
144
|
exports.API_TARGETS_URL = 'https://{url}/projects/{projectId}/targets';
|
145
|
+
exports.API_TARGETs_MEDIA_URL = 'https://{url}/projects/{projectId}/targets/{targetId}/media';
|
package/cjs/models/index.d.ts
CHANGED
@@ -35,6 +35,8 @@ export * from './integrations/PaginatedResults';
|
|
35
35
|
export * from './maps/Map';
|
36
36
|
export * from './maps/Panorama';
|
37
37
|
export * from './projects/ProjectUser';
|
38
|
+
export * from './projects/ExternalProject';
|
39
|
+
export * from './projects/NewProjectRequest';
|
38
40
|
export * from './target/Target';
|
39
41
|
export * from './ExportDataQuery';
|
40
42
|
export * from './HttpError';
|
package/cjs/models/index.js
CHANGED
@@ -51,6 +51,8 @@ __exportStar(require("./integrations/PaginatedResults"), exports);
|
|
51
51
|
__exportStar(require("./maps/Map"), exports);
|
52
52
|
__exportStar(require("./maps/Panorama"), exports);
|
53
53
|
__exportStar(require("./projects/ProjectUser"), exports);
|
54
|
+
__exportStar(require("./projects/ExternalProject"), exports);
|
55
|
+
__exportStar(require("./projects/NewProjectRequest"), exports);
|
54
56
|
__exportStar(require("./target/Target"), exports);
|
55
57
|
__exportStar(require("./ExportDataQuery"), exports);
|
56
58
|
__exportStar(require("./HttpError"), exports);
|
@@ -17,20 +17,27 @@ export interface Target {
|
|
17
17
|
*/
|
18
18
|
data: Record<string, string>;
|
19
19
|
/**
|
20
|
-
*
|
20
|
+
* Translation of the target in the 3D space
|
21
21
|
*/
|
22
22
|
translation: Vector3;
|
23
23
|
/**
|
24
24
|
* Rotation of the target in the 3D space
|
25
25
|
*/
|
26
26
|
rotation: Quaternion;
|
27
|
+
/**
|
28
|
+
* Position of the target in WGS84 coordinates
|
29
|
+
*/
|
30
|
+
position: {
|
31
|
+
lat: number;
|
32
|
+
lon: number;
|
33
|
+
alt: number;
|
34
|
+
};
|
27
35
|
/**
|
28
36
|
* Media associated with the target (images)
|
29
37
|
*/
|
30
38
|
media?: TargetMedia[];
|
31
39
|
}
|
32
|
-
|
40
|
+
export interface TargetMedia {
|
33
41
|
id: string;
|
34
42
|
data: Record<string, string>;
|
35
|
-
}
|
36
|
-
export {};
|
43
|
+
}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { IBaseService, IOperation, IProject, IProjectInfo, IRocosSDKConfig, ProjectUser, RocosError } from '../models';
|
1
|
+
import { ExternalProject, IBaseService, IOperation, IProject, IProjectInfo, IRocosSDKConfig, NewProjectRequest, ProjectUser, RocosError } from '../models';
|
2
2
|
import { BaseServiceAbstract } from './BaseServiceAbstract';
|
3
3
|
export declare class ProjectService extends BaseServiceAbstract implements IBaseService {
|
4
4
|
constructor(config: IRocosSDKConfig);
|
@@ -57,7 +57,7 @@ export declare class ProjectService extends BaseServiceAbstract implements IBase
|
|
57
57
|
* @param templateId - Template Id, From back-end responses
|
58
58
|
* @param body - Optional parameters
|
59
59
|
*/
|
60
|
-
createProjectByTemplate(templateId: string, body?:
|
60
|
+
createProjectByTemplate(templateId: string, body?: NewProjectRequest): Promise<void>;
|
61
61
|
/**
|
62
62
|
* Operations related functions
|
63
63
|
*/
|
@@ -103,4 +103,9 @@ export declare class ProjectService extends BaseServiceAbstract implements IBase
|
|
103
103
|
*/
|
104
104
|
listUsers(projectId: string): Promise<ProjectUser[]>;
|
105
105
|
getProjectByLinkedProjectId(linkedProjectId: string): Promise<IProject>;
|
106
|
+
/**
|
107
|
+
* List external projects
|
108
|
+
* @returns Returns list of DroneDeploy projects with their location and linked state
|
109
|
+
*/
|
110
|
+
listExternalProjects(accountId: string): Promise<ExternalProject[]>;
|
106
111
|
}
|
@@ -93,9 +93,6 @@ class ProjectService extends BaseServiceAbstract_1.BaseServiceAbstract {
|
|
93
93
|
* @param templateId - Template Id, From back-end responses
|
94
94
|
* @param body - Optional parameters
|
95
95
|
*/
|
96
|
-
// TODO: map the request model
|
97
|
-
// TODO: map the response object
|
98
|
-
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
|
99
96
|
async createProjectByTemplate(templateId, body) {
|
100
97
|
return this.callPost((0, formatServiceUrl_1.formatServiceUrl)(api_1.API_TEMPLATE_PROVISION_ID_URL, { url: this.config.url, templateId }, this.config.insecure), body, `Failed to create project template for ${templateId}.`);
|
101
98
|
}
|
@@ -163,5 +160,12 @@ class ProjectService extends BaseServiceAbstract_1.BaseServiceAbstract {
|
|
163
160
|
async getProjectByLinkedProjectId(linkedProjectId) {
|
164
161
|
return this.callGet((0, formatServiceUrl_1.formatServiceUrl)(api_1.API_LINKED_PROJECT_URL, { url: this.config.url, linkedProjectId }, this.config.insecure), `Failed to get project info for linked project ID: ${linkedProjectId}.`);
|
165
162
|
}
|
163
|
+
/**
|
164
|
+
* List external projects
|
165
|
+
* @returns Returns list of DroneDeploy projects with their location and linked state
|
166
|
+
*/
|
167
|
+
async listExternalProjects(accountId) {
|
168
|
+
return this.callGet((0, formatServiceUrl_1.formatServiceUrl)(api_1.API_ACCOUNT_EXTERNAL_PROJECTS_URL, { url: this.config.url, accountId }, this.config.insecure), 'Failed to get external project list.');
|
169
|
+
}
|
166
170
|
}
|
167
171
|
exports.ProjectService = ProjectService;
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { IBaseService, IRocosSDKConfig, RocosError, Target } from '../models';
|
1
|
+
import { IBaseService, IRocosSDKConfig, RocosError, Target, TargetMedia } from '../models';
|
2
2
|
import { BaseServiceAbstract } from './BaseServiceAbstract';
|
3
3
|
/**
|
4
4
|
* Service for managing targets (such as assets, PoI's, or FLOCS) on DroneDeploy
|
@@ -8,4 +8,6 @@ export declare class TargetService extends BaseServiceAbstract implements IBaseS
|
|
8
8
|
getStatus(): boolean;
|
9
9
|
protected getError(e: Error): RocosError;
|
10
10
|
list(projectId: string, frameID?: string): Promise<Target[]>;
|
11
|
+
getMedia(projectId: string, targetId: string): Promise<Target>;
|
12
|
+
addMedia(projectId: string, targetId: string, media: TargetMedia): Promise<void>;
|
11
13
|
}
|
@@ -1,8 +1,8 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.TargetService = void 0;
|
4
|
-
const models_1 = require("../models");
|
5
4
|
const api_1 = require("../constants/api");
|
5
|
+
const models_1 = require("../models");
|
6
6
|
const BaseServiceAbstract_1 = require("./BaseServiceAbstract");
|
7
7
|
const RocosLogger_1 = require("../logger/RocosLogger");
|
8
8
|
const formatServiceUrl_1 = require("../helpers/formatServiceUrl");
|
@@ -27,5 +27,20 @@ class TargetService extends BaseServiceAbstract_1.BaseServiceAbstract {
|
|
27
27
|
}, this.config.insecure), 'Failed to list targets', { frameID });
|
28
28
|
return resp;
|
29
29
|
}
|
30
|
+
async getMedia(projectId, targetId) {
|
31
|
+
const resp = await this.callGet((0, formatServiceUrl_1.formatServiceUrl)(api_1.API_TARGETs_MEDIA_URL, {
|
32
|
+
url: this.config.url,
|
33
|
+
projectId,
|
34
|
+
targetId,
|
35
|
+
}, this.config.insecure), 'Failed to get target media');
|
36
|
+
return resp;
|
37
|
+
}
|
38
|
+
async addMedia(projectId, targetId, media) {
|
39
|
+
await this.callPost((0, formatServiceUrl_1.formatServiceUrl)(api_1.API_TARGETS_URL, {
|
40
|
+
url: this.config.url,
|
41
|
+
projectId,
|
42
|
+
targetId,
|
43
|
+
}, this.config.insecure), media, 'Failed to add media to a target');
|
44
|
+
}
|
30
45
|
}
|
31
46
|
exports.TargetService = TargetService;
|
package/esm/constants/api.d.ts
CHANGED
@@ -28,6 +28,7 @@ export declare const API_ACCOUNT_PROJECT_USER_URL = "https://{url}/accounts/{acc
|
|
28
28
|
export declare const API_ACCOUNT_PROJECT_USER_ID_URL = "https://{url}/accounts/{accountId}/projects/{projectId}/users/{userId}";
|
29
29
|
export declare const API_ACCOUNT_PROJECT_APPLICATION_URL = "https://{url}/accounts/{accountId}/projects/{projectId}/applications";
|
30
30
|
export declare const API_ACCOUNT_PROJECT_APPLICATION_ID_URL = "https://{url}/accounts/{accountId}/projects/{projectId}/applications/{applicationId}";
|
31
|
+
export declare const API_ACCOUNT_EXTERNAL_PROJECTS_URL = "https://{url}/accounts/{accountId}/external-projects";
|
31
32
|
export declare const API_PROJECT_URL = "https://{url}/projects";
|
32
33
|
export declare const API_PROJECT_ID_URL = "https://{url}/projects/{projectId}";
|
33
34
|
export declare const API_PROJECT_USERS_URL = "https://{url}/projects/{projectId}/users";
|
@@ -136,3 +137,4 @@ export declare const API_LINKED_PROJECT_URL = "https://{url}/linked-projects/{li
|
|
136
137
|
export declare const API_DEVICE_CREDENTIALS_URL = "https://{url}/projects/{projectId}/callsigns/{callsign}/device-credentials";
|
137
138
|
export declare const API_DEVICE_CREDENTIALS_AUTH_URL = "https://{url}/device-credentials/auth";
|
138
139
|
export declare const API_TARGETS_URL = "https://{url}/projects/{projectId}/targets";
|
140
|
+
export declare const API_TARGETs_MEDIA_URL = "https://{url}/projects/{projectId}/targets/{targetId}/media";
|
package/esm/constants/api.js
CHANGED
@@ -28,6 +28,7 @@ export const API_ACCOUNT_PROJECT_USER_URL = 'https://{url}/accounts/{accountId}/
|
|
28
28
|
export const API_ACCOUNT_PROJECT_USER_ID_URL = 'https://{url}/accounts/{accountId}/projects/{projectId}/users/{userId}';
|
29
29
|
export const API_ACCOUNT_PROJECT_APPLICATION_URL = 'https://{url}/accounts/{accountId}/projects/{projectId}/applications';
|
30
30
|
export const API_ACCOUNT_PROJECT_APPLICATION_ID_URL = 'https://{url}/accounts/{accountId}/projects/{projectId}/applications/{applicationId}';
|
31
|
+
export const API_ACCOUNT_EXTERNAL_PROJECTS_URL = 'https://{url}/accounts/{accountId}/external-projects';
|
31
32
|
export const API_PROJECT_URL = 'https://{url}/projects';
|
32
33
|
export const API_PROJECT_ID_URL = 'https://{url}/projects/{projectId}';
|
33
34
|
export const API_PROJECT_USERS_URL = 'https://{url}/projects/{projectId}/users';
|
@@ -136,3 +137,4 @@ export const API_LINKED_PROJECT_URL = 'https://{url}/linked-projects/{linkedProj
|
|
136
137
|
export const API_DEVICE_CREDENTIALS_URL = 'https://{url}/projects/{projectId}/callsigns/{callsign}/device-credentials';
|
137
138
|
export const API_DEVICE_CREDENTIALS_AUTH_URL = 'https://{url}/device-credentials/auth';
|
138
139
|
export const API_TARGETS_URL = 'https://{url}/projects/{projectId}/targets';
|
140
|
+
export const API_TARGETs_MEDIA_URL = 'https://{url}/projects/{projectId}/targets/{targetId}/media';
|
package/esm/models/index.d.ts
CHANGED
@@ -35,6 +35,8 @@ export * from './integrations/PaginatedResults';
|
|
35
35
|
export * from './maps/Map';
|
36
36
|
export * from './maps/Panorama';
|
37
37
|
export * from './projects/ProjectUser';
|
38
|
+
export * from './projects/ExternalProject';
|
39
|
+
export * from './projects/NewProjectRequest';
|
38
40
|
export * from './target/Target';
|
39
41
|
export * from './ExportDataQuery';
|
40
42
|
export * from './HttpError';
|
package/esm/models/index.js
CHANGED
@@ -35,6 +35,8 @@ export * from './integrations/PaginatedResults';
|
|
35
35
|
export * from './maps/Map';
|
36
36
|
export * from './maps/Panorama';
|
37
37
|
export * from './projects/ProjectUser';
|
38
|
+
export * from './projects/ExternalProject';
|
39
|
+
export * from './projects/NewProjectRequest';
|
38
40
|
export * from './target/Target';
|
39
41
|
export * from './ExportDataQuery';
|
40
42
|
export * from './HttpError';
|
@@ -0,0 +1 @@
|
|
1
|
+
export {};
|
@@ -0,0 +1 @@
|
|
1
|
+
export {};
|
@@ -17,20 +17,27 @@ export interface Target {
|
|
17
17
|
*/
|
18
18
|
data: Record<string, string>;
|
19
19
|
/**
|
20
|
-
*
|
20
|
+
* Translation of the target in the 3D space
|
21
21
|
*/
|
22
22
|
translation: Vector3;
|
23
23
|
/**
|
24
24
|
* Rotation of the target in the 3D space
|
25
25
|
*/
|
26
26
|
rotation: Quaternion;
|
27
|
+
/**
|
28
|
+
* Position of the target in WGS84 coordinates
|
29
|
+
*/
|
30
|
+
position: {
|
31
|
+
lat: number;
|
32
|
+
lon: number;
|
33
|
+
alt: number;
|
34
|
+
};
|
27
35
|
/**
|
28
36
|
* Media associated with the target (images)
|
29
37
|
*/
|
30
38
|
media?: TargetMedia[];
|
31
39
|
}
|
32
|
-
|
40
|
+
export interface TargetMedia {
|
33
41
|
id: string;
|
34
42
|
data: Record<string, string>;
|
35
|
-
}
|
36
|
-
export {};
|
43
|
+
}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { IBaseService, IOperation, IProject, IProjectInfo, IRocosSDKConfig, ProjectUser, RocosError } from '../models';
|
1
|
+
import { ExternalProject, IBaseService, IOperation, IProject, IProjectInfo, IRocosSDKConfig, NewProjectRequest, ProjectUser, RocosError } from '../models';
|
2
2
|
import { BaseServiceAbstract } from './BaseServiceAbstract';
|
3
3
|
export declare class ProjectService extends BaseServiceAbstract implements IBaseService {
|
4
4
|
constructor(config: IRocosSDKConfig);
|
@@ -57,7 +57,7 @@ export declare class ProjectService extends BaseServiceAbstract implements IBase
|
|
57
57
|
* @param templateId - Template Id, From back-end responses
|
58
58
|
* @param body - Optional parameters
|
59
59
|
*/
|
60
|
-
createProjectByTemplate(templateId: string, body?:
|
60
|
+
createProjectByTemplate(templateId: string, body?: NewProjectRequest): Promise<void>;
|
61
61
|
/**
|
62
62
|
* Operations related functions
|
63
63
|
*/
|
@@ -103,4 +103,9 @@ export declare class ProjectService extends BaseServiceAbstract implements IBase
|
|
103
103
|
*/
|
104
104
|
listUsers(projectId: string): Promise<ProjectUser[]>;
|
105
105
|
getProjectByLinkedProjectId(linkedProjectId: string): Promise<IProject>;
|
106
|
+
/**
|
107
|
+
* List external projects
|
108
|
+
* @returns Returns list of DroneDeploy projects with their location and linked state
|
109
|
+
*/
|
110
|
+
listExternalProjects(accountId: string): Promise<ExternalProject[]>;
|
106
111
|
}
|
@@ -1,5 +1,5 @@
|
|
1
|
-
import { API_ACCOUNT_PROJECT_ID_URL, API_ACCOUNT_PROJECT_URL, API_LINKED_PROJECT_URL, API_PROJECT_ID_URL, API_PROJECT_OPERATION_ID_URL, API_PROJECT_OPERATION_URL, API_PROJECT_URL, API_PROJECT_USERS_URL, API_TEMPLATE_PROVISION_ID_URL, API_TEMPLATE_PROVISION_URL, } from '../constants/api';
|
2
|
-
import {
|
1
|
+
import { API_ACCOUNT_EXTERNAL_PROJECTS_URL, API_ACCOUNT_PROJECT_ID_URL, API_ACCOUNT_PROJECT_URL, API_LINKED_PROJECT_URL, API_PROJECT_ID_URL, API_PROJECT_OPERATION_ID_URL, API_PROJECT_OPERATION_URL, API_PROJECT_URL, API_PROJECT_USERS_URL, API_TEMPLATE_PROVISION_ID_URL, API_TEMPLATE_PROVISION_URL, } from '../constants/api';
|
2
|
+
import { RocosError, errorCodes, } from '../models';
|
3
3
|
import { BaseServiceAbstract } from './BaseServiceAbstract';
|
4
4
|
import { RocosLogger } from '../logger/RocosLogger';
|
5
5
|
import { formatServiceUrl } from '../helpers/formatServiceUrl';
|
@@ -90,9 +90,6 @@ export class ProjectService extends BaseServiceAbstract {
|
|
90
90
|
* @param templateId - Template Id, From back-end responses
|
91
91
|
* @param body - Optional parameters
|
92
92
|
*/
|
93
|
-
// TODO: map the request model
|
94
|
-
// TODO: map the response object
|
95
|
-
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
|
96
93
|
async createProjectByTemplate(templateId, body) {
|
97
94
|
return this.callPost(formatServiceUrl(API_TEMPLATE_PROVISION_ID_URL, { url: this.config.url, templateId }, this.config.insecure), body, `Failed to create project template for ${templateId}.`);
|
98
95
|
}
|
@@ -160,4 +157,11 @@ export class ProjectService extends BaseServiceAbstract {
|
|
160
157
|
async getProjectByLinkedProjectId(linkedProjectId) {
|
161
158
|
return this.callGet(formatServiceUrl(API_LINKED_PROJECT_URL, { url: this.config.url, linkedProjectId }, this.config.insecure), `Failed to get project info for linked project ID: ${linkedProjectId}.`);
|
162
159
|
}
|
160
|
+
/**
|
161
|
+
* List external projects
|
162
|
+
* @returns Returns list of DroneDeploy projects with their location and linked state
|
163
|
+
*/
|
164
|
+
async listExternalProjects(accountId) {
|
165
|
+
return this.callGet(formatServiceUrl(API_ACCOUNT_EXTERNAL_PROJECTS_URL, { url: this.config.url, accountId }, this.config.insecure), 'Failed to get external project list.');
|
166
|
+
}
|
163
167
|
}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { IBaseService, IRocosSDKConfig, RocosError, Target } from '../models';
|
1
|
+
import { IBaseService, IRocosSDKConfig, RocosError, Target, TargetMedia } from '../models';
|
2
2
|
import { BaseServiceAbstract } from './BaseServiceAbstract';
|
3
3
|
/**
|
4
4
|
* Service for managing targets (such as assets, PoI's, or FLOCS) on DroneDeploy
|
@@ -8,4 +8,6 @@ export declare class TargetService extends BaseServiceAbstract implements IBaseS
|
|
8
8
|
getStatus(): boolean;
|
9
9
|
protected getError(e: Error): RocosError;
|
10
10
|
list(projectId: string, frameID?: string): Promise<Target[]>;
|
11
|
+
getMedia(projectId: string, targetId: string): Promise<Target>;
|
12
|
+
addMedia(projectId: string, targetId: string, media: TargetMedia): Promise<void>;
|
11
13
|
}
|
@@ -1,5 +1,5 @@
|
|
1
|
+
import { API_TARGETS_URL, API_TARGETs_MEDIA_URL } from '../constants/api';
|
1
2
|
import { RocosError, errorCodes } from '../models';
|
2
|
-
import { API_TARGETS_URL } from '../constants/api';
|
3
3
|
import { BaseServiceAbstract } from './BaseServiceAbstract';
|
4
4
|
import { RocosLogger } from '../logger/RocosLogger';
|
5
5
|
import { formatServiceUrl } from '../helpers/formatServiceUrl';
|
@@ -24,4 +24,19 @@ export class TargetService extends BaseServiceAbstract {
|
|
24
24
|
}, this.config.insecure), 'Failed to list targets', { frameID });
|
25
25
|
return resp;
|
26
26
|
}
|
27
|
+
async getMedia(projectId, targetId) {
|
28
|
+
const resp = await this.callGet(formatServiceUrl(API_TARGETs_MEDIA_URL, {
|
29
|
+
url: this.config.url,
|
30
|
+
projectId,
|
31
|
+
targetId,
|
32
|
+
}, this.config.insecure), 'Failed to get target media');
|
33
|
+
return resp;
|
34
|
+
}
|
35
|
+
async addMedia(projectId, targetId, media) {
|
36
|
+
await this.callPost(formatServiceUrl(API_TARGETS_URL, {
|
37
|
+
url: this.config.url,
|
38
|
+
projectId,
|
39
|
+
targetId,
|
40
|
+
}, this.config.insecure), media, 'Failed to add media to a target');
|
41
|
+
}
|
27
42
|
}
|
package/package.json
CHANGED