Skip to content

Commit

Permalink
Merge pull request #32 from moysklad/MC-34258
Browse files Browse the repository at this point in the history
MC-34258 prerelease 1.2
  • Loading branch information
SergeyTru committed Jul 27, 2020
2 parents 941cc3e + 411d908 commit 3d54ab4
Show file tree
Hide file tree
Showing 164 changed files with 1,926 additions and 305 deletions.
7 changes: 7 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,13 @@

Все крупные изменения в проекте будут отражены в этом файле.

## 1.2-release (27.07.2020)
* Добавлено массовое создание / удаление сущностей
* Добавлена возможность изменять настройки компании
* Добавлена работа со скидками
* Разделён DocumentPosition для разных типов документов
* Актуализированы поля документов

## 1.1-release (08.06.2020)
* Изменены типы полей `tiny` и `miniature` в справочнике `Image` c `MetaEntity` на `Meta`
* Добавлено поле `reserve` в `DocumentPosition`
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
package com.lognex.api.clients;

import com.lognex.api.clients.endpoints.*;
import com.lognex.api.entities.MetaEntity;
import com.lognex.api.entities.discounts.AccumulationDiscount;

public final class AccumulationDiscountClient extends EntityClientBase
implements
GetListEndpoint<AccumulationDiscount>,
GetByIdEndpoint<AccumulationDiscount>,
PostEndpoint<AccumulationDiscount>,
PutByIdEndpoint<AccumulationDiscount>,
DeleteByIdEndpoint {

public AccumulationDiscountClient(com.lognex.api.ApiClient api) {
super(api, "/entity/accumulationdiscount/");
}

@Override
public Class<? extends MetaEntity> entityClass() {
return AccumulationDiscount.class;
}
}
6 changes: 3 additions & 3 deletions src/main/java/com/lognex/api/clients/BonusProgramClient.java
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
package com.lognex.api.clients;

import com.lognex.api.clients.endpoints.DeleteByIdEndpoint;
import com.lognex.api.clients.endpoints.GetByIdEndpoint;
import com.lognex.api.clients.endpoints.GetListEndpoint;
import com.lognex.api.clients.endpoints.*;
import com.lognex.api.entities.MetaEntity;
import com.lognex.api.entities.discounts.BonusProgram;

