[Issue 4] Separate isAlreadyExistsError and isPermissionError