xia_connector_sendinblue.connector.SendInBlue

class xia_connector_sendinblue.connector.SendInBlue(**kwargs)

Bases: SMTP

__init__(**kwargs)

Methods

__init__(**kwargs)

connect()

Establish the connection

delete([caller_id])

Delete a document

delete_all()

Delete every instance of this document type

disconnect()

Stop the connection

get_collection_name()

Get collection name of current class

get_display_data([lazy])

Get Display data (visualized form of data)

get_id()

Get document id

get_raw_data()

Get Raw data (materialized form of data)

get_reverse_delete_rules()

Get reverse_delete_rules

get_sender_dict(mail_adr)

Get sender information from mail address

list(owner_name[, limit])

List objects of predefined criteria, default limited to 10 objects

load(*args, **kwargs)

Load a Document from engine

objects(**kwargs)

Search documents

register_delete_rules(klass, field_path, ...)

Use the delete_rule to handle what should happen if the document the field is referencing is deleted.

reload()

Reload the document from the engine

save([validate])

Save a document to engine

send_mail_plain(sender, to, subject, content)

Send a plain mail (txt or html without attachment)

to_db()

Translate the runtime data into raw data (materialized form of data)

update([validate])

Update existed fields

validate()

Validate if all of the component of document follows the predefined rules

Attributes

API_URL

DELETE

DENY

NULLIFY

PULL

REVERSE_DELETE_RULES

Reversed delete rule constant definition

api_key

API key of sending blue

logger

meta

If the document is not abstract, the collection_name should be provided

name

owner_name

reverse_delete_rules

REVERSE_DELETE_RULES = {'DELETE': 3, 'DENY': 2, 'NULLIFY': 1, 'PULL': 4}

Reversed delete rule constant definition

api_key: str = <xia_fields.fields.StringField object>

API key of sending blue

abstract connect()

Establish the connection

delete(caller_id: Optional[str] = None)

Delete a document

Parameters

caller_id (str) – The caller of cascade delete

classmethod delete_all()

Delete every instance of this document type

abstract disconnect()

Stop the connection

engine

alias of FirestoreEngine

classmethod get_collection_name()

Get collection name of current class

Returns

collection name

Return type

str

get_display_data(lazy: bool = True)

Get Display data (visualized form of data)

Returns

python dict object

get_id()

Get document id

Returns

Document ID

Return type

str

get_raw_data()

Get Raw data (materialized form of data)

Returns

python dict object

classmethod get_reverse_delete_rules()

Get reverse_delete_rules

Returns

reverse delete rules

Return type

list

classmethod get_sender_dict(mail_adr: str)

Get sender information from mail address

Parameters

mail_adr (str) – Full Email address. Like “John Smith” <john.smith@x-i-a.com>

Returns

name and email

Return type

dict

classmethod list(owner_name: str, limit: int = 10, **kwargs)

List objects of predefined criteria, default limited to 10 objects

classmethod load(*args, **kwargs)

Load a Document from engine

Parameters
  • *args – a list document id (should only have one valid)

  • **kwargs

Returns

loaded document instance

meta = {'abstract': True}

If the document is not abstract, the collection_name should be provided

classmethod objects(**kwargs)

Search documents

Parameters

**kwargs – Search Configuration

Returns

generator of a found document

Notes

  • key, str pair: single value search

  • key, list pair: array_contains_any search

  • embedded search: a__b means b component of a. a.b means the key’s name is a.b

  • operators: key is end with __op__. The following op are supported:
    • __eq__: Could ignore because it is a by default behavior

    • __lt__, __le__, __gt__, __ge__, __ne__: as is supposed by the name

    • __asc__, __desc__: the result will be ordered by the fields

classmethod register_delete_rules(klass, field_path: str, delete_rule: str)

Use the delete_rule to handle what should happen if the document the field is referencing is deleted.

The options are:

  • NULLIFY - Updates the reference to null.

  • CASCADE - Deletes the documents associated with the reference.

  • DENY - Prevent the deletion of the reference object.

  • PULL - Pull the reference from a list of reference

reload()

Reload the document from the engine

Returns

itself with refreshed data

save(validate=True)

Save a document to engine

Parameters

validate (bool) – Should the validation to be passed or not

Returns

itself (with document id in the case of a new created document)

secret_engine

alias of Secrets

send_mail_plain(sender: str, to: list, subject: str, content: str)

Send a plain mail (txt or html without attachment)

Parameters
  • sender (str) –

  • to (str) –

  • subject (str) –

  • content (str) –

to_db()

Translate the runtime data into raw data (materialized form of data)

Returns

python dict object

update(validate=True, **kwargs)

Update existed fields

Parameters
  • validate (bool) – Should the data be validated before update or not

  • **kwargs – update parameters

Returns

updated document in the form of python dict

Notes

Update String Specifications * embedded update: a__b means b component of a. a.b means the key’s name is a.b * operators: key is end with __op__. The following op are supported:

  • __append__: Append an item to array

  • __remove__: Remove an item

  • __delete__: Delete the field

validate()

Validate if all of the component of document follows the predefined rules

Returns

Always None. No exception raised means the validation passed