You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

UserTokenMapper.xml 2.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "mybatis-3-mapper.dtd">
  3. <mapper namespace="org.sonar.db.user.UserTokenMapper">
  4. <sql id="userTokensColumns">
  5. t.uuid as "uuid",
  6. t.user_uuid as "userUuid",
  7. t.name as "name",
  8. t.token_hash as "tokenHash",
  9. t.last_connection_date as "lastConnectionDate",
  10. t.created_at as "createdAt"
  11. </sql>
  12. <insert id="insert" parameterType="UserToken" useGeneratedKeys="false">
  13. insert into user_tokens (
  14. uuid,
  15. user_uuid,
  16. name,
  17. token_hash,
  18. created_at
  19. ) values (
  20. #{uuid, jdbcType=VARCHAR},
  21. #{userUuid, jdbcType=VARCHAR},
  22. #{name, jdbcType=VARCHAR},
  23. #{tokenHash, jdbcType=VARCHAR},
  24. #{createdAt, jdbcType=BIGINT}
  25. )
  26. </insert>
  27. <update id="update" parameterType="UserToken">
  28. UPDATE user_tokens SET
  29. last_connection_date = #{lastConnectionDate, jdbcType=BIGINT}
  30. WHERE
  31. user_uuid = #{userUuid, jdbcType=VARCHAR}
  32. AND name = #{name, jdbcType=VARCHAR}
  33. </update>
  34. <select id="selectByTokenHash" parameterType="String" resultType="UserToken">
  35. SELECT
  36. <include refid="userTokensColumns"/>
  37. FROM user_tokens t
  38. WHERE t.token_hash=#{tokenHash, jdbcType=VARCHAR}
  39. </select>
  40. <select id="selectByUserUuidAndName" parameterType="map" resultType="UserToken">
  41. SELECT
  42. <include refid="userTokensColumns"/>
  43. FROM user_tokens t
  44. WHERE t.user_uuid=#{userUuid, jdbcType=VARCHAR} and t.name=#{name, jdbcType=VARCHAR}
  45. </select>
  46. <select id="selectByUserUuid" parameterType="map" resultType="UserToken">
  47. SELECT
  48. <include refid="userTokensColumns"/>
  49. FROM user_tokens t
  50. WHERE t.user_uuid=#{userUuid, jdbcType=VARCHAR}
  51. </select>
  52. <select id="countTokensByUserUuids" parameterType="map" resultType="UserTokenCount">
  53. SELECT t.user_uuid as "userUuid", count(t.name) as "tokenCount"
  54. FROM user_tokens t
  55. WHERE t.user_uuid in
  56. <foreach collection="userUuids" open="(" close=")" item="userUuid" separator=",">
  57. #{userUuid, jdbcType=VARCHAR}
  58. </foreach>
  59. GROUP BY t.user_uuid
  60. </select>
  61. <delete id="deleteByUserUuid">
  62. DELETE FROM user_tokens WHERE user_uuid=#{userUuid, jdbcType=VARCHAR}
  63. </delete>
  64. <delete id="deleteByUserUuidAndName">
  65. DELETE FROM user_tokens WHERE user_uuid=#{userUuid, jdbcType=VARCHAR} and name=#{name, jdbcType=VARCHAR}
  66. </delete>
  67. </mapper>