You keep saying you had to do this or that.. I think you think that because someone wants some thing, you have to comply. That's not only unhealthy for you, it's shite role modelling for your children.
Can you practice being more assertive without being defensive/opening yourself up to discussion?
Example (I. Used to be awful for this):
Someone: "we've popped by to see you and baby"
Me: " oh I've only got 20 minutes until I need to leave for play group"
Someone: "that's ok, we'll only stay a few minutes"
Me: "but I'm not dressed"
Someone: "great! We'll watch baby while you're changing"
..... Cue me leaving the house when I finally get them out the door an hour later,half dressed, rushed, baby with dirty nappy and over stimulated!
I got myself a line that j probably over use.
But it works! Practice in a mirror, it helps lots.
"That doesn't work for me."
No matter what,be granite!
"That doesn't work for me."
Repeat,close the door, grit your teeth but it DOES get easier over time.and then you'll wonder why you were a doormat for so long.