def mutate(self, info, name, url, content): validate_user_is_admin(info.context.user) page = Page(name=name, url=url, content=content) page.save() return CreatePage(message="Added")
def mutate(self, info, id, name, description, points=0, flag="", show=False, category=None): validate_user_is_admin(info.context.user) try: category = Category.objects.get(name=category) challenge = Challenge.objects.get(pk=id) challenge.name = name challenge.description = description challenge.points = points challenge.flag = flag challenge.show = show challenge.category = category challenge.save() message = "success" except: message = "failure" return UpdateChallenge(message)
def resolve_users(root, info, search=None, **kwargs): validate_user_is_admin(info.context.user) if search: return User.objects.filter( Q(username__icontains=search) | Q(first_name__icontains=search) | Q(last_name__icontains=search) | Q(email__icontains=search)) else: return User.objects.all()
def mutate(self, info, name, description): validate_user_is_admin(info.context.user) try: Category(name=name, description=description).save() except: raise Exception('Failed to add category') return AddCategory(code=0)
def mutate(self, info, name, description): validate_user_is_admin(info.context.user) Category(name=name, description=description).save(action="CR", user=info.context.user) return AddCategory(code=0)
def resolve_teams(root, info, search=None, **kwargs): validate_user_is_admin(info.context.user) if search: return Team.objects.filter( Q(name__icontains=search) | Q(email__icontains=search) | Q(affiliation__icontains=search) | Q(website__icontains=search)) else: return Team.objects.all()
def resolve_user(self, info, id=None): validate_user_is_admin(info.context.user) if validate_user_is_staff(info.context.user): if id: return User.objects.get(id=id) else: raise Exception('No user ID was provided') else: raise Exception('Not authorized to view query users')
def mutate(self, info, id, name, description): validate_user_is_admin(info.context.user) category = Category.objects.get(pk=id) category.name = name category.description = description category.save() return UpdateCategory(code=0)
def mutate(self, info, name, email, affiliation, accesscode=None): validate_user_is_admin(info.context.user) try: newTeam = Team(name=name, email=email, affiliation=affiliation, accesscode=''.join(random.choices(string.ascii_uppercase + string.digits, k=10))) newTeam.save() code = 0 except: code = 1 return AddTeam(code=code)
def mutate(self, info, name): #, accesscode=None): validate_user_is_admin(info.context.user) try: team = Team.objects.get(name=name) team.delete() code = 0 except: code = 1 return RemoveTeam(code)
def mutate(self, info, id): validate_user_is_admin(info.context.user) # try: category = Category.objects.get(pk=id) category.delete(user=info.context.user) message = "success" # except: # message = "failure" return RemoveCategory(message)
def mutate(self, info, id): validate_user_is_admin(info.context.user) try: challenge = Challenge.objects.get(pk=id) challenge.delete() code = 0 except: code = 1 return RemoveChallenge(code)
def mutate(self, info, content): validate_user_is_admin(info.context.user) welcome = WelcomePage.objects.all().first() if welcome: welcome.content = content welcome.save() else: welcome = WelcomePage(content=content) welcome.save() return Welcome(status="Added")
def mutate(self, info, id, name, description): validate_user_is_admin(info.context.user) try: category = Category.objects.get(pk=id) category.name = name category.description = description category.save() message = "success" except: message = "failure" return UpdateCategory(message)
def mutate(self, info, name, email, affiliation, accesscode=None): validate_user_is_admin(info.context.user) team = Team(name=name, email=email, affiliation=affiliation) team.save() if accesscode: AccessCode(team=team, value=accesscode).save() else: AccessCode(team=team, value=''.join( random.choices(string.ascii_uppercase + string.digits, k=10))).save() return AddTeam(code=0)
def mutate(self, info, id, name, affiliation, email, website, accesscode): #, accesscode=None): validate_user_is_admin(info.context.user) try: team = Team.objects.get(pk=id) team.name = name team.affiliation = affiliation team.email = email team.website = website team.accesscode = accesscode team.save() message = "success" except: message = "failure" return UpdateTeam(message)
def mutate(self, info, name, description, category, flag, precomputed, hashed, points=0, encoded=False, hidden=False): validate_user_is_admin(info.context.user) get_category = Category.objects.get(name=category) newChallenge = Challenge(name=name, description=description, encoded=encoded, points=points, hidden=hidden, category=get_category) newChallenge.save() if hashed: if precomputed: flag = Flag(value=flag, challenge=newChallenge) else: flag = Flag(value=hashlib.sha256(flag.encode('utf-8')).hexdigest(), challenge=newChallenge) else: flag = Flag(value=flag, challenge=newChallenge) flag.save() return AddChallenge(code=0)
def mutate(self, info, name, description, points=0, flag="", show=False, category=None): validate_user_is_admin(info.context.user) try: if category: try: category = Category.objects.get(name=category) newChallenge = Challenge(name=name, description=description, points=points, show=show, category=category) newChallenge.save() flag = Flag(value=hashlib.md5( flag.encode('utf-8')).hexdigest(), challenge=newChallenge) flag.save() except: # Category not found message = "failure" else: newChallenge = Challenge(name=name, description=description, points=points, show=show) newChallenge.save() flag = Flag(value=flag, challenge=newChallenge) flag.save() message = "success" except: message = "failure" return AddChallenge(message)
def mutate(self, info, username, email, password, firstname, lastname, accesscode): validate_user_is_admin(info.context.user) team = Team.objects.filter(accesscode=accesscode).first() if team: newUser = User.objects.create_user(username=username, first_name=firstname, last_name=lastname, email=email, password=password) newProfile = Profile(user=newUser, verified=False, team=team, hidden=False) newProfile.save() code = 0 else: # Invaild access code code = 1 login(info.context, newUser) return AddUser(code=code)
def resolve_login_tracker(self, info): validate_user_is_admin(info.context.user) return LoginTracker.objects.all()
def resolve_value(self, info): validate_user_is_admin(info.context.user) return self.value
def resolve_hashed(self, info): validate_user_is_admin(info.context.user) return self.hashed
def resolve_flag(self, info, **kwargs): validate_user_is_admin(info.context.user) return Flag.objects.get(challenge__pk=kwargs.get('cid'))
def resolve_logs(self, info, **kwargs): validate_user_is_admin(info.context.user) return Log.objects.all()
def resolve_users(self, info): validate_user_is_admin(info.context.user) if validate_user_is_staff(info.context.user): return User.objects.all() else: raise Exception('Not authorized to view query users')