fix: delete saving states

Parallel use of the same Api Service instance is likely to replace requestData
This commit is contained in:
2024-08-24 04:24:44 +03:00
parent 2871505591
commit fd5a1cb14f
9 changed files with 169 additions and 152 deletions

View File

@ -12,26 +12,29 @@ export default class AuthApiService extends ApiService {
public readonly version = AvailableVersion.v1;
public login(login: LoginRequest) {
return this.createRequestBuilder()
let request = this.createRequestBuilder()
.setEndpoint('Login')
.setData(login)
.build<ApiService>()
.post<TokenResponse>()
.setWithCredentials()
.build;
return this.post<TokenResponse>(request)
.pipe(
tap(response => {
AuthService.setToken(response, AvailableAuthenticationProvider.Bearer, this.createRequestBuilder().setEndpoint('ReLogin').build<AuthApiService>().combinedUrl);
this.tokenRefreshService.startTokenRefresh(response.expiresIn);
AuthService.setToken(response, AvailableAuthenticationProvider.Bearer, this.combinedUrl(this.createRequestBuilder().setEndpoint('ReLogin').build));
this.tokenRefreshService.setRefreshTokenExpireMs(response.expiresIn);
})
);
}
public logout() {
return this.createRequestBuilder()
let request = this.createRequestBuilder()
.setWithCredentials()
.setEndpoint('Logout')
.build<ApiService>()
.addAuth()
.get()
.build;
return this.addAuth(request)
.get(request)
.pipe(
tap(_ => {
localStorage.removeItem(ApiService.tokenKey);
@ -40,11 +43,13 @@ export default class AuthApiService extends ApiService {
}
public getRole(isSilence: boolean = true) {
return this.createRequestBuilder()
let request = this.createRequestBuilder()
.setSilenceMode(isSilence)
.build<ApiService>()
.addAuth()
.get<AuthRoles>('GetRole')
.setEndpoint('GetRole')
.build;
return this.addAuth(request)
.get<AuthRoles>(request)
.pipe(
catchError(_ => {
return of(null);

View File

@ -8,10 +8,11 @@ export class DisciplineService extends ApiService {
public readonly version = AvailableVersion.v1;
public getDisciplines(page: number | null = null, pageSize: number | null = null) {
return this.createRequestBuilder()
let request = this.createRequestBuilder()
.setQueryParams({page: page, pageSize: pageSize})
.build<ApiService>()
.get<DisciplineResponse[]>();
.build;
return this.get<DisciplineResponse[]>(request);
}
public getById(id: number) {

View File

@ -9,10 +9,11 @@ export class FacultyService extends ApiService {
public readonly version = AvailableVersion.v1;
public getFaculties(page: number | null = null, pageSize: number | null = null) {
return this.createRequestBuilder()
let request = this.createRequestBuilder()
.setQueryParams({page: page, pageSize: pageSize})
.build<ApiService>()
.get<FacultyResponse[]>();
.build;
return this.get<FacultyResponse[]>(request);
}
public getById(id: number) {

View File

@ -9,10 +9,11 @@ export class GroupService extends ApiService {
public readonly version = AvailableVersion.v1;
public getGroups(page: number | null = null, pageSize: number | null = null) {
return this.createRequestBuilder()
let request = this.createRequestBuilder()
.setQueryParams({page: page, pageSize: pageSize})
.build<ApiService>()
.get<GroupResponse[]>();
.build;
return this.get<GroupResponse[]>(request);
}
public getById(id: number) {

View File

@ -8,10 +8,11 @@ export class ProfessorService extends ApiService {
public readonly version = AvailableVersion.v1;
public getProfessors(page: number | null = null, pageSize: number | null = null) {
return this.createRequestBuilder()
let request = this.createRequestBuilder()
.setQueryParams({page: page, pageSize: pageSize})
.build<ApiService>()
.get<ProfessorResponse[]>();
.build;
return this.get<ProfessorResponse[]>(request);
}
public getById(id: number) {

View File

@ -20,41 +20,46 @@ export class ScheduleService extends ApiService {
}
public postSchedule(data: ScheduleRequest) {
return this.createRequestBuilder()
let request = this.createRequestBuilder()
.setData(data)
.build<ApiService>()
.post<ScheduleResponse[]>();
.build;
return this.post<ScheduleResponse[]>(request);
}
public getByGroup(id: number, isEven: boolean | null = null, disciplines: Array<number> | null = null, professors: Array<number> | null = null, lectureHalls: Array<number> | null = null) {
return this.createRequestBuilder()
let request = this.createRequestBuilder()
.setEndpoint('GetByGroup/' + id.toString())
.setQueryParams({isEven: isEven, disciplines: disciplines, professors: professors, lectureHalls: lectureHalls})
.build<ApiService>()
.get<ScheduleResponse[]>();
.build;
return this.get<ScheduleResponse[]>(request);
}
public getByProfessor(id: number, isEven: boolean | null = null, disciplines: Array<number> | null = null, groups: Array<number> | null = null, lectureHalls: Array<number> | null = null) {
return this.createRequestBuilder()
let request = this.createRequestBuilder()
.setEndpoint('GetByProfessor/' + id.toString())
.setQueryParams({isEven: isEven, disciplines: disciplines, groups: groups, lectureHalls: lectureHalls})
.build<ApiService>()
.get<ScheduleResponse[]>();
.build;
return this.get<ScheduleResponse[]>(request);
}
public getByLectureHall(id: number, isEven: boolean | null = null, disciplines: Array<number> | null = null, groups: Array<number> | null = null, professors: Array<number> | null = null) {
return this.createRequestBuilder()
let request = this.createRequestBuilder()
.setEndpoint('GetByLectureHall/' + id.toString())
.setQueryParams({isEven: isEven, disciplines: disciplines, groups: groups, professors: professors})
.build<ApiService>()
.get<ScheduleResponse[]>();
.build;
return this.get<ScheduleResponse[]>(request);
}
public getByDiscipline(id: number, isEven: boolean | null = null, groups: Array<number> | null = null, professors: Array<number> | null = null, lectureHalls: Array<number> | null = null) {
return this.createRequestBuilder()
let request = this.createRequestBuilder()
.setEndpoint('GetByDiscipline/' + id.toString())
.setQueryParams({isEven: isEven, groups: groups, professors: professors, lectureHalls: lectureHalls})
.build<ApiService>()
.get<ScheduleResponse[]>();
.build;
return this.get<ScheduleResponse[]>(request);
}
}

View File

@ -14,101 +14,112 @@ export default class SetupService extends ApiService {
public readonly version = AvailableVersion.v1;
public checkToken(token: string) {
return this.createRequestBuilder()
let request = this.createRequestBuilder()
.setEndpoint('CheckToken')
.setQueryParams({token: token})
.build<ApiService>()
.get<boolean>();
.build;
return this.get<boolean>(request);
}
public setPsql(data: DatabaseRequest) {
return this.createRequestBuilder()
let request = this.createRequestBuilder()
.setEndpoint('SetPsql')
.setData(data)
.setWithCredentials()
.build<ApiService>()
.post<boolean>();
.build;
return this.post<boolean>(request);
}
public setMysql(data: DatabaseRequest) {
return this.createRequestBuilder()
let request = this.createRequestBuilder()
.setEndpoint('SetMysql')
.setData(data)
.setWithCredentials()
.build<ApiService>()
.post<boolean>();
.build;
return this.post<boolean>(request);
}
public setSqlite(path: string | null = null) {
return this.createRequestBuilder()
let request = this.createRequestBuilder()
.setEndpoint('SetSqlite')
.setQueryParams({path: path})
.setWithCredentials()
.build<ApiService>()
.get<boolean>();
.build;
return this.get<boolean>(request);
}
public setRedis(data: CacheRequest) {
return this.createRequestBuilder()
let request = this.createRequestBuilder()
.setEndpoint('SetRedis')
.setData(data)
.setWithCredentials()
.build<ApiService>()
.post<boolean>();
.build;
return this.post<boolean>(request);
}
public setMemcached() {
return this.createRequestBuilder()
let request = this.createRequestBuilder()
.setEndpoint('SetMemcached')
.setWithCredentials()
.build<ApiService>()
.post<boolean>();
.build;
return this.post<boolean>(request);
}
public createAdmin(data: CreateUserRequest) {
return this.createRequestBuilder()
let request = this.createRequestBuilder()
.setEndpoint('CreateAdmin')
.setData(data)
.setWithCredentials()
.build<ApiService>()
.post<boolean>();
.build;
return this.post<boolean>(request);
}
public setLogging(data: LoggingRequest | null = null) {
return this.createRequestBuilder()
let request = this.createRequestBuilder()
.setEndpoint('SetLogging')
.setData(data)
.setWithCredentials()
.build<ApiService>()
.post<boolean>();
.build;
return this.post<boolean>(request);
}
public setEmail(data: EmailRequest | null = null) {
return this.createRequestBuilder()
let request = this.createRequestBuilder()
.setEndpoint('SetEmail')
.setData(data)
.setWithCredentials()
.build<ApiService>()
.post<boolean>();
.build;
return this.post<boolean>(request);
}
public setSchedule(data: ScheduleConfigurationRequest) {
data.startTerm = new DateOnly(data.startTerm).toString();
return this.createRequestBuilder()
let request = this.createRequestBuilder()
.setEndpoint('SetSchedule')
.setData(data)
.setWithCredentials()
.build<ApiService>()
.post<boolean>();
.build;
return this.post<boolean>(request);
}
public submit() {
return this.createRequestBuilder()
let request = this.createRequestBuilder()
.setEndpoint('Submit')
.setWithCredentials()
.build<ApiService>()
.post<boolean>();
.build;
return this.post<boolean>(request);
}
public isConfigured() {