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 every instance of this document type
Stop the connection
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 (materialized form of data)
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
Reversed delete rule constant definition
API key of sending blue
logger
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