Limit to +/- 90deg of rotation on the y and x axis. No rotation on z axis - Surface 3D

How can I limit Surface3d movement on x y z axes? I have used dragmode : turntable -

scene: {
dragmode: ‘turntable’, //‘orbit’,

It doesn’t stop the surface from being turned upside down.

I need to limit the surface movement on x and y axes to +/-90 deg. And there cannot be any movement on z axis.
Please suggest some options to achieve this.
Thanks.