def new_user(self, struct): ''' New user event ''' bucket_name = 'accounts' bucket = self.db.bucket(bucket_name) try: struct['created_by'] = self.settings['domain'] struct['status'] = 'new' event = accounts.Users(struct) event.validate() event = clean_structure(event) except Exception as error: raise error try: message = event.get('uuid') user = bucket.new(message, data=event) user.add_index("uuid_bin", message) user.add_index("status_bin", event["status"]) user.add_index("account_bin", event["account"]) user.add_index("account_type_bin", event["account_type"]) user.add_index("email_bin", event["email"]) user.store() except Exception as error: logging.error(error) message = str(error) return message
def get_account(self, account, account_type): ''' Get mango account ''' message = None result = yield self.db.accounts.find_one( { 'account': account, 'account_type': account_type }, { '_id': 0, 'password': 0 }) if result: if 'user' in account_type: message = accounts.ModifyUser(result) elif 'org' in account_type: message = accounts.Org(result) try: if message: message.validate() message = clean_structure(message) except Exception, e: logging.exception(e) raise e
def get_record(self, account, record_uuid): ''' Get a detail record ''' message = 'where is this account {0} record {1}'.format(account, record_uuid) logging.info(message) if not account: record = yield self.db.records.find_one({'uuid':record_uuid}, {'_id':0}) else: # change accountcode to account, because the accountcode is a uuid # and we're expecting an account name. message = 'account {0} and record {1} are you for real?'.format(account, record_uuid) logging.info(message) record = yield self.db.records.find_one({'uuid':record_uuid, 'account':account}, {'_id':0}) logging.info(record) try: if record: record = records.Record(record) record.validate() record = clean_structure(record) except Exception, e: logging.exception(e) # catch some daemon here! raise e
def new_user(self, struct): ''' New user event ''' search_index = 'mango_account_index' bucket_type = 'mango_account' bucket_name = 'accounts' try: event = accounts.User(struct) event.validate() event = clean_structure(event) except Exception as error: raise error try: message = event.get('uuid') structure = { "uuid": str(event.get('uuid', str(uuid.uuid4()))), "status": str(event.get('status', '')), "role": str(event.get('role', '')), "account": str(event.get('account', 'pebkac')), "account_type": str(event.get('account_type', 'user')), "nickname": str(event.get('nickname', '')), "first_name": str(event.get('first_name', '')), "last_name": str(event.get('last_name', '')), "middle_name": str(event.get('middle_name', '')), "password": str(event.get('password', '')), "email": str(event.get('email', '')), "phone_number": str(event.get('phone_number', '')), "extension": str(event.get('extension', '')), "country_code": str(event.get('country_code', '')), "timezone": str(event.get('timezone', '')), "company": str(event.get('company', '')), "location": str(event.get('location', '')), "phones": str(event.get('phones', '')), "emails": str(event.get('emails', '')), "history": str(event.get('history', '')), "labels": str(event.get('labels', '')), "orgs": str(event.get('orgs', '')), "teams": str(event.get('teams', '')), "checked": str(event.get('checked', '')), "checked_by": str(event.get('checked_by', '')), "checked_at": str(event.get('checked_at', '')), "created_by": str(event.get('created_by', '')), "created_at": str(event.get('created_at', '')), "last_update_at": str(event.get('last_update_at', '')), "last_update_by": str(event.get('last_update_by', '')), } result = AccountMap( self.kvalue, bucket_name, bucket_type, search_index, structure ) message = structure.get('uuid') except Exception as error: logging.error(error) message = str(error) return message
def new_org(self, struct): ''' New (ORG) event ''' search_index = 'mango_account_index' bucket_type = 'mango_account' bucket_name = 'accounts' try: event = accounts.Org(struct) event.validate() event = clean_structure(event) except Exception as error: raise error try: message = event.get('uuid') structure = { "uuid": str(event.get('uuid', str(uuid.uuid4()))), "status": str(event.get('status', '')), "account": str(event.get('account', 'pebkac')), "account_type": str(event.get('account_type', 'org')), "name": str(event.get('name', '')), "description": str(event.get('description', '')), "email": str(event.get('email', '')), "phone_number": str(event.get('phone_number', '')), "extension": str(event.get('extension', '')), "country_code": str(event.get('country_code', '')), "timezone": str(event.get('timezone', '')), "company": str(event.get('company', '')), "location": str(event.get('location', '')), "phones": str(event.get('phones', '')), "emails": str(event.get('emails', '')), "history": str(event.get('history', '')), "labels": str(event.get('labels', '')), "members": str(event.get('members', '')), "teams": str(event.get('teams', '')), "checked": str(event.get('checked', '')), "checked_by": str(event.get('checked_by', '')), "checked_at": str(event.get('checked_at', '')), "created_by": str(event.get('created_by', '')), "created_at": str(event.get('created_at', '')), "last_update_at": str(event.get('last_update_at', '')), "last_update_by": str(event.get('last_update_by', '')), } result = AccountMap( self.kvalue, bucket_name, bucket_type, search_index, structure ) message = structure.get('uuid') except Exception as error: logging.error(error) message = str(error) return message
def modify_task(self, account, task_uuid, struct): ''' Modify task ''' try: logging.info(struct) task = tasks.ModifyTask(struct) task.validate() task = clean_structure(task) except Exception, e: logging.error(e) raise e
def new_task(self, struct): ''' New task event ''' search_index = 'mango_task_index' bucket_type = 'mango_task' bucket_name = 'tasks' try: event = tasks.Task(struct) event.validate() event = clean_structure(event) except Exception as error: raise error try: structure = { "uuid": str(event.get('uuid', str(uuid.uuid4()))), "account": str(event.get('account', 'pebkac')), "subject": str(event.get('subject', '')), "description": str(event.get('description', '')), "data": str(event.get('data', '')), "assign": str(event.get('assign', '')), "public": str(event.get('public', '')), "source ": str(event.get('source', '')), "destination": str(event.get('destination', '')), "labels": str(event.get('labels', '')), "start_time": str(event.get('start_time', '')), "ack_time": str(event.get('ack_time', '')), "stop_time": str(event.get('stop_time', '')), "deadline": str(event.get('deadline', '')), "duration": str(event.get('duration', '')), "comments": str(event.get('comments', '')), "history": str(event.get('history', '')), "status": str(event.get('status', '')), "checked": str(event.get('checked', '')), "checked_by": str(event.get('checked_by', '')), "checked_at": str(event.get('checked_at', '')), "created_by": str(event.get('created_by', '')), "created_at": str(event.get('created_at', '')), "last_update_by": str(event.get('last_update_by', '')), "last_update_at": str(event.get('last_update_at', '')), } result = TaskMap( self.kvalue, bucket_name, bucket_type, search_index, structure ) message = structure.get('uuid') except Exception as error: logging.error(error) message = str(error) return message
def new_team(self, org, team): ''' New team ''' try: team = accounts.Team( team ) # team validate and clean structure return team or log crash errors; variable assigned to team variable. team.validate() team = clean_structure(team) except Exception, e: logging.error(e) raise e
def new_task(self, struct): ''' New task event ''' search_index = 'mango_task_index' bucket_type = 'mango_task' bucket_name = 'tasks' try: event = tasks.Task(struct) event.validate() event = clean_structure(event) except Exception as error: raise error try: structure = { "uuid": str(event.get('uuid', str(uuid.uuid4()))), "account": str(event.get('account', 'pebkac')), "subject": str(event.get('subject', '')), "description": str(event.get('description', '')), "data": str(event.get('data', '')), "assign": str(event.get('assign', '')), "public": str(event.get('public', '')), "source ": str(event.get('source', '')), "destination": str(event.get('destination', '')), "labels": str(event.get('labels', '')), "start_time": str(event.get('start_time', '')), "ack_time": str(event.get('ack_time', '')), "stop_time": str(event.get('stop_time', '')), "deadline": str(event.get('deadline', '')), "duration": str(event.get('duration', '')), "comments": str(event.get('comments', '')), "history": str(event.get('history', '')), "status": str(event.get('status', '')), "checked": str(event.get('checked', '')), "checked_by": str(event.get('checked_by', '')), "checked_at": str(event.get('checked_at', '')), "created_by": str(event.get('created_by', '')), "created_at": str(event.get('created_at', '')), "last_update_by": str(event.get('last_update_by', '')), "last_update_at": str(event.get('last_update_at', '')), } result = TaskMap(self.kvalue, bucket_name, bucket_type, search_index, structure) message = structure.get('uuid') except Exception as error: logging.error(error) message = str(error) return message
def new_team(self, struct): ''' New team event ''' search_index = 'mango_team_index' bucket_type = 'mango_team' bucket_name = 'teams' try: event = teams.Team(struct) event.validate() event = clean_structure(event) except Exception as error: raise error try: message = event.get('uuid') structure = { "uuid": str(event.get('uuid', str(uuid.uuid4()))), "account": str(event.get('account', 'pebkac')), "status": str(event.get('status', '')), "name": str(event.get('name', '')), "permission": str(event.get('permission', '')), "members": str(event.get('members', '')), "resources": str(event.get('resources', '')), "labels": str(event.get('labels', '')), "history": str(event.get('history', '')), "checked": str(event.get('checked', '')), "checked_by": str(event.get('checked_by', '')), "checked_at": str(event.get('checked_at', '')), "created_by": str(event.get('created_by', '')), "created_at": str(event.get('created_at', '')), "last_update_by": str(event.get('last_update_by', '')), "last_update_at": str(event.get('last_update_at', '')), "description": str(event.get('description', '')), } result = TeamMap( self.kvalue, bucket_name, bucket_type, search_index, structure ) message = structure.get('uuid') except Exception as error: logging.error(error) message = str(error) return message
def new_account(self, struct): ''' New mango account ''' account_type = struct['account_type'] try: if 'user' in account_type: account = accounts.User(struct) if 'org' in account_type: account = accounts.Org(struct) account.validate() account = clean_structure(account) except Exception, e: logging.error(e) raise e
def new_team(self, struct): ''' New team event ''' search_index = 'mango_team_index' bucket_type = 'mango_team' bucket_name = 'teams' try: event = teams.Team(struct) event.validate() event = clean_structure(event) except Exception as error: raise error try: message = event.get('uuid') structure = { "uuid": str(event.get('uuid', str(uuid.uuid4()))), "account": str(event.get('account', 'pebkac')), "status": str(event.get('status', '')), "name": str(event.get('name', '')), "permission": str(event.get('permission', '')), "members": str(event.get('members', '')), "resources": str(event.get('resources', '')), "labels": str(event.get('labels', '')), "history": str(event.get('history', '')), "checked": str(event.get('checked', '')), "checked_by": str(event.get('checked_by', '')), "checked_at": str(event.get('checked_at', '')), "created_by": str(event.get('created_by', '')), "created_at": str(event.get('created_at', '')), "last_update_by": str(event.get('last_update_by', '')), "last_update_at": str(event.get('last_update_at', '')), "description": str(event.get('description', '')), } result = TeamMap(self.kvalue, bucket_name, bucket_type, search_index, structure) message = structure.get('uuid') except Exception as error: logging.error(error) message = str(error) return message
results = clean_results(results) raise gen.Return(results) @gen.coroutine def new_task(self, struct): ''' Create a new task entry ''' try: task = tasks.Task(struct) task.validate() except Exception, e: logging.exception(e) raise e task = clean_structure(task) result = yield self.db.tasks.insert(task) raise gen.Return(task.get('uuid')) @gen.coroutine def set_assigned_flag(self, account, task_uuid): ''' Set the task assigned flag ''' logging.info('set_assigned_flag account: %s, task: %s' % (account, task_uuid)) result = yield self.db.tasks.update( {
raise gen.Return(results) @gen.coroutine def new_task(self, struct): ''' Create a new task entry ''' try: task = tasks.Task(struct) task.validate() except Exception, e: logging.exception(e) raise e task = clean_structure(task) result = yield self.db.tasks.insert(task) raise gen.Return(task.get('uuid')) @gen.coroutine def set_assigned_flag(self, account, task_uuid): ''' Set the task assigned flag ''' logging.info('set_assigned_flag account: %s, task: %s' % (account, task_uuid)) result = yield self.db.tasks.update( {'uuid':task_uuid, 'accountcode':account},
db = self.db try: # if not type str convert to str... # same note different day... WTF I'm talking about... if isinstance(struct, dict): struct['strdate'] = '"{0}"'.format(struct.get('strdate', '')) record = records.Record(struct) record.validate() except Exception, e: logging.exception(e) raise e record2 = clean_structure(record) record = clean_message(record) result = yield db.records.insert(record) message = { 'uniqueid':struct.get('uniqueid'), 'uuid':record.get('uuid') } raise gen.Return(message) @gen.coroutine def set_assigned_flag(self, account, record_uuid): '''
def get(self, task_uuid=None, start=None, end=None, page_num=0, lapse='hours'): ''' Get tasks handler ''' # -- logging info logging.warning('daaaa fuck1!!{0}'.format(task_uuid)) logging.info(self.request.arguments) #account = (self.request.arguments.get('account', [None])[0] if not account else account) # query string checked from string to boolean #checked = str2bool(str(self.request.arguments.get('checked', [False])[0])) if task_uuid: task_uuid = task_uuid.rstrip('/') if self.current_user: user = self.current_user task = yield self.get_task(user, task_uuid) else: task = yield self.get_task(None, task_uuid) if not task: self.set_status(400) system_error = errors.Error('missing') error = system_error.missing('task', task_uuid) self.finish(error) return self.finish(clean_structure(task)) return if self.current_user: user = self.current_user orgs = yield self.get_orgs_list(user) account_list = (orgs['orgs'] if orgs else False) if not account_list: result = yield self.get_task_list( account=user, lapse=lapse, start=start, end=end, page_num=page_num) else: account_list.append(user) result = yield self.get_task_list( account=account_list, lapse=lapse, start=start, end=end, page_num=page_num) else: result = yield self.get_task_list( account=None, lapse=lapse, start=start, end=end, page_num=page_num) result = json_util.dumps(result) self.finish(result)