> Is there a document including all the functions a user can apply to the STM32
It is the reference manual and the datasheet. The reference manual documents the interface to the user program, the datasheet documents the external connections.
The full functionality of the microcontroller is exposed through the hardware registers, which are extensively documented in the reference manual.
> and hopefully find information on GPIO_InitTypeDef
GPIO_InitTypeDef belongs to a software library (called HAL - Hardware Abstraction Layer for no apparent reason) which can be used to program STM32 microcontrollers. The HAL library however does not cover all the functionality of the MCU, and the documentation mostly consists of one-liner Captain Obvious descriptions of its functions and data structures, not very suitable for understanding the workings of the microcontroller. Fortunately it is not needed to program the MCU, there is nothing in HAL that can't be achieved using the well documented register interface.