Browse Source
* k8s auth * remove log * fix test * use constants * use constants K8S_LOCAL_TEST_CLUSTER * simple auth get * change test * add namespace authorize in user page * prettier code * change test data Co-authored-by: qianl4 <qianl4@cicso.com> Co-authored-by: William Tong <weitong@cisco.com>3.0.0/version-upgrade
qianli2022
2 years ago
committed by
GitHub
37 changed files with 1074 additions and 138 deletions
@ -0,0 +1,164 @@ |
|||||||
|
/* |
||||||
|
* 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. |
||||||
|
*/ |
||||||
|
|
||||||
|
package org.apache.dolphinscheduler.dao.entity; |
||||||
|
|
||||||
|
import java.util.Date; |
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.IdType; |
||||||
|
import com.baomidou.mybatisplus.annotation.TableField; |
||||||
|
import com.baomidou.mybatisplus.annotation.TableId; |
||||||
|
import com.baomidou.mybatisplus.annotation.TableName; |
||||||
|
|
||||||
|
/** |
||||||
|
* k8s namespace and user relation |
||||||
|
*/ |
||||||
|
@TableName("t_ds_relation_namespace_user") |
||||||
|
public class K8sNamespaceUser { |
||||||
|
/** |
||||||
|
* id |
||||||
|
*/ |
||||||
|
@TableId(value = "id", type = IdType.AUTO) |
||||||
|
private int id; |
||||||
|
|
||||||
|
/** |
||||||
|
* user id |
||||||
|
*/ |
||||||
|
@TableField("user_id") |
||||||
|
private int userId; |
||||||
|
|
||||||
|
/** |
||||||
|
* namespace id |
||||||
|
*/ |
||||||
|
@TableField("namespace_id") |
||||||
|
private int namespaceId; |
||||||
|
|
||||||
|
/** |
||||||
|
* k8s cluster |
||||||
|
*/ |
||||||
|
@TableField(exist = false) |
||||||
|
private String k8s; |
||||||
|
|
||||||
|
/** |
||||||
|
* namespace name |
||||||
|
*/ |
||||||
|
@TableField(exist = false) |
||||||
|
private String namespaceName; |
||||||
|
|
||||||
|
/** |
||||||
|
* user name |
||||||
|
*/ |
||||||
|
@TableField(exist = false) |
||||||
|
private String userName; |
||||||
|
|
||||||
|
/** |
||||||
|
* permission |
||||||
|
*/ |
||||||
|
private int perm; |
||||||
|
|
||||||
|
@TableField("create_time") |
||||||
|
private Date createTime; |
||||||
|
|
||||||
|
@TableField("update_time") |
||||||
|
private Date updateTime; |
||||||
|
|
||||||
|
public int getId() { |
||||||
|
return id; |
||||||
|
} |
||||||
|
|
||||||
|
public void setId(int id) { |
||||||
|
this.id = id; |
||||||
|
} |
||||||
|
|
||||||
|
public int getUserId() { |
||||||
|
return userId; |
||||||
|
} |
||||||
|
|
||||||
|
public void setUserId(int userId) { |
||||||
|
this.userId = userId; |
||||||
|
} |
||||||
|
|
||||||
|
public int getNamespaceId() { |
||||||
|
return namespaceId; |
||||||
|
} |
||||||
|
|
||||||
|
public void setNamespaceId(int namespaceId) { |
||||||
|
this.namespaceId = namespaceId; |
||||||
|
} |
||||||
|
|
||||||
|
public String getK8s() { |
||||||
|
return k8s; |
||||||
|
} |
||||||
|
|
||||||
|
public void setK8s(String k8s) { |
||||||
|
this.k8s = k8s; |
||||||
|
} |
||||||
|
|
||||||
|
public String getNamespaceName() { |
||||||
|
return namespaceName; |
||||||
|
} |
||||||
|
|
||||||
|
public void setNamespaceName(String namespaceName) { |
||||||
|
this.namespaceName = namespaceName; |
||||||
|
} |
||||||
|
|
||||||
|
public String getUserName() { |
||||||
|
return userName; |
||||||
|
} |
||||||
|
|
||||||
|
public void setUserName(String userName) { |
||||||
|
this.userName = userName; |
||||||
|
} |
||||||
|
|
||||||
|
public int getPerm() { |
||||||
|
return perm; |
||||||
|
} |
||||||
|
|
||||||
|
public void setPerm(int perm) { |
||||||
|
this.perm = perm; |
||||||
|
} |
||||||
|
|
||||||
|
public Date getCreateTime() { |
||||||
|
return createTime; |
||||||
|
} |
||||||
|
|
||||||
|
public void setCreateTime(Date createTime) { |
||||||
|
this.createTime = createTime; |
||||||
|
} |
||||||
|
|
||||||
|
public Date getUpdateTime() { |
||||||
|
return updateTime; |
||||||
|
} |
||||||
|
|
||||||
|
public void setUpdateTime(Date updateTime) { |
||||||
|
this.updateTime = updateTime; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public String toString() { |
||||||
|
return "K8sNamespaceUser{" + |
||||||
|
"id=" + id + |
||||||
|
", userId=" + userId + |
||||||
|
", namespaceId=" + namespaceId + |
||||||
|
", k8s=" + k8s + |
||||||
|
", namespaceName=" + namespaceName + |
||||||
|
", perm=" + perm + |
||||||
|
", createTime=" + createTime + |
||||||
|
", updateTime=" + updateTime + |
||||||
|
'}'; |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,50 @@ |
|||||||
|
/* |
||||||
|
* 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. |
||||||
|
*/ |
||||||
|
|
||||||
|
package org.apache.dolphinscheduler.dao.mapper; |
||||||
|
|
||||||
|
import org.apache.dolphinscheduler.dao.entity.K8sNamespaceUser; |
||||||
|
|
||||||
|
import org.apache.ibatis.annotations.Param; |
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
||||||
|
|
||||||
|
/** |
||||||
|
* namespace user mapper interface
|
||||||
|
*/ |
||||||
|
public interface K8sNamespaceUserMapper extends BaseMapper<K8sNamespaceUser> { |
||||||
|
|
||||||
|
/** |
||||||
|
* delete namespace user relation |
||||||
|
* |
||||||
|
* @param namespaceId namespaceId |
||||||
|
* @param userId userId |
||||||
|
* @return delete result |
||||||
|
*/ |
||||||
|
int deleteNamespaceRelation(@Param("namespaceId") int namespaceId, |
||||||
|
@Param("userId") int userId); |
||||||
|
|
||||||
|
/** |
||||||
|
* query namespace relation |
||||||
|
* |
||||||
|
* @param namespaceId namespaceId |
||||||
|
* @param userId userId |
||||||
|
* @return namespace user relation |
||||||
|
*/ |
||||||
|
K8sNamespaceUser queryNamespaceRelation(@Param("namespaceId") int namespaceId, |
||||||
|
@Param("userId") int userId); |
||||||
|
} |
@ -0,0 +1,40 @@ |
|||||||
|
<?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.dolphinscheduler.dao.mapper.K8sNamespaceUserMapper"> |
||||||
|
<sql id="baseSql"> |
||||||
|
id, user_id, namespace_id, perm, create_time, update_time |
||||||
|
</sql> |
||||||
|
<delete id="deleteNamespaceRelation"> |
||||||
|
delete from t_ds_relation_namespace_user |
||||||
|
where 1=1 |
||||||
|
and user_id = #{userId} |
||||||
|
<if test="namespaceId != 0 "> |
||||||
|
and namespace_id = #{namespaceId} |
||||||
|
</if> |
||||||
|
</delete> |
||||||
|
<select id="queryNamespaceRelation" resultType="org.apache.dolphinscheduler.dao.entity.K8sNamespaceUser"> |
||||||
|
select |
||||||
|
<include refid="baseSql"/> |
||||||
|
from t_ds_relation_namespace_user |
||||||
|
where namespace_id = #{namespaceId} |
||||||
|
and user_id = #{userId} |
||||||
|
limit 1 |
||||||
|
</select> |
||||||
|
</mapper> |
Loading…
Reference in new issue