misskey_api/endpoint/admin/promo/
create.rs1use crate::model::{id::Id, note::Note};
2
3use chrono::{serde::ts_milliseconds, DateTime, Utc};
4use serde::Serialize;
5
6#[derive(Serialize, Debug, Clone)]
7#[serde(rename_all = "camelCase")]
8pub struct Request {
9 pub note_id: Id<Note>,
10 #[serde(with = "ts_milliseconds")]
11 pub expires_at: DateTime<Utc>,
12}
13
14impl misskey_core::Request for Request {
15 type Response = ();
16 const ENDPOINT: &'static str = "admin/promo/create";
17}
18
19#[cfg(test)]
20mod tests {
21 use super::Request;
22 use crate::test::{ClientExt, TestClient};
23
24 #[tokio::test]
25 async fn request() {
26 let client = TestClient::new();
27 let note = client.create_note(Some("hi"), None, None).await;
28
29 client
30 .admin
31 .test(Request {
32 note_id: note.id,
33 expires_at: chrono::Utc::now() + chrono::Duration::hours(1),
34 })
35 .await;
36 }
37}