Skip to content

Commit a06b648

Browse files
[TASKSCLOUD-406] - Deployed new 20.8 version.
1 parent 45dbf46 commit a06b648

File tree

8 files changed

+111
-18
lines changed

8 files changed

+111
-18
lines changed

package-lock.json

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@asposecloud/aspose-tasks-cloud",
3-
"version": "20.6.1",
3+
"version": "20.8.0",
44
"description": "Aspose.Tasks Cloud SDK for Node.js",
55
"homepage": "https://products.aspose.cloud/tasks",
66
"readmeFilename": "README.md",

src/api.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -224,7 +224,7 @@ export class TasksApi {
224224
}
225225

226226
const requestOptions: request.Options = {
227-
method: "POST",
227+
method: "PUT",
228228
qs: queryParameters,
229229
uri: localVarPath,
230230
json: true,
@@ -297,7 +297,7 @@ export class TasksApi {
297297
localVarPath = addQueryParameterToUrl(localVarPath, queryParameters, "storageName", requestObj.storageName);
298298

299299
const requestOptions: request.Options = {
300-
method: "POST",
300+
method: "PUT",
301301
qs: queryParameters,
302302
uri: localVarPath,
303303
json: true,

src/internal/requestHelper.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ async function invokeApiMethodInternal(requestOptions: request.Options, confgura
106106
//headers
107107
sa.set("User-Agent", "tasks nodejs sdk");
108108
sa.set("x-aspose-client", "nodejs sdk");
109-
sa.set("x-aspose-client-version", "20.6");
109+
sa.set("x-aspose-client-version", "20.8");
110110

111111
if (!requestOptions.headers) {
112112
requestOptions.headers = {};

src/model/model.ts

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3683,6 +3683,11 @@ export class ResourceAssignment {
36833683
name: "extendedAttributes",
36843684
baseName: "extendedAttributes",
36853685
type: "Array<ExtendedAttribute>",
3686+
},
3687+
{
3688+
name: "timephasedData",
3689+
baseName: "timephasedData",
3690+
type: "Array<TimephasedData>",
36863691
} ];
36873692

36883693
/**
@@ -4017,6 +4022,11 @@ export class ResourceAssignment {
40174022
*/
40184023
public extendedAttributes: Array<ExtendedAttribute>;
40194024

4025+
/**
4026+
* Represents a collection of TimephasedData objects.
4027+
*/
4028+
public timephasedData: Array<TimephasedData>;
4029+
40204030
public constructor(init?: Partial<ResourceAssignment>) {
40214031

40224032
Object.assign(this, init);
@@ -9080,7 +9090,7 @@ public name: string;
90809090
public guid: string;
90819091

90829092
/**
9083-
* The url of sharepoint site. For example, \"https://your_company_name.sharepoint.com\"
9093+
* The URL of PWA (Project Web Access) API of Project Online.
90849094
*/
90859095
public siteUrl: string;
90869096

@@ -9458,7 +9468,7 @@ export class CreateNewProjectRequest {
94589468
public name: string;
94599469

94609470
/**
9461-
* The url of sharepoint site. For example, \"https://your_company_name.sharepoint.com\"
9471+
* The URL of PWA (Project Web Access) API of Project Online.
94629472
*/
94639473
public siteUrl: string;
94649474

@@ -9502,7 +9512,7 @@ public xSharepointPassword: string;
95029512
*/
95039513
export class GetProjectListRequest {
95049514
/**
9505-
* The url of sharepoint site. For example, \"https://your_company_name.sharepoint.com\"
9515+
* The URL of PWA (Project Web Access) API of Project Online.
95069516
*/
95079517
public siteUrl: string;
95089518

@@ -9536,7 +9546,7 @@ export class UpdateProjectRequest {
95369546
public name: string;
95379547

95389548
/**
9539-
* The url of sharepoint site. For example, \"https://your_company_name.sharepoint.com\"
9549+
* The URL of PWA (Project Web Access) API of Project Online.
95409550
*/
95419551
public siteUrl: string;
95429552

test/assignmentsTests.ts

Lines changed: 84 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
import { expect } from "chai";
2626
import "mocha";
2727

28-
import { GetAssignmentsRequest, GetAssignmentRequest, GetResourceAssignmentsRequest, PostAssignmentRequest, GetTaskRequest, PutAssignmentRequest, CalculationMode, DeleteAssignmentRequest } from "../src/model/model";
28+
import { GetAssignmentsRequest, GetAssignmentRequest, GetResourceAssignmentsRequest, PostAssignmentRequest, GetTaskRequest, PutAssignmentRequest, CalculationMode, DeleteAssignmentRequest, WorkContourType, TimephasedData, TimeUnitType, TimephasedDataType, AssignmentBaseline, BaselineType, ResourceAssignment } from "../src/model/model";
2929
import * as BaseTest from "./baseTest";
3030

3131
describe("getAssignments function", () => {
@@ -235,6 +235,89 @@ describe("putAssignment function", () => {
235235
expect(result3.response.statusCode).to.equal(200);
236236
expect(result3.body.assignments.assignmentItem.some(a => a.taskUid === 34 && a.resourceUid === 1)).is.false;
237237
expect(result3.body.assignments.assignmentItem.some(a => a.taskUid === 0 && a.resourceUid === 1 && a.uid == 63)).is.true;
238+
});
239+
it("should modify TimephasedData and Baselines with assignment", async () => {
240+
241+
const tasksApi = BaseTest.initializeTasksApi();
242+
const fileName = "sample.mpp";
243+
const localPath = BaseTest.localBaseTestDataFolder + fileName;
244+
const remotePath = BaseTest.remoteBaseTestDataFolder;
245+
const remoteFullPath = remotePath + "/" + fileName;
246+
247+
await tasksApi.uploadFileToStorage(remoteFullPath, localPath);
248+
249+
const request1 = new GetAssignmentRequest();
250+
request1.assignmentUid = 1;
251+
request1.name = fileName;
252+
request1.folder = remotePath;
253+
254+
const result1 = await tasksApi.getAssignment(request1);
255+
256+
expect(result1.response.statusCode).to.equal(200);
257+
expect(result1.body.assignment).not.undefined.and.not.null;
258+
259+
const modifiedAssignment = new ResourceAssignment();
260+
Object.assign(modifiedAssignment, result1.body.assignment);
261+
modifiedAssignment.cost = 100;
262+
modifiedAssignment.start = new Date(2001, 9, 10);
263+
modifiedAssignment.finish = new Date(2002, 9, 10);
264+
modifiedAssignment.baselines = [
265+
new AssignmentBaseline({
266+
baselineNumber: BaselineType.Baseline1,
267+
start: new Date(2002, 9, 10)
268+
})
269+
]
270+
modifiedAssignment.actualWork = "10:10:10";
271+
modifiedAssignment.actualCost = 100;
272+
modifiedAssignment.actualStart = new Date(2001, 9, 10);
273+
modifiedAssignment.actualFinish = new Date(2002, 9, 10);
274+
modifiedAssignment.actualOvertimeWork = "100:10:10";
275+
modifiedAssignment.work = "80:0:0";
276+
modifiedAssignment.uid = 1;
277+
modifiedAssignment.vac = 10;
278+
modifiedAssignment.workContour = WorkContourType.Contoured;
279+
modifiedAssignment.timephasedData = [
280+
new TimephasedData({
281+
uid: modifiedAssignment.uid,
282+
start: new Date(2001, 9, 10, 9, 0, 0, 0),
283+
finish: new Date(2001, 9, 10, 14, 0, 0, 0),
284+
unit: TimeUnitType.Hour,
285+
value: "4:0:0",
286+
timephasedDataType: TimephasedDataType.AssignmentRemainingWork
287+
})
288+
];
289+
290+
const request2 = new PutAssignmentRequest();
291+
request2.mode = CalculationMode.None;
292+
request2.recalculate = false;
293+
request2.assignmentUid = modifiedAssignment.uid;
294+
request2.assignment = modifiedAssignment;
295+
request2.name = fileName;
296+
request2.folder = remotePath;
297+
298+
const result2 = await tasksApi.putAssignment(request2);
299+
300+
expect(result2.response.statusCode).to.equal(200);
301+
expect(result2.body.assignment).not.undefined.and.not.null;
302+
expect(result2.body.assignment.uid).to.equal(modifiedAssignment.uid);
303+
expect(result2.body.assignment.vac).to.equal(modifiedAssignment.vac);
304+
expect(result2.body.assignment.cost).to.equal(modifiedAssignment.cost);
305+
expect(result2.body.assignment.start).to.eql(modifiedAssignment.start);
306+
expect(result2.body.assignment.finish).to.eql(modifiedAssignment.finish);
307+
expect(result2.body.assignment.work).to.equal("80.00:00:00");
308+
expect(result2.body.assignment.actualWork).to.equal(modifiedAssignment.actualWork);
309+
expect(result2.body.assignment.actualStart).to.eql(modifiedAssignment.actualStart);
310+
expect(result2.body.assignment.actualFinish).to.eql(modifiedAssignment.actualFinish);
311+
expect(result2.body.assignment.actualOvertimeWork).to.equal("100.10:10:00");
312+
expect(result2.body.assignment.baselines.length).to.equal(1);
313+
expect(result2.body.assignment.baselines[0].baselineNumber).to.equal(BaselineType.Baseline1);
314+
expect(result2.body.assignment.baselines[0].start).to.eql(modifiedAssignment.baselines[0].start);
315+
expect(result2.body.assignment.timephasedData.length).to.equal(1);
316+
expect(result2.body.assignment.timephasedData[0].uid).to.equal(modifiedAssignment.uid);
317+
expect(result2.body.assignment.timephasedData[0].value).to.equal("PT4H0M0S");
318+
expect(result2.body.assignment.timephasedData[0].start).to.eql(modifiedAssignment.timephasedData[0].start);
319+
expect(result2.body.assignment.timephasedData[0].finish).to.eql(modifiedAssignment.timephasedData[0].finish);
320+
expect(result2.body.assignment.timephasedData[0].timephasedDataType).to.equal(modifiedAssignment.timephasedData[0].timephasedDataType);
238321
});
239322
});
240323

test/importProjectTests.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ describe.skip("Ignored because real credentials is required", () => {
9999
request1.guid = "E6426C44-D6CB-4B9C-AF16-48910ACE0F54";
100100
request1.xProjectOnlineToken = "SOMESECRETTOKEN";
101101
request1.folder = BaseTest.remoteBaseTestDataFolder;
102-
request1.siteUrl = "your_company_name.sharepoint.com";
102+
request1.siteUrl = "http://project_server_instance.local/sites/pwa";
103103
request1.format = ProjectFileFormat.P6xml;
104104

105105
const result1 = await tasksApi.putImportProjectFromProjectOnline(request1);
@@ -124,7 +124,7 @@ describe.skip("Ignored because real credentials is required", () => {
124124
request1.userName = "SomeLogin";
125125
request1.xSharepointPassword = "SomePassword";
126126
request1.folder = BaseTest.remoteBaseTestDataFolder;
127-
request1.siteUrl = "your_company_name.sharepoint.com";
127+
request1.siteUrl = "http://project_server_instance.local/sites/pwa";
128128
request1.format = ProjectFileFormat.P6xml;
129129

130130
const result1 = await tasksApi.putImportProjectFromProjectOnline(request1);

test/projectOnlineTests.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ describe.skip("Ignored because real credentials is required", () => {
3535
const tasksApi = BaseTest.initializeTasksApi();
3636
const request = new GetProjectListRequest();
3737
request.xProjectOnlineToken = "SOMESECRETTOKEN";
38-
request.siteUrl = "your_company_name.sharepoint.com";
38+
request.siteUrl = "http://project_server_instance.local/sites/pwa";
3939

4040
const result = await tasksApi.getProjectList(request);
4141

@@ -49,7 +49,7 @@ describe.skip("Ignored because real credentials is required", () => {
4949
const request = new GetProjectListRequest();
5050
request.userName = "SomeLogin";
5151
request.xSharepointPassword = "SomePassword";
52-
request.siteUrl = "your_company_name.sharepoint.com";
52+
request.siteUrl = "http://project_server_instance.local/sites/pwa";
5353

5454
const result = await tasksApi.getProjectList(request);
5555

@@ -71,7 +71,7 @@ describe.skip("Ignored because real credentials is required", () => {
7171
const request = new CreateNewProjectRequest();
7272
request.name = fileName
7373
request.xProjectOnlineToken = "SOMESECRETTOKEN";
74-
request.siteUrl = "your_company_name.sharepoint.com";
74+
request.siteUrl = "http://project_server_instance.local/sites/pwa";
7575

7676
const result = await tasksApi.createNewProject(request);
7777

@@ -89,7 +89,7 @@ describe.skip("Ignored because real credentials is required", () => {
8989
request.name = fileName
9090
request.userName = "SomeLogin";
9191
request.xSharepointPassword = "SomePassword";
92-
request.siteUrl = "your_company_name.sharepoint.com";
92+
request.siteUrl = "http://project_server_instance.local/sites/pwa";
9393

9494
const result = await tasksApi.createNewProject(request);
9595

@@ -109,7 +109,7 @@ describe.skip("Ignored because real credentials is required", () => {
109109
const request = new UpdateProjectRequest();
110110
request.name = fileName
111111
request.xProjectOnlineToken = "SOMESECRETTOKEN";
112-
request.siteUrl = "your_company_name.sharepoint.com";
112+
request.siteUrl = "http://project_server_instance.local/sites/pwa";
113113

114114
const result = await tasksApi.updateProject(request);
115115

@@ -127,7 +127,7 @@ describe.skip("Ignored because real credentials is required", () => {
127127
request.name = fileName
128128
request.userName = "SomeLogin";
129129
request.xSharepointPassword = "SomePassword";
130-
request.siteUrl = "your_company_name.sharepoint.com";
130+
request.siteUrl = "http://project_server_instance.local/sites/pwa";
131131

132132
const result = await tasksApi.updateProject(request);
133133

0 commit comments

Comments
 (0)