Skip to content

Commit

Permalink
Merge branch 'main' into feat_checkdetails
Browse files Browse the repository at this point in the history
  • Loading branch information
MishraSomesh001 authored Apr 9, 2024
2 parents a05275a + 92e8daa commit 520b69c
Showing 1 changed file with 50 additions and 3 deletions.
53 changes: 50 additions & 3 deletions contract/Database.sol
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
// SPDX-License-Identifier: MI
// SPDX-License-Identifier: MIT
pragma solidity >=0.7.0<0.9.0;

Expand All @@ -12,26 +11,73 @@ contract Database{
string batchNo;

}






mapping( address => Details) private list;

uint256 private count=0;




mapping (string => bool) public added;


address public admin;
bool alreadyset=false;

constructor()
{

}


modifier personPresent{
require(keccak256(abi.encodePacked(list[msg.sender].aadharId)) != keccak256(abi.encodePacked("")), "Person doesn't exist");
_;
}
function addPerson(string memory aadharId,string memory name, string memory DOB, string memory phoneNo, string memory rollNo, string memory batchNo) public



modifier Added (string memory aadhar)
{
require(!added[aadhar],"Details already added");
_;
}
modifier onlyOnce()
{
require(!alreadyset,"Admin is already set");
_;
}
modifier onlyAdmin()
{
require(msg.sender==admin,"Only admin can call this function");
_;
}
function set_Admin( address _admin) public onlyOnce()
{
admin=_admin;
alreadyset=true;
}
function changeAdmin(address newadmin) public onlyAdmin()
{
admin=newadmin;

}

function addPerson(string memory aadharId,string memory name, string memory DOB, string memory phoneNo, string memory rollNo, string memory batchNo) public Added (aadharId)
{
Details memory person = Details({aadharId: aadharId,name: name,DOB: DOB,phoneNo: phoneNo, rollNo: rollNo, batchNo: batchNo});
list[msg.sender]=person;
added[aadharId]=true;

count++;
}


function updateDetails(string memory aadharId,string memory name, string memory DOB, string memory phoneNo, string memory rollNo, string memory batchNo)public personPresent{
Details storage person = list[msg.sender];
person.aadharId = aadharId;
Expand All @@ -40,6 +86,7 @@ contract Database{
person.phoneNo = phoneNo;
person.rollNo = rollNo;
person.batchNo = batchNo;
added[aadharId]=true;
}
function checkDetails()public personPresent view returns(string[6] memory){
Details memory person = list[msg.sender];
Expand Down

0 comments on commit 520b69c

Please sign in to comment.