Module: Tiktok::Open::Sdk::Helpers::Validators::PostPublishValidator

Includes:
PostInfoValidator, SourceInfoValidator
Included in:
OpenApi::Post::Publish
Defined in:
lib/tiktok/open/sdk/helpers/validators/post_publish_validator.rb

Overview

Provides validation for video publishing initialization parameters.

This module combines and applies the PostInfoValidator and SourceInfoValidator logic for validating post_info and source_info input hashes typically required for TikTok Open SDK video publishing workflows.

Examples:

Including and using PostPublishValidator

class Publisher
  include Tiktok::Open::Sdk::Helpers::Validators::PostPublishValidator

  def publish_video(params)
    validate_video_init_info!(params)
    # ...proceed if valid
  end
end

See Also:

  • Tiktok::Open::Sdk::Helpers::Validators::PostInfoValidator#validate_post_info
  • SourceInfoValidator#validate_source_info

Constant Summary

Constants included from SourceInfoValidator

SourceInfoValidator::SOURCE_OPTIONS

Constants included from PostInfoValidator

Tiktok::Open::Sdk::Helpers::Validators::PostInfoValidator::MAX_TITLE_LENGTH, Tiktok::Open::Sdk::Helpers::Validators::PostInfoValidator::PRIVACY_LEVEL_OPTIONS

Instance Method Summary collapse

Methods included from SourceInfoValidator

#validate_source_info!

Methods included from PostInfoValidator

#validate_post_info!

Instance Method Details

#validate_video_init_info!(params) ⇒ void

This method returns an undefined value.

Validates combined video initialization parameters.

Both post_info and source_info sub-hashes are validated using the appropriate validators. If any errors occur, a RequestValidationError (or similar) is raised.

Parameters:

  • params (Hash)

    The full parameter hash.

Options Hash (params):

  • :post_info (Hash)

    Info for video post, validated by PostInfoValidator

  • :source_info (Hash)

    Info on video source, validated by SourceInfoValidator

Raises:



44
45
46
47
48
49
50
51
# File 'lib/tiktok/open/sdk/helpers/validators/post_publish_validator.rb', line 44

def validate_video_init_info!(params)
  errors = { post_info: {}, source_info: {} }

     params[:post_info],   errors[:post_info]
  validate_source_info params[:source_info], errors[:source_info]

  raise_validation_errors!(errors) unless errors.values.all?(&:empty?)
end