def mark_admin(self, flag): database = self._get_database() record = Record(self.id, self.owner_id, self.acl) record['is_admin'] = flag record['user'] = self['user'] record['conversation'] = self['conversation'] database.save([record])
def hello(): """ This lamda returns some skydb types to the caller. This demonstrates the lambda can return skydb types. ``` curl -X "POST" "http://localhost:3000" \ -H 'Content-Type: application/json; charset=utf-8' \ -d $'{ "api_key": "secret", "action": "hello" }' ``` """ return [ 1, 2, True, "hello", Location(1, 2), Record( id=RecordID("note", "99D92DBA-74D5-477F-B35E-F735E21B2DD5"), owner_id="OWNER_ID", acl=None, data={ "content": "Hello World!", } ), { 'location': Location(1, 2) } ]
def test_forgot_password_email(email, text_template=None, html_template=None, subject=None, sender=None, reply_to=None, sender_name=None, reply_to_name=None): access_key_type = current_context().get('access_key_type') if not access_key_type or access_key_type != 'master': raise SkygearException('master key is required', skyerror.AccessKeyNotAccepted) url_prefix = settings.url_prefix if url_prefix.endswith('/'): url_prefix = url_prefix[:-1] dummy_user = namedtuple('User', ['id', 'email'])('dummy-id', '*****@*****.**') dummy_record_id = RecordID('user', 'dummy-id') dummy_record = Record(dummy_record_id, dummy_record_id.key, None) template_params = { 'appname': settings.app_name, 'code': 'dummy-reset-code', 'url_prefix': url_prefix, 'link': '{}/example-reset-password-link'.format(url_prefix), 'user_record': dummy_record, 'user': dummy_user, 'email': dummy_user.email, 'user_id': dummy_user.id } email_sender = (sender_name, sender) if sender \ else (settings.sender_name, settings.sender) email_subject = subject if subject else settings.subject email_reply_to = (reply_to_name, reply_to) if reply_to \ else (settings.reply_to_name, settings.reply_to) try: mail_sender.send(email_sender, email, email_subject, reply_to=email_reply_to, text_template_string=text_template, html_template_string=html_template, template_params=template_params) except Exception as ex: logger.exception('An error occurred sending test reset password' ' email to user.') raise SkygearException(str(ex), skyerror.UnexpectedError) return {'status': 'OK'}
def __call__(self, record_key, record_value): if not record_value: msg = 'missing record_value' raise SkygearException(msg, skyerror.InvalidArgument) code_str = self.get_code(record_key) user = namedtuple('User', ['id', record_key])('dummy-id', record_key) user_record = Record('user/dummy-id', 'dummy-id', {}, data={record_key: record_value}) self.call_provider(record_key, user, user_record, code_str)
def __init__(self, user_id: str, message_id: str): if not isinstance(user_id, str): raise ValueError('user_id is not str') if not isinstance(message_id, str): raise ValueError('message_id is not str') self.record = Record( RecordID('receipt', Receipt.consistent_id(user_id, message_id)), user_id, None, data={ 'user_id': Reference(RecordID('user', user_id)), 'message_id': Reference(RecordID('message', message_id)) } )
def test_record(self): value = Record(id=RecordID("note", "99D92DBA-74D5-477F-B35E-F735E21B2DD5"), owner_id="OWNER_ID", acl=None, data={ "content": "Hello World!", }) assert serialize_value(value) == \ { "$type": "record", "$record": { "_access": None, "_id": "note/99D92DBA-74D5-477F-B35E-F735E21B2DD5", "_ownerID": "OWNER_ID", "content": "Hello World!", } }
def test_normal(self): r = Record( id=RecordID('note', '99D92DBA-74D5-477F-B35E-F735E21B2DD5'), owner_id='OWNER_ID', acl=None, data={ "content": "Hello World!", "noteOrder": 1, "money": UnknownValue("money"), }) rdata = serialize_record(r) assert rdata == { "_access": None, "_id": "note/99D92DBA-74D5-477F-B35E-F735E21B2DD5", "_ownerID": "OWNER_ID", "content": "Hello World!", "noteOrder": 1, "money": {'$type': 'unknown', '$underlying_type': 'money'}, }