Skip to main content

User

Struct User 

Source
pub struct User {
    pub id: u64,
    pub name: Option<String>,
    pub sortable_name: Option<String>,
    pub short_name: Option<String>,
    pub sis_user_id: Option<String>,
    pub login_id: Option<String>,
    pub email: Option<String>,
    pub avatar_url: Option<String>,
    pub locale: Option<String>,
    pub last_login: Option<DateTime<Utc>>,
    pub time_zone: Option<String>,
    pub bio: Option<String>,
    /* private fields */
}
Expand description

A Canvas user.

Fields§

§id: u64§name: Option<String>§sortable_name: Option<String>§short_name: Option<String>§sis_user_id: Option<String>§login_id: Option<String>§email: Option<String>§avatar_url: Option<String>§locale: Option<String>§last_login: Option<DateTime<Utc>>§time_zone: Option<String>§bio: Option<String>

Implementations§

Source§

impl User

Source

pub fn get_courses(&self) -> PageStream<Course>

Stream all courses for this user.

§Canvas API

GET /api/v1/users/:id/courses

Source

pub fn get_enrollments(&self) -> PageStream<Enrollment>

Stream all enrollments for this user.

§Canvas API

GET /api/v1/users/:id/enrollments

Source

pub fn get_communication_channels(&self) -> PageStream<CommunicationChannel>

Stream all communication channels for this user.

§Canvas API

GET /api/v1/users/:id/communication_channels

Source

pub async fn edit(&self, params: EditUserParams) -> Result<User>

Edit this user’s profile.

§Canvas API

PUT /api/v1/users/:id

Source

pub async fn get_profile(&self) -> Result<Value>

Get this user’s profile.

§Canvas API

GET /api/v1/users/:id/profile

Source

pub async fn terminate_sessions(&self) -> Result<()>

Terminate all sessions for this user.

§Canvas API

DELETE /api/v1/users/:id/sessions

Source

pub async fn merge_into(&self, destination_user_id: u64) -> Result<User>

Merge this user into another user.

§Canvas API

PUT /api/v1/users/:id/merge_into/:destination_user_id

Source

pub fn get_avatars(&self) -> PageStream<Value>

Stream all avatar options for this user.

§Canvas API

GET /api/v1/users/:id/avatars

Source

pub fn get_page_views(&self) -> PageStream<Value>

Stream page views for this user.

§Canvas API

GET /api/v1/users/:id/page_views

Source

pub fn get_observees(&self) -> PageStream<User>

Stream all observees for this user.

§Canvas API

GET /api/v1/users/:id/observees

Source

pub async fn add_observee(&self, observee_id: u64) -> Result<User>

Add an observee by user ID.

§Canvas API

PUT /api/v1/users/:id/observees/:observee_id

Source

pub async fn remove_observee(&self, observee_id: u64) -> Result<User>

Remove an observee.

§Canvas API

DELETE /api/v1/users/:id/observees/:observee_id

Source

pub async fn show_observee(&self, observee_id: u64) -> Result<User>

Fetch a single observee.

§Canvas API

GET /api/v1/users/:id/observees/:observee_id

Source

pub fn get_observers(&self) -> PageStream<User>

Stream all observers of this user.

§Canvas API

GET /api/v1/users/:id/observers

Source

pub async fn get_colors(&self) -> Result<Value>

Get all custom colors for this user.

§Canvas API

GET /api/v1/users/:id/colors

Source

pub async fn get_color(&self, asset_string: &str) -> Result<Value>

Get the color for a specific asset.

§Canvas API

GET /api/v1/users/:id/colors/:asset_string

Source

pub async fn update_color( &self, asset_string: &str, hexcode: &str, ) -> Result<Value>

Update the color for a specific asset.

§Canvas API

PUT /api/v1/users/:id/colors/:asset_string

Source

pub fn get_missing_submissions(&self) -> PageStream<Value>

Stream missing submissions for this user.

§Canvas API

GET /api/v1/users/:id/missing_submissions

Source

pub fn get_files(&self) -> PageStream<File>

Stream all files for this user.

§Canvas API

GET /api/v1/users/:id/files

Source

pub fn get_folders(&self) -> PageStream<Folder>

Stream all folders for this user.

§Canvas API

GET /api/v1/users/:id/folders

Source

pub async fn create_folder(&self, name: &str) -> Result<Folder>

Create a folder for this user.

§Canvas API

POST /api/v1/users/:id/folders

Source

pub async fn get_file_quota(&self) -> Result<Value>

Get the file storage quota for this user.

§Canvas API

GET /api/v1/users/:id/files/quota

Source

pub fn get_user_logins(&self) -> PageStream<Value>

Stream login information for this user.

§Canvas API

GET /api/v1/users/:id/logins

Source

pub async fn get_settings(&self) -> Result<Value>

Get profile settings for this user.

§Canvas API

GET /api/v1/users/:id/settings

Source

pub async fn update_settings( &self, params: &[(String, String)], ) -> Result<Value>

Update profile settings for this user.

§Canvas API

PUT /api/v1/users/:id/settings

Source

pub async fn create_communication_channel( &self, address: &str, channel_type: &str, ) -> Result<CommunicationChannel>

Create a communication channel for this user.

address is the email address, phone number, etc. channel_type is "email", "sms", "push", etc.

§Canvas API

POST /api/v1/users/:id/communication_channels

Source

pub async fn create_pairing_code(&self) -> Result<Value>

Create an observer pairing code for this user.

