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 ModuleInformation:
module_name: Optional[str] = None
module_version: Optional[str] = None
module_date: datetime.datetime = datetime.datetime(1, 1, 1)
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ApplicationInfo:
application_name: Optional[str] = None
version: Optional[str] = None
version_gateway: Optional[str] = None
environment: Optional[str] = None
machine_name: Optional[str] = None
customer_code: Optional[str] = None
customer_brand_code: Optional[str] = None
database_name: Optional[str] = None
database_version: Optional[str] = None
database_server: Optional[str] = None
user_name: Optional[str] = None
user_login_name: Optional[str] = None
modules_information: Optional[List[ModuleInformation]] = None
website_intranet_url: Optional[str] = None
idb_opties: bool = False
on_premises_url: Optional[str] = None
on_line_url: Optional[str] = None
is_api_gateway: bool = False
has_c_r_m_module_active: bool = False
has_extranet_module_active: bool = False
has_huisstijl_m_o_module_active: bool = False
has_digitaal_ondertekenen_module_active: bool = False
has_d_o_voor_word_huisstijl: bool = False
has_d_o_voor_word_registreren: bool = False
has_d_o_voor_excel_huisstijl: bool = False
has_d_o_voor_excel_registreren: bool = False
has_d_o_voor_power_point_huisstijl: bool = False
has_d_o_voor_power_point_registreren: bool = False
has_d_o_voor_outlook_huisstijl: bool = False
has_d_o_voor_outlook_registreren: bool = False
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class GetApplicationInfo:
include_modules: bool = False
include_office_addins: bool = False
Python GetApplicationInfo DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /jsv/reply/GetApplicationInfo HTTP/1.1
Host: doapigw.baasbv.nl
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
IncludeModules: False,
IncludeOfficeAddins: False
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
ApplicationName: String,
Version: String,
VersionGateway: String,
Environment: String,
MachineName: String,
CustomerCode: String,
CustomerBrandCode: String,
DatabaseName: String,
DatabaseVersion: String,
DatabaseServer: String,
UserName: String,
UserLoginName: String,
ModulesInformation:
[
{
ModuleName: String,
ModuleVersion: String,
ModuleDate: 0001-01-01
}
],
WebsiteIntranetUrl: String,
IDBOpties: False,
OnPremisesUrl: String,
OnLineUrl: String,
IsApiGateway: False,
HasCRMModuleActive: False,
HasExtranetModuleActive: False,
HasHuisstijlMOModuleActive: False,
HasDigitaalOndertekenenModuleActive: False,
HasDOVoorWordHuisstijl: False,
HasDOVoorWordRegistreren: False,
HasDOVoorExcelHuisstijl: False,
HasDOVoorExcelRegistreren: False,
HasDOVoorPowerPointHuisstijl: False,
HasDOVoorPowerPointRegistreren: False,
HasDOVoorOutlookHuisstijl: False,
HasDOVoorOutlookRegistreren: False
}