openzeppelin_relayer/models/api_key/
response.rs1use 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}