<?xml version="1.0" encoding="utf-8"?>
<edmx:Edmx Version="4.0" xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx">
  <edmx:Reference Uri="https://sap.github.io/odata-vocabularies/vocabularies/Common.xml">
    <edmx:Include Alias="Common" Namespace="com.sap.vocabularies.Common.v1"/>
  </edmx:Reference>
  <edmx:Reference Uri="https://oasis-tcs.github.io/odata-vocabularies/vocabularies/Org.OData.Core.V1.xml">
    <edmx:Include Alias="Core" Namespace="Org.OData.Core.V1"/>
  </edmx:Reference>
  <edmx:DataServices>
    <Schema Namespace="LoginService" xmlns="http://docs.oasis-open.org/odata/ns/edm">
      <Annotation Term="Core.Links">
        <Collection>
          <Record>
            <PropertyValue Property="rel" String="author"/>
            <PropertyValue Property="href" String="https://cap.cloud.sap"/>
          </Record>
        </Collection>
      </Annotation>
      <EntityContainer Name="EntityContainer">
        <ActionImport Name="login" Action="LoginService.login"/>
        <ActionImport Name="auth0Login" Action="LoginService.auth0Login"/>
        <ActionImport Name="validateToken" Action="LoginService.validateToken"/>
        <ActionImport Name="register" Action="LoginService.register"/>
        <ActionImport Name="forgotPassword" Action="LoginService.forgotPassword"/>
        <ActionImport Name="resetPassword" Action="LoginService.resetPassword"/>
        <ActionImport Name="forceChangePassword" Action="LoginService.forceChangePassword"/>
        <ActionImport Name="logout" Action="LoginService.logout"/>
      </EntityContainer>
      <ComplexType Name="return_LoginService_login">
        <Property Name="success" Type="Edm.Boolean"/>
        <Property Name="user" Type="LoginService.return_LoginService_login_user"/>
        <Property Name="token" Type="Edm.String"/>
        <Property Name="message" Type="Edm.String"/>
      </ComplexType>
      <ComplexType Name="return_LoginService_login_user">
        <Property Name="ID" Type="Edm.Guid"/>
        <Property Name="username" Type="Edm.String"/>
        <Property Name="email" Type="Edm.String"/>
        <Property Name="role" Type="Edm.String"/>
        <Property Name="country" Type="Edm.String"/>
        <Property Name="company" Type="Edm.String"/>
        <Property Name="mustChangePassword" Type="Edm.Boolean"/>
        <Property Name="language" Type="Edm.String"/>
      </ComplexType>
      <ComplexType Name="return_LoginService_auth0Login">
        <Property Name="success" Type="Edm.Boolean"/>
        <Property Name="user" Type="LoginService.return_LoginService_auth0Login_user"/>
        <Property Name="token" Type="Edm.String"/>
        <Property Name="message" Type="Edm.String"/>
      </ComplexType>
      <ComplexType Name="return_LoginService_auth0Login_user">
        <Property Name="ID" Type="Edm.Guid"/>
        <Property Name="username" Type="Edm.String"/>
        <Property Name="email" Type="Edm.String"/>
        <Property Name="role" Type="Edm.String"/>
        <Property Name="country" Type="Edm.String"/>
        <Property Name="company" Type="Edm.String"/>
        <Property Name="mustChangePassword" Type="Edm.Boolean"/>
        <Property Name="language" Type="Edm.String"/>
      </ComplexType>
      <ComplexType Name="return_LoginService_validateToken">
        <Property Name="success" Type="Edm.Boolean"/>
        <Property Name="user" Type="Edm.String"/>
        <Property Name="message" Type="Edm.String"/>
      </ComplexType>
      <ComplexType Name="return_LoginService_register">
        <Property Name="success" Type="Edm.Boolean"/>
        <Property Name="userId" Type="Edm.Guid"/>
        <Property Name="message" Type="Edm.String"/>
      </ComplexType>
      <ComplexType Name="return_LoginService_forgotPassword">
        <Property Name="success" Type="Edm.Boolean"/>
        <Property Name="message" Type="Edm.String"/>
      </ComplexType>
      <ComplexType Name="return_LoginService_resetPassword">
        <Property Name="success" Type="Edm.Boolean"/>
        <Property Name="message" Type="Edm.String"/>
      </ComplexType>
      <ComplexType Name="return_LoginService_forceChangePassword">
        <Property Name="success" Type="Edm.Boolean"/>
        <Property Name="token" Type="Edm.String"/>
        <Property Name="message" Type="Edm.String"/>
      </ComplexType>
      <ComplexType Name="return_LoginService_logout">
        <Property Name="success" Type="Edm.Boolean"/>
        <Property Name="message" Type="Edm.String"/>
      </ComplexType>
      <Action Name="login" IsBound="false">
        <Parameter Name="username" Type="Edm.String"/>
        <Parameter Name="password" Type="Edm.String"/>
        <ReturnType Type="LoginService.return_LoginService_login"/>
      </Action>
      <Action Name="auth0Login" IsBound="false">
        <Parameter Name="accessToken" Type="Edm.String"/>
        <ReturnType Type="LoginService.return_LoginService_auth0Login"/>
      </Action>
      <Action Name="validateToken" IsBound="false">
        <Parameter Name="token" Type="Edm.String"/>
        <ReturnType Type="LoginService.return_LoginService_validateToken"/>
      </Action>
      <Action Name="register" IsBound="false">
        <Parameter Name="username" Type="Edm.String"/>
        <Parameter Name="email" Type="Edm.String"/>
        <Parameter Name="password" Type="Edm.String"/>
        <Parameter Name="role" Type="Edm.String"/>
        <Parameter Name="country" Type="Edm.String"/>
        <Parameter Name="company" Type="Edm.String"/>
        <ReturnType Type="LoginService.return_LoginService_register"/>
      </Action>
      <Action Name="forgotPassword" IsBound="false">
        <Parameter Name="username" Type="Edm.String"/>
        <ReturnType Type="LoginService.return_LoginService_forgotPassword"/>
      </Action>
      <Action Name="resetPassword" IsBound="false">
        <Parameter Name="token" Type="Edm.String"/>
        <Parameter Name="newPassword" Type="Edm.String"/>
        <ReturnType Type="LoginService.return_LoginService_resetPassword"/>
      </Action>
      <Action Name="forceChangePassword" IsBound="false">
        <Parameter Name="username" Type="Edm.String"/>
        <Parameter Name="newPassword" Type="Edm.String"/>
        <ReturnType Type="LoginService.return_LoginService_forceChangePassword"/>
      </Action>
      <Action Name="logout" IsBound="false">
        <ReturnType Type="LoginService.return_LoginService_logout"/>
      </Action>
    </Schema>
  </edmx:DataServices>
</edmx:Edmx>