fix circular dependency issues relating to request models

This commit is contained in:
Art Lowel
2022-03-22 13:29:23 +01:00
parent 143b7c3e0d
commit 716cea376d
190 changed files with 403 additions and 322 deletions

View File

@@ -1,15 +1,16 @@
import { SortOptions } from '../cache/models/sort-options.model';
import { GenericConstructor } from '../shared/generic-constructor';
import { ResponseParsingService } from './parsing.service';
import { EndpointMapResponseParsingService } from './endpoint-map-response-parsing.service';
import { HttpOptions } from '../dspace-rest/dspace-rest.service';
import { SubmissionResponseParsingService } from '../submission/submission-response-parsing.service';
import {
SubmissionResponseParsingService
} from '../submission/submission-response-parsing.service';
import { RestRequestMethod } from './rest-request-method';
import { RequestParam } from '../cache/models/request-param.model';
import { TaskResponseParsingService } from '../tasks/task-response-parsing.service';
import { ContentSourceResponseParsingService } from './content-source-response-parsing.service';
import { RestRequestWithResponseParser } from './rest-request-with-response-parser.model';
import { DspaceRestResponseParsingService } from './dspace-rest-response-parsing.service';
import { environment } from '../../../environments/environment';
import { FindListOptions } from './find-list-options.model';
/* tslint:disable:max-classes-per-file */
@@ -19,25 +20,13 @@ export enum IdentifierType {
HANDLE = 'handle'
}
export abstract class RestRequest {
public responseMsToLive = environment.cache.msToLive.default;
public isMultipart = false;
constructor(
public uuid: string,
public href: string,
public method: RestRequestMethod = RestRequestMethod.GET,
public body?: any,
public options?: HttpOptions,
) {
}
class DSpaceRestRequest extends RestRequestWithResponseParser {
getResponseParser(): GenericConstructor<ResponseParsingService> {
return DspaceRestResponseParsingService;
}
}
export class GetRequest extends RestRequest {
export class GetRequest extends DSpaceRestRequest {
constructor(
public uuid: string,
public href: string,
@@ -48,7 +37,7 @@ export class GetRequest extends RestRequest {
}
}
export class PostRequest extends RestRequest {
export class PostRequest extends DSpaceRestRequest {
constructor(
public uuid: string,
public href: string,
@@ -62,7 +51,7 @@ export class PostRequest extends RestRequest {
/**
* Request representing a multipart post request
*/
export class MultipartPostRequest extends RestRequest {
export class MultipartPostRequest extends DSpaceRestRequest {
public isMultipart = true;
constructor(
public uuid: string,
@@ -74,7 +63,7 @@ export class MultipartPostRequest extends RestRequest {
}
}
export class PutRequest extends RestRequest {
export class PutRequest extends DSpaceRestRequest {
constructor(
public uuid: string,
public href: string,
@@ -85,7 +74,7 @@ export class PutRequest extends RestRequest {
}
}
export class DeleteRequest extends RestRequest {
export class DeleteRequest extends DSpaceRestRequest {
constructor(
public uuid: string,
public href: string,
@@ -96,7 +85,7 @@ export class DeleteRequest extends RestRequest {
}
}
export class OptionsRequest extends RestRequest {
export class OptionsRequest extends DSpaceRestRequest {
constructor(
public uuid: string,
public href: string,
@@ -107,7 +96,7 @@ export class OptionsRequest extends RestRequest {
}
}
export class HeadRequest extends RestRequest {
export class HeadRequest extends DSpaceRestRequest {
constructor(
public uuid: string,
public href: string,
@@ -118,7 +107,7 @@ export class HeadRequest extends RestRequest {
}
}
export class PatchRequest extends RestRequest {
export class PatchRequest extends DSpaceRestRequest {
constructor(
public uuid: string,
public href: string,
@@ -129,15 +118,6 @@ export class PatchRequest extends RestRequest {
}
}
export class FindListOptions {
scopeID?: string;
elementsPerPage?: number;
currentPage?: number;
sort?: SortOptions;
searchParams?: RequestParam[];
startsWith?: string;
}
export class FindListRequest extends GetRequest {
constructor(
uuid: string,