[Developer] #619 map stakeholder tokens to permission rules

This commit is contained in:
devmrko
2026-07-07 14:03:40 +09:00
parent 66b57da356
commit 2cdc738eb9
22 changed files with 933 additions and 45 deletions

View File

@@ -3,28 +3,37 @@
"https://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.cloudhandson.vpdbackoffice.mapper.BearerTokenMapper">
<select id="findAll" resultType="com.cloudhandson.vpdbackoffice.domain.token.BearerTokenRecord">
SELECT k.key_id, k.user_id, u.user_name AS username, k.key_prefix, k.key_hash,
SELECT k.key_id, k.user_id, COALESCE(s.user_nm, u.user_name) AS username,
k.stakeholder_user_id, s.role AS stakeholder_role, s.channel AS stakeholder_channel,
k.key_prefix, k.key_hash,
k.expires_at, k.revoked_at, k.description
FROM cb_agent_bearer_key k
JOIN cb_app_user u ON u.user_id = k.user_id
LEFT JOIN poc_2.kb_stakeholders s ON s.user_id = k.stakeholder_user_id
WHERE #{includeInactive} = 1
OR (k.revoked_at IS NULL AND k.expires_at > SYSTIMESTAMP)
ORDER BY k.key_id DESC
</select>
<select id="findById" resultType="com.cloudhandson.vpdbackoffice.domain.token.BearerTokenRecord">
SELECT k.key_id, k.user_id, u.user_name AS username, k.key_prefix, k.key_hash,
SELECT k.key_id, k.user_id, COALESCE(s.user_nm, u.user_name) AS username,
k.stakeholder_user_id, s.role AS stakeholder_role, s.channel AS stakeholder_channel,
k.key_prefix, k.key_hash,
k.expires_at, k.revoked_at, k.description
FROM cb_agent_bearer_key k
JOIN cb_app_user u ON u.user_id = k.user_id
LEFT JOIN poc_2.kb_stakeholders s ON s.user_id = k.stakeholder_user_id
WHERE k.key_id = #{keyId}
</select>
<select id="findByHash" resultType="com.cloudhandson.vpdbackoffice.domain.token.BearerTokenRecord">
SELECT k.key_id, k.user_id, u.user_name AS username, k.key_prefix, k.key_hash,
SELECT k.key_id, k.user_id, COALESCE(s.user_nm, u.user_name) AS username,
k.stakeholder_user_id, s.role AS stakeholder_role, s.channel AS stakeholder_channel,
k.key_prefix, k.key_hash,
k.expires_at, k.revoked_at, k.description
FROM cb_agent_bearer_key k
JOIN cb_app_user u ON u.user_id = k.user_id
LEFT JOIN poc_2.kb_stakeholders s ON s.user_id = k.stakeholder_user_id
WHERE k.key_hash = #{keyHash,jdbcType=VARCHAR}
</select>
@@ -34,10 +43,11 @@
<insert id="insertToken" parameterType="com.cloudhandson.vpdbackoffice.domain.token.BearerTokenRecord">
INSERT INTO cb_agent_bearer_key (
key_id, user_id, key_prefix, key_hash, expires_at, revoked_at, description
key_id, user_id, stakeholder_user_id, key_prefix, key_hash, expires_at, revoked_at, description
) VALUES (
#{keyId,jdbcType=NUMERIC},
#{userId,jdbcType=NUMERIC},
#{stakeholderUserId,jdbcType=VARCHAR},
#{keyPrefix,jdbcType=VARCHAR},
#{keyHash,jdbcType=VARCHAR},
#{expiresAt,jdbcType=TIMESTAMP},