mirror of
https://code.equilibrium.co.ao/ITO/doneit-web.git
synced 2026-04-19 21:06:06 +00:00
Merge branch 'feature/shared-content' of https://bitbucket.org/equilibriumito/gabinete-digital-fo into feature/shared-content
This commit is contained in:
+99
-1
@@ -1,5 +1,103 @@
|
||||
|
||||
export interface refreshToken {
|
||||
export interface refreshTokenDTO {
|
||||
Authorization: string,
|
||||
refreshToken: null
|
||||
}
|
||||
|
||||
|
||||
export interface EventsDTO {
|
||||
HasAttachments: boolean
|
||||
IsAllDayEvent: boolean
|
||||
EventId: string
|
||||
Subject: string
|
||||
Location: string
|
||||
CalendarId: string
|
||||
CalendarName: string
|
||||
StartDate: string
|
||||
EndDate: string
|
||||
Schedule: string
|
||||
RequiredAttendees: any
|
||||
OptionalAttendees: any
|
||||
HumanDate: string
|
||||
TimeZone: string
|
||||
IsPrivate: boolean
|
||||
}
|
||||
|
||||
|
||||
export interface EventDetailsDTO {
|
||||
HasAttachments: boolean
|
||||
EventComunicationId: number
|
||||
EventId: string
|
||||
Subject: string
|
||||
Body: EventDetailsBody
|
||||
Location: string
|
||||
CalendarId: string
|
||||
CalendarName: string
|
||||
StartDate: string
|
||||
EndDate: string
|
||||
EventType: string
|
||||
Attendees: EventDetailsAttendee[]
|
||||
IsMeeting: boolean
|
||||
IsRecurring: boolean
|
||||
IsAllDayEvent: boolean
|
||||
AppointmentState: number
|
||||
TimeZone: string
|
||||
Organizer: EventDetailsOrganizer
|
||||
InstanceId: any
|
||||
Category: string
|
||||
EventRecurrence: EventDetailsEventRecurrence
|
||||
Attachments: EventDetailsAttachment[]
|
||||
IsPrivate: boolean
|
||||
}
|
||||
|
||||
interface EventDetailsBodyDTO {
|
||||
BodyType: number
|
||||
Text: string
|
||||
}
|
||||
|
||||
interface EventDetailsAttendee {
|
||||
Id: number
|
||||
EmailAddress: string
|
||||
Name: string
|
||||
IsRequired: boolean
|
||||
UserType: string
|
||||
IsPR: boolean
|
||||
Entity: any
|
||||
Acknowledgment: boolean
|
||||
RoleDescription: any
|
||||
}
|
||||
|
||||
interface EventDetailsOrganizer {
|
||||
Id: number
|
||||
EmailAddress: string
|
||||
Name: string
|
||||
IsRequired: boolean
|
||||
UserType: any
|
||||
IsPR: boolean
|
||||
Entity: any
|
||||
Acknowledgment: boolean
|
||||
RoleDescription: any
|
||||
}
|
||||
|
||||
interface EventDetailsEventRecurrence {
|
||||
Type: number
|
||||
Day: any
|
||||
DayOfWeek: any
|
||||
Month: any
|
||||
LastOccurrence: any
|
||||
}
|
||||
|
||||
interface EventDetailsAttachment {
|
||||
Id: number
|
||||
ParentId: string
|
||||
Source: number
|
||||
SourceId: string
|
||||
Description: string
|
||||
SourceName: string
|
||||
CreateDate: string
|
||||
Stakeholders: string
|
||||
Link: string
|
||||
Data: any
|
||||
ApplicationId: number
|
||||
FileSize: number
|
||||
}
|
||||
|
||||
@@ -1,8 +1,16 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { environment } from 'src/environments/environment';
|
||||
import { HttpServiceService } from 'src/app/services/http/http-service.service';
|
||||
import { Observable } from "rxjs";
|
||||
import { refreshToken } from "./interface"
|
||||
import { Observable} from 'rxjs';
|
||||
import { EventsDTO, refreshTokenDTO } from "./interface";
|
||||
import { HttpParams } from '@angular/common/http';
|
||||
import { DetectCalendars, makeHeaderForCalendar } from '../../utils/utils';
|
||||
import { z } from "zod";
|
||||
import { ok, err } from 'neverthrow';
|
||||
|
||||
// let a = z
|
||||
// let b = ok
|
||||
|
||||
@Injectable({
|
||||
providedIn: 'root'
|
||||
})
|
||||
@@ -12,12 +20,42 @@ export class MiddlewareServiceService {
|
||||
private HttpServiceService: HttpServiceService,
|
||||
) {}
|
||||
|
||||
|
||||
refreshToken(refreshToken: string): Observable<refreshToken> {
|
||||
refreshToken(refreshToken: string): Observable<refreshTokenDTO> {
|
||||
const data = {
|
||||
refreshToken: refreshToken
|
||||
}
|
||||
|
||||
return this.HttpServiceService.put(environment.apiURL + "UserAuthentication/RefreshToken", data, {})
|
||||
// .pipe(
|
||||
// map((response: HttpResponse<refreshToken>) => {
|
||||
// return response.body
|
||||
// })
|
||||
// );
|
||||
}
|
||||
|
||||
// ================================ Calendar =================================================
|
||||
|
||||
GetEvents(startDate: string, endDate: string, calendarId): Observable<EventsDTO[]> {
|
||||
|
||||
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);
|
||||
|
||||
const calendar = DetectCalendars(calendarId)
|
||||
const header = makeHeaderForCalendar(calendar)
|
||||
|
||||
let options = {
|
||||
headers: header,
|
||||
params: params
|
||||
};
|
||||
|
||||
// return this.HttpServiceService.get<Event[]>(`${geturl}`, options);
|
||||
|
||||
return {} as any
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -68,7 +68,7 @@
|
||||
displayFormat="D MMM YYYY H:mm"
|
||||
minuteValues="0,5,10,15,20,25,30,35,40,45,50,55"
|
||||
monthShortNames="Jan, Fev, Mar, Abr, Mai, Jun, Jul, Aug, Sep, Out, Nov, Dez"
|
||||
min="{{endMinDate}}"
|
||||
min="{{minDate}}"
|
||||
max="2025">
|
||||
</ion-datetime>
|
||||
|
||||
@@ -104,10 +104,9 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</ion-content>
|
||||
|
||||
<ion-footer class="ion-no-border">
|
||||
@@ -122,6 +121,6 @@
|
||||
<ion-label>Cancelar</ion-label>
|
||||
</button>
|
||||
</ion-buttons>
|
||||
|
||||
|
||||
</ion-toolbar>
|
||||
</ion-footer>
|
||||
|
||||
@@ -41,7 +41,7 @@ export class EditActionPage implements OnInit {
|
||||
public touchUi = false;
|
||||
public enableMeridian = false;
|
||||
public minDate = new Date().toISOString().slice(0,10)
|
||||
public endMinDate = new Date(new Date().getTime() + 15 * 60000);
|
||||
public endMinDate = new Date(new Date().getTime() + 15 * 60000).toISOString().slice(0,10)
|
||||
public maxDate: any;
|
||||
public stepHour = 1;
|
||||
public stepMinute = 15;
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
import { HttpHeaders } from "@angular/common/http";
|
||||
import { calendarInterface } from "src/app/models/user.model";
|
||||
import { SessionStore } from "src/app/store/session.service";
|
||||
|
||||
export function DetectCalendars(CalendarId) {
|
||||
const calendars = SessionStore.user.OwnerCalendars.concat(SessionStore.user.SharedCalendars)
|
||||
return calendars.find((e) => e.CalendarId == CalendarId)
|
||||
}
|
||||
|
||||
export function makeHeaderForCalendar(calendar: calendarInterface) {
|
||||
let header = new HttpHeaders();;
|
||||
header = header.set('Authorization', 'Bearer ' + SessionStore.user.Authorization);
|
||||
header = header.set('CalendarId', calendar.CalendarId);
|
||||
header = header.set('CalendarRoleId', calendar.CalendarRoleId);
|
||||
header = header.set('CalendarName', calendar.CalendarName);
|
||||
return header
|
||||
}
|
||||
Reference in New Issue
Block a user