Merge branch 'develop' of Software_Engineering_I/greenvironment-server into master

pull/5/head
Trivernis 5 years ago committed by Gitea
commit 5b0edc1423

@ -23,6 +23,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- getActivities field to receive all activities
- createActivity mutation
- activities table
- event and eventCount to UserData gql interface
- joined field to Event gql type
- joined field to Group gql type
### Removed

@ -138,9 +138,15 @@ interface UserData {
"The groups the user has joined"
groups(first: Int=10, offset: Int=0): [Group]
"The numbef of groups the user has joined"
"The number of groups the user has joined"
groupCount: Int!
"The events the user is participating in"
events(first: Int=10, offset: Int=0): [Event]
"The number of events the user is participating in"
eventCount: Int!
"the points of the user"
points: Int!
@ -189,6 +195,12 @@ type User implements UserData{
"The numbef of groups the user has joined"
groupCount: Int!
"The events the user is participating in"
events(first: Int=10, offset: Int=0): [Event]
"The number of events the user is participating in"
eventCount: Int!
"the levels of the user depending on the points"
level: Int!
}
@ -251,6 +263,12 @@ type Profile implements UserData {
"The numbef of groups the user has joined"
groupCount: Int!
"The events the user is participating in"
events(first: Int=10, offset: Int=0): [Event]
"The number of events the user is participating in"
eventCount: Int!
"the points of the user"
points: Int!
@ -370,6 +388,9 @@ type Group {
"the events of the group"
events(first: Int=10, offset: Int=0): [Event!]!
"If the user with the specified id has joined the group"
joined(userId: Int!): Boolean
}
type Event {
@ -387,6 +408,9 @@ type Event {
"The participants of the event."
participants(first: Int=10, offset: Int=0): [User!]!
"Returns if the user with the specified id has joined the event"
joined(userId: Int!): Boolean
}
"respresents an access token entry with the value as the acutal token and expires as the date the token expires."

@ -24,13 +24,30 @@ export class Event extends Model<Event> {
@BelongsToMany(() => User, () => EventParticipant)
public rParticipants: User[];
/**
* Returns the group the event belongs to
*/
public async group(): Promise<Group> {
return await this.$get("rGroup") as Group;
}
/**
* Returns the participants of the event
* @param first
* @param offset
*/
public async participants({first, offset}: {first: number, offset: number}): Promise<User[]> {
const limit = first ?? 10;
offset = offset ?? 0;
return await this.$get("rParticipants", {limit, offset}) as User[];
}
/**
* Returns if the specified user has joined the event
* @param userId
*/
public async joined({userId}: {userId: number}): Promise<boolean> {
const participants = await this.$get("rParticipants", {where: {id: userId}}) as User[];
return participants.length !== 0;
}
}

@ -47,29 +47,59 @@ export class Group extends Model<Group> {
@HasMany(() => Event, "groupId")
public rEvents: Event[];
/**
* Returns the creator of the group
*/
public async creator(): Promise<User> {
return await this.$get("rCreator") as User;
}
/**
* Returns the list of admins with pagination
* @param first
* @param offset
*/
public async admins({first, offset}: { first: number, offset: number }): Promise<User[]> {
const limit = first ?? 10;
offset = offset ?? 0;
return await this.$get("rAdmins", {limit, offset}) as User[];
}
/**
* Returns the list of members with pagination
* @param first
* @param offset
*/
public async members({first, offset}: { first: number, offset: number }): Promise<User[]> {
const limit = first ?? 10;
offset = offset ?? 0;
return await this.$get("rMembers", {limit, offset}) as User[];
}
/**
* Returns the chat that belongs to the group
*/
public async chat(): Promise<ChatRoom> {
return await this.$get("rChat") as ChatRoom;
}
/**
* Returns all group events with pagination
* @param first
* @param offset
*/
public async events({first, offset}: { first: number, offset: number }): Promise<Event[]> {
const limit = first ?? 10;
offset = offset ?? 0;
return await this.$get("rEvents", {limit, offset}) as Event[];
}
/**
* Returns if a user has joined the group
* @param userId
*/
public async joined({userId}: {userId: number}): Promise<boolean> {
const members = await this.$get("rMembers", {where: {id: userId}}) as User[];
return members.length !== 0;
}
}

Loading…
Cancel
Save