Can we approve the contract address to spend tokens from tokenholders wallet?

Scenario.

I'm making a spin wheel game to win the NFTs. I have one master wallet in which i already have minted tokens. Now i want to approve (setApproveAll) the contract address to spend tokens on master wallet behalf.
Note: I have a single contract file. I'm not communicating with other contract instance.

It sounds like you have to invoke setApproveForAll just like you mention. What is the issue?

yes kindly review it

Besides this i make a single file contract does the setApproveForAll work for the same contract?

i fix my problem by making the separate contract to allow contract to spend tokens on token holders behalf.