Upload homework
parent
784c7393e3
commit
02c278543e
|
@ -0,0 +1,42 @@
|
||||||
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
pragma solidity ^0.8.0;
|
||||||
|
|
||||||
|
contract productReviews {
|
||||||
|
struct Review {
|
||||||
|
uint reviewId;
|
||||||
|
uint productId;
|
||||||
|
string description;
|
||||||
|
uint rating;
|
||||||
|
address reviewer;
|
||||||
|
}
|
||||||
|
|
||||||
|
uint public reviewId = 1;
|
||||||
|
Review[] public reviews;
|
||||||
|
|
||||||
|
function addReview(uint _productId, string memory _description, uint _rating) external {
|
||||||
|
if(_isRatingOk(_rating)) {
|
||||||
|
reviews.push(Review(reviewId, _productId, _description, _rating, msg.sender));
|
||||||
|
}
|
||||||
|
reviewId++;
|
||||||
|
revert('Rating invalid');
|
||||||
|
}
|
||||||
|
|
||||||
|
function _isRatingOk(uint _rating) internal pure returns (bool) { // azt allitja, hogy folosleges a returns deklaralasa, ha nincs elnevezve, viszont ha kitorlom, panaszkodik a return parameterek szama miatt...
|
||||||
|
if(_rating < 6 && _rating > 0) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function isOwner(uint _reviewId) public view returns (bool) {
|
||||||
|
if(msg.sender == reviews[_reviewId].reviewer) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function _deleteReview(uint _reviewId) private {
|
||||||
|
if(isOwner(_reviewId) == true) {
|
||||||
|
delete reviews[_reviewId];
|
||||||
|
}
|
||||||
|
revert('User is not review owner');
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue