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

syno_api

An incomplete set of DTOs and errors for Synology DSM APIs

3 releases (breaking)

0.3.0 Apr 28, 2024
0.2.0 Apr 26, 2024
0.1.0 Apr 22, 2024

#648 in Encoding

Download history 102/week @ 2024-04-17 351/week @ 2024-04-24 41/week @ 2024-05-01

494 downloads per month
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.4–1MB
~24K SLoC