Appearance
useUser ​
Definition ​
Composable for user management.
Basic usage ​
ts
const { 
 user,
 isLoggedIn,
 isCustomerSession,
 isGuestSession,
 country,
 salutation,
 defaultBillingAddressId,
 defaultShippingAddressId,
 userDefaultPaymentMethod,
 userDefaultBillingAddress,
 userDefaultShippingAddress,
 login,
 register,
 refreshUser,
 logout,
 loadCountry,
 loadSalutation,
 updatePersonalInfo,
 updateEmail,
 setDefaultPaymentMethod 
} = useUser();
Signature ​
ts
export function useUser(): UseUserReturn 
Return type ​
See UseUserReturn
ts
export type UseUserReturn = {
  /**
   * Logs-in user with given credentials
   * @param params - username and password
   *
   * @see https://github.com/shopware/frontends/issues/112 if login fails due to missing context token
   */
  login(params: { username: string; password: string }): Promise<void>;
  /**
   * Registers the user for given credentials
   * @param params {@link CustomerRegistrationParams}
   * @returns {@link Customer} object on success
   */
  register(params: CustomerRegistrationParams): Promise<Customer>;
  /**
   * Whole {@link Customer} object
   */
  user: ComputedRef<Partial<Customer> | undefined>;
  /**
   * Indicates if the user is logged in
   */
  isLoggedIn: ComputedRef<boolean>;
  /**
   * Indicates if the user is logged in as a customer (not a guest)
   */
  isCustomerSession: ComputedRef<boolean>;
  /**
   * Indicates if the user is logged in as a guest
   */
  isGuestSession: ComputedRef<boolean>;
  /**
   * {@link Country} of the user
   */
  country: Ref<Country | null>;
  /**
   * {@link Salutation} of the user
   */
  salutation: Ref<Salutation | null>;
  /**
   * Default billing address id
   */
  defaultBillingAddressId: ComputedRef<string | null>;
  /**
   * Default shipping address id
   */
  defaultShippingAddressId: ComputedRef<string | null>;
  /**
   * Fetches the user data from the API
   */
  refreshUser(): Promise<void>;
  /**
   * Logs out the user
   */
  logout(): Promise<void>;
  /**
   * Loads the {@link Country} of the user
   */
  loadCountry(countryId: string): Promise<void>;
  /**
   * Loads the {@link Salutation} for given id
   */
  loadSalutation(salutationId: string): Promise<void>;
  /**
   * Updates the user profile data
   * @param personals {@link CustomerUpdateProfileParam}
   * @returns
   */
  updatePersonalInfo(personals: CustomerUpdateProfileParam): Promise<void>;
  /**
   * Updates the user email
   * @param updateEmailData - {@link CustomerUpdateEmailParam}
   * @returns
   */
  updateEmail(updateEmailData: CustomerUpdateEmailParam): Promise<void>;
  /**
   * Sets the default payment method for given id
   * @param paymentMethodId
   * @returns
   */
  setDefaultPaymentMethod(paymentMethodId: string): Promise<void>;
  /**
   * Default payment method for the user
   */
  userDefaultPaymentMethod: ComputedRef<PaymentMethodTranslation | null>;
  /**
   * Default billing address for the user
   */
  userDefaultBillingAddress: ComputedRef<BillingAddress | null>;
  /**
   * Default shipping address for the user
   */
  userDefaultShippingAddress: ComputedRef<ShippingAddress | null>;
};
Properties ​
| Name | Type | Description | 
|---|---|---|
| user | ComputedRef<Partial<Customer> | undefined> | Whole {@link Customer} object | 
| isLoggedIn | ComputedRef<boolean> | Indicates if the user is logged in | 
| isCustomerSession | ComputedRef<boolean> | Indicates if the user is logged in as a customer (not a guest) | 
| isGuestSession | ComputedRef<boolean> | Indicates if the user is logged in as a guest | 
| country | Ref<Country | null> | {@link Country} of the user | 
| salutation | Ref<Salutation | null> | {@link Salutation} of the user | 
| defaultBillingAddressId | ComputedRef<string | null> | Default billing address id | 
| defaultShippingAddressId | ComputedRef<string | null> | Default shipping address id | 
| userDefaultPaymentMethod | ComputedRef<PaymentMethodTranslation | null> | Default payment method for the user | 
| userDefaultBillingAddress | ComputedRef<BillingAddress | null> | Default billing address for the user | 
| userDefaultShippingAddress | ComputedRef<ShippingAddress | null> | Default shipping address for the user | 
Methods ​
| Name | Type | Description | 
|---|---|---|
| login | Promise<void> | Logs-in user with given credentials | 
| register | Promise<Customer> | Registers the user for given credentials | 
| refreshUser | Promise<void> | Fetches the user data from the API | 
| logout | Promise<void> | Logs out the user | 
| loadCountry | Promise<void> | Loads the {@link Country} of the user | 
| loadSalutation | Promise<void> | Loads the {@link Salutation} for given id | 
| updatePersonalInfo | Promise<void> | Updates the user profile data | 
| updateEmail | Promise<void> | Updates the user email | 
| setDefaultPaymentMethod | Promise<void> | Sets the default payment method for given id |