Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

move to REST from gRPC #232

Merged
merged 54 commits into from
Jul 28, 2022
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
Show all changes
54 commits
Select commit Hold shift + click to select a range
eb941ad
move /login to rest, still under dev
mrtrkmn Jul 1, 2022
04b13a9
move list events to REST
mrtrkmn Jul 1, 2022
a1492ea
error message shown on the page
mrtrkmn Jul 4, 2022
92ece7a
remove token response from console log
mrtrkmn Jul 4, 2022
852833f
remove API_URL import
mrtrkmn Jul 4, 2022
39a43f2
list events error message show on display
mrtrkmn Jul 4, 2022
27fec03
update error message response
mrtrkmn Jul 4, 2022
6dc096f
get events by status
mrtrkmn Jul 4, 2022
3cc5d89
signup endpoint moved to rest
mrtrkmn Jul 4, 2022
8636ff8
API_ENDPOINT added to main App
mrtrkmn Jul 4, 2022
d83c9f3
move user invite to REST
mrtrkmn Jul 4, 2022
60e446e
remove leftover from gRPC on Signup.vue
mrtrkmn Jul 4, 2022
9e94366
Graphs.vue moved to REST
mrtrkmn Jul 4, 2022
6c97cb7
APICreds.vue moved to REST
mrtrkmn Jul 4, 2022
ccd6fc7
TeamFlags.vue moved to REST
mrtrkmn Jul 4, 2022
428922a
Users.vue moved to REST
mrtrkmn Jul 4, 2022
804a66a
crate/stop event requests moved to REST
mrtrkmn Jul 9, 2022
fbf90b0
add announcement moved to REST
mrtrkmn Jul 9, 2022
e9e9e66
updateteampass moved to REST
mrtrkmn Jul 9, 2022
9f7a357
getExercises moved to REST
mrtrkmn Jul 9, 2022
1f0a58e
update order of mesages in create/stop event
mrtrkmn Jul 9, 2022
ce872ee
suspend/resume event moved to REST
mrtrkmn Jul 10, 2022
b3159a7
/admin/exercise/list moved to REST
mrtrkmn Jul 10, 2022
5e78d14
listchallenges/teaminfo moved to REST
mrtrkmn Jul 10, 2022
a59737a
eventModal functions moved
mrtrkmn Jul 11, 2022
cd00d3e
console logs removed
mrtrkmn Jul 11, 2022
3666e71
show error message on homepage
mrtrkmn Jul 11, 2022
71da88a
/admin/frontends/list moved to REST
mrtrkmn Jul 13, 2022
fabcfb2
/admin/profiles/list moved to REST
mrtrkmn Jul 13, 2022
1700c21
chalmodal getexercises added
mrtrkmn Jul 13, 2022
b27ed03
add categories function
mrtrkmn Jul 13, 2022
4a39970
getprofiles and categories moved to REST
mrtrkmn Jul 14, 2022
cc2b095
getProfiles updated with REST
mrtrkmn Jul 14, 2022
0deea5b
/admin/profile/delete is moved to REST
mrtrkmn Jul 14, 2022
3f66bee
update/save profiles implemented in REST
mrtrkmn Jul 14, 2022
541a0fe
add notification request is updated
mrtrkmn Jul 14, 2022
9be91e6
listTeams / deleteTeam moved to REST
mrtrkmn Jul 16, 2022
5ba3618
update team flags vue component
mrtrkmn Jul 16, 2022
1269a72
teams gRPC endpoints converted to REST
mrtrkmn Jul 16, 2022
62df066
update lab restart on teams page
mrtrkmn Jul 16, 2022
11da6d0
fix issue on updating password of a team
mrtrkmn Jul 16, 2022
8f54d1c
removed commented gRPC functions
mrtrkmn Jul 17, 2022
2ecce2a
move /admin/event/reset/exercise to REST
mrtrkmn Jul 17, 2022
c535ead
addchallenge moved to REST
mrtrkmn Jul 17, 2022
e761857
websocket api endpoint added, grpc remoed
mrtrkmn Jul 23, 2022
240cfd2
monitorhost moved to async func from gRPC
mrtrkmn Jul 23, 2022
b10d10b
websocket endpoint and api endpoint adjusted
mrtrkmn Jul 23, 2022
3505b04
removed proto js files completely
mrtrkmn Jul 23, 2022
b92594a
envoy removed from docker-compose files
mrtrkmn Jul 23, 2022
69c6bc9
envoy configurations are removed
mrtrkmn Jul 23, 2022
2fef34b
unnecessary proto files are removed
mrtrkmn Jul 23, 2022
dd9b741
updated websocket and rest endpoints
mrtrkmn Jul 23, 2022
2c0001e
proto related content removed from docker
mrtrkmn Jul 23, 2022
8f5deab
grpc-web dependencies are removed
mrtrkmn Jul 23, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
53 changes: 32 additions & 21 deletions client/src/Pages/Home.vue
Original file line number Diff line number Diff line change
Expand Up @@ -62,20 +62,20 @@
<th>Event Tag</th><th>Name</th><th>#_Team</th><th>#_Exercises</th><th>Availability</th><th>Capacity</th><th>Status</th><th>Action</th><th>Stop</th><th>Secret_Key</th><th>Created_By</th><th>Creation_Date</th><th>Finish_Date</th>
</thead>
<tbody v-if="events!=null">
<tr v-for="event in events.eventsList" v-bind:key="event.tag">
<tr v-for="event in events" v-bind:key="event.tag">
<td><strong><router-link :to="{name: 'event', params: {tag: event.tag}}" class="text-haaukins" >{{event.tag}}</router-link></strong></td>
<td>{{event.name}}</td>
<td>{{event.teamcount}}</td>
<td>{{event.teamCount}}</td>
<td>{{challenges_count(event.exercises)}}</td>
<td>{{event.availability}}</td>
<td>{{event.capacity}}</td>
<td>{{event_status(event.status)}}</td>
<td><button v-on:click="suspendResumeEvent(event.tag, event.status)" type="button" class="btn btn-warning btn-sm" :disabled="event.status == Booked">{{suspendResumeEventButton(event.status)}}</button></td>
<td><button v-on:click="stopEvent(event.tag)" type="button" class="btn btn-danger btn-sm">Stop</button></td>
<td>{{event.secretevent}}</td>
<td>{{event.createdby}}</td>
<td>{{beaut_date(event.creationtime)}}</td>
<td>{{beaut_date(event.finishtime)}}</td>
<td>{{event.secretEvent}}</td>
<td>{{event.createdBy}}</td>
<td>{{beauty_date(event.creationTime)}}</td>
<td>{{beauty_date(event.finishTime)}}</td>
</tr>
</tbody>
<tbody v-else>
Expand Down Expand Up @@ -124,7 +124,7 @@
<script>
import Navbar from "../components/Navbar";
import Footer from "../components/Footer";
import { ListEventsRequest,
import {
StopEventRequest,
SuspendEventRequest,
InviteUserRequest,
Expand All @@ -133,6 +133,7 @@
import EventModal from "../components/EventModal";
import ChalModal from "../components/ChalModal";
import AnnounceModal from "../components/AnnounceModal";
import APIURL from "../router"

export default {
name: "Home",
Expand All @@ -152,7 +153,8 @@
{ item: 'super_user', name: 'Super User' },
{ item: 'np_user', name: 'NP User' },
],
userSelected: ""
userSelected: "",
API_URL: 'http://localhost:8090/admin/event/list'
mrtrkmn marked this conversation as resolved.
Show resolved Hide resolved
}
},
created: function() {
Expand Down Expand Up @@ -197,18 +199,27 @@
}
,
listEvent: function (status) {
let getRequest = new ListEventsRequest();
getRequest.setStatus(status)
daemonclient.listEvents(getRequest, {Token: localStorage.getItem("user")}, (err, response) => {
if (err == null) {
this.events = response.toObject()
this.events['eventsList'].sort(function (a, b) {
return new Date(a.creationtime.replace(/\s/, 'T')) - new Date(b.creationtime.replace(/\s/, 'T'));
})
}else{
this.error = err;
}
});
const opts = {
method: 'GET',
headers: { 'Content-Type': 'application/json' , 'token': localStorage.getItem('user')},

};
window.console.log(status)
mrtrkmn marked this conversation as resolved.
Show resolved Hide resolved
fetch(this.API_URL, opts).then(response => response.json())
.then(response => {
this.events = response.events
this.events.sort(function (a, b) {
return new Date(a.creationtime.replace(/\s/, 'T')) - new Date(b.creationtime.replace(/\s/, 'T'));
})
window.console.log(this.events)
})
.catch(function (err) {
window.console.log("Unable to fetch -", err);
this.error = err;
window.console.log(err)
return
});

},

