@zilliz/milvus2-sdk-node
Version:
Official Node.js SDK for [Milvus](https://github.com/milvus-io/milvus) vector database. Provides gRPC and HTTP clients for vector similarity search, metadata filtering, and full collection/index/user management.
164 lines (163 loc) • 4.43 kB
TypeScript
import { GrpcTimeOut, PrivilegesTypes, resStatusResponse } from './Common';
import { RbacObjects, OperatePrivilegeGroupType, OperatePrivilegeType } from '../';
export interface usernameReq extends GrpcTimeOut {
username: string;
}
export interface roleNameReq extends GrpcTimeOut {
roleName: string;
}
export interface CreateUserReq extends usernameReq {
password: string;
description?: string;
}
export interface DeleteUserReq extends usernameReq {
}
export interface UpdateUserReq extends usernameReq {
oldPassword?: string;
newPassword?: string;
description?: string;
}
export interface ListUsersReq extends GrpcTimeOut {
}
export interface CreateRoleReq extends roleNameReq {
description?: string;
}
export interface AlterRoleReq extends roleNameReq {
description: string;
}
export interface DropRoleReq extends roleNameReq {
}
export interface HasRoleReq extends roleNameReq {
}
export interface AddUserToRoleReq extends roleNameReq {
username: string;
}
export interface RemoveUserFromRoleReq extends AddUserToRoleReq {
roleName: string;
}
export interface SelectRoleReq extends roleNameReq {
includeUserInfo?: boolean;
}
export interface listRoleReq extends GrpcTimeOut {
includeUserInfo?: boolean;
}
export interface SelectUserReq extends usernameReq {
includeRoleInfo?: boolean;
}
export interface BaseGrantReq extends roleNameReq {
object: RbacObjects;
objectName: string;
db_name?: string;
}
export interface OperateRolePrivilegeReq extends BaseGrantReq {
privilegeName: PrivilegesTypes;
}
export interface SelectGrantReq extends BaseGrantReq {
}
export interface ListGrantsReq extends roleNameReq {
db_name?: string;
}
export interface ListCredUsersResponse extends resStatusResponse {
usernames: string[];
}
export type RoleEntity = {
name: string;
description?: string;
};
export type User = {
name: string;
};
export type RoleResult = {
users: User[];
role: RoleEntity;
entities: GrantEntity[];
};
export type PrivelegeGroup = {
group_name: string;
privileges: PrivilegeEntity[];
};
export type RBACMeta = {
users: User[];
roles: RoleEntity[];
grants: GrantEntity[];
privilege_groups: PrivelegeGroup[];
};
export interface SelectRoleResponse extends resStatusResponse {
results: RoleResult[];
}
export type UserResult = {
user: User;
roles: RoleEntity[];
description?: string;
};
export interface SelectUserResponse extends resStatusResponse {
results: UserResult[];
}
export type ObjectEntity = {
name: RbacObjects;
};
export type PrivilegeEntity = {
name: PrivilegesTypes;
};
export type Grantor = {
user: User;
privilege: PrivilegeEntity;
};
export type GrantEntity = {
role: RoleEntity;
object: ObjectEntity;
object_name: string;
grantor: Grantor;
db_name: string;
};
export interface SelectGrantResponse extends resStatusResponse {
entities: GrantEntity[];
}
export interface HasRoleResponse extends resStatusResponse {
hasRole: boolean;
}
export interface OperatePrivilegeV2Request extends GrpcTimeOut {
role: RoleEntity;
grantor: Grantor;
type: OperatePrivilegeType;
db_name: string;
collection_name: string;
}
export interface GrantPrivilegeV2Request extends GrpcTimeOut {
role: string;
privilege: PrivilegesTypes;
db_name: string;
collection_name: string;
}
export interface RevokePrivilegeV2Request extends GrantPrivilegeV2Request {
}
export interface CreatePrivilegeGroupReq extends GrpcTimeOut {
group_name: string;
}
export interface DropPrivilegeGroupReq extends GrpcTimeOut {
group_name: string;
}
export interface ListPrivilegeGroupsResponse extends resStatusResponse {
privilege_groups: PrivelegeGroup[];
}
export interface OperatePrivilegeGroupReq extends GrpcTimeOut {
group_name: string;
privileges: PrivilegeEntity[];
type: OperatePrivilegeGroupType;
}
export interface AddPrivilegesToGroupReq extends GrpcTimeOut {
group_name: string;
privileges: PrivilegesTypes[];
}
export interface RemovePrivilegesFromGroupReq extends GrpcTimeOut {
group_name: string;
privileges: PrivilegesTypes[];
}
export interface BackupRBACRequest extends GrpcTimeOut {
}
export interface RestoreRBACRequest extends GrpcTimeOut {
RBAC_meta: RBACMeta;
}
export interface BackupRBACResponse extends resStatusResponse {
RBAC_meta: RBACMeta;
}