Commit e78511c8 authored by Grzegorz Pietrusza's avatar Grzegorz Pietrusza

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

parents 8ab1c216 6422ddc7
(function(){ (function(){
angular.module('ctfApp').controller('LoginController', angular.module('ctfApp').controller('LoginController',
['$scope', '$rootScope', '$location', 'AuthenticationService', '$window', 'NavbarService', ['$scope', '$rootScope', '$location', 'AuthenticationService', '$window', 'NavbarService', 'AppSettings',
function ($scope, $rootScope, $location, AuthenticationService, $window, NavbarService) { function ($scope, $rootScope, $location, AuthenticationService, $window, NavbarService, AppSettings) {
// reset login status // reset login status
AuthenticationService.clearCredentials(); AuthenticationService.clearCredentials();
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,7 @@
$location.path('/'); $location.path('/');
AuthenticationService.setCredentials($scope.username, $scope.password, response.team); AuthenticationService.setCredentials($scope.username, $scope.password, response.team);
// redirect to additional external auth point // redirect to additional external auth point
$window.location.href = "http://"+$scope.username+":"+$scope.password+"@52.28.244.24:8080/api/v1/auth"; $window.location.href = AppSettings.getApiAddressWithCredentials($scope.username, $scope.password) + '/auth';
} else { } else {
Materialize.toast('Błąd logowania! Spróbuj jeszcze raz.', 5000 ,'toast-error'); Materialize.toast('Błąd logowania! Spróbuj jeszcze raz.', 5000 ,'toast-error');
$scope.dataLoading = false; $scope.dataLoading = false;
......
(function(){ (function(){
angular.module('ctfApp').controller('TaskController', ['$scope', '$stateParams', 'APIProvider', 'AppSettings', function($scope, $stateParams, APIProvider, AppSettings) { angular.module('ctfApp').controller('TaskController', ['$scope', '$stateParams', 'APIProvider', 'AppSettings', function($scope, $stateParams, APIProvider, AppSettings) {
$scope.submitUnknown = false; $scope.submitUnknown = false;
$scope.apiAddress = 'http://' + AppSettings.apiAddress; $scope.apiAddress = AppSettings.getApiAddress();
$scope.selectedTaskId = $stateParams.taskLevel; $scope.selectedTaskId = $stateParams.taskLevel;
// console.log('SELECTED TASK ID', $scope.selectedTaskId); // console.log('SELECTED TASK ID', $scope.selectedTaskId);
APIProvider.getTaskById($scope.selectedTaskId, function(data){ APIProvider.getTaskById($scope.selectedTaskId, function(data){
......
(function(){ (function(){
angular.module('ctfApp').controller('TasksController', ['$scope', '$http', 'APIProvider', 'AppSettings', function($scope, $http, APIProvider, AppSettings) { angular.module('ctfApp').controller('TasksController', ['$scope', '$http', 'APIProvider', 'AppSettings', function($scope, $http, APIProvider, AppSettings) {
$scope.apiAddress = AppSettings.apiAddress; $scope.apiAddress = AppSettings.getApiAddress();
APIProvider.getTasks(function(data){ APIProvider.getTasks(function(data){
// console.log(data); // console.log(data);
$.each(data, function(key){
data[key].short_description = data[key].description.split(" ").slice(0,6).join(" ").concat("...");
});
APIProvider.getMyCompletedLevelsList(function(completed){ APIProvider.getMyCompletedLevelsList(function(completed){
$.each(data, function(key, task){ $.each(data, function(key, task){
if (completed.indexOf(task.level) !== -1){ if (completed.indexOf(task.level) !== -1){
...@@ -13,7 +18,9 @@ ...@@ -13,7 +18,9 @@
} }
}); });
}); });
$scope.tasks = data; $scope.tasks = data;
}); });
}]); }]);
})(); })();
\ No newline at end of file
...@@ -37,12 +37,31 @@ ...@@ -37,12 +37,31 @@
}]); }]);
app.factory('AppSettings', function() { app.factory('AppSettings', ['$http', function($http) {
var dev = "localhost:8080/api/v1", prod = "52.28.244.24:8080/api/v1";
// fallback into defaults, if everything fails, world collapses, hell freezes and /startup will not resolve
var domainName = '52.25.28.64', port = "http", schema = 8080;
return { return {
apiAddress: prod
initAPI: function(){
$http.get('/api/v1/startup').success(function(data){
console.debug(data);
domainName = data.domainName;
port = data.port;
schema = data.schema;
});
},
getApiAddress: function(){
return schema + "://" + domainName + ":" + port + "/api/v1";
},
getApiAddressWithCredentials: function(username, password){
return schema + "://" + username + ":" + password + "@" + domainName + ":" + port + "/api/v1";
}
}; };
}); }]);
app.config(['$httpProvider', function ($httpProvider) { app.config(['$httpProvider', function ($httpProvider) {
...@@ -59,8 +78,10 @@ ...@@ -59,8 +78,10 @@
}]); }]);
app.run(['$rootScope', '$location', '$cookieStore', '$http', 'NavbarService', app.run(['$rootScope', '$location', '$cookieStore', '$http', 'NavbarService', 'AppSettings',
function ($rootScope, $location, $cookieStore, $http, NavbarService) { function ($rootScope, $location, $cookieStore, $http, NavbarService, AppSettings) {
AppSettings.initAPI();
$(".button-collapse").sideNav(); $(".button-collapse").sideNav();
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
getScores: function(callback){ getScores: function(callback){
$http.get('http://' + AppSettings.apiAddress + '/solutions/all'). $http.get(AppSettings.getApiAddress() + '/solutions/all').
success(function(data) { success(function(data) {
scores = data; scores = data;
if (callback) callback(data); if (callback) callback(data);
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,7 @@
}, },
getTasks: function(callback){ getTasks: function(callback){
$http.get('http://' + AppSettings.apiAddress + '/tasks'). $http.get(AppSettings.getApiAddress() + '/tasks').
success(function(data) { success(function(data) {
this.getMySolutions(function(solutions){ this.getMySolutions(function(solutions){
if (solutions){ if (solutions){
...@@ -69,7 +69,7 @@ ...@@ -69,7 +69,7 @@
* @param callback * @param callback
*/ */
getMyCompletedLevelsList: function(callback){ getMyCompletedLevelsList: function(callback){
$http.get('http://' + AppSettings.apiAddress + '/solutions/my/completed'). $http.get(AppSettings.getApiAddress() + '/solutions/my/completed').
success(function(data) { success(function(data) {
if (callback) callback(data); if (callback) callback(data);
}); });
...@@ -82,7 +82,7 @@ ...@@ -82,7 +82,7 @@
* @returns {HttpPromise} * @returns {HttpPromise}
*/ */
submitFlag: function(level, flag){ submitFlag: function(level, flag){
return $http.post('http://' + AppSettings.apiAddress + '/solutions/' + level, flag); return $http.post(AppSettings.getApiAddress() + '/solutions/' + level, flag);
} }
}; };
}]); }]);
......
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
*/ */
login: function (username, password, callback) { login: function (username, password, callback) {
$http.get('http://' + username + ":" + password + "@" + AppSettings.apiAddress + '/whoami', { $http.get(AppSettings.getApiAddressWithCredentials(username, password) + '/whoami', {
headers: {'Authorization': 'Basic ' + Base64.encode(username + ':' + password)} headers: {'Authorization': 'Basic ' + Base64.encode(username + ':' + password)}
}) })
.then(function (response) { .then(function (response) {
...@@ -35,7 +35,7 @@ ...@@ -35,7 +35,7 @@
*/ */
logout: function (callback) { logout: function (callback) {
$http.get('http://' + 'askdjfadsf' + ':' + 'adsfasskdjfadsf' + '@' + AppSettings.apiAddress + '/whoami', { $http.get(AppSettings.getApiAddressWithCredentials('askdjfadsf', 'adsfasskdjfadsf') + '/whoami', {
headers: {'Authorization': 'Basic ' + Base64.encode('askdjfadsf' + ':' + 'adsfasskdjfadsf')} headers: {'Authorization': 'Basic ' + Base64.encode('askdjfadsf' + ':' + 'adsfasskdjfadsf')}
}).then(function(response){ }).then(function(response){
this.clearCredentials(); this.clearCredentials();
......
...@@ -18,11 +18,7 @@ ...@@ -18,11 +18,7 @@
</div> </div>
</span> </span>
<p> <p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut {{task.description}}
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> </p>
</div> </div>
</div> </div>
......
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
<i ng-if="task.taskType === 'WEB'" class="fa fa-globe" alt="Zadanie webowe"></i> <i ng-if="task.taskType === 'WEB'" class="fa fa-globe" alt="Zadanie webowe"></i>
{{task.name}} {{task.name}}
</span> </span>
<p>Poziom {{task.level}}. Super zadanie.</p> <p>Poziom {{task.level}}. {{task.short_description}}</p>
</div> </div>
<div class="card-action"> <div class="card-action">
<a href="#/task/{{task.level}}">Przejdź do zadania</a></td> <a href="#/task/{{task.level}}">Przejdź do zadania</a></td>
......
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