updateProduct method

Future<PrintifyProductModel> updateProduct({
  1. required String baseUrl,
  2. required String articleId,
  3. required PrintifyUpdateProductRequest request,
})

Updates a product with articleId.

Implementation

Future<PrintifyProductModel> updateProduct({
  required String baseUrl,
  required String articleId,
  required PrintifyUpdateProductRequest request,
}) async {
  Response? response;

  try {
    final dio = Dio(
      BaseOptions(
        contentType: 'application/json',
        responseType: ResponseType.json,
        baseUrl: 'https://$baseUrl/app',
      ),
    );
    response = await dio.put(
      '/updateArticleById',
      queryParameters: {
        'productId': articleId,
      },
      data: request,
    );

    if (response.statusCode == 200) {
      return PrintifyProductModel.fromJson(response.data);
    } else {
      throw Exception(
          'Non 200 code for update product ID $articleId. Response: ${response.statusCode}');
    }
  } catch (e) {
    throw Exception(
        'Non 200 code for update product ID $articleId. Response: ${response?.statusCode}');
  }
}