sentc-crypto 0.8.0

The main implementation of the sentc sdk.
Documentation
use alloc::string::String;
use alloc::vec::Vec;

use sentc_crypto_common::file::BelongsToType;
use sentc_crypto_common::user::UserVerifyKeyData;
use sentc_crypto_common::{FileId, FileSessionId};
use sentc_crypto_core::SymKey;

use crate::entities::keys::{SignKeyFormatInt, SymKeyFormatInt};
use crate::file::{
	decrypt_file_part_internally,
	decrypt_file_part_start_internally,
	done_register_file_internally,
	encrypt_file_part_internally,
	encrypt_file_part_start_internally,
	prepare_file_name_update_internally,
	prepare_register_file_internally,
};
use crate::SdkError;

pub fn prepare_register_file(
	master_key_id: String,
	key: &SymKeyFormatInt,
	encrypted_content_key: String,
	belongs_to_id: Option<String>,
	belongs_to_type: BelongsToType,
	file_name: Option<String>,
) -> Result<(String, Option<String>), SdkError>
{
	prepare_register_file_internally(
		master_key_id,
		key,
		encrypted_content_key,
		belongs_to_id,
		belongs_to_type,
		file_name,
	)
}

pub fn done_register_file(server_output: &str) -> Result<(FileId, FileSessionId), SdkError>
{
	done_register_file_internally(server_output)
}

pub fn prepare_file_name_update(key: &SymKeyFormatInt, file_name: Option<String>) -> Result<String, SdkError>
{
	prepare_file_name_update_internally(key, file_name)
}

pub fn encrypt_file_part_start(key: &SymKeyFormatInt, part: &[u8], sign_key: Option<&SignKeyFormatInt>) -> Result<(Vec<u8>, SymKey), SdkError>
{
	encrypt_file_part_start_internally(key, part, sign_key)
}

pub fn encrypt_file_part(pre_content_key: &SymKey, part: &[u8], sign_key: Option<&SignKeyFormatInt>) -> Result<(Vec<u8>, SymKey), SdkError>
{
	encrypt_file_part_internally(pre_content_key, part, sign_key)
}

pub fn decrypt_file_part_start(key: &SymKeyFormatInt, part: &[u8], verify_key: Option<&UserVerifyKeyData>) -> Result<(Vec<u8>, SymKey), SdkError>
{
	decrypt_file_part_start_internally(key, part, verify_key)
}

pub fn decrypt_file_part(pre_content_key: &SymKey, part: &[u8], verify_key: Option<&UserVerifyKeyData>) -> Result<(Vec<u8>, SymKey), SdkError>
{
	decrypt_file_part_internally(pre_content_key, part, verify_key)
}