openzeppelin_relayer/models/api_key/
response.rs

1use crate::models::{ApiError, ApiKeyRepoModel};
2use serde::{Deserialize, Serialize};
3
4#[derive(Serialize, Deserialize, Debug, Clone)]
5pub struct ApiKeyResponse {
6    pub id: String,
7    pub name: String,
8    pub allowed_origins: Vec<String>,
9    pub created_at: String,
10    pub permissions: Vec<String>,
11}
12
13impl TryFrom<ApiKeyRepoModel> for ApiKeyResponse {
14    type Error = ApiError;
15
16    fn try_from(api_key: ApiKeyRepoModel) -> Result<Self, ApiError> {
17        Ok(ApiKeyResponse {
18            id: api_key.id,
19            name: api_key.name,
20            allowed_origins: api_key.allowed_origins,
21            created_at: api_key.created_at,
22            permissions: api_key.permissions,
23        })
24    }
25}