forked from MapComplete/MapComplete
Last fixes to the reviews
This commit is contained in:
parent
d80037e407
commit
a53c4119e5
8 changed files with 59 additions and 23 deletions
|
@ -13,6 +13,7 @@ export class MangroveIdentity {
|
|||
if (str === undefined || str === "") {
|
||||
return;
|
||||
}
|
||||
console.log("JWK ", JSON.parse(str));
|
||||
mangrove.jwkToKeypair(JSON.parse(str)).then(keypair => {
|
||||
self.keypair = keypair;
|
||||
console.log("Identity loaded")
|
||||
|
@ -113,15 +114,24 @@ export default class MangroveReviews {
|
|||
mangrove.getReviews({sub: this.GetSubjectUri()}).then(
|
||||
(data) => {
|
||||
const reviews = [];
|
||||
const reviewsByUser = [];
|
||||
for (const review of data.reviews) {
|
||||
const r = review.payload;
|
||||
reviews.push({
|
||||
console.log("PublicKey is ",self._mangroveIdentity.keypair, "reviews is",review.signature);
|
||||
const byUser = self._mangroveIdentity.keypair.publicKey === review.signature;
|
||||
console.log("IS SAME: ", byUser);
|
||||
const rev: Review = {
|
||||
made_by_user: byUser,
|
||||
date: new Date(r.iat * 1000),
|
||||
comment: r.opinion,
|
||||
author: r.metadata.nickname,
|
||||
affiliated: r.metadata.is_affiliated,
|
||||
rating: r.rating // percentage points
|
||||
})
|
||||
};
|
||||
|
||||
|
||||
|
||||
(rev.made_by_user ? reviewsByUser : reviews).push(rev);
|
||||
}
|
||||
self._reviews.setData(reviews)
|
||||
}
|
||||
|
@ -141,18 +151,37 @@ export default class MangroveReviews {
|
|||
rating: r.rating,
|
||||
opinion: r.comment,
|
||||
metadata: {
|
||||
is_affiliated: r.affiliated,
|
||||
nickname: r.author,
|
||||
}
|
||||
};
|
||||
if (this._dryRun) {
|
||||
console.log("DRYRUNNING mangrove reviews: ", payload);
|
||||
} else {
|
||||
mangrove.signAndSubmitReview(this._mangroveIdentity.keypair, payload).then(callback)
|
||||
if (r.affiliated) {
|
||||
// @ts-ignore
|
||||
payload.metadata.is_affiliated = true;
|
||||
}
|
||||
this._reviews.data.push(r);
|
||||
this._reviews.ping();
|
||||
callback();
|
||||
if (this._dryRun) {
|
||||
console.warn("DRYRUNNING mangrove reviews: ", payload);
|
||||
if (callback) {
|
||||
if (callback) {
|
||||
console.log("Calling callback")
|
||||
callback();
|
||||
}
|
||||
this._reviews.data.push(r);
|
||||
this._reviews.ping();
|
||||
|
||||
}
|
||||
} else {
|
||||
mangrove.signAndSubmitReview(this._mangroveIdentity.keypair, payload).then(() => {
|
||||
if (callback) {
|
||||
console.log("Calling callback")
|
||||
callback();
|
||||
}
|
||||
this._reviews.data.push(r);
|
||||
this._reviews.ping();
|
||||
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -3,5 +3,9 @@ export interface Review {
|
|||
author: string,
|
||||
date: Date,
|
||||
rating: number,
|
||||
affiliated: boolean
|
||||
affiliated: boolean,
|
||||
/**
|
||||
* True if the current logged in user is the creator of this comment
|
||||
*/
|
||||
made_by_user: boolean
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue