getTokenIdOfAccessLevel
// Some code
```remix-solidity
/**
GetTokenIdOfAccessLevel: Get the token ID associated with a specific access level for an event.
@param _eventId: The unique identifier for the event.
@param _accessLevel: The access level for which to retrieve the token ID.
@return _tokenId: The token ID associated with the specified access level.
*/
function getTokenIdOfAccessLevel(
string calldata _eventId,
string calldata _accessLevel
) public view returns (uint256) {
uint256 _tokenId;
// Retrieve all token IDs and access levels for the event
uint256[] memory tokenIds = getTokenIdsFromEventId(_eventId);
string[] memory accessLevels = getAccessLevelsFromEventId(_eventId);
// Loop through access levels to find matching access level and retrieve corresponding token ID
for (
uint256 i = 0;
i < tokenIds.length && i < accessLevels.length;
++i
) {
if (
keccak256(bytes(_accessLevel)) ==
keccak256(bytes(accessLevels[i]))
) {
_tokenId = tokenIds[i];
break;
}
}
// Revert if no matching token ID is found
if (_tokenId == 0) {
revert DecastGating__TokenIdDoesNotExists();
}
return _tokenId;
}
```Explanation:
Last updated