how to allow 1 discount code per user, per purchase?

Hi - trying to figure out how to do this scenario:

create a 10% discount code

User purchases item (full price) and is given discount code above

that discount code is only usable by user 1 time

if user purchases another full price item they get the same discount available for 1 more purchase

if that user gives the code to someone else, they can’t use it until they make a full price purchase

is that possible? seems like the only option is 1 per user and not based on if they purchase again.

Thanks!