pragma solidity ^0.4.18; contract DataManagement{ struct User { address m_address; string m_mobile; string m_name; } mapping(address => User) userInfo; address superAdmin; mapping(address => bool ) allowedUsers; function DataManagement() public { superAdmin = msg.sender; } function giveUserAccess(address userAddress) public { if (msg.sender != superAdmin) return; allowedUsers[userAddress] = true; } function addUserInfo(string name,string mobile) public returns (string xmsg){ address x = msg.sender; if(allowedUsers[x] != true) { xmsg = "not allowed"; } User memory info; info.m_address = msg.sender; info.m_mobile = mobile; info.m_name = name; userInfo[msg.sender] = info; xmsg = "Saved Successfully"; } function getUserInfo(address userAddress) public returns (string){ User memory info; info = userInfo[userAddress]; return info.m_name; } }
0.4.18