예제 #1
0
def user_data_list( user_id ):
	list = []
	data_stores = fetch_EnkiModelRestAPIDataStore_by_user_id( user_id )
	for data_store in data_stores:
		app_name = ''
		app = EnkiModelApp.get_by_id( int( data_store.app_id ))
		if app:
			app_name = app.name
		list.append([ data_store.app_id, app_name, data_store.data_type, data_store.data_id, data_store.data_payload, data_store.read_access, data_store.time_expires ])
	return list
예제 #2
0
def user_data_list(user_id):
    list = []
    data_stores = fetch_EnkiModelRestAPIDataStore_by_user_id(user_id)
    for data_store in data_stores:
        app_name = ''
        app = EnkiModelApp.get_by_id(int(data_store.app_id))
        if app:
            app_name = app.name
        list.append([
            data_store.app_id, app_name, data_store.data_type,
            data_store.data_id, data_store.data_payload,
            data_store.read_access, data_store.time_expires
        ])
    return list
예제 #3
0
def check_secret( user_id, auth_token, app_secret ):
	if EnkiModelRestAPITokenVerify.exist_by_user_id_token_app_secret( user_id, auth_token, app_secret ):
		# the user verify token contains the same secret as was sent in the request
		return True
	else:
		# retrieve the app_id from the verify token and check if the corresponding registered app has a new secret
		token_verify = EnkiModelRestAPITokenVerify.get_by_user_id_token( user_id, auth_token )
		if token_verify:
			app = EnkiModelApp.get_by_id( int( token_verify.app_id ))
			if app and app.secret == app_secret:
				# update the user's verify token app_secret
				token_verify.app_secret = app.secret
				token_verify.put()
				return True
	return False
예제 #4
0
 def post_reauthenticated(self, params):
     app_secret_set = params.get('app_secret_set')
     app_name = params.get('app_name')
     error_message = ''
     data = []
     app_success = ''
     if app_secret_set:
         secret = enki.librestapi.generate_auth_token()
         app = EnkiModelApp.get_by_id(int(app_secret_set))
         app.secret = secret
         app.put()
         self.add_infomessage('success', MSG.SUCCESS(),
                              MSG.NEW_SECRET_GENERATED())
         app_success = str(app.key.id())
         data = enki.librestapi.apps_list(self.user_id)
     else:
         data = enki.librestapi.apps_list(self.user_id)
         if not app_name:
             error_message = MSG.NAME_NEEDED()
         elif (len(app_name) > enki.librestapi.APP_MAX_NAME_LENGTH):
             error_message = MSG.APP_NAME_TOO_LONG(
                 str(enki.librestapi.APP_MAX_NAME_LENGTH))
         elif EnkiModelApp.exist_by_name(app_name):
             error_message = MSG.APP_NAME_ALREADY_EXISTS()
         elif (EnkiModelApp.count_by_user_id(self.user_id) >=
               enki.librestapi.APP_MAX):
             error_message = MSG.APP_EXCEED_ALLOWED()
         else:
             secret = enki.librestapi.generate_auth_token()
             app = EnkiModelApp(user_id=self.user_id,
                                name=app_name,
                                secret=secret)
             app.put()
             data.append(
                 [app_name,
                  str(app.key.id()), secret, app.time_created])
             self.add_infomessage('success', MSG.SUCCESS(),
                                  MSG.APP_CREATED())
             app_success = str(app.key.id())
     self.render_tmpl(
         'apps.html',
         active_menu='profile',
         error=error_message,
         data=data,
         app_success=app_success,
         app_max=enki.librestapi.APP_MAX,
         app_max_name_length=enki.librestapi.APP_MAX_NAME_LENGTH,
     )
예제 #5
0
def check_secret(user_id, auth_token, app_secret):
    if EnkiModelRestAPITokenVerify.exist_by_user_id_token_app_secret(
            user_id, auth_token, app_secret):
        # the user verify token contains the same secret as was sent in the request
        return True
    else:
        # retrieve the app_id from the verify token and check if the corresponding registered app has a new secret
        token_verify = EnkiModelRestAPITokenVerify.get_by_user_id_token(
            user_id, auth_token)
        if token_verify:
            app = EnkiModelApp.get_by_id(int(token_verify.app_id))
            if app and app.secret == app_secret:
                # update the user's verify token app_secret
                token_verify.app_secret = app.secret
                token_verify.put()
                return True
    return False