<?xml version="1.0" encoding="UTF-8"?>
<!-- ~ Licensed to the Apache Software Foundation (ASF) under one or more 
  ~ contributor license agreements. See the NOTICE file distributed with ~ 
  this work for additional information regarding copyright ownership. ~ The 
  ASF licenses this file to You under the Apache License, Version 2.0 ~ (the 
  "License"); you may not use this file except in compliance with ~ the License. 
  You may obtain a copy of the License at ~ ~ http://www.apache.org/licenses/LICENSE-2.0 
  ~ ~ Unless required by applicable law or agreed to in writing, software ~ 
  distributed under the License is distributed on an "AS IS" BASIS, ~ WITHOUT 
  WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ~ See the 
  License for the specific language governing permissions and ~ limitations 
  under the License. -->

<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.apache.servicecomb.authentication.user.UserMapper">
  <resultMap id="userInfo"
    type="org.apache.servicecomb.authentication.user.UserInfo">
    <result column="ID" property="id" />
    <result column="USER_NAME" property="username" />
    <result column="PASSWORD" property="password" />
    <result column="ACCOUNT_NON_EXPIRED" property="accountNonExpired" />
    <result column="ACCOUNT_NON_LOCKED" property="accountNonLocked" />
    <result column="CREDENTIALS_NON_EXPIRED" property="credentialsNonExpired" />
    <result column="ENABLED" property="enabled" />
  </resultMap>

  <sql id="all_column">
    ID, USER_NAME, PASSWORD, ACCOUNT_NON_EXPIRED,
    ACCOUNT_NON_LOCKED,
    CREDENTIALS_NON_EXPIRED, ENABLED
  </sql>

  <select id="selectUserByUsername" parameterType="java.lang.String"
    resultMap="userInfo">
    select
    <include refid="all_column" />
    from T_USERS where USER_NAME = #{0,jdbcType=VARCHAR}
  </select>

  <select id="selectRolesByUsername" parameterType="java.lang.String"
    resultType="java.lang.String">
    select ROLE_NAME
    from T_ROLES where USER_NAME =
    #{0,jdbcType=VARCHAR}
  </select>

</mapper>