This commit is contained in:
Peter Maquiran
2022-04-02 09:40:09 +01:00
parent 53c59e7a43
commit e69392ce58
19 changed files with 786 additions and 213 deletions
+214 -29
View File
@@ -28,9 +28,21 @@ export class EventsService {
headersMdOficial: HttpHeaders;
headersMdPessoal: HttpHeaders;
headerOwnOficial: HttpHeaders;
headersOwnPessoal: HttpHeaders;
headerSharedOficial: HttpHeaders;
headerSharedPessoal: HttpHeaders;
headersSharedOficial: HttpHeaders;
headersSharedPessoal: HttpHeaders;
hasSharedCalendar = false
hasOwnCalendar = false
calendarOwnerIds = []
constructor(
private http: HttpClient,
public user: AuthService,
@@ -51,6 +63,13 @@ export class EventsService {
this.headersSharedPessoal = new HttpHeaders();
this.headerOwnOficial= new HttpHeaders();
this.headersOwnPessoal= new HttpHeaders();
this.headerSharedOficial= new HttpHeaders();
this.headerSharedPessoal= new HttpHeaders();
this.setHeader()
this.changeProfileService.registerCallback(() => {
this.loggeduser = this.user.ValidatedUser;
@@ -61,10 +80,23 @@ export class EventsService {
setHeader() {
this.hasSharedCalendar = false
this.hasOwnCalendar = false
this.calendarOwnerIds = []
if (this.loggeduser) {
if (this.loggeduser.Profile == 'MDGPR') {
this.loggeduser.OwnerCalendars.forEach(calendar => {
if(!this.calendarOwnerIds.includes(calendar.OwnerUserId)) {
this.calendarOwnerIds.push(calendar.OwnerUserId)
}
this.hasOwnCalendar = true
if (calendar.CalendarName == 'Oficial') {
this.headersMdOficial = this.headersMdOficial.set('Authorization', this.loggeduser.BasicAuthKey);
this.headersMdOficial = this.headersMdOficial.set('CalendarId', calendar.CalendarId);
@@ -79,6 +111,13 @@ export class EventsService {
});
this.loggeduser.SharedCalendars.forEach(sharedCalendar => {
if(!this.calendarOwnerIds.includes(sharedCalendar.OwnerUserId)) {
this.calendarOwnerIds.push(sharedCalendar.OwnerUserId)
}
this.hasSharedCalendar = true
if (sharedCalendar.CalendarName == 'Oficial') {
this.headersSharedOficial = this.headersSharedOficial.set('Authorization', this.loggeduser.BasicAuthKey);
this.headersSharedOficial = this.headersSharedOficial.set('CalendarId', sharedCalendar.CalendarId);
@@ -94,6 +133,13 @@ export class EventsService {
else if (this.loggeduser.Profile == 'PR') {
this.loggeduser.OwnerCalendars.forEach(calendar => {
if(!this.calendarOwnerIds.includes(calendar.OwnerUserId)) {
this.calendarOwnerIds.push(calendar.OwnerUserId)
}
this.hasOwnCalendar = true
if (calendar.CalendarName == 'Oficial') {
this.headersPrOficial = this.headersPrOficial.set('Authorization', this.loggeduser.BasicAuthKey);
this.headersPrOficial = this.headersPrOficial.set('CalendarId', calendar.CalendarId);
@@ -106,6 +152,52 @@ export class EventsService {
}
});
} else {
this.loggeduser.OwnerCalendars.forEach(calendar => {
if(!this.calendarOwnerIds.includes(calendar.OwnerUserId)) {
this.calendarOwnerIds.push(calendar.OwnerUserId)
}
this.hasOwnCalendar = true
if (calendar.CalendarName == 'Oficial') {
this.headerOwnOficial = this.headerOwnOficial.set('Authorization', this.loggeduser.BasicAuthKey);
this.headerOwnOficial = this.headerOwnOficial.set('CalendarId', calendar.CalendarId);
this.headerOwnOficial = this.headerOwnOficial.set('CalendarRoleId', calendar.CalendarRoleId);
}
else if (calendar.CalendarName == 'Pessoal') {
this.headersOwnPessoal.set('Authorization', this.loggeduser.BasicAuthKey);
this.headersOwnPessoal.set('CalendarId', calendar.CalendarId);
this.headersOwnPessoal.set('CalendarRoleId', calendar.CalendarRoleId);
}
});
for (let sharedCalendar of this.loggeduser.SharedCalendars) {
if(!this.calendarOwnerIds.includes(sharedCalendar.OwnerUserId)) {
this.calendarOwnerIds.push(sharedCalendar.OwnerUserId)
}
this.hasSharedCalendar = true
if (sharedCalendar.CalendarName == 'Oficial') {
this.headerSharedOficial = this.headerSharedOficial.set('Authorization', 'Basic '+sharedCalendar.CalendarToken);
this.headerSharedOficial = this.headerSharedOficial.set('CalendarId', sharedCalendar.CalendarId);
this.headerSharedOficial = this.headerSharedOficial.set('CalendarRoleId', sharedCalendar.CalendarRoleId);
}
else if (sharedCalendar.CalendarName == 'Pessoal') {
this.headerSharedPessoal = this.headerSharedPessoal.set('Authorization', 'Basic '+sharedCalendar.CalendarToken);
this.headerSharedPessoal = this.headerSharedPessoal.set('CalendarId', sharedCalendar.CalendarId);
this.headerSharedPessoal = this.headerSharedPessoal.set('CalendarRoleId', sharedCalendar.CalendarRoleId);
}
}
console.log(this.loggeduser.SharedCalendars)
}
this.headers = new HttpHeaders();
@@ -113,20 +205,6 @@ export class EventsService {
}
}
/* getAllEvents(startdate:string, enddate:string): Observable<Event[]>{
const geturl = environment.apiURL + 'calendar/GetAllEvents';
let params = new HttpParams();
params = params.set("StartDate", startdate);
params = params.set("EndDate", enddate);
let options = {
headers: this.headers,
params: params
};
return this.http.get<Event[]>(`${geturl}`, options);
} */
getAllPrOficialEvents(startdate: string, enddate: string): Observable<EventList[]> {
let geturl = environment.apiURL + 'calendar/pr';
@@ -208,6 +286,93 @@ export class EventsService {
});
}
async getAllOwnEvents(startdate: string, enddate: string) {
let ownO = await this.getAllOwnOficialEvents(startdate, enddate).toPromise();
let ownP = await this.getAllOwnPessoalEvents(startdate, enddate).toPromise();
const resFinal = ownO.concat(ownP);
return new Promise(resolve => {
return resolve(resFinal)
});
}
getAllOwnOficialEvents(startdate: string, enddate: string): Observable<EventList[]> {
let geturl = environment.apiURL + 'calendar/GetEvents';
let params = new HttpParams();
params = params.set("StartDate", startdate);
params = params.set("EndDate", enddate);
let options = {
headers: this.headerOwnOficial,
params: params
};
return this.http.get<EventList[]>(`${geturl}`, options);
}
getAllOwnPessoalEvents(startdate: string, enddate: string): any {
let geturl = environment.apiURL + 'calendar/GetEvents';
let params = new HttpParams();
params = params.set("StartDate", startdate);
params = params.set("EndDate", enddate);
let options = {
headers: this.headersOwnPessoal,
params: params
};
return this.http.get<any>(`${geturl}`, options)
}
async genericGetAllSharedEvents(startdate: string, enddate: string) {
let prO = await this.genericGetAllSharedOficialEvents(startdate, enddate).toPromise();
let prP = await this.genericGetAllSharedPessoalEvents(startdate, enddate).toPromise();
const resFinal = prO.concat(prP);
return new Promise(resolve => {
return resolve(resFinal)
});
}
genericGetAllSharedOficialEvents(startdate: string, enddate: string): Observable<Event[]> {
let geturl = environment.apiURL + 'calendar/GetEvents';
geturl = geturl.replace('/V4/', '/V5/')
let params = new HttpParams();
params = params.set("StartDate", startdate);
params = params.set("EndDate", enddate);
let options = {
headers: this.headerSharedOficial,
params: params
};
return this.http.get<Event[]>(`${geturl}`, options);
}
genericGetAllSharedPessoalEvents(startdate: string, enddate: string): Observable<Event[]> {
let geturl = environment.apiURL + 'calendar/GetEvents';
geturl = geturl.replace('/V4/', '/V5/')
let params = new HttpParams();
params = params.set("StartDate", startdate);
params = params.set("EndDate", enddate);
let options = {
headers: this.headerSharedPessoal,
params: params
};
return this.http.get<Event[]>(`${geturl}`, options);
}
async getAllSharedEvents(startdate: string, enddate: string) {
let prO = await this.getAllSharedOficialEvents(startdate, enddate).toPromise();
let prP = await this.getAllSharedPessoalEvents(startdate, enddate).toPromise();
@@ -328,6 +493,8 @@ export class EventsService {
}
else if (this.loggeduser.Profile == 'PR') {
this.headers = this.headersPrOficial;
} else {
this.headers = this.headerOwnOficial
}
}
else {
@@ -337,6 +504,9 @@ export class EventsService {
else if (this.loggeduser.Profile == 'PR') {
this.headers = this.headersPrPessoal;
}
else {
this.headers = this.headersOwnPessoal
}
}
let options = {
@@ -361,21 +531,6 @@ export class EventsService {
return this.http.post<any>(`${puturl}`, body, options);
}
/* postEvent(event:Event, calendarName:string, sharedagenda:string)
{
const puturl = environment.apiURL + 'calendar/' + ((sharedagenda != '') ? sharedagenda : 'PostEvent');
let params = new HttpParams();
params = params.set("CalendarName", calendarName);
let options = {
headers: this.headers,
params: params
};
return this.http.post<Event>(`${puturl}`, event, options)
} */
postEventMd(event: Event, calendarName: string) {
const puturl = environment.apiURL + 'calendar/md';
let params = new HttpParams();
@@ -432,6 +587,36 @@ export class EventsService {
return this.http.post<string>(`${puturl}`, event, options)
}
postEventGeneric(event: Event, calendarName: string) {
const puturl = environment.apiURL + 'Calendar/PostEvent';
let params = new HttpParams();
params = params.set("CalendarName", calendarName);
let options: any;
switch (calendarName) {
case 'Oficial':
options = {
headers: this.headerSharedOficial,
params: params
};
break;
case 'Pessoal':
options = {
headers: this.headerSharedPessoal,
params: params
};
break;
}
return this.http.post<string>(`${puturl}`, event, options)
}
deleteEvent(eventid: string, eventDeleteType: number, calendarName: string) {
let arrayReq = [];
let Object = {