Files
dspace-angular/src/app/process-page/processes/process.model.ts
2020-03-30 15:19:22 +02:00

78 lines
1.6 KiB
TypeScript

import { ProcessStatus } from './process-status.model';
import { ProcessParameter } from './process-parameter.model';
import { CacheableObject } from '../../core/cache/object-cache.reducer';
import { HALLink } from '../../core/shared/hal-link.model';
import { autoserialize, deserialize } from 'cerialize';
import { PROCESS } from './process.resource-type';
import { excludeFromEquals } from '../../core/utilities/equals.decorators';
import { ResourceType } from '../../core/shared/resource-type';
import { typedObject } from '../../core/cache/builders/build-decorators';
/**
* Object representing a process
*/
@typedObject
export class Process implements CacheableObject {
static type = PROCESS;
/**
* The object type
*/
@excludeFromEquals
@autoserialize
type: ResourceType;
/**
* The identifier for this process
*/
@autoserialize
processId: string;
/**
* The UUID for the user that started the process
*/
@autoserialize
userId: string;
/**
* The start time for this process
*/
@autoserialize
startTime: string;
/**
* The end time for this process
*/
@autoserialize
endTime: string;
/**
* The name of the script run by this process
*/
@autoserialize
scriptName: string;
/**
* The status of this process
*/
@autoserialize
processStatus: ProcessStatus;
/**
* The parameters for this process
*/
@autoserialize
parameters: ProcessParameter[];
/**
* The {@link HALLink}s for this Process
*/
@deserialize
_links: {
self: HALLink,
script: HALLink,
output: HALLink,
files: HALLink
};
}