Преглед изворни кода

contact partner product etc

master
Daniel пре 1 година
родитељ
комит
974ba84a3a
15 измењених фајлова са 143 додато и 35 уклоњено
  1. +1
    -1
      matsen-tool/openapi.json
  2. +24
    -0
      matsen-tool/openapi.yaml
  3. +3
    -0
      matsen-tool/src/app/_forms/apiForms.ts
  4. +1
    -1
      matsen-tool/src/app/_views/partners/partner-list/partner-list.component.html
  5. +1
    -1
      matsen-tool/src/app/_views/posts/post-list/post-list.component.html
  6. +13
    -4
      matsen-tool/src/app/_views/products/assign-product/assign-product.component.html
  7. +68
    -16
      matsen-tool/src/app/_views/products/assign-product/assign-product.component.ts
  8. +1
    -1
      matsen-tool/src/app/_views/products/product-list/product-list.component.html
  9. +5
    -5
      matsen-tool/src/app/_views/products/product-list/product-list.component.ts
  10. +1
    -1
      matsen-tool/src/app/_views/products/products-detail/products-detail.component.ts
  11. +1
    -1
      matsen-tool/src/app/_views/sales/sale-list/sale-list.component.html
  12. +9
    -4
      matsen-tool/src/app/core/api/v1/api/contactPartnerProduct.service.ts
  13. +5
    -0
      matsen-tool/src/app/core/api/v1/model/contactPartnerProduct.ts
  14. +5
    -0
      matsen-tool/src/app/core/api/v1/model/contactPartnerProductJsonhal.ts
  15. +5
    -0
      matsen-tool/src/app/core/api/v1/model/contactPartnerProductJsonld.ts

+ 1
- 1
matsen-tool/openapi.json
Разлика између датотеке није приказан због своје велике величине
Прегледај датотеку


+ 24
- 0
matsen-tool/openapi.yaml Прегледај датотеку

@@ -365,6 +365,18 @@ paths:
style: form style: form
explode: true explode: true
allowReserved: false allowReserved: false
-
name: partnerProduct.product.name
in: query
description: ''
required: false
deprecated: false
allowEmptyValue: true
schema:
type: string
style: form
explode: false
allowReserved: false
deprecated: false deprecated: false
post: post:
operationId: api_contact_partner_products_post operationId: api_contact_partner_products_post
@@ -4514,6 +4526,10 @@ components:
- 'null' - 'null'
format: iri-reference format: iri-reference
example: 'https://example.com/' example: 'https://example.com/'
partnerProduct:
readOnly: true
description: '?PartnerProduct'
$ref: '#/components/schemas/PartnerProduct'
product: product:
readOnly: true readOnly: true
description: '?ProductApi' description: '?ProductApi'
@@ -4553,6 +4569,10 @@ components:
- 'null' - 'null'
format: iri-reference format: iri-reference
example: 'https://example.com/' example: 'https://example.com/'
partnerProduct:
readOnly: true
description: '?PartnerProduct'
$ref: '#/components/schemas/PartnerProduct.jsonhal'
product: product:
readOnly: true readOnly: true
description: '?ProductApi' description: '?ProductApi'
@@ -4606,6 +4626,10 @@ components:
- 'null' - 'null'
format: iri-reference format: iri-reference
example: 'https://example.com/' example: 'https://example.com/'
partnerProduct:
readOnly: true
description: '?PartnerProduct'
$ref: '#/components/schemas/PartnerProduct.jsonld'
product: product:
readOnly: true readOnly: true
description: '?ProductApi' description: '?ProductApi'


+ 3
- 0
matsen-tool/src/app/_forms/apiForms.ts Прегледај датотеку

