diff options
Diffstat (limited to 'sdnr/wt/odlux/framework/src')
4 files changed, 19 insertions, 14 deletions
diff --git a/sdnr/wt/odlux/framework/src/models/elasticSearch.ts b/sdnr/wt/odlux/framework/src/models/elasticSearch.ts index 12cfd7d28..b5f25097c 100644 --- a/sdnr/wt/odlux/framework/src/models/elasticSearch.ts +++ b/sdnr/wt/odlux/framework/src/models/elasticSearch.ts @@ -16,16 +16,21 @@ * ============LICENSE_END==========================================================================
*/
export type Result<TSource extends {}> = {
- output: {
+ "data-provider:output": {
pagination?: {
- size: number,
- page: number,
- total: number
+ size: number;
+ page: number;
+ total: number;
},
data: TSource[];
}
}
+export type SingeResult<TSource extends {}> = {
+ "data-provider:output": TSource;
+}
+
+
export type HitEntry<TSource extends {}> = {
_index: string;
_type: string;
diff --git a/sdnr/wt/odlux/framework/src/services/restService.ts b/sdnr/wt/odlux/framework/src/services/restService.ts index b02d7d19f..19ef34f91 100644 --- a/sdnr/wt/odlux/framework/src/services/restService.ts +++ b/sdnr/wt/odlux/framework/src/services/restService.ts @@ -33,7 +33,7 @@ export const formEncode = (params: { [key: string]: string | number }) => Object /** Sends a rest request to the given path. * @returns The data, or null it there was any error */ -export async function requestRest<TData>(path: string = '', init: RequestInit = {}, authenticate: boolean = true, isResource: boolean = false): Promise<TData | null> { +export async function requestRest<TData>(path: string = '', init: RequestInit = {}, authenticate: boolean = true, isResource: boolean = false): Promise<TData | null | undefined> { const res = await requestRestExt<TData>(path, init, authenticate, isResource); if (res && res.status >= 200 && res.status < 300) { return res.data; @@ -42,9 +42,9 @@ export async function requestRest<TData>(path: string = '', init: RequestInit = } /** Sends a rest request to the given path and reports the server state. - * @returns An object with the server state, a message and the data. + * @returns An object with the server state, a message and the data or undefined in case of a json parse error. */ -export async function requestRestExt<TData>(path: string = '', init: RequestInit = {}, authenticate: boolean = true, isResource: boolean = false): Promise<{ status: number, message?: string, data: TData | null }> { +export async function requestRestExt<TData>(path: string = '', init: RequestInit = {}, authenticate: boolean = true, isResource: boolean = false): Promise<{ status: number, message?: string, data: TData | null | undefined }> { const result: { status: number, message?: string, data: TData | null } = { status: -1, data: null, @@ -99,7 +99,7 @@ export async function requestRestExt<TData>(path: string = '', init: RequestInit ...result, status: fetchResult.status, message: error && error.message || String(error), - data: null + data: undefined }; } }
\ No newline at end of file diff --git a/sdnr/wt/odlux/framework/src/utilities/elasticSearch.ts b/sdnr/wt/odlux/framework/src/utilities/elasticSearch.ts index c18a40b0b..6f4c71ec7 100644 --- a/sdnr/wt/odlux/framework/src/utilities/elasticSearch.ts +++ b/sdnr/wt/odlux/framework/src/utilities/elasticSearch.ts @@ -33,14 +33,14 @@ type dataType = { [prop: string]: propType }; */ export function createSearchDataHandler<TResult>(typeName: (() => string) | string, additionalFilters?: {} | null | undefined): DataCallback<(TResult)> { const fetchData: DataCallback<(TResult)> = async (pageIndex, rowsPerPage, orderBy, order, filter) => { - const url = `/restconf/operations/data-provider:read-${typeof typeName === "function" ? typeName(): typeName}-list`; + const url = `/rests/operations/data-provider:read-${typeof typeName === "function" ? typeName(): typeName}-list`; filter = { ...filter, ...additionalFilters }; const filterKeys = filter && Object.keys(filter) || []; const query = { - input: { + "data-provider:input": { filter: filterKeys.filter(f => filter![f] != null && filter![f] !== "").map(property => ({ property, filtervalue: filter![property]})), sortorder: orderBy ? [{ property: orderBy, sortorder: order === "desc" ? "descending" : "ascending" }] : [], pagination: { size: rowsPerPage, page: (pageIndex != null && pageIndex > 0 && pageIndex || 0) +1 } @@ -60,12 +60,12 @@ export function createSearchDataHandler<TResult>(typeName: (() => string) | stri if (result) { let rows: TResult[] = []; - if (result && result.output && result.output.data) { - rows = result.output.data.map(obj => convertPropertyNames(obj, replaceHyphen)) || [] + if (result && result["data-provider:output"] && result["data-provider:output"].data) { + rows = result["data-provider:output"].data.map(obj => convertPropertyNames(obj, replaceHyphen)) || [] } const data = { - page: result.output.pagination && result.output.pagination.page != null && result.output.pagination.page - 1 || 0 , total: result.output.pagination && result.output.pagination.total || 0, rows: rows + page: +(result["data-provider:output"].pagination && result["data-provider:output"].pagination.page != null && result["data-provider:output"].pagination.page - 1 || 0) , total: +(result["data-provider:output"].pagination && result["data-provider:output"].pagination.total || 0), rows: rows }; return data; } diff --git a/sdnr/wt/odlux/framework/src/views/about.tsx b/sdnr/wt/odlux/framework/src/views/about.tsx index ca3953af1..c4a5488e0 100644 --- a/sdnr/wt/odlux/framework/src/views/about.tsx +++ b/sdnr/wt/odlux/framework/src/views/about.tsx @@ -44,7 +44,7 @@ class AboutComponent extends React.Component<any, AboutState> { requestRestExt<string>('/about').then((response) => { const content = response.status == 200 ? response.data : `${response.status} ${response.message}` || "Server error"; const loadedSucessfully = response.status == 200 ? true : false; - this.setState({ content: content, isContentLoadedSucessfully: loadedSucessfully }); + this.setState({ content: content || null, isContentLoadedSucessfully: loadedSucessfully }); }).catch((error) => { this.setState({ content: error }) }) |