Commit c29f369d authored by Antek Grzanka's avatar Antek Grzanka

Merge branch 'master' of gitlab.telemabk.pl:jifwin/CTF

parents 7b03e802 9486be32
server:
rootPath: /api/v1/*
applicationConnectors:
- type: http
port: 8080
dbHost: 46.4.242.141
dbPort: 27017
dbName: db
......
......@@ -46,12 +46,14 @@ public class CTFApplication extends Application<ApplicationConfiguration>
private void registerResources(Environment environment)
{
//todo: use reflections to iterate over resources
JerseyEnvironment jersey = environment.jersey();
jersey.register(injector.getInstance(TeamsResource.class));
jersey.register(injector.getInstance(TasksResource.class));
jersey.register(injector.getInstance(ProxyResource.class));
jersey.register(injector.getInstance(SolutionsResource.class));
jersey.register(injector.getInstance(TaskResource.class));
jersey.register(injector.getInstance(UtilResource.class));
}
private void registerAuthFeatures(Environment environment)
......
......@@ -11,9 +11,6 @@ import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import java.util.List;
/**
* Created by gpietrus on 16.02.16.
*/
@Singleton
@Path(value = "/teams")
@Produces(MediaType.APPLICATION_JSON)
......
package resources;
import com.google.common.collect.ImmutableMap;
import io.dropwizard.auth.Auth;
import objects.Team;
import objects.User;
import repositories.TeamsRepository;
import javax.inject.Inject;
import javax.inject.Singleton;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import java.util.Optional;
@Singleton
@Path("/")
@Produces(MediaType.APPLICATION_JSON)
public class UtilResource
{
private TeamsRepository teamsRepository;
@Inject
public UtilResource(TeamsRepository teamsRepository)
{
this.teamsRepository = teamsRepository;
}
@GET
@Path("/whoami")
public ImmutableMap<Object, Object> getUserData(@Auth User user)
{
ImmutableMap.Builder<Object, Object> responseBuilder = ImmutableMap.builder();
String userName = user.getName();
responseBuilder.put("userName", userName);
Optional<Team> team = teamsRepository.getTeamByUserName(userName);
if (team.isPresent()) {
responseBuilder.put("teamName", team.get().getName());
}
return responseBuilder.build();
}
}
<div style="text-align:center">
KrakYournet 7 coś tam elo EESTEC fajnie
</div>
<div style="text-align:center;width:100%">made with <i class="fa fa-heart"></i> by <a href="http://telephoners.agh.edu.pl" id="telephoners"><img src="/page/statics/img/logo_telephoners.svg"></img></a></div>
\ No newline at end of file
<div style="text-align:center;width:100%">made with <i class="fa fa-heart"></i> by <a
href="http://telephoners.agh.edu.pl" id="telephoners"><img
src="/page/statics/img/logo_telephoners.svg"></img></a></div>
\ No newline at end of file
......@@ -9,24 +9,24 @@
<link rel="stylesheet" href="/page/statics/css/main.css">
</head>
<nav >
<nav>
<div class="nav-wrapper container">
<a href="#" class="brand-logo">
<span class="title"></span>
</a>
<ul id="nav-mobile" class="right hide-on-med-and-down">
<li><a href="page#/home">Początek</a></li>
<li ><a href="page#/tasks">Zadania</a></li>
<li ><a href="page#/scores">Wyniki</a></li>
<li><a href="page#/tasks">Zadania</a></li>
<li><a href="page#/scores">Wyniki</a></li>
</ul>
</div>
</nav>
<body>
<div class="container">
<div class="container">
<div ui-view></div>
</div>
</div>
</body>
<script type="text/javascript" src="/webjars/jquery/jquery.min.js"></script>
<script type="text/javascript" src="/webjars/materializecss/js/materialize.min.js"></script>
......@@ -46,6 +46,8 @@
});
});
</script>
</html>
<div ng-controller="ScoreboardController" class="scores">
<div id="scores">
<div ng-repeat="(team, score) in teamsScores" id="col-{{team}}" data-score="{{score}}" style="left:0; width:0; background-color:#336699;" class="column">
<div ng-repeat="(team, score) in teamsScores" id="col-{{team}}" data-score="{{score}}"
style="left:0; width:0; background-color:#336699;" class="column">
<div>{{team}} - {{score}}</div>
</div>
</div>
......
......@@ -33,7 +33,7 @@
app.factory('AppSettings', function() {
return {
apiAddress: "http://localhost:8080"
apiAddress: "http://localhost:8080/api/v1"
}
});
......@@ -64,7 +64,7 @@
callback(result);
},
submitFlag: function(flag){
return $http.post(AppSettings.apiAddress + '/tasks', flag);
return $http.post(AppSettings.apiAddress + '/solutions', flag);
}
};
}]);
......
......@@ -13,12 +13,16 @@
<div class="card-content white-text">
<span class="card-title">
<div class="row">
<div class="col s1"> <i class="fa fa-question"></i></div>
<div class="col s1"><i class="fa fa-question"></i></div>
<div class="col s11">Opis</div>
</div>
</span>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut
labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco
laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in
voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat
non proident, sunt in culpa qui officia deserunt mollit anim id est laborum
</p>
</div>
</div>
......@@ -28,7 +32,7 @@
<div class="card-content white-text">
<span class="card-title">
<div class="row">
<div class="col s1"> <i class="fa fa-flag"></i></div>
<div class="col s1"><i class="fa fa-flag"></i></div>
<div class="col s11">Flagi</div>
</div>
</span>
......@@ -36,7 +40,8 @@
Nie dodano żadnych flag.
</p>
<button ng-click="submitFlag()" class="btn waves-effect waves-light" type="submit" name="action" style="float:right" ng-if="!submitUnknown">Submit
<button ng-click="submitFlag()" class="btn waves-effect waves-light" type="submit" name="action"
style="float:right" ng-if="!submitUnknown">Submit
<i class="material-icons right">send</i>
</button>
......@@ -44,15 +49,17 @@
<div class="spinner-layer spinner-green-only">
<div class="circle-clipper left">
<div class="circle"></div>
</div><div class="gap-patch">
</div>
<div class="gap-patch">
<div class="circle"></div>
</div><div class="circle-clipper right">
</div>
<div class="circle-clipper right">
<div class="circle"></div>
</div>
</div>
</div>
<div class="input-field" style="overflow:hidden" >
<div class="input-field" style="overflow:hidden">
<input placeholder="Wpisz flagę" id="flag-to-submit" type="text" class="validate">
</div>
......@@ -60,13 +67,11 @@
</div>
</div>
<div class="col s12 m4" style="text-align:center">
<img src="http://lorempixel.com/400/300/" />
<a class="waves-effect waves-light btn" target="_blank" href="{{apiAddress}}/task/{{task.level}}" style="width:100%;margin-top:15px">Otwórz stronę z zadaniem</a>
<img src="http://lorempixel.com/400/300/"/>
<a class="waves-effect waves-light btn" target="_blank" href="{{apiAddress}}/task/{{task.level}}"
style="width:100%;margin-top:15px">Otwórz stronę z zadaniem</a>
</div>
</div>
</div>
\ No newline at end of file
<div ng-controller="TasksController">
<div class="row">
<div class="col s12 m6" ng-repeat="task in tasks">
<div class="card blue-grey darken-1" >
<div class="card blue-grey darken-1">
<div class="card-content white-text">
<span class="card-title">
<i ng-if="task.taskType === 'CRYPTO'" class="fa fa-key" alt="Zadanie kryptograficzne"></i>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment