mirror of
https://github.com/openai/codex.git
synced 2026-04-24 22:54:54 +00:00
Adds a `GET account/rateLimits/read` API to app-server. This calls the codex backend to fetch the user's current rate limits. This would be helpful in checking rate limits without having to send a message. For calling the codex backend usage API, I generated the types and manually copied the relevant ones into `codex-backend-openapi-types`. It'll be nice to extend our internal openapi generator to support Rust so we don't have to run these manual steps. # External (non-OpenAI) Pull Request Requirements Before opening this Pull Request, please read the dedicated "Contributing" markdown file or your PR may be closed: https://github.com/openai/codex/blob/main/docs/contributing.md If your PR conforms to our contribution guidelines, replace this text with a detailed and high quality description of your changes.
47 lines
1.2 KiB
Rust
47 lines
1.2 KiB
Rust
/*
|
|
* codex-backend
|
|
*
|
|
* codex-backend
|
|
*
|
|
* The version of the OpenAPI document: 0.0.1
|
|
*
|
|
* Generated by: https://openapi-generator.tech
|
|
*/
|
|
|
|
use crate::models;
|
|
use serde::Deserialize;
|
|
use serde::Serialize;
|
|
|
|
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
|
|
pub struct RateLimitStatusDetails {
|
|
#[serde(rename = "allowed")]
|
|
pub allowed: bool,
|
|
#[serde(rename = "limit_reached")]
|
|
pub limit_reached: bool,
|
|
#[serde(
|
|
rename = "primary_window",
|
|
default,
|
|
with = "::serde_with::rust::double_option",
|
|
skip_serializing_if = "Option::is_none"
|
|
)]
|
|
pub primary_window: Option<Option<Box<models::RateLimitWindowSnapshot>>>,
|
|
#[serde(
|
|
rename = "secondary_window",
|
|
default,
|
|
with = "::serde_with::rust::double_option",
|
|
skip_serializing_if = "Option::is_none"
|
|
)]
|
|
pub secondary_window: Option<Option<Box<models::RateLimitWindowSnapshot>>>,
|
|
}
|
|
|
|
impl RateLimitStatusDetails {
|
|
pub fn new(allowed: bool, limit_reached: bool) -> RateLimitStatusDetails {
|
|
RateLimitStatusDetails {
|
|
allowed,
|
|
limit_reached,
|
|
primary_window: None,
|
|
secondary_window: None,
|
|
}
|
|
}
|
|
}
|