/* Options: Date: 2024-07-03 13:40:35 Version: 8.23 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.bokamera.se //GlobalNamespace: //MakePropertiesOptional: False //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: CompanyLicenseQuery.* //ExcludeTypes: //DefaultImports: */ export interface IReturn { createResponse(): T; } // @DataContract export class QueryBase { /** @description Skip over a given number of elements in a sequence and then return the remainder. Use this when you need paging.

Example:
?skip=10&orderBy=Id */ // @DataMember(Order=1) public Skip?: number; /** @description Return a given number of elements in a sequence and then skip over the remainder. Use this when you need paging.

Example:
?take=20 */ // @DataMember(Order=2) public Take?: number; /** @description Comma separated list of fields to order by. Prefix the field name with a minus if you wan't to invert the sort for that field.

Example:
?orderBy=Id,-Age,FirstName */ // @DataMember(Order=3) public OrderBy: string; /** @description Comma separated list of fields to order by in descending order. Prefix the field name with a minus if you wan't to invert the sort for that field.

Example:
?orderByDesc=Id,-Age,FirstName */ // @DataMember(Order=4) public OrderByDesc: string; /** @description Include any of the aggregates AVG, COUNT, FIRST, LAST, MAX, MIN, SUM in your result set. The results will be returned in the meta field.

Example:
?include=COUNT(*) as Total

or multiple fields with
?include=Count(*) Total, Min(Age), AVG(Age) AverageAge

or unique with
?include=COUNT(DISTINCT LivingStatus) as UniqueStatus */ // @DataMember(Order=5) public Include: string; // @DataMember(Order=6) public Fields: string; // @DataMember(Order=7) public Meta: { [index: string]: string; }; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class QueryDb extends QueryBase { public constructor(init?: Partial>) { super(init); (Object as any).assign(this, init); } } // @DataContract export class ResponseError { // @DataMember(Order=1) public ErrorCode: string; // @DataMember(Order=2) public FieldName: string; // @DataMember(Order=3) public Message: string; // @DataMember(Order=4) public Meta: { [index: string]: string; }; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @DataContract export class ResponseStatus { // @DataMember(Order=1) public ErrorCode: string; // @DataMember(Order=2) public Message: string; // @DataMember(Order=3) public StackTrace: string; // @DataMember(Order=4) public Errors: ResponseError[]; // @DataMember(Order=5) public Meta: { [index: string]: string; }; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class BaseModel { public constructor(init?: Partial) { (Object as any).assign(this, init); } } export enum Currency { SEK = 1, EUR = 2, } export class Country extends BaseModel { // @References("typeof(BokaMera.API.ServiceModel.Db.Currency)") public CurrencyId: string; public CurrencyInfo: Currency; // @Required() public Name: string; public Culture: string; public TimeZone: string; public ModifiedDate?: string; // @Required() public Id: string; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class Currency extends BaseModel { // @Required() public Name: string; // @Required() public CurrencySign: string; // @Required() public Active: boolean; public ModifiedDate?: string; // @Required() public Id: string; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class LicenseTypeItem extends BaseModel { // @Ignore() public Name: string; // @Required() public LicenseTypesId: number; // @Required() public LicenseItemsId: number; // @Required() public NumberOfItems: number; public Id: number; public ModifiedDate?: string; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class LicensePrice extends BaseModel { // @Ignore() public Country: Country; // @Ignore() public MonthlyPayment: boolean; // @Required() public LicenseTypeId: number; // @Required() public CountryId: string; // @Required() public Price: number; public ModifiedDate?: string; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class LicenseType extends BaseModel { // @Ignore() public LicenseItems: IList; // @Ignore() public Prices: IList; // @Ignore() public PeriodOfNoticeDays: number; // @Ignore() public NextLicenseOption: LicenseType; // @Required() public Name: string; // @Required() public Description: string; // @Required() public ExtraLicenseOption: boolean; public ModifiedDate?: string; public Id: number; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class License extends BaseModel { public Type: LicenseType; // @Required() public CompanyId: string; public Id: number; // @Required() public TypeId: number; // @Required() public ValidFrom: string; // @Required() public ValidTo: string; // @Required() public Active: boolean; // @Required() public Updated: string; // @Required() public Created: string; public ModifiedDate?: string; public MetaData: string; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class LicenseItemsResponse { public Id: number; public Name: string; public AllowedItems: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class LicenseTypeQueryResponse { /** @description The license type id */ // @ApiMember(Description="The license type id") public Id: number; /** @description The license type name */ // @ApiMember(Description="The license type name") public Name: string; /** @description The license type description */ // @ApiMember(Description="The license type description") public Description: string; /** @description If the license type is not a standard license but instead an extra license option. An example would be sending new letter license. */ // @ApiMember(Description="If the license type is not a standard license but instead an extra license option. An example would be sending new letter license.") public IsExtraLicenseOption: boolean; /** @description The period of notice for the license in days. */ // @ApiMember(Description="The period of notice for the license in days.") public PeriodOfNoticeDays: number; /** @description The license items for the license type */ // @ApiMember(Description="The license items for the license type") public Items: LicenseItemsResponse[]; /** @description The license prices in each country for the license type */ // @ApiMember(Description="The license prices in each country for the license type") public Prices: LicensePrice[]; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class CompanyLicenseQueryResponse { public Id: number; public TypeId: number; public Type: LicenseTypeQueryResponse; public ValidFrom: string; public ValidTo: string; public MetaData: string; public Active: boolean; public Canceled: boolean; public Updated: string; public Created: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @DataContract export class QueryResponse { // @DataMember(Order=1) public Offset: number; // @DataMember(Order=2) public Total: number; // @DataMember(Order=3) public Results: CompanyLicenseQueryResponse[]; // @DataMember(Order=4) public Meta: { [index: string]: string; }; // @DataMember(Order=5) public ResponseStatus: ResponseStatus; public constructor(init?: Partial>) { (Object as any).assign(this, init); } } // @Route("/licenses/company", "GET") // @ApiResponse(Description="You were unauthorized to call this service", StatusCode=401) // @ValidateRequest(Validator="IsAuthenticated") export class CompanyLicenseQuery extends QueryDb implements IReturn> { /** @description The company id, if empty will use the company id for the user you are logged in with. */ // @ApiMember(Description="The company id, if empty will use the company id for the user you are logged in with.") public CompanyId?: string; /** @description If you want to include the connected license items */ // @ApiMember(DataType="boolean", Description="If you want to include the connected license items", ParameterType="query") public OnlyActiveLicenses: boolean; /** @description What country you want to list the prices for */ // @ApiMember(DataType="string", Description="What country you want to list the prices for") public CountryId: string; /** @description Search by the Meta data information on the license */ // @ApiMember(DataType="string", Description="Search by the Meta data information on the license") public MetaData: string; /** @description Id of the license type */ // @ApiMember(Description="Id of the license type") public TypeId?: number; /** @description If you want to only select Extra license options */ // @ApiMember(DataType="boolean", Description="If you want to only select Extra license options", ParameterType="query") public IsExtraLicenseOption?: boolean; /** @description If you want to include the connected license items */ // @ApiMember(DataType="boolean", Description="If you want to include the connected license items", ParameterType="query") public IncludeLicenseItems: boolean; /** @description If you want to include the connected licens prices */ // @ApiMember(DataType="boolean", Description="If you want to include the connected licens prices", ParameterType="query") public IncludeLicensePrices: boolean; public ResponseStatus: ResponseStatus; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } public getTypeName() { return 'CompanyLicenseQuery'; } public getMethod() { return 'GET'; } public createResponse() { return new QueryResponse(); } }