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

syno_api

An incomplete set of DTOs and errors for Synology DSM APIs

4 releases (2 breaking)

0.3.1 Jun 14, 2024
0.3.0 Apr 28, 2024
0.2.0 Apr 26, 2024
0.1.0 Apr 22, 2024

#795 in Encoding


Used in syno-photos-util

MIT license

22KB
470 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