def get_logged_in_username(): """A Method to get the current logged in user's username Returns: str """ user = get_logged_in_user() if not user: logger = LMLogger() logger.logger.error( "Failed to load a user identity from request context.") raise ValueError( "Failed to load a user identity from request context.") return user.username
def get_logged_in_author(): """A Method to get the current logged in user's GitAuthor instance Returns: GitAuthor """ user = get_logged_in_user() if not user: logger = LMLogger() logger.logger.error( "Failed to load a user identity from request context.") raise ValueError( "Failed to load a user identity from request context.") # Create a GitAuthor instance if possible return GitAuthor(name=user.username, email=user.email)
# # The above copyright notice and this permission notice shall be included in all # copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THEt # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # SOFTWARE. from lmcommon.logging import LMLogger from time import time as timer import json logger = LMLogger.get_logger() def time_all_resolvers_middleware(next, root, info, **args): """Middleware to time and log all resolvers""" start = timer() return_value = next(root, info, **args) duration = timer() - start data = {"metric_type": "field_resolver_duration", "parent_type": root._meta.name if root and hasattr(root, '_meta') else '', "field_name": info.field_name, "duration_ms": round(duration * 1000, 2)} logger.info(f"METRIC :: {json.dumps(data)}") return return_value