def data_cleaning(post: dict):
    """
    Functionality to clean up data and pass back only desired fields

    :param post: dict  content and metadata of a reddit post

    :return:
        tuple of fields for insertion into database
    """
    unwanted_authors = ['[deleted]', '[removed]', 'automoderator']

    # skip posts from undesirable authors or posts to personal subreddits
    if (post['author'] in unwanted_authors) or (post['subreddit_name_prefixed'].startswith('u/')):
        return None

    # replace empty string with placeholder for posts with no body content
    if post['selftext'] == '':
        post['selftext'] = "[NO TEXT]"

    # only a subset of the fields are being saved to the db
    # adjust the table schema and add fields here if desired
    author = post['author'].lower().strip()

    if post['author_flair_text']:
        author_flair_text = post['author_flair_text'].lower().strip()
    else:
        author_flair_text = "none"

    if post['link_flair_text']:
        post_flair_text = post['link_flair_text'].lower().strip()
    else:
        post_flair_text = "none"

    created_utc = post['created_utc']
    reddit_id = f"t3_{post['id']}"
    num_comments = post['num_comments']
    nsfw = post['over_18']
    score = post['score']
    text = post['selftext']
    subreddit = post['subreddit'].lower().strip()
    title = post['title']
    total_awards_received = post['total_awards_received']

    return (author, author_flair_text, post_flair_text, created_utc, reddit_id, num_comments,
            nsfw, score, text, subreddit, title, total_awards_received)