forked from hazza/dspace-angular
Request-a-copy improv: Routing and module changes
This commit is contained in:
@@ -34,6 +34,48 @@ export function getBitstreamRequestACopyRoute(item, bitstream): { routerLink: st
|
||||
},
|
||||
};
|
||||
}
|
||||
export function getBitstreamDownloadWithAccessTokenRoute(bitstream, accessToken): { routerLink: string, queryParams: any } {
|
||||
const url = new URLCombiner(getBitstreamModuleRoute(), bitstream.uuid, 'download').toString();
|
||||
const options = {
|
||||
routerLink: url,
|
||||
queryParams: {},
|
||||
};
|
||||
if (hasValue(accessToken)) {
|
||||
options.queryParams = { accessToken: accessToken };
|
||||
}
|
||||
return options;
|
||||
}
|
||||
/**
|
||||
* Get an access token request route for a user to access approved bitstreams using a supplied access token
|
||||
* @param item_uuid item UUID
|
||||
* @param accessToken access token (generated by backend)
|
||||
*/
|
||||
export function getAccessTokenRequestRoute(item_uuid, accessToken): { routerLink: string, queryParams: any } {
|
||||
const url = new URLCombiner(getItemModuleRoute(), item_uuid, getAccessByTokenModulePath()).toString();
|
||||
const options = {
|
||||
routerLink: url,
|
||||
queryParams: {
|
||||
accessToken: (hasValue(accessToken) ? accessToken : undefined),
|
||||
},
|
||||
};
|
||||
return options;
|
||||
}
|
||||
/**
|
||||
* Get an access token request route for a user to access approved bitstreams using a supplied access token
|
||||
* @param item_uuid item UUID
|
||||
* @param accessToken access token (generated by backend)
|
||||
*/
|
||||
export function getAccessTokenRequestFileRoute(item_uuid, accessToken): { routerLink: string, queryParams: any } {
|
||||
const url = new URLCombiner(getItemModuleRoute(), item_uuid, ACCESS_BY_TOKEN_MODULE_PATH).toString();
|
||||
const options = {
|
||||
routerLink: url,
|
||||
queryParams: {
|
||||
accessToken: (hasValue(accessToken) ? accessToken : undefined),
|
||||
},
|
||||
};
|
||||
return options;
|
||||
}
|
||||
export const COAR_NOTIFY_SUPPORT = 'coar-notify-support';
|
||||
|
||||
export const HOME_PAGE_PATH = 'home';
|
||||
|
||||
@@ -128,6 +170,11 @@ export function getRequestCopyModulePath() {
|
||||
return `/${REQUEST_COPY_MODULE_PATH}`;
|
||||
}
|
||||
|
||||
export const ACCESS_BY_TOKEN_MODULE_PATH = 'access-by-token';
|
||||
export function getAccessByTokenModulePath() {
|
||||
return `/${ACCESS_BY_TOKEN_MODULE_PATH}`;
|
||||
}
|
||||
|
||||
export const HEALTH_PAGE_PATH = 'health';
|
||||
|
||||
export const SUBSCRIPTIONS_MODULE_PATH = 'subscriptions';
|
||||
|
@@ -6,11 +6,13 @@ import { itemBreadcrumbResolver } from '../core/breadcrumbs/item-breadcrumb.reso
|
||||
import { dsoEditMenuResolver } from '../shared/dso-page/dso-edit-menu.resolver';
|
||||
import { LinkMenuItemModel } from '../shared/menu/menu-item/models/link.model';
|
||||
import { MenuItemType } from '../shared/menu/menu-item-type.model';
|
||||
import { ItemAccessByTokenPageComponent } from './access-by-token/item-access-by-token-page.component';
|
||||
import { BitstreamRequestACopyPageComponent } from './bitstreams/request-a-copy/bitstream-request-a-copy-page.component';
|
||||
import { UploadBitstreamComponent } from './bitstreams/upload/upload-bitstream.component';
|
||||
import { ThemedFullItemPageComponent } from './full/themed-full-item-page.component';
|
||||
import { itemPageResolver } from './item-page.resolver';
|
||||
import {
|
||||
ITEM_ACCESS_BY_TOKEN_PATH,
|
||||
ITEM_EDIT_PATH,
|
||||
ORCID_PATH,
|
||||
UPLOAD_BITSTREAM_PATH,
|
||||
@@ -64,6 +66,10 @@ export const ROUTES: Route[] = [
|
||||
component: OrcidPageComponent,
|
||||
canActivate: [authenticatedGuard, orcidPageGuard],
|
||||
},
|
||||
{
|
||||
path: ITEM_ACCESS_BY_TOKEN_PATH,
|
||||
component: ItemAccessByTokenPageComponent,
|
||||
},
|
||||
],
|
||||
data: {
|
||||
menu: {
|
||||
|
@@ -51,3 +51,5 @@ export const ITEM_EDIT_VERSIONHISTORY_PATH = 'versionhistory';
|
||||
export const ITEM_VERSION_PATH = 'version';
|
||||
export const UPLOAD_BITSTREAM_PATH = 'bitstreams/new';
|
||||
export const ORCID_PATH = 'orcid';
|
||||
|
||||
export const ITEM_ACCESS_BY_TOKEN_PATH = 'access-by-token';
|
||||
|
@@ -14,6 +14,9 @@ import { StoreModule } from '@ngrx/store';
|
||||
import { TranslateModule } from '@ngx-translate/core';
|
||||
import { ScrollToModule } from '@nicky-lenaers/ngx-scroll-to';
|
||||
|
||||
import { ItemSecureFileDownloadLinkComponent } from '../../app/item-page/access-by-token/field-components/file-download-link/item-secure-file-download-link.component';
|
||||
import { ItemSecureFileSectionComponent } from '../../app/item-page/access-by-token/field-components/file-section/item-secure-file-section.component';
|
||||
import { ItemAccessByTokenPageComponent } from '../../app/item-page/access-by-token/item-access-by-token-page.component';
|
||||
import { RootModule } from '../../app/root.module';
|
||||
import { SearchResultsSkeletonComponent } from '../../app/shared/search/search-results/search-results-skeleton/search-results-skeleton.component';
|
||||
import { MetadataImportPageComponent } from './app/admin/admin-import-metadata-page/metadata-import-page.component';
|
||||
@@ -133,6 +136,9 @@ const DECLARATIONS = [
|
||||
CollectionPageComponent,
|
||||
ItemPageComponent,
|
||||
FullItemPageComponent,
|
||||
ItemAccessByTokenPageComponent,
|
||||
ItemSecureFileSectionComponent,
|
||||
ItemSecureFileDownloadLinkComponent,
|
||||
LoginPageComponent,
|
||||
LogoutPageComponent,
|
||||
CreateProfileComponent,
|
||||
|
Reference in New Issue
Block a user