def get_schema_fields()

in ees_microsoft_teams/utils.py [0:0]


def get_schema_fields(document_name, objects):
    """ Returns the schema of all the include_fields or exclude_fields specified in the configuration file.
        :param document_name: Document name from Teams, Channels, Channel Messages, User Chats, etc.
        Returns:
            schema: Included and excluded fields schema
    """
    fields = objects.get(document_name)
    adapter_schema = DEFAULT_SCHEMA[document_name]
    field_id = adapter_schema['id']
    if fields:
        include_fields = fields.get("include_fields")
        exclude_fields = fields.get("exclude_fields")
        if include_fields:
            adapter_schema = {
                key: val for key, val in adapter_schema.items() if val in include_fields}
        elif exclude_fields:
            adapter_schema = {
                key: val for key, val in adapter_schema.items() if val not in exclude_fields}
        adapter_schema['id'] = field_id
    return adapter_schema