edit actions and video stop

This commit is contained in:
Peter Maquiran
2023-12-13 16:44:29 +01:00
parent 5e8c4187fa
commit d2c1e100cc
13 changed files with 251 additions and 19 deletions
+99 -1
View File
@@ -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;
+17
View File
@@ -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
}