DigiOffice Gateway Web Services

<back to all web services

ViewsAndExplorers

Requires Authentication
import datetime
import decimal
from marshmallow.fields import *
from servicestack import *
from typing import *
from dataclasses import dataclass, field
from dataclasses_json import dataclass_json, LetterCase, Undefined, config
from enum import Enum, IntEnum


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Node:
    entity_name: Optional[str] = None
    id: Optional[str] = None
    parent_i_d: Optional[str] = None
    title: Optional[str] = None
    count: Optional[int] = None
    image_key: Optional[str] = None
    expanded: Optional[bool] = None
    selected: Optional[bool] = None
    display_path: Optional[str] = None
    child_nodes: Optional[List[Node]] = None
    registration_path_element: Optional[str] = None
    query_path_element: Optional[str] = None
    path: Optional[str] = None
    is_hierarchy: Optional[bool] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ViewExplorerNode(Node):
    view_id: Optional[str] = None
    explorer_id: Optional[str] = None
    child_nodes: Optional[List[ViewExplorerNode]] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ViewsAndExplorers:
    nodes: Optional[List[ViewExplorerNode]] = None

Python ViewsAndExplorers DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + JSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /jsv/reply/ViewsAndExplorers HTTP/1.1 
Host: digiofficeapigateway.deltares.nl 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	Nodes: 
	[
		{
			ViewId: 00000000-0000-0000-0000-000000000000,
			ExplorerId: 00000000-0000-0000-0000-000000000000,
			ChildNodes: 
			[
				{
					ViewId: 00000000-0000-0000-0000-000000000000,
					ExplorerId: 00000000-0000-0000-0000-000000000000,
					ChildNodes: 
					[
						{
							ViewId: 00000000-0000-0000-0000-000000000000,
							ExplorerId: 00000000-0000-0000-0000-000000000000,
							EntityName: String,
							ID: String,
							ParentID: String,
							Title: String,
							Count: 0,
							ImageKey: String,
							Expanded: False,
							Selected: False,
							DisplayPath: String,
							ChildNodes: 
							[
								{
									EntityName: String,
									ID: String,
									ParentID: String,
									Title: String,
									Count: 0,
									ImageKey: String,
									Expanded: False,
									Selected: False,
									DisplayPath: String,
									ChildNodes: 
									[
										{
											EntityName: String,
											ID: String,
											ParentID: String,
											Title: String,
											Count: 0,
											ImageKey: String,
											Expanded: False,
											Selected: False,
											DisplayPath: String,
											ChildNodes: 
											[
												{
													EntityName: String,
													ID: String,
													ParentID: String,
													Title: String,
													Count: 0,
													ImageKey: String,
													Expanded: False,
													Selected: False,
													DisplayPath: String,
													RegistrationPathElement: String,
													QueryPathElement: String,
													Path: String,
													IsHierarchy: False
												}
											],
											RegistrationPathElement: String,
											QueryPathElement: String,
											Path: String,
											IsHierarchy: False
										}
									],
									RegistrationPathElement: String,
									QueryPathElement: String,
									Path: String,
									IsHierarchy: False
								}
							],
							RegistrationPathElement: String,
							QueryPathElement: String,
							Path: String,
							IsHierarchy: False
						}
					],
					EntityName: String,
					ID: String,
					ParentID: String,
					Title: String,
					Count: 0,
					ImageKey: String,
					Expanded: False,
					Selected: False,
					DisplayPath: String,
					ChildNodes: 
					[
						{
							EntityName: String,
							ID: String,
							ParentID: String,
							Title: String,
							Count: 0,
							ImageKey: String,
							Expanded: False,
							Selected: False,
							DisplayPath: String,
							ChildNodes: 
							[
								{
									EntityName: String,
									ID: String,
									ParentID: String,
									Title: String,
									Count: 0,
									ImageKey: String,
									Expanded: False,
									Selected: False,
									DisplayPath: String,
									ChildNodes: 
									[
										{
											EntityName: String,
											ID: String,
											ParentID: String,
											Title: String,
											Count: 0,
											ImageKey: String,
											Expanded: False,
											Selected: False,
											DisplayPath: String,
											RegistrationPathElement: String,
											QueryPathElement: String,
											Path: String,
											IsHierarchy: False
										}
									],
									RegistrationPathElement: String,
									QueryPathElement: String,
									Path: String,
									IsHierarchy: False
								}
							],
							RegistrationPathElement: String,
							QueryPathElement: String,
							Path: String,
							IsHierarchy: False
						}
					],
					RegistrationPathElement: String,
					QueryPathElement: String,
					Path: String,
					IsHierarchy: False
				}
			],
			EntityName: String,
			ID: String,
			ParentID: String,
			Title: String,
			Count: 0,
			ImageKey: String,
			Expanded: False,
			Selected: False,
			DisplayPath: String,
			ChildNodes: 
			[
				{
					EntityName: String,
					ID: String,
					ParentID: String,
					Title: String,
					Count: 0,
					ImageKey: String,
					Expanded: False,
					Selected: False,
					DisplayPath: String,
					ChildNodes: 
					[
						{
							EntityName: String,
							ID: String,
							ParentID: String,
							Title: String,
							Count: 0,
							ImageKey: String,
							Expanded: False,
							Selected: False,
							DisplayPath: String,
							ChildNodes: 
							[
								{
									EntityName: String,
									ID: String,
									ParentID: String,
									Title: String,
									Count: 0,
									ImageKey: String,
									Expanded: False,
									Selected: False,
									DisplayPath: String,
									RegistrationPathElement: String,
									QueryPathElement: String,
									Path: String,
									IsHierarchy: False
								}
							],
							RegistrationPathElement: String,
							QueryPathElement: String,
							Path: String,
							IsHierarchy: False
						}
					],
					RegistrationPathElement: String,
					QueryPathElement: String,
					Path: String,
					IsHierarchy: False
				}
			],
			RegistrationPathElement: String,
			QueryPathElement: String,
			Path: String,
			IsHierarchy: False
		}
	]
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	Nodes: 
	[
		{
			ViewId: 00000000-0000-0000-0000-000000000000,
			ExplorerId: 00000000-0000-0000-0000-000000000000,
			ChildNodes: 
			[
				{
					ViewId: 00000000-0000-0000-0000-000000000000,
					ExplorerId: 00000000-0000-0000-0000-000000000000,
					ChildNodes: 
					[
						{
							ViewId: 00000000-0000-0000-0000-000000000000,
							ExplorerId: 00000000-0000-0000-0000-000000000000,
							EntityName: String,
							ID: String,
							ParentID: String,
							Title: String,
							Count: 0,
							ImageKey: String,
							Expanded: False,
							Selected: False,
							DisplayPath: String,
							ChildNodes: 
							[
								{
									EntityName: String,
									ID: String,
									ParentID: String,
									Title: String,
									Count: 0,
									ImageKey: String,
									Expanded: False,
									Selected: False,
									DisplayPath: String,
									ChildNodes: 
									[
										{
											EntityName: String,
											ID: String,
											ParentID: String,
											Title: String,
											Count: 0,
											ImageKey: String,
											Expanded: False,
											Selected: False,
											DisplayPath: String,
											ChildNodes: 
											[
												{
													EntityName: String,
													ID: String,
													ParentID: String,
													Title: String,
													Count: 0,
													ImageKey: String,
													Expanded: False,
													Selected: False,
													DisplayPath: String,
													RegistrationPathElement: String,
													QueryPathElement: String,
													Path: String,
													IsHierarchy: False
												}
											],
											RegistrationPathElement: String,
											QueryPathElement: String,
											Path: String,
											IsHierarchy: False
										}
									],
									RegistrationPathElement: String,
									QueryPathElement: String,
									Path: String,
									IsHierarchy: False
								}
							],
							RegistrationPathElement: String,
							QueryPathElement: String,
							Path: String,
							IsHierarchy: False
						}
					],
					EntityName: String,
					ID: String,
					ParentID: String,
					Title: String,
					Count: 0,
					ImageKey: String,
					Expanded: False,
					Selected: False,
					DisplayPath: String,
					ChildNodes: 
					[
						{
							EntityName: String,
							ID: String,
							ParentID: String,
							Title: String,
							Count: 0,
							ImageKey: String,
							Expanded: False,
							Selected: False,
							DisplayPath: String,
							ChildNodes: 
							[
								{
									EntityName: String,
									ID: String,
									ParentID: String,
									Title: String,
									Count: 0,
									ImageKey: String,
									Expanded: False,
									Selected: False,
									DisplayPath: String,
									ChildNodes: 
									[
										{
											EntityName: String,
											ID: String,
											ParentID: String,
											Title: String,
											Count: 0,
											ImageKey: String,
											Expanded: False,
											Selected: False,
											DisplayPath: String,
											RegistrationPathElement: String,
											QueryPathElement: String,
											Path: String,
											IsHierarchy: False
										}
									],
									RegistrationPathElement: String,
									QueryPathElement: String,
									Path: String,
									IsHierarchy: False
								}
							],
							RegistrationPathElement: String,
							QueryPathElement: String,
							Path: String,
							IsHierarchy: False
						}
					],
					RegistrationPathElement: String,
					QueryPathElement: String,
					Path: String,
					IsHierarchy: False
				}
			],
			EntityName: String,
			ID: String,
			ParentID: String,
			Title: String,
			Count: 0,
			ImageKey: String,
			Expanded: False,
			Selected: False,
			DisplayPath: String,
			ChildNodes: 
			[
				{
					EntityName: String,
					ID: String,
					ParentID: String,
					Title: String,
					Count: 0,
					ImageKey: String,
					Expanded: False,
					Selected: False,
					DisplayPath: String,
					ChildNodes: 
					[
						{
							EntityName: String,
							ID: String,
							ParentID: String,
							Title: String,
							Count: 0,
							ImageKey: String,
							Expanded: False,
							Selected: False,
							DisplayPath: String,
							ChildNodes: 
							[
								{
									EntityName: String,
									ID: String,
									ParentID: String,
									Title: String,
									Count: 0,
									ImageKey: String,
									Expanded: False,
									Selected: False,
									DisplayPath: String,
									RegistrationPathElement: String,
									QueryPathElement: String,
									Path: String,
									IsHierarchy: False
								}
							],
							RegistrationPathElement: String,
							QueryPathElement: String,
							Path: String,
							IsHierarchy: False
						}
					],
					RegistrationPathElement: String,
					QueryPathElement: String,
					Path: String,
					IsHierarchy: False
				}
			],
			RegistrationPathElement: String,
			QueryPathElement: String,
			Path: String,
			IsHierarchy: False
		}
	]
}