addChallenge: function (request) {
Expand Down Expand Up @@ -358,7 +369,7 @@
const challenges = challenges_string.split(",");
return challenges.length
},
beaut_date: function (string_date){
beauty_date: function (string_date){
let date = new Date(string_date.replace(/\s/, 'T'));
return date.getDate() + "/" + (date.getMonth() + 1) + "/" + date.getFullYear()
},
Expand Down
60 changes: 30 additions & 30 deletions client/src/Pages/Login.vue
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,6 @@

<script>
import { router } from '../router';
import { daemonclient } from "../App";
import { LoginUserRequest } from "daemon_pb"

export default {
data () {
return {
Expand All @@ -36,7 +33,8 @@
submitted: false,
loading: false,
returnUrl: '',
error: null
error: null,
API_URL: 'http://localhost:8090/admin/login'
}
},
created () {
Expand All @@ -48,33 +46,35 @@
this.returnUrl = this.$route.query.returnUrl || '/';
},
methods: {
login () {
this.submitted = true;
const { username, password } = this;
// stop here if form is invalid
if (!(username && password)) {
return;
}else{
this.loading = true;
let getRequest = new LoginUserRequest();
getRequest.setUsername(username);
getRequest.setPassword(password);

//router.push(this.returnUrl)

daemonclient.loginUser(getRequest, {}, (err, response) => {
if (err == null && response.getError() == '') {
localStorage.setItem('user', response.getToken());
localStorage.setItem('user-email', username);
router.push(this.returnUrl)
}else{
this.error = err || response.getError();
this.submitted = false;
this.loading = false;
}
});
}
login() {
this.submitted = true;
const opts = {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({"username":this.username, "password":this.password}),
};
if (!(this.username && this.password)) {
return;
}
fetch(this.API_URL, opts)
.then(response => response.json())
.then(response => {
window.console.log('Respond is '+ response["token"]);
localStorage.setItem('user', response["token"]);
localStorage.setItem('user-email', this.username);
router.push(this.returnUrl)
window.console.log("Login successful from REST...")
})
.catch(err =>{
window.console.log("Unable to fetch -", err);
this.error = err;
this.submitted = false;
this.loading = false;
window.console.log(err)
return
});

},
}
};
</script>
Expand Down