Expand All @@ -11,6 +9,8 @@ public final class BonusProgramClient
implements
GetListEndpoint<BonusProgram>,
GetByIdEndpoint<BonusProgram>,
PostEndpoint<BonusProgram>,
PutByIdEndpoint<BonusProgram>,
DeleteByIdEndpoint {

public BonusProgramClient(com.lognex.api.ApiClient api) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ public final class BonusTransactionClient
MetadataAttributeEndpoint,
GetByIdEndpoint<BonusTransaction>,
PutByIdEndpoint<BonusTransaction>,
MassCreateUpdateDeleteEndpoint<BonusTransaction>,
DeleteByIdEndpoint {

public BonusTransactionClient(com.lognex.api.ApiClient api) {
Expand Down
1 change: 1 addition & 0 deletions src/main/java/com/lognex/api/clients/BundleClient.java
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ public final class BundleClient
MetadataAttributeEndpoint,
GetByIdEndpoint<Bundle>,
PutByIdEndpoint<Bundle>,
MassCreateUpdateDeleteEndpoint<Bundle>,
DeleteByIdEndpoint,
HasImagesEndpoint<Bundle> {

Expand Down
63 changes: 63 additions & 0 deletions src/main/java/com/lognex/api/clients/CharacteristicClient.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
package com.lognex.api.clients;

import com.lognex.api.ApiClient;
import com.lognex.api.clients.endpoints.GetByIdEndpoint;
import com.lognex.api.clients.endpoints.PostEndpoint;
import com.lognex.api.entities.MetaEntity;
import com.lognex.api.entities.products.Variant;
import com.lognex.api.responses.CharacteristicListEntity;
import com.lognex.api.utils.ApiClientException;
import com.lognex.api.utils.HttpRequestExecutor;
import com.lognex.api.utils.params.ApiParam;

import java.io.IOException;
import java.util.Collection;
import java.util.List;

public final class CharacteristicClient
extends EntityClientBase
implements
GetByIdEndpoint<Variant.Characteristic>,
PostEndpoint<Variant.Characteristic>
{

public CharacteristicClient(ApiClient api) {
super(api, "/entity/variant/metadata/characteristics/");
}

/**
* Получить список всех характеристик.<br>
* У полученных объектов поле value всегда null так как это характеристика, а не её значение для модификации товара
*/
public CharacteristicListEntity get(ApiParam... params) throws IOException, ApiClientException {
return HttpRequestExecutor.
path(api(), path()).
apiParams(params).
get(CharacteristicListEntity.class);
}

/**
* Создание новой характеристики.<br>
* При создании характеристики <b>учитывается только поле name</b>.
*/
@Override
public Variant.Characteristic create(Variant.Characteristic newEntity) throws IOException, ApiClientException {
return PostEndpoint.super.create(newEntity);
}

/**
* Массовое создание новых характеристик.<br>
* При создании характеристики <b>учитывается только поле name</b>.
*/
public List<Variant.Characteristic> create(Collection<Variant.Characteristic> entities) throws IOException, ApiClientException {
return HttpRequestExecutor.
path(api(), path()).
body(entities).
postList(Variant.Characteristic.class);
}

@Override
public Class<? extends MetaEntity> entityClass() {
return Variant.Characteristic.class;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,15 @@
import com.lognex.api.clients.endpoints.ApiChainElement;
import com.lognex.api.clients.endpoints.GetEndpoint;
import com.lognex.api.clients.endpoints.MetadataEndpoint;
import com.lognex.api.clients.endpoints.PutEndpoint;
import com.lognex.api.entities.CompanySettings;
import com.lognex.api.entities.MetaEntity;
import com.lognex.api.responses.CompanySettingsResponse;
import com.lognex.api.responses.metadata.CompanySettingsMetadata;

public final class CompanySettingsClient
extends EntityClientBase
implements GetEndpoint<CompanySettingsResponse>,
implements GetEndpoint<CompanySettings>,
PutEndpoint<CompanySettings>,
MetadataEndpoint<CompanySettingsMetadata> {

public CompanySettingsClient(ApiClient api) {
Expand All @@ -24,7 +26,7 @@ public PriceTypeClient pricetype() {

@Override
public Class<? extends MetaEntity> entityClass() {
return CompanySettingsResponse.class;
return CompanySettings.class;
}

@Override
Expand Down
3 changes: 2 additions & 1 deletion src/main/java/com/lognex/api/clients/ConsignmentClient.java
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,8 @@ public final class ConsignmentClient
MetadataEndpoint<MetadataAttributeResponse>,
MetadataAttributeEndpoint,
GetByIdEndpoint<Consignment>,
PutByIdEndpoint<Consignment> {
PutByIdEndpoint<Consignment>,
MassCreateUpdateDeleteEndpoint<Consignment> {

public ConsignmentClient(ApiClient api) {
super(api, "/entity/consignment/");
Expand Down
1 change: 1 addition & 0 deletions src/main/java/com/lognex/api/clients/ContractClient.java
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ public final class ContractClient
implements
GetListEndpoint<Contract>,
PostEndpoint<Contract>,
MassCreateUpdateDeleteEndpoint<Contract>,
DeleteByIdEndpoint,
DocumentMetadataEndpoint<MetadataAttributeSharedStatesResponse>,
MetadataAttributeEndpoint,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ public final class CounterpartyClient
MetadataAttributeEndpoint,
GetByIdEndpoint<Counterparty>,
PutByIdEndpoint<Counterparty>,
MassCreateUpdateDeleteEndpoint<Counterparty>,
HasStatesEndpoint {

public CounterpartyClient(com.lognex.api.ApiClient api) {
Expand Down
3 changes: 2 additions & 1 deletion src/main/java/com/lognex/api/clients/CountryClient.java
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,8 @@ public final class CountryClient
PostEndpoint<Country>,
DeleteByIdEndpoint,
GetByIdEndpoint<Country>,
PutByIdEndpoint<Country> {
PutByIdEndpoint<Country>,
MassCreateUpdateDeleteEndpoint<Country> {

public CountryClient(com.lognex.api.ApiClient api) {
super(api, "/entity/country/");
Expand Down
3 changes: 2 additions & 1 deletion src/main/java/com/lognex/api/clients/CurrencyClient.java
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,8 @@ public final class CurrencyClient
PostEndpoint<Currency>,
DeleteByIdEndpoint,
GetByIdEndpoint<Currency>,
PutByIdEndpoint<Currency> {
PutByIdEndpoint<Currency>,
MassCreateUpdateDeleteEndpoint<Currency> {

public CurrencyClient(com.lognex.api.ApiClient api) {
super(api, "/entity/currency/");
Expand Down
3 changes: 2 additions & 1 deletion src/main/java/com/lognex/api/clients/EmployeeClient.java
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,8 @@ public final class EmployeeClient
MetadataEndpoint<MetadataAttributeSharedResponse>,
MetadataAttributeEndpoint,
GetByIdEndpoint<Employee>,
PutByIdEndpoint<Employee> {
PutByIdEndpoint<Employee>,
MassCreateUpdateDeleteEndpoint<Employee> {

public EmployeeClient(com.lognex.api.ApiClient api) {
super(api, "/entity/employee/");
Expand Down
20 changes: 20 additions & 0 deletions src/main/java/com/lognex/api/clients/EntityClient.java
Original file line number Diff line number Diff line change
Expand Up @@ -286,6 +286,26 @@ public BonusTransactionClient bonustransaction() {
return new BonusTransactionClient(api);
}

@ApiChainElement
public PersonalDiscountClient personaldiscount() {
return new PersonalDiscountClient(api);
}

@ApiChainElement
public AccumulationDiscountClient accumulationdiscount() {
return new AccumulationDiscountClient(api);
}

@ApiChainElement
public RoundOffDiscountClient roundoffdiscount() {
return new RoundOffDiscountClient(api);
}

@ApiChainElement
public SpecialPriceDiscountClient specialpricediscount() {
return new SpecialPriceDiscountClient(api);
}

@ApiChainElement
public RegionClient region() {
return new RegionClient(api);
Expand Down
3 changes: 2 additions & 1 deletion src/main/java/com/lognex/api/clients/ExpenseItemClient.java
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,8 @@ public final class ExpenseItemClient
PostEndpoint<ExpenseItem>,
DeleteByIdEndpoint,
GetByIdEndpoint<ExpenseItem>,
PutByIdEndpoint<ExpenseItem> {
PutByIdEndpoint<ExpenseItem>,
MassCreateUpdateDeleteEndpoint<ExpenseItem> {

public ExpenseItemClient(com.lognex.api.ApiClient api) {
super(api, "/entity/expenseitem/");
Expand Down
3 changes: 2 additions & 1 deletion src/main/java/com/lognex/api/clients/OrganizationClient.java
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,8 @@ public final class OrganizationClient
MetadataEndpoint<MetadataAttributeSharedResponse>,
MetadataAttributeEndpoint,
GetByIdEndpoint<Organization>,
PutByIdEndpoint<Organization> {
PutByIdEndpoint<Organization>,
MassCreateUpdateDeleteEndpoint<Organization> {

public OrganizationClient(ApiClient api) {
super(api, "/entity/organization/");
Expand Down
22 changes: 22 additions & 0 deletions src/main/java/com/lognex/api/clients/PersonalDiscountClient.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
package com.lognex.api.clients;

import com.lognex.api.clients.endpoints.*;
import com.lognex.api.entities.MetaEntity;
import com.lognex.api.entities.discounts.PersonalDiscount;

public final class PersonalDiscountClient extends EntityClientBase
implements GetListEndpoint<PersonalDiscount>,
GetByIdEndpoint<PersonalDiscount>,
PostEndpoint<PersonalDiscount>,
PutByIdEndpoint<PersonalDiscount>,
DeleteByIdEndpoint {

public PersonalDiscountClient(com.lognex.api.ApiClient api) {
super(api, "/entity/personaldiscount/");
}

@Override
public Class<? extends MetaEntity> entityClass() {
return PersonalDiscount.class;
}
}
1 change: 1 addition & 0 deletions src/main/java/com/lognex/api/clients/ProductClient.java
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ public final class ProductClient
MetadataAttributeEndpoint,
GetByIdEndpoint<Product>,
PutByIdEndpoint<Product>,
MassCreateUpdateDeleteEndpoint<Product>,
HasImagesEndpoint<Product> {

public ProductClient(com.lognex.api.ApiClient api) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,8 @@ public final class ProductFolderClient
MetadataEndpoint<MetadataAttributeResponse>,
MetadataAttributeEndpoint,
GetByIdEndpoint<ProductFolder>,
PutByIdEndpoint<ProductFolder> {
PutByIdEndpoint<ProductFolder>,
MassCreateUpdateDeleteEndpoint<ProductFolder> {

public ProductFolderClient(com.lognex.api.ApiClient api) {
super(api, "/entity/productfolder/");
Expand Down
1 change: 1 addition & 0 deletions src/main/java/com/lognex/api/clients/ProjectClient.java
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ public final class ProjectClient
MetadataEndpoint<MetadataAttributeSharedResponse>,
MetadataAttributeEndpoint,
GetByIdEndpoint<Project>,
MassCreateUpdateDeleteEndpoint<Project>,
PutByIdEndpoint<Project> {

public ProjectClient(com.lognex.api.ApiClient api) {
Expand Down
3 changes: 2 additions & 1 deletion src/main/java/com/lognex/api/clients/RetailStoreClient.java
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,8 @@ public final class RetailStoreClient
PostEndpoint<RetailStore>,
DeleteByIdEndpoint,
GetByIdEndpoint<RetailStore>,
PutByIdEndpoint<RetailStore> {
PutByIdEndpoint<RetailStore>,
MassCreateUpdateDeleteEndpoint<RetailStore> {

public RetailStoreClient(com.lognex.api.ApiClient api) {
super(api, "/entity/retailstore/");
Expand Down
21 changes: 21 additions & 0 deletions src/main/java/com/lognex/api/clients/RoundOffDiscountClient.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
package com.lognex.api.clients;

import com.lognex.api.clients.endpoints.GetByIdEndpoint;
import com.lognex.api.clients.endpoints.PutByIdEndpoint;
import com.lognex.api.entities.MetaEntity;
import com.lognex.api.entities.discounts.RoundOffDiscount;

public final class RoundOffDiscountClient extends EntityClientBase
implements
GetByIdEndpoint<RoundOffDiscount>,
PutByIdEndpoint<RoundOffDiscount> {

public RoundOffDiscountClient(com.lognex.api.ApiClient api) {
super(api, "/entity/discount/");
}

@Override
public Class<? extends MetaEntity> entityClass() {
return RoundOffDiscount.class;
}
}
1 change: 1 addition & 0 deletions src/main/java/com/lognex/api/clients/ServiceClient.java
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ public final class ServiceClient
MetadataAttributeEndpoint,
GetByIdEndpoint<Service>,
PutByIdEndpoint<Service>,
MassCreateUpdateDeleteEndpoint<Service>,
GetBySyncIdEndpoint<Service> {

public ServiceClient(com.lognex.api.ApiClient api) {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
package com.lognex.api.clients;

import com.lognex.api.clients.endpoints.*;
import com.lognex.api.entities.MetaEntity;
import com.lognex.api.entities.discounts.SpecialPriceDiscount;

public final class SpecialPriceDiscountClient extends EntityClientBase
implements
GetListEndpoint<SpecialPriceDiscount>,
GetByIdEndpoint<SpecialPriceDiscount>,
PostEndpoint<SpecialPriceDiscount>,
PutByIdEndpoint<SpecialPriceDiscount>,
DeleteByIdEndpoint {
public SpecialPriceDiscountClient(com.lognex.api.ApiClient api) {
super(api, "/entity/specialpricediscount/");
}

@Override
public Class<? extends MetaEntity> entityClass() {
return SpecialPriceDiscount.class;
}
}
6 changes: 2 additions & 4 deletions src/main/java/com/lognex/api/clients/StateClient.java
Original file line number Diff line number Diff line change
@@ -1,10 +1,7 @@
package com.lognex.api.clients;

import com.lognex.api.ApiClient;
import com.lognex.api.clients.endpoints.DeleteByIdEndpoint;
import com.lognex.api.clients.endpoints.GetByIdEndpoint;
import com.lognex.api.clients.endpoints.PostEndpoint;
import com.lognex.api.clients.endpoints.PutByIdEndpoint;
import com.lognex.api.clients.endpoints.*;
import com.lognex.api.entities.MetaEntity;
import com.lognex.api.entities.State;

Expand All @@ -14,6 +11,7 @@ public class StateClient
GetByIdEndpoint<State>,
PostEndpoint<State>,
PutByIdEndpoint<State>,
MassCreateUpdateEndpoint<State>,
DeleteByIdEndpoint
{

Expand Down
Loading

0 comments on commit 3d54ab4

Please sign in to comment.