diff options
Diffstat (limited to 'rust')
| -rw-r--r-- | rust/fatcat-api-spec/README.md | 2 | ||||
| -rw-r--r-- | rust/fatcat-api-spec/api.yaml | 3 | ||||
| -rw-r--r-- | rust/fatcat-api-spec/api/swagger.yaml | 7 | ||||
| -rw-r--r-- | rust/fatcat-api-spec/src/models.rs | 5 | ||||
| -rw-r--r-- | rust/src/database_models.rs | 7 | ||||
| -rw-r--r-- | rust/src/endpoint_handlers.rs | 4 | ||||
| -rw-r--r-- | rust/src/entity_crud.rs | 17 | 
7 files changed, 34 insertions, 11 deletions
| diff --git a/rust/fatcat-api-spec/README.md b/rust/fatcat-api-spec/README.md index 93ab4016..b34efc73 100644 --- a/rust/fatcat-api-spec/README.md +++ b/rust/fatcat-api-spec/README.md @@ -13,7 +13,7 @@ To see how to make this your own, look here:  [README](https://github.com/swagger-api/swagger-codegen/blob/master/README.md)  - API version: 0.2.0 -- Build date: 2019-05-14T22:45:05.973Z +- Build date: 2019-05-15T01:33:17.197Z  This autogenerated project defines an API crate `fatcat` which contains:  * An `Api` trait defining the API in Rust. diff --git a/rust/fatcat-api-spec/api.yaml b/rust/fatcat-api-spec/api.yaml index e739eae1..92253e9d 100644 --- a/rust/fatcat-api-spec/api.yaml +++ b/rust/fatcat-api-spec/api.yaml @@ -530,6 +530,9 @@ definitions:          type: integer          example: 1048576          format: int64 +      created: +        type: string +        format: date-time        submitted:          type: string          format: date-time diff --git a/rust/fatcat-api-spec/api/swagger.yaml b/rust/fatcat-api-spec/api/swagger.yaml index 0b3abddd..02cdcf36 100644 --- a/rust/fatcat-api-spec/api/swagger.yaml +++ b/rust/fatcat-api-spec/api/swagger.yaml @@ -8345,6 +8345,7 @@ definitions:            username: "zerocool93"          changelog_index: 1048576          submitted: "2000-01-23T04:56:07.000+00:00" +        created: "2000-01-23T04:56:07.000+00:00"          extra: "{}"          edits:            works: @@ -8498,6 +8499,7 @@ definitions:              username: "zerocool93"            changelog_index: 1048576            submitted: "2000-01-23T04:56:07.000+00:00" +          created: "2000-01-23T04:56:07.000+00:00"            extra: "{}"            edits:              works: @@ -8748,6 +8750,9 @@ definitions:          type: "integer"          format: "int64"          example: 1048576 +      created: +        type: "string" +        format: "date-time"        submitted:          type: "string"          format: "date-time" @@ -8770,6 +8775,7 @@ definitions:          username: "zerocool93"        changelog_index: 1048576        submitted: "2000-01-23T04:56:07.000+00:00" +      created: "2000-01-23T04:56:07.000+00:00"        extra: "{}"        edits:          works: @@ -8981,6 +8987,7 @@ definitions:            username: "zerocool93"          changelog_index: 1048576          submitted: "2000-01-23T04:56:07.000+00:00" +        created: "2000-01-23T04:56:07.000+00:00"          extra: "{}"          edits:            works: diff --git a/rust/fatcat-api-spec/src/models.rs b/rust/fatcat-api-spec/src/models.rs index ce559ccc..0ceed261 100644 --- a/rust/fatcat-api-spec/src/models.rs +++ b/rust/fatcat-api-spec/src/models.rs @@ -274,6 +274,10 @@ pub struct Editgroup {      #[serde(skip_serializing_if = "Option::is_none")]      pub changelog_index: Option<i64>, +    #[serde(rename = "created")] +    #[serde(skip_serializing_if = "Option::is_none")] +    pub created: Option<chrono::DateTime<chrono::Utc>>, +      #[serde(rename = "submitted")]      #[serde(skip_serializing_if = "Option::is_none")]      pub submitted: Option<chrono::DateTime<chrono::Utc>>, @@ -302,6 +306,7 @@ impl Editgroup {              editor_id: None,              editor: None,              changelog_index: None, +            created: None,              submitted: None,              description: None,              extra: None, diff --git a/rust/src/database_models.rs b/rust/src/database_models.rs index 34ce1de6..79b0137b 100644 --- a/rust/src/database_models.rs +++ b/rust/src/database_models.rs @@ -662,12 +662,17 @@ pub struct EditgroupRow {  impl EditgroupRow {      /// Returns an Editgroup API model *without* the entity edits actually populated. Useful for,      /// eg, entity history queries (where we already have the entity edit we want) -    pub fn into_model_partial(self, changelog_index: Option<i64>, editor: Option<Editor>) -> Editgroup { +    pub fn into_model_partial( +        self, +        changelog_index: Option<i64>, +        editor: Option<Editor>, +    ) -> Editgroup {          Editgroup {              editgroup_id: Some(uuid2fcid(&self.id)),              editor_id: Some(uuid2fcid(&self.editor_id)),              editor: editor,              changelog_index: changelog_index, +            created: Some(chrono::DateTime::from_utc(self.created, chrono::Utc)),              submitted: self                  .submitted                  .map(|v| chrono::DateTime::from_utc(v, chrono::Utc)), diff --git a/rust/src/endpoint_handlers.rs b/rust/src/endpoint_handlers.rs index ba8505e1..5c22e21d 100644 --- a/rust/src/endpoint_handlers.rs +++ b/rust/src/endpoint_handlers.rs @@ -558,7 +558,9 @@ impl Server {              .into_iter()              .map(|(eg_row, cl_row, editor_row)| ChangelogEntry {                  index: cl_row.id, -                editgroup: Some(eg_row.into_model_partial(Some(cl_row.id), Some(editor_row.into_model()))), +                editgroup: Some( +                    eg_row.into_model_partial(Some(cl_row.id), Some(editor_row.into_model())), +                ),                  editgroup_id: uuid2fcid(&cl_row.editgroup_id),                  timestamp: chrono::DateTime::from_utc(cl_row.timestamp, chrono::Utc),              }) diff --git a/rust/src/entity_crud.rs b/rust/src/entity_crud.rs index 269bfdf6..b72ccd37 100644 --- a/rust/src/entity_crud.rs +++ b/rust/src/entity_crud.rs @@ -538,14 +538,15 @@ macro_rules! generic_db_get_history {          ) -> Result<Vec<EntityHistoryEntry>> {              let limit = limit.unwrap_or(50); // TODO: make a static -            let rows: Vec<(EditgroupRow, ChangelogRow, Self::EditRow, EditorRow)> = editgroup::table -                .inner_join(changelog::table) -                .inner_join($edit_table::table) -                .inner_join(editor::table) -                .filter($edit_table::ident_id.eq(ident.to_uuid())) -                .order(changelog::id.desc()) -                .limit(limit) -                .get_results(conn)?; +            let rows: Vec<(EditgroupRow, ChangelogRow, Self::EditRow, EditorRow)> = +                editgroup::table +                    .inner_join(changelog::table) +                    .inner_join($edit_table::table) +                    .inner_join(editor::table) +                    .filter($edit_table::ident_id.eq(ident.to_uuid())) +                    .order(changelog::id.desc()) +                    .limit(limit) +                    .get_results(conn)?;              let history: Result<Vec<EntityHistoryEntry>> = rows                  .into_iter() | 
