#dto #synology #data-transfer #api #json-response #error-code #dsm

syno_api

An incomplete set of DTOs and errors for Synology DSM APIs

6 releases

new 0.3.3 Dec 9, 2024
0.3.2 Dec 8, 2024
0.3.1 Jun 14, 2024
0.3.0 Apr 28, 2024
0.1.0 Apr 22, 2024

#781 in Encoding

Download history 1/week @ 2024-08-20 6/week @ 2024-08-27 1/week @ 2024-09-17 15/week @ 2024-09-24 9/week @ 2024-10-01 141/week @ 2024-12-03

143 downloads per month
Used in syno-photos-util

MIT license

22KB
483 lines

syno_api

Crates.io Version

An incomplete set of data transfer objects (DTOs) and errors for Synology DSM APIs.

Features

By default, all of the following features are enabled.

  • dto - provides DTOs for various JSON responses produced by Synology DSM APIs
  • error - provides enums implementing Error and Display traits, and From/TryFrom for u16 to convert from error codes returned by the API to enum values
  • serde - adds Serialize and Deserialize trait implementations to DTOs (adds dependency on serde library).

Contributing

I would very much welcome pull requests adding more types / functionality. Current set is driven by what my other projects need from the APIs.


lib.rs:

An incomplete set of data transfer objects (DTOs) and errors for Synology DSM APIs.

Features

By default, all of the following features are enabled.

  • dto - provides DTOs for various JSON responses produced by Synology DSM APIs
  • error - provides enums implementing Error and Display traits, and From/TryFrom for u16 to convert from error codes returned by the API to enum values
  • serde - adds Serialize and Deserialize trait implementations to DTOs (adds dependency on serde library). Generic types applicable to all sub-APIs

Dependencies

~0.3–1MB
~21K SLoC