@aut-labs/sdk
Version:
The TS/JS SDK package aims to make it easy for frontends/backends to integrate with Aut Smart Contracts
68 lines • 2.41 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.TaskContributionNFT = exports.TaskContributionProperties = exports.TaskContribution = void 0;
const baseNFTModel_1 = require("./baseNFTModel");
class TaskContribution {
static mapToArray(contributions) {
return [
contributions.taskId,
contributions.uri,
contributions.role,
contributions.startDate,
contributions.endDate,
contributions.points,
contributions.quantity,
];
}
static mapFromTuple(tuple) {
return {
taskId: tuple[0],
uri: tuple[1],
role: Number(tuple[2]),
startDate: Number(tuple[3]),
endDate: Number(tuple[4]),
points: Number(tuple[5]),
quantity: Number(tuple[6]),
};
}
}
exports.TaskContribution = TaskContribution;
class TaskContributionProperties extends TaskContribution {
constructor(data) {
super();
this.id = data.id;
this.taskId = data.taskId;
this.uri = data.uri;
this.role = data.role;
this.startDate = data.startDate;
this.endDate = data.endDate;
this.points = data.points;
this.quantity = data.quantity;
}
}
exports.TaskContributionProperties = TaskContributionProperties;
class TaskContributionNFT extends baseNFTModel_1.BaseNFTModel {
static updateTaskContributionNFT(updatedUser) {
const taskContribution = new TaskContributionNFT(updatedUser);
return {
name: taskContribution.name,
description: taskContribution.description,
image: "",
properties: {
taskId: taskContribution.properties.taskId,
uri: taskContribution.properties.uri,
role: taskContribution.properties.role,
startDate: taskContribution.properties.startDate,
endDate: taskContribution.properties.endDate,
points: taskContribution.properties.points,
quantity: taskContribution.properties.quantity
}
};
}
constructor(data = {}) {
super(data);
this.properties = new TaskContributionProperties(data.properties);
}
}
exports.TaskContributionNFT = TaskContributionNFT;
//# sourceMappingURL=task-contribution.js.map