§Canvas API

POST /api/v1/users/:id/observer_pairing_codes

Source

pub fn get_authentication_events(&self) -> PageStream<Value>

Stream authentication events (login/logout log) for this user.

§Canvas API

GET /api/v1/audit/authentication/users/:id

Source

pub fn get_features(&self) -> PageStream<Value>

Stream all feature flags for this user.

§Canvas API

GET /api/v1/users/:id/features

Source

pub async fn get_enabled_features(&self) -> Result<Vec<String>>

List enabled features for this user.

§Canvas API

GET /api/v1/users/:id/features/enabled

Source

pub async fn export_content(&self, export_type: &str) -> Result<Value>

Export content for this user.

§Canvas API

POST /api/v1/users/:id/content_exports

Source

pub fn get_content_exports(&self) -> PageStream<Value>

Stream content exports for this user.

§Canvas API

GET /api/v1/users/:id/content_exports

Source

pub fn get_eportfolios(&self) -> PageStream<Value>

Stream ePortfolios for this user.

§Canvas API

GET /api/v1/users/:id/eportfolios

Source

pub fn get_open_poll_sessions(&self) -> PageStream<Value>

Stream open poll sessions for this user.

§Canvas API

GET /api/v1/users/:id/poll_sessions/opened

Source

pub fn get_closed_poll_sessions(&self) -> PageStream<Value>

Stream closed poll sessions for this user.

§Canvas API

GET /api/v1/users/:id/poll_sessions/closed

Source

pub async fn get_file(&self, file_id: u64) -> Result<File>

Fetch a single file from this user’s files.

§Canvas API

GET /api/v1/users/:id/files/:file_id

Source

pub async fn get_folder(&self, folder_id: u64) -> Result<Folder>

Fetch a single folder from this user’s folders.

§Canvas API

GET /api/v1/users/:id/folders/:folder_id

Source

pub fn resolve_path(&self, full_path: Option<&str>) -> PageStream<Folder>

Resolve a folder path under this user’s files root.

Pass None to get the root folder. Pass a path like "Folder_Level_1/Folder_Level_2" to walk the tree.

§Canvas API

GET /api/v1/users/:id/folders/by_path/*full_path

Source

pub fn get_grade_change_events_for_grader(&self) -> PageStream<Value>

Stream grade-change audit events where this user is a grader.

§Canvas API

GET /api/v1/audit/grade_change/graders/:id

Source

pub fn get_grade_change_events_for_student(&self) -> PageStream<Value>

Stream grade-change audit events where this user is a student.

§Canvas API

GET /api/v1/audit/grade_change/students/:id

Source

pub async fn get_content_migration( &self, migration_id: u64, ) -> Result<ContentMigration>

Fetch a single content migration for this user.

§Canvas API

GET /api/v1/users/:id/content_migrations/:migration_id

Source

pub fn get_content_migrations(&self) -> PageStream<ContentMigration>

Stream all content migrations for this user.

§Canvas API

GET /api/v1/users/:id/content_migrations

Source

pub async fn create_content_migration( &self, migration_type: &str, ) -> Result<ContentMigration>

Create a content migration for this user.

§Canvas API

POST /api/v1/users/:id/content_migrations

Source

pub fn get_migration_systems(&self) -> PageStream<Migrator>

Stream available migration systems (migrators) for this user.

§Canvas API

GET /api/v1/users/:id/content_migrations/migrators

Source

pub async fn get_feature_flag(&self, feature: &str) -> Result<Value>

Fetch a specific feature flag for this user.

§Canvas API

GET /api/v1/users/:id/features/flags/:feature

Source

pub async fn upload_file( &self, request: UploadRequest, data: Vec<u8>, ) -> Result<File>

Upload a file to this user’s file storage.

Canvas uses a two-step upload: first POSTing metadata to obtain an upload URL, then POSTing the file as multipart form data to that URL.

§Canvas API

POST /api/v1/users/:id/files

Source

pub async fn add_observee_with_credentials( &self, params: &[(String, String)], ) -> Result<User>

Add an observee via credentials (same endpoint as add_observee but without observee_id).

§Canvas API

POST /api/v1/users/:id/observees

Source

pub fn get_calendar_events(&self) -> PageStream<Value>

Stream calendar events for this user.

§Canvas API

GET /api/v1/users/:id/calendar_events

Source

pub async fn get_content_export(&self, export_id: u64) -> Result<Value>

Fetch a single content export by ID.

§Canvas API

GET /api/v1/users/:id/content_exports/:id

Source

pub fn get_licenses(&self) -> PageStream<Value>

Stream available content licenses for this user.

§Canvas API

GET /api/v1/users/:id/content_licenses

Source

pub async fn set_usage_rights( &self, params: &[(String, String)], ) -> Result<Value>

Set usage rights on files for this user.

§Canvas API

PUT /api/v1/users/:id/usage_rights

Source

pub async fn remove_usage_rights( &self, params: &[(String, String)], ) -> Result<Value>

Remove usage rights from files for this user.

§Canvas API

DELETE /api/v1/users/:id/usage_rights

Trait Implementations§

Source§

impl Clone for User

Source§

fn clone(&self) -> User

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for User

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for User

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Serialize for User

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

§

impl Freeze for User

§

impl !RefUnwindSafe for User

§

impl Send for User

§

impl Sync for User

§

impl Unpin for User

§

impl UnsafeUnpin for User

§

impl !UnwindSafe for User

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,