|
|
|
@ -22,7 +22,7 @@ import {
|
|
|
|
|
} from './type';
|
|
|
|
|
import { eBindingSourceId } from '../enums';
|
|
|
|
|
import { camelizeHyphen } from './text';
|
|
|
|
|
import {VOLO_REMOTE_STREAM_CONTENT} from "../constants";
|
|
|
|
|
import { VOLO_REMOTE_STREAM_CONTENT } from '../constants';
|
|
|
|
|
|
|
|
|
|
export function serializeParameters(parameters: Property[]) {
|
|
|
|
|
return parameters.map(p => p.name + p.optional + ': ' + p.type + p.default, '').join(', ');
|
|
|
|
@ -39,9 +39,12 @@ export function createControllerToServiceMapper({
|
|
|
|
|
const name = controller.controllerName;
|
|
|
|
|
const namespace = parseNamespace(solution, controller.type);
|
|
|
|
|
const actions = Object.values(controller.actions);
|
|
|
|
|
const typeWithoutIRemoteStreamContent = getTypesWithoutIRemoteStreamContent(types)
|
|
|
|
|
const imports = actions.reduce(createActionToImportsReducer(solution, typeWithoutIRemoteStreamContent, namespace), []);
|
|
|
|
|
imports.push(new Import({ path: '@abp/ng.core', specifiers: ['RestService'] }));
|
|
|
|
|
const typeWithoutIRemoteStreamContent = getTypesWithoutIRemoteStreamContent(types);
|
|
|
|
|
const imports = actions.reduce(
|
|
|
|
|
createActionToImportsReducer(solution, typeWithoutIRemoteStreamContent, namespace),
|
|
|
|
|
[],
|
|
|
|
|
);
|
|
|
|
|
imports.push(new Import({ path: '@abp/ng.core', specifiers: ['RestService', 'Rest'] }));
|
|
|
|
|
imports.push(new Import({ path: '@angular/core', specifiers: ['Injectable'] }));
|
|
|
|
|
sortImports(imports);
|
|
|
|
|
const methods = actions.map(mapActionToMethod);
|
|
|
|
@ -51,9 +54,9 @@ export function createControllerToServiceMapper({
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function getTypesWithoutIRemoteStreamContent(types: Record<string, Type>) {
|
|
|
|
|
const newType = {...types}
|
|
|
|
|
delete newType[VOLO_REMOTE_STREAM_CONTENT]
|
|
|
|
|
return newType
|
|
|
|
|
const newType = { ...types };
|
|
|
|
|
delete newType[VOLO_REMOTE_STREAM_CONTENT];
|
|
|
|
|
return newType;
|
|
|
|
|
}
|
|
|
|
|
function sortMethods(methods: Method[]) {
|
|
|
|
|
methods.sort((a, b) => (a.signature.name > b.signature.name ? 1 : -1));
|
|
|
|
@ -76,7 +79,7 @@ export function createActionToBodyMapper() {
|
|
|
|
|
return ({ httpMethod, parameters, returnValue, url }: Action) => {
|
|
|
|
|
const responseType = adaptType(returnValue.typeSimple);
|
|
|
|
|
const responseTypeWithNamespace = returnValue.typeSimple;
|
|
|
|
|
const body = new Body({ method: httpMethod, responseType, url ,responseTypeWithNamespace});
|
|
|
|
|
const body = new Body({ method: httpMethod, responseType, url, responseTypeWithNamespace });
|
|
|
|
|
|
|
|
|
|
parameters.forEach(body.registerActionParameter);
|
|
|
|
|
|
|
|
|
@ -90,6 +93,8 @@ export function createActionToSignatureMapper() {
|
|
|
|
|
return (action: Action) => {
|
|
|
|
|
const signature = new Signature({ name: getMethodNameFromAction(action) });
|
|
|
|
|
const versionParameter = getVersionParameter(action);
|
|
|
|
|
const restConfig = new Property({ name: 'config', type: 'Partial<Rest.Config>' });
|
|
|
|
|
restConfig.setOptional(true);
|
|
|
|
|
const parameters = [
|
|
|
|
|
...action.parametersOnMethod,
|
|
|
|
|
...(versionParameter ? [versionParameter] : []),
|
|
|
|
@ -101,6 +106,7 @@ export function createActionToSignatureMapper() {
|
|
|
|
|
parameter.setOptional(p.isOptional);
|
|
|
|
|
return parameter;
|
|
|
|
|
});
|
|
|
|
|
signature.parameters.push(restConfig);
|
|
|
|
|
|
|
|
|
|
return signature;
|
|
|
|
|
};
|
|
|
|
|