@experteam-mx/ngx-services
Version:
Angular common services for Experteam apps
126 lines (125 loc) • 3.17 kB
TypeScript
import { ActiveLessSymfonyModel, ApiModel, SymfonyModel } from './api.models';
export interface Field extends ActiveLessSymfonyModel {
name: string;
label: string;
level: string;
dhlCodes: DhlCode[];
}
export interface DhlCode extends ActiveLessSymfonyModel {
code: string;
customerCode: string;
description: string;
}
export interface Override extends ApiModel {
field: string;
name: string;
level: string;
}
export interface Catalog extends SymfonyModel {
name: string;
}
export interface Rule extends SymfonyModel {
ruleType: string;
criteria: CriteriaCustom | null;
name: string;
description: string | null;
level: string;
roleTypes: string[];
warning: string | null;
attributes: Attribute[];
}
export interface CriteriaCustom extends ApiModel {
origins: string[];
originGroups: string[];
originExclusions: string[];
destinations: string[];
destinationGroups: string[];
destinationExclusions: string[];
dutiable: boolean;
declaredValue: null | {
operator: number;
};
}
export interface Attribute extends ActiveLessSymfonyModel {
field: FieldLess | null;
dhlCode: DhlCodeLess | null;
inputType: string;
inputLabel: string;
inputTooltip: string | null;
exclusive: boolean;
exclusiveDefault: boolean;
required: boolean;
text: TextConfig | null;
dropdown: DropdownConfig | null;
number: null | {
min: number;
max: number;
};
dependentRules: DependentRules | null;
fillFrom: FillFrom | null;
override: Override | null;
}
export interface FieldLess extends ApiModel {
name: string;
label: string;
}
export interface TextConfig {
minLength: number | null;
maxLength: number | null;
regex: string | null;
alphaNumeric: string | null;
placeHolder: string | null;
format: string | null;
prefix: string | null;
suffix: string | null;
masked: boolean;
isFormat?: boolean;
}
export interface DropdownConfig extends Dropdown {
catalog: CatalogLess | null | number;
}
export interface DependentRules {
conditionType: string;
ruleIds: number[];
}
export interface FillFrom {
attributeIndex: number;
attributeId: number;
using: string;
disabled: boolean;
}
export interface CatalogLess extends ApiModel {
name: string;
isActive: boolean;
}
export interface CriteriaWithTimestamps {
createdAt: string;
updatedAt: string;
}
export interface CountryGroups extends ActiveLessSymfonyModel {
code: string;
name: string;
countries: string[];
}
export interface DhlCodeLess extends ApiModel {
code: string;
customerCode: string;
description: string;
}
export interface RuleByCriteria extends ApiModel {
ruleType: string;
criteria: CriteriaCustom | null;
name: string;
description: string | null;
level: string;
roleTypes: string[];
}
export interface Dropdown {
values: string[];
catalogId: number;
loadOnDemand: boolean;
defaultValue: string | null;
prefix: string | null;
suffix: string | null;
_catalogName?: string | null;
}