async_openai/types/admin/
users.rs1use crate::types::admin::roles::Role;
2use crate::types::OpenAIError;
3use crate::types::OrganizationRole;
4use derive_builder::Builder;
5use serde::{Deserialize, Serialize};
6
7#[derive(Debug, Serialize, Default, Clone, Builder, PartialEq)]
9#[builder(name = "ListUsersQueryArgs")]
10#[builder(pattern = "mutable")]
11#[builder(setter(into, strip_option), default)]
12#[builder(derive(Debug))]
13#[builder(build_fn(error = "OpenAIError"))]
14pub struct ListUsersQuery {
15 #[serde(skip_serializing_if = "Option::is_none")]
17 pub limit: Option<u32>,
18 #[serde(skip_serializing_if = "Option::is_none")]
20 pub after: Option<String>,
21 #[serde(skip_serializing_if = "Option::is_none")]
23 pub emails: Option<Vec<String>>,
24}
25
26#[derive(Debug, Serialize, Deserialize, Clone, PartialEq)]
28pub struct User {
29 pub object: String,
31 pub id: String,
33 pub name: String,
35 pub email: String,
37 pub role: OrganizationRole,
39 pub added_at: u64,
41}
42
43#[derive(Debug, Serialize, Deserialize, Clone, PartialEq)]
45pub struct UserListResponse {
46 pub object: String,
47 pub data: Vec<User>,
48 pub first_id: String,
49 pub last_id: String,
50 pub has_more: bool,
51}
52
53#[derive(Debug, Serialize, Deserialize, Clone, PartialEq, Builder)]
54#[builder(name = "UserRoleUpdateRequestArgs")]
55#[builder(pattern = "mutable")]
56#[builder(setter(into, strip_option))]
57#[builder(derive(Debug))]
58#[builder(build_fn(error = "OpenAIError"))]
59pub struct UserRoleUpdateRequest {
60 pub role: OrganizationRole,
62}
63
64#[derive(Debug, Serialize, Deserialize, Clone, PartialEq)]
66pub struct UserDeleteResponse {
67 pub object: String,
68 pub id: String,
69 pub deleted: bool,
70}
71
72#[derive(Debug, Serialize, Deserialize, Clone, PartialEq)]
74pub struct UserRoleAssignment {
75 pub object: String,
77 pub user: User,
79 pub role: Role,
81}
82
83#[derive(Debug, Serialize, Deserialize, Clone, PartialEq)]
85pub struct UserRoleAssignmentListResource {
86 pub object: String,
88 pub data: Vec<UserRoleAssignment>,
90 pub has_more: bool,
92 pub next: Option<String>,
94}
95
96#[derive(Debug, Serialize, Deserialize, Builder, Clone, PartialEq)]
98#[builder(name = "AssignUserRoleRequestArgs")]
99#[builder(pattern = "mutable")]
100#[builder(setter(into, strip_option))]
101#[builder(derive(Debug))]
102#[builder(build_fn(error = "OpenAIError"))]
103pub struct PublicAssignOrganizationUserRoleBody {
104 pub role_id: String,
106}