@@ -77,6 +77,7 @@ export const contactJsonldForm = new FormGroup({
export const contactPartnerProductForm = new FormGroup({ export const contactPartnerProductForm = new FormGroup({
contactIri: new FormControl(null, [Validators.required]), contactIri: new FormControl(null, [Validators.required]),
partnerProductIri: new FormControl(null, [Validators.required]), partnerProductIri: new FormControl(null, [Validators.required]),
partnerProduct: new FormControl(null, []),
product: new FormControl(null, []), product: new FormControl(null, []),
createdAt: new FormControl(null, []) createdAt: new FormControl(null, [])
}); });
@@ -85,6 +86,7 @@ export const contactPartnerProductJsonhalForm = new FormGroup({
_links: new FormControl(null, []), _links: new FormControl(null, []),
contactIri: new FormControl(null, [Validators.required]), contactIri: new FormControl(null, [Validators.required]),
partnerProductIri: new FormControl(null, [Validators.required]), partnerProductIri: new FormControl(null, [Validators.required]),
partnerProduct: new FormControl(null, []),
product: new FormControl(null, []), product: new FormControl(null, []),
createdAt: new FormControl(null, []) createdAt: new FormControl(null, [])
}); });
@@ -92,6 +94,7 @@ export const contactPartnerProductJsonhalForm = new FormGroup({
export const contactPartnerProductJsonldForm = new FormGroup({ export const contactPartnerProductJsonldForm = new FormGroup({
contactIri: new FormControl(null, [Validators.required]), contactIri: new FormControl(null, [Validators.required]),
partnerProductIri: new FormControl(null, [Validators.required]), partnerProductIri: new FormControl(null, [Validators.required]),
partnerProduct: new FormControl(null, []),
product: new FormControl(null, []), product: new FormControl(null, []),
createdAt: new FormControl(null, []) createdAt: new FormControl(null, [])
}); });


+ 1
- 1
matsen-tool/src/app/_views/partners/partner-list/partner-list.component.html Прегледај датотеку

@@ -1,5 +1,5 @@
<div class="spt-container"> <div class="spt-container">
<div class="top-btn">
<div *ngIf="!this.user" class="top-btn">
<button class="btn btn-primary" (click)="openModalNewPartner()">+ {{ 'basic.new' | translate }} {{ partnerColumnHeadline }}</button> <button class="btn btn-primary" (click)="openModalNewPartner()">+ {{ 'basic.new' | translate }} {{ partnerColumnHeadline }}</button>
</div> </div>
<app-paging #pagingComponent <app-paging #pagingComponent


+ 1
- 1
matsen-tool/src/app/_views/posts/post-list/post-list.component.html Прегледај датотеку

@@ -1,6 +1,6 @@
<div class="spt-container"> <div class="spt-container">
<div class="posts"> <div class="posts">
<div class="top-btn">
<div *ngIf="!this.user" class="top-btn">
<button class="btn btn-primary" (click)="openModalNewPost()">+ {{ 'basic.new-post' | translate }}</button> <button class="btn btn-primary" (click)="openModalNewPost()">+ {{ 'basic.new-post' | translate }}</button>
</div> </div>
<app-paging #pagingComponent <app-paging #pagingComponent


+ 13
- 4
matsen-tool/src/app/_views/products/assign-product/assign-product.component.html Прегледај датотеку

@@ -5,16 +5,25 @@
<div class="mb-3" *ngIf="this.partnerProduct"> <div class="mb-3" *ngIf="this.partnerProduct">
<app-search-input #productSearchInput <app-search-input #productSearchInput
[formId]="'productIri'" [formId]="'productIri'"
[formLabelLangKey]="'form.productIri'"
[formLabelLangKey]="'form.product'"
[dataField]="'productName'" [dataField]="'productName'"
[documentForm]="form" [documentForm]="form"
[documentFormField]="'productName'" [documentFormField]="'productName'"
[fetchFunction]="fetchProducts">
[fetchFunction]="fetchPartnerProducts">
</app-search-input> </app-search-input>

<input type="hidden" formControlName="partnerIri" value="{{partnerProduct.partnerIri}}"/> <input type="hidden" formControlName="partnerIri" value="{{partnerProduct.partnerIri}}"/>
</div> </div>

<div class="mb-3" *ngIf="this.contactPartnerProduct">
<app-search-input #productSearchInput
[formId]="'partnerProductIri'"
[formLabelLangKey]="'form.product'"
[dataField]="'productName'"
[documentForm]="form"
[documentFormField]="'productName'"
[fetchFunction]="fetchContactPartnerProducts">
</app-search-input>
<input type="hidden" formControlName="partnerProductIri" value="{{contactPartnerProduct.partnerProductIri}}"/>
</div>
<button type="submit" class="btn btn-primary" [disabled]="form.invalid">{{'form.send' | translate}}</button> <button type="submit" class="btn btn-primary" [disabled]="form.invalid">{{'form.send' | translate}}</button>
</form> </form>
</div> </div>

+ 68
- 16
matsen-tool/src/app/_views/products/assign-product/assign-product.component.ts Прегледај датотеку

@@ -1,15 +1,14 @@
import {Component, EventEmitter, Input, OnInit, Output, ViewChild} from '@angular/core'; import {Component, EventEmitter, Input, OnInit, Output, ViewChild} from '@angular/core';
import { import {
ContactJsonld,
ContactPartnerProductJsonld, ContactPartnerProductService, PartnerJsonld,
PartnerProductJsonld, PartnerProductService, PartnerProductJsonld, PartnerProductService,
ProductService, ProductService,
UserJsonld
} from "@app/core/api/v1"; } from "@app/core/api/v1";
import {ModalStatus} from "@app/_helpers/modal.states"; import {ModalStatus} from "@app/_helpers/modal.states";
import {SearchInputComponent} from "@app/_components/search-input/search-input.component"; import {SearchInputComponent} from "@app/_components/search-input/search-input.component";
import {FormGroupInitializer} from "@app/_helpers/formgroup.initializer"; import {FormGroupInitializer} from "@app/_helpers/formgroup.initializer";
import {FormGroup} from "@angular/forms"; import {FormGroup} from "@angular/forms";
import {partnerProductForm} from "@app/_forms/apiForms";
import {contactPartnerProductForm, partnerProductForm} from "@app/_forms/apiForms";
import {forkJoin, Observable} from "rxjs"; import {forkJoin, Observable} from "rxjs";
import {map} from "rxjs/operators"; import {map} from "rxjs/operators";


@@ -19,9 +18,9 @@ import {map} from "rxjs/operators";
styleUrl: './assign-product.component.scss' styleUrl: './assign-product.component.scss'
}) })
export class AssignProductComponent implements OnInit { export class AssignProductComponent implements OnInit {
@Input() public user!: UserJsonld;
@Input() public partnerIri!: string;
@Input() public partnerProduct!: PartnerProductJsonld; @Input() public partnerProduct!: PartnerProductJsonld;
@Input() public contact!: ContactJsonld;
@Input() public contactPartnerProduct!: ContactPartnerProductJsonld;
@Output() public submit: EventEmitter<ModalStatus> = new EventEmitter<ModalStatus>(); @Output() public submit: EventEmitter<ModalStatus> = new EventEmitter<ModalStatus>();
@ViewChild('productSearchInput', { static: false }) $productSearchInput!: SearchInputComponent; @ViewChild('productSearchInput', { static: false }) $productSearchInput!: SearchInputComponent;


@@ -29,7 +28,8 @@ export class AssignProductComponent implements OnInit {


constructor( constructor(
protected productService: ProductService, protected productService: ProductService,
protected partnerProductService: PartnerProductService
protected partnerProductService: PartnerProductService,
protected contactPartnerProductService: ContactPartnerProductService
) { ) {


} }
@@ -38,10 +38,13 @@ export class AssignProductComponent implements OnInit {
if (this.partnerProduct !== undefined) { if (this.partnerProduct !== undefined) {
this.form = FormGroupInitializer.initFormGroup(partnerProductForm, this.partnerProduct); this.form = FormGroupInitializer.initFormGroup(partnerProductForm, this.partnerProduct);
} }
console.log(this.contactPartnerProduct);
if (this.contactPartnerProduct !== undefined) {
this.form = FormGroupInitializer.initFormGroup(contactPartnerProductForm, this.contactPartnerProduct);
}
} }


fetchProducts = (term: string): Observable<{ id: any; name: any }[]> => {
// Beide API-Calls werden hier definiert
fetchPartnerProducts = (term: string): Observable<{ id: any; name: any }[]> => {
let products$ = this.productService.productsGetCollection(1, 50, term); let products$ = this.productService.productsGetCollection(1, 50, term);
let partnerProducts$ = this.partnerProductService.partnerProductsGetCollection( let partnerProducts$ = this.partnerProductService.partnerProductsGetCollection(
1, 1,
@@ -65,16 +68,65 @@ export class AssignProductComponent implements OnInit {
); );
} }


fetchContactPartnerProducts = (term: string): Observable<{ id: any; name: any }[]> => {
let partnerProducts$ = this.partnerProductService.partnerProductsGetCollection(
1,
50,
this.partnerIri,
undefined,
undefined,
undefined,
term
);

let contactPartnerProducts$ = this.contactPartnerProductService.contactPartnerProductsGetCollection(
1,
50,
this.contactPartnerProduct.contactIri!,
undefined,
term
);

// Combine api calls
return forkJoin([partnerProducts$, contactPartnerProducts$])
.pipe(
map(([partnerProductsResponse, contactPartnerProductsResponse]) => {
let partnerProducts = partnerProductsResponse['hydra:member'].map(partnerProduct =>
({ id: partnerProduct.id, name: partnerProduct.product!.name })
);
let contactPartnerProductIds = contactPartnerProductsResponse['hydra:member'].map(contactPartnerProduct =>
contactPartnerProduct.partnerProduct?.id
);
// Filter all products where a partner product already exists
return partnerProducts.filter(partnerProduct => !contactPartnerProductIds.includes(partnerProduct.id));
})
);
}

onSubmit() { onSubmit() {
if (this.form.valid) { if (this.form.valid) {
this.partnerProductService.partnerProductsPost(
this.form.value as PartnerProductJsonld
).subscribe(
data => {
this.form.reset();
this.submit.emit(ModalStatus.Submitted);
}
)
if (this.partnerProduct !== undefined) {
// Partner product
this.partnerProductService.partnerProductsPost(
this.form.value as PartnerProductJsonld
).subscribe(
data => {
this.form.reset();
this.submit.emit(ModalStatus.Submitted);
}
)
}
if (this.contactPartnerProduct !== undefined) {
this.contactPartnerProductService.contactPartnerProductsPost(
this.form.value as ContactPartnerProductJsonld
).subscribe(
data => {
this.form.reset();
this.submit.emit(ModalStatus.Submitted);
}
)
}

} }
} }
} }

+ 1
- 1
matsen-tool/src/app/_views/products/product-list/product-list.component.html Прегледај датотеку

@@ -1,5 +1,5 @@
<div class="spt-container"> <div class="spt-container">
<div class="top-btn">
<div *ngIf="!this.user" class="top-btn">
<button *ngIf="bShowNewProductButton" class="btn btn-primary" (click)="openModalNewProduct()">+ {{ 'basic.new-product' | translate }}</button> <button *ngIf="bShowNewProductButton" class="btn btn-primary" (click)="openModalNewProduct()">+ {{ 'basic.new-product' | translate }}</button>
<button *ngIf="!bShowNewProductButton" class="btn btn-primary" (click)="openModalAssignProduct()">+ {{ 'basic.assign-product' | translate }}</button> <button *ngIf="!bShowNewProductButton" class="btn btn-primary" (click)="openModalAssignProduct()">+ {{ 'basic.assign-product' | translate }}</button>
</div> </div>


+ 5
- 5
matsen-tool/src/app/_views/products/product-list/product-list.component.ts Прегледај датотеку

@@ -3,7 +3,7 @@ import {MatSort, Sort} from "@angular/material/sort";
import {PagingComponent} from "@app/_components/paging/paging.component"; import {PagingComponent} from "@app/_components/paging/paging.component";
import {Subscription} from "rxjs"; import {Subscription} from "rxjs";
import { import {
ContactJsonld, ContactPartnerProductService,
ContactJsonld, ContactPartnerProductJsonld, ContactPartnerProductService,
PartnerJsonld, PartnerProductJsonld, PartnerJsonld, PartnerProductJsonld,
PartnerProductService, PostJsonld, PartnerProductService, PostJsonld,
ProductJsonld, ProductJsonld,
@@ -187,18 +187,18 @@ export class ProductListComponent implements OnInit, AfterViewInit {
); );
} else if (this.partner !== undefined) { } else if (this.partner !== undefined) {
let partnerProduct: PartnerProductJsonld = {} as PartnerProductJsonld; let partnerProduct: PartnerProductJsonld = {} as PartnerProductJsonld;
if (this.partner.id) {
partnerProduct.partnerIri = this.partner.id;
}
partnerProduct.partnerIri = this.partner.id!;
this.appHelperService.openModal( this.appHelperService.openModal(
AssignProductComponent, AssignProductComponent,
{ 'partnerProduct' : partnerProduct }, { 'partnerProduct' : partnerProduct },
this.getPartnerProducts this.getPartnerProducts
); );
} else if (this.contact !== undefined) { } else if (this.contact !== undefined) {
let contactPartnerProduct: ContactPartnerProductJsonld = {} as ContactPartnerProductJsonld;
contactPartnerProduct.contactIri = this.contact.id!;
this.appHelperService.openModal( this.appHelperService.openModal(
AssignProductComponent, AssignProductComponent,
{ 'contact' : this.contact },
{ 'contactPartnerProduct' : contactPartnerProduct, 'partnerIri' : this.contact.partnerIri },
this.getContactPartnerProduct this.getContactPartnerProduct
); );
} else { } else {


+ 1
- 1
matsen-tool/src/app/_views/products/products-detail/products-detail.component.ts Прегледај датотеку

@@ -98,7 +98,7 @@ export class ProductsDetailComponent implements OnInit, AfterViewInit {
this.userProductSub = this.userProductService.userProductsPost( this.userProductSub = this.userProductService.userProductsPost(
{ {
user: this.user?.id, user: this.user?.id,
product: this.product,
productIri: this.product.id,
} as UserProductJsonld } as UserProductJsonld
).subscribe( ).subscribe(
data => { data => {


+ 1
- 1
matsen-tool/src/app/_views/sales/sale-list/sale-list.component.html Прегледај датотеку

@@ -1,6 +1,6 @@
<div class="spt-container"> <div class="spt-container">
<div class="top-btn"> <div class="top-btn">
<button class="btn btn-primary" (click)="openModalNewSale()">+ {{ 'basic.new-sale' | translate }}</button>
<button *ngIf="!this.user" class="btn btn-primary" (click)="openModalNewSale()">+ {{ 'basic.new-sale' | translate }}</button>
</div> </div>
<app-paging #pagingComponent <app-paging #pagingComponent
[getDataFunction]="getData" [getDataFunction]="getData"


+ 9
- 4
matsen-tool/src/app/core/api/v1/api/contactPartnerProduct.service.ts Прегледај датотеку

@@ -106,13 +106,14 @@ export class ContactPartnerProductService {
* @param itemsPerPage The number of items per page * @param itemsPerPage The number of items per page
* @param contact * @param contact
* @param contact2 * @param contact2
* @param partnerProductProductName
* @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
* @param reportProgress flag to report request and response progress. * @param reportProgress flag to report request and response progress.
*/ */
public contactPartnerProductsGetCollection(page?: number, itemsPerPage?: number, contact?: string, contact2?: Array<string>, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/ld+json' | 'application/json' | 'text/html' | 'application/hal+json', context?: HttpContext, transferCache?: boolean}): Observable<ApiContactPartnerProductsGetCollection200Response>;
public contactPartnerProductsGetCollection(page?: number, itemsPerPage?: number, contact?: string, contact2?: Array<string>, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/ld+json' | 'application/json' | 'text/html' | 'application/hal+json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<ApiContactPartnerProductsGetCollection200Response>>;
public contactPartnerProductsGetCollection(page?: number, itemsPerPage?: number, contact?: string, contact2?: Array<string>, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/ld+json' | 'application/json' | 'text/html' | 'application/hal+json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<ApiContactPartnerProductsGetCollection200Response>>;
public contactPartnerProductsGetCollection(page?: number, itemsPerPage?: number, contact?: string, contact2?: Array<string>, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/ld+json' | 'application/json' | 'text/html' | 'application/hal+json', context?: HttpContext, transferCache?: boolean}): Observable<any> {
public contactPartnerProductsGetCollection(page?: number, itemsPerPage?: number, contact?: string, contact2?: Array<string>, partnerProductProductName?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/ld+json' | 'application/json' | 'text/html' | 'application/hal+json', context?: HttpContext, transferCache?: boolean}): Observable<ApiContactPartnerProductsGetCollection200Response>;
public contactPartnerProductsGetCollection(page?: number, itemsPerPage?: number, contact?: string, contact2?: Array<string>, partnerProductProductName?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/ld+json' | 'application/json' | 'text/html' | 'application/hal+json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<ApiContactPartnerProductsGetCollection200Response>>;
public contactPartnerProductsGetCollection(page?: number, itemsPerPage?: number, contact?: string, contact2?: Array<string>, partnerProductProductName?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/ld+json' | 'application/json' | 'text/html' | 'application/hal+json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<ApiContactPartnerProductsGetCollection200Response>>;
public contactPartnerProductsGetCollection(page?: number, itemsPerPage?: number, contact?: string, contact2?: Array<string>, partnerProductProductName?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/ld+json' | 'application/json' | 'text/html' | 'application/hal+json', context?: HttpContext, transferCache?: boolean}): Observable<any> {


let localVarQueryParameters = new HttpParams({encoder: this.encoder}); let localVarQueryParameters = new HttpParams({encoder: this.encoder});
if (page !== undefined && page !== null) { if (page !== undefined && page !== null) {
@@ -133,6 +134,10 @@ export class ContactPartnerProductService {
<any>element, 'contact[]'); <any>element, 'contact[]');
}) })
} }
if (partnerProductProductName !== undefined && partnerProductProductName !== null) {
localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,
<any>partnerProductProductName, 'partnerProduct.product.name');
}


let localVarHeaders = this.defaultHeaders; let localVarHeaders = this.defaultHeaders;




+ 5
- 0
matsen-tool/src/app/core/api/v1/model/contactPartnerProduct.ts Прегледај датотеку

@@ -10,6 +10,7 @@
* Do not edit the class manually. * Do not edit the class manually.
*/ */
import { Product } from './product'; import { Product } from './product';
import { PartnerProduct } from './partnerProduct';




/** /**
@@ -18,6 +19,10 @@ import { Product } from './product';
export interface ContactPartnerProduct { export interface ContactPartnerProduct {
contactIri: string | null; contactIri: string | null;
partnerProductIri: string | null; partnerProductIri: string | null;
/**
* ?PartnerProduct
*/
readonly partnerProduct?: PartnerProduct;
/** /**
* ?ProductApi * ?ProductApi
*/ */


+ 5
- 0
matsen-tool/src/app/core/api/v1/model/contactPartnerProductJsonhal.ts Прегледај датотеку

@@ -10,6 +10,7 @@
* Do not edit the class manually. * Do not edit the class manually.
*/ */
import { CommentJsonhalLinks } from './commentJsonhalLinks'; import { CommentJsonhalLinks } from './commentJsonhalLinks';
import { PartnerProductJsonhal } from './partnerProductJsonhal';
import { ProductJsonhal } from './productJsonhal'; import { ProductJsonhal } from './productJsonhal';




@@ -20,6 +21,10 @@ export interface ContactPartnerProductJsonhal {
_links?: CommentJsonhalLinks; _links?: CommentJsonhalLinks;
contactIri: string | null; contactIri: string | null;
partnerProductIri: string | null; partnerProductIri: string | null;
/**
* ?PartnerProduct
*/
readonly partnerProduct?: PartnerProductJsonhal;
/** /**
* ?ProductApi * ?ProductApi
*/ */


+ 5
- 0
matsen-tool/src/app/core/api/v1/model/contactPartnerProductJsonld.ts Прегледај датотеку

@@ -9,6 +9,7 @@
* https://openapi-generator.tech * https://openapi-generator.tech
* Do not edit the class manually. * Do not edit the class manually.
*/ */
import { PartnerProductJsonld } from './partnerProductJsonld';
import { CommentJsonldContext } from './commentJsonldContext'; import { CommentJsonldContext } from './commentJsonldContext';
import { ProductJsonld } from './productJsonld'; import { ProductJsonld } from './productJsonld';


@@ -22,6 +23,10 @@ export interface ContactPartnerProductJsonld {
readonly type?: string; readonly type?: string;
contactIri: string | null; contactIri: string | null;
partnerProductIri: string | null; partnerProductIri: string | null;
/**
* ?PartnerProduct
*/
readonly partnerProduct?: PartnerProductJsonld;
/** /**
* ?ProductApi * ?ProductApi
*/ */


Loading…
Откажи
Сачувај