1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
//! Request struct for the Create Catalog Image API

use serde::Serialize;

use super::CatalogObject;

/// This is a model class for CreateCatalogImageRequest type.
#[derive(Clone, Debug, Default, Eq, PartialEq, Serialize)]
pub struct CreateCatalogImageRequest {
    /// A unique string that identifies this CreateCatalogImage request. Keys can be any valid
    /// string but must be unique for every CreateCatalogImage request.
    ///
    /// See [Idempotency keys](https://developer.squareup.com/docs/basics/api101/idempotency) for
    /// more information.
    pub idempotency_key: String,
    /// Unique ID of the `CatalogObject` to attach this `CatalogImage` object to. Leave this field
    /// empty to create unattached images, for example if you are building an integration where an
    /// image can be attached to catalog items at a later time.
    pub object_id: Option<String>,
    /// The new `CatalogObject` of the `IMAGE` type, namely, a `CatalogImage` object, to encapsulate
    /// the specified image file.
    pub image: CatalogObject,
    /// If this is set to `true`, the image created will be the primary, or first image of the
    /// object referenced by `object_id`. If the `CatalogObject` already has a primary
    /// `CatalogImage`, setting this field to `true` will replace the primary image. If this is set
    /// to `false` and you use the Square API version 2021-12-15 or later, the image id will be
    /// appended to the list of `image_ids` on the object.
    ///
    /// With Square API version 2021-12-15 or later, the default value is `false`. Otherwise, the
    /// effective default value is `true`.
    pub is_primary: Option<bool>,
}