didox 0.0.1 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -28,6 +28,8 @@ Before using the didox module, make sure to set the following environment variab
28
28
 
29
29
  `TBC_DIDOX_PASSWORD`: Your didox password or API key secret.
30
30
 
31
+ `TBC_DIDOX_PARTNER_TOKEN`: Your didox partner token ( given by didox.uz ).
32
+
31
33
  These environment variables are required for authentication when using the module. Be sure to keep them secure and do not expose them in your code.
32
34
 
33
35
  ## Usage
@@ -47,6 +49,17 @@ For detailed usage instructions and API documentation, please refer to the [docu
47
49
 
48
50
 
49
51
  # Releases
52
+ ### v0.0.3
53
+ - ***Updated*** [Documents](https://api-docs.didox.uz/ru/integrators-documents) controller
54
+ - Create document now can get AuthData - Login and Password
55
+
56
+ ### v0.0.2
57
+ - ***Updated*** [Documents](https://api-docs.didox.uz/ru/integrators-documents) controller
58
+ - Get documents count
59
+ - Get document information by ID
60
+ - Get document privileges ( Льготы ) by ID
61
+ - Create document
62
+
50
63
  ### v0.0.1
51
64
  - ***Added*** support for [Account](https://api-docs.didox.uz/ru/integrators-account) controller
52
65
  - Get account information
package/dist/index.d.ts CHANGED
@@ -4,11 +4,152 @@ declare class Account {
4
4
  }
5
5
 
6
6
  declare class Authorization {
7
- static getUserToken(): Promise<any>;
7
+ static getUserToken(login?: string | null, password?: string | null): Promise<any>;
8
8
  }
9
9
 
10
+ interface IDocument {
11
+ version?: number;
12
+ didoxContractID?: string;
13
+ hasMarking?: boolean;
14
+ facturaType: number;
15
+ singleSidedType?: TSingleSided;
16
+ incomeType?: number;
17
+ facturaID: string;
18
+ facturaDoc: {
19
+ facturaNo: string;
20
+ facturaDate: string;
21
+ };
22
+ oldFacturaDoc?: {
23
+ oldFacturaID: string;
24
+ oldFacturaNo: string;
25
+ oldFacturaDate: string;
26
+ };
27
+ contractDoc: {
28
+ contractNo: string;
29
+ contractDate: string;
30
+ };
31
+ facturaEmpowermentDoc: {
32
+ agentFacturaID: string;
33
+ empowermentNo?: string;
34
+ empowermentDateOfIssue?: string;
35
+ agentPinfl?: string;
36
+ agentFIO?: string;
37
+ };
38
+ itemReleaseDoc?: {
39
+ itemReleaseFIO: string;
40
+ itemReleasePINFL: string;
41
+ };
42
+ sellerTIN: string;
43
+ buyerTIN: string;
44
+ lotID?: string;
45
+ contractID?: string;
46
+ waybillIDs?: Array<string>;
47
+ facturaInvestmentObjectDoc?: {
48
+ objectID: string;
49
+ objectName: string;
50
+ };
51
+ seller: IDocumentSellerInfo;
52
+ buyer: IDocumentBuyerInfo;
53
+ foreignCompany?: {
54
+ countryID: string;
55
+ name: string;
56
+ address?: string;
57
+ bank?: string;
58
+ account?: string;
59
+ };
60
+ productList: {
61
+ facturaProductId: string;
62
+ tin: string;
63
+ hasVAT: boolean;
64
+ hasExcise: boolean;
65
+ hasCommittent: boolean;
66
+ hasLgota?: boolean;
67
+ hideReportCommittent?: boolean;
68
+ hasMedical?: boolean;
69
+ products: Array<IProduct>;
70
+ };
71
+ }
72
+ interface IDocumentSellerInfo {
73
+ name: string;
74
+ account?: string;
75
+ bankID?: string;
76
+ address?: string;
77
+ mobile?: string;
78
+ workPhone?: string;
79
+ oked?: string;
80
+ districtID?: string;
81
+ director?: string;
82
+ accountant?: string;
83
+ vatRegCode?: string;
84
+ vatRegStatus?: string;
85
+ branchCode?: string;
86
+ branchName?: string;
87
+ }
88
+ interface IDocumentBuyerInfo extends IDocumentSellerInfo {
89
+ }
90
+ interface IProduct {
91
+ ordNo: number;
92
+ committentName?: string;
93
+ committentTIN?: string;
94
+ committentVatRegCode?: string;
95
+ catalogCode: string;
96
+ catalogName: string;
97
+ barcode?: string;
98
+ lgotaID?: string;
99
+ lgotaName?: string;
100
+ lgotaVatSum?: number;
101
+ lgotaType?: number;
102
+ warehouseID?: number;
103
+ marks?: {
104
+ productType: number;
105
+ kiz: Array<string>;
106
+ nomUpak: Array<string>;
107
+ identTransUpak: Array<string>;
108
+ };
109
+ exchangeInfo?: {
110
+ productCode: string;
111
+ productProperties: string;
112
+ planPositionID: number;
113
+ };
114
+ name: string;
115
+ serial?: string;
116
+ measureID?: string;
117
+ packageCode: string;
118
+ packageName: string;
119
+ baseSumma?: number;
120
+ profitRate?: number;
121
+ count: string;
122
+ summa: string;
123
+ exciseRate?: number;
124
+ exciseSum?: number;
125
+ deliverySum: string;
126
+ vatRate: string;
127
+ vatSum: string;
128
+ deliverySumWithVAT: string;
129
+ withoutVAT: boolean;
130
+ origin: number;
131
+ }
132
+ type TSingleSided = 1 | // For an individual
133
+ 2 | // Export of services (outside the territory of the Republic of Uzbekistan)
134
+ 5 | // Financial services
135
+ 6 | // Sales below market value
136
+ 7 | // Sales below customs value
137
+ 8 | // Export of services (in the territory of the Republic of Uzbekistan)
138
+ 9 | // Other incomes
139
+ 10 | // Submission of excisable goods for processing
140
+ 11 | // Use of excisable goods for own needs
141
+ 12 | // The difference between the price and cost of excisable goods
142
+ 13;
143
+
10
144
  declare class Document {
11
145
  static getList(params: IDocumentGetListParamsInterface): Promise<any>;
146
+ static getCount(): Promise<any>;
147
+ static getInfo(id: string): Promise<any>;
148
+ static getPrivileges(id: string): Promise<any>;
149
+ static create(type: IDocumentType, data: IDocument, authData?: {
150
+ login: string;
151
+ password: string;
152
+ } | null): Promise<any>;
12
153
  }
13
154
  interface IDocumentGetListParamsInterface extends Object {
14
155
  owner: 1 | 0;
package/dist/index.js CHANGED
@@ -83,17 +83,17 @@ var Request_default = Request;
83
83
 
84
84
  // src/controllers/Authorization.ts
85
85
  var Authorization = class {
86
- static getUserToken() {
86
+ static getUserToken(login = null, password = null) {
87
87
  return __async(this, null, function* () {
88
- if (!process.env.TBC_DIDOX_LOGIN || !process.env.TBC_DIDOX_PASSWORD) {
88
+ if (!process.env.TBC_DIDOX_LOGIN || !process.env.TBC_DIDOX_PASSWORD || (!login || !password)) {
89
89
  console.error("Please, edit your ENV variables as introduced in module Documentation");
90
90
  return false;
91
91
  }
92
92
  const response = yield Request_default.make({
93
93
  type: "post",
94
- path: `/v1/auth/${process.env.TBC_DIDOX_LOGIN}/token`,
94
+ path: `/v1/auth/${process.env.TBC_DIDOX_LOGIN || login}/token`,
95
95
  data: {
96
- "password": process.env.TBC_DIDOX_PASSWORD
96
+ "password": process.env.TBC_DIDOX_PASSWORD || password
97
97
  }
98
98
  });
99
99
  return response == null ? void 0 : response.data.token;
@@ -150,12 +150,130 @@ var Document = class {
150
150
  return response.data;
151
151
  });
152
152
  }
153
+ static getCount() {
154
+ return __async(this, null, function* () {
155
+ const userKey = yield Authorization_default.getUserToken();
156
+ const response = yield Request_default.make({ type: "get", path: `/v1/documents/statistics/all`, headers: { "User-Key": userKey } });
157
+ return response.data;
158
+ });
159
+ }
160
+ static getInfo(id) {
161
+ return __async(this, null, function* () {
162
+ const userKey = yield Authorization_default.getUserToken();
163
+ const response = yield Request_default.make({ type: "get", path: `/v1/documents/${id}`, headers: { "User-Key": userKey } });
164
+ return response.data;
165
+ });
166
+ }
167
+ static getPrivileges(id) {
168
+ return __async(this, null, function* () {
169
+ const userKey = yield Authorization_default.getUserToken();
170
+ const response = yield Request_default.make({ type: "get", path: `/v1/documents/${id}/privileges`, headers: { "User-Key": userKey } });
171
+ return response.data;
172
+ });
173
+ }
174
+ static create(type, data2, authData = null) {
175
+ return __async(this, null, function* () {
176
+ const userKey = yield Authorization_default.getUserToken(authData == null ? void 0 : authData.login, authData == null ? void 0 : authData.password);
177
+ const response = yield Request_default.make({
178
+ type: "post",
179
+ path: `/v1/documents/${type}/create`,
180
+ data: data2,
181
+ headers: { "User-Key": userKey }
182
+ });
183
+ return response.data;
184
+ });
185
+ }
153
186
  };
154
187
  var Document_default = Document;
155
188
 
156
189
  // src/index.ts
157
190
  var import_dotenv = __toESM(require("dotenv"));
158
191
  import_dotenv.default.config();
192
+ var data = {
193
+ version: 1,
194
+ facturaID: "ID-1",
195
+ hasMarking: true,
196
+ facturaType: 0,
197
+ productList: {
198
+ "hasCommittent": false,
199
+ "tin": "306915557",
200
+ "hasExcise": false,
201
+ "hasVAT": true,
202
+ "products": [
203
+ {
204
+ "ordNo": 1,
205
+ "committentName": "",
206
+ "committentTin": "",
207
+ "committentVatRegCode": "",
208
+ "committentVatRegStatus": "",
209
+ "name": "Velo X-Freeze ( 4 points )",
210
+ "catalogCode": "02403001002000000",
211
+ "catalogName": "",
212
+ "marks": {
213
+ "kiz": [],
214
+ "nomUpak": [
215
+ "100",
216
+ "101"
217
+ ],
218
+ "identTransUpak": [],
219
+ "productType": 1
220
+ },
221
+ "barcode": "",
222
+ "measureID": void 0,
223
+ "packageCode": "",
224
+ "packageName": "",
225
+ "count": "2",
226
+ "summa": "45000",
227
+ "deliverySum": "90000",
228
+ "deliverySumWithVAT": "90000",
229
+ "vatRate": "0",
230
+ "vatSum": "0",
231
+ "withoutVAT": false,
232
+ "warehouseID": void 0,
233
+ "origin": 2
234
+ }
235
+ ],
236
+ "facturaProductId": "655492636f7ba63e98e0eed8"
237
+ },
238
+ "facturaDoc": {
239
+ "facturaNo": "INV-MOD-00033",
240
+ "facturaDate": "2024-01-1"
241
+ },
242
+ "contractDoc": {
243
+ "contractNo": "INV-MOD-00033",
244
+ "contractDate": "2024-01-1"
245
+ },
246
+ "sellerTIN": "306915557",
247
+ "seller": {
248
+ "name": "epos-systems-dev2",
249
+ "branchCode": "",
250
+ "branchName": "",
251
+ "account": "",
252
+ "bankID": "",
253
+ "address": "",
254
+ "director": "Ahrorbek Mirzaev",
255
+ "accountant": "Ahrorbek Mirzaev",
256
+ "vatRegCode": "306915557",
257
+ "vatRegStatus": "20"
258
+ },
259
+ "buyerTIN": "310492143",
260
+ "buyer": {
261
+ "name": '\u041E\u041E\u041E "\u041F\u043E\u043A\u0443\u043F\u0430\u0442\u0435\u043B\u044C"',
262
+ "branchCode": "",
263
+ "branchName": "",
264
+ "account": "",
265
+ "bankID": "",
266
+ "address": "\u0433.\u041C\u043E\u0441\u043A\u0432\u0430, \u0443\u043B.\u0421\u0442\u0440\u043E\u0438\u0442\u0435\u043B\u0435\u0439, \u0434.11",
267
+ "director": "",
268
+ "accountant": "",
269
+ "vatRegCode": "310492143",
270
+ "vatRegStatus": "20"
271
+ },
272
+ "facturaEmpowermentDoc": {
273
+ "agentFacturaID": ""
274
+ }
275
+ };
276
+ Document_default.create("001", data);
159
277
  // Annotate the CommonJS export names for ESM import in node:
160
278
  0 && (module.exports = {
161
279
  Account,
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/controllers/Request.ts","../src/controllers/Authorization.ts","../src/controllers/Profile.ts","../src/controllers/Account.ts","../src/controllers/Document.ts"],"sourcesContent":["import { \n Authorization, \n Account, \n Profile, \n Document \n} from \"./controllers\";\n\nimport dotenv from 'dotenv';\ndotenv.config();\n\nexport {\n Account,\n Profile,\n Authorization,\n Document\n}","import axios, { Method } from \"axios\";\nimport { Authorization } from \"./\";\n\nclass Request {\n private static baseURL: string = \"https://stage.goodsign.biz/\";\n private static partnerToken: string = process.env.TBC_DIDOX_PARTNER_TOKEN || '';\n\n public static async make (options: IRequestOptions) {\n let headers = {\n \"Content-Type\": \"application/json\",\n \"Partner-Token\": this.partnerToken\n };\n\n Object.assign(headers, options.headers);\n\n return axios({\n method: options.type,\n url: Request.baseURL + options.path,\n data: options.data,\n headers: headers\n });\n }\n}\n\ninterface IRequestOptions {\n type: Method;\n path: string;\n data?: any;\n headers?: any;\n}\n\nexport default Request;","import Request from \"./Request\";\n\nclass Authorization {\n public static async getUserToken() {\n\n if ( !process.env.TBC_DIDOX_LOGIN || !process.env.TBC_DIDOX_PASSWORD ) {\n console.error('Please, edit your ENV variables as introduced in module Documentation');\n return false;\n }\n\n const response = await Request.make({\n type: 'post', \n path: `/v1/auth/${process.env.TBC_DIDOX_LOGIN}/token`, \n data: {\n \"password\": process.env.TBC_DIDOX_PASSWORD\n }\n });\n\n return response?.data.token;\n }\n}\n\nexport default Authorization;","import Authorization from \"./Authorization\";\nimport Request from \"./Request\";\n\nclass Profile {\n public static async getInfo() {\n const userKey = await Authorization.getUserToken();\n const response = await Request.make({type: 'get', path: `/v1/profile`, headers: { \"User-Key\": userKey } });\n\n return response.data;\n }\n}\n\n\n\nexport default Profile;","import Authorization from \"./Authorization\";\nimport Profile from \"./Profile\";\nimport Request from \"./Request\";\n\nclass Account {\n public static async getInfo() {\n const userKey = await Authorization.getUserToken();\n const response = await Request.make({type: 'get', path: `/v1/account`, headers: { \"User-Key\": userKey } });\n\n return response.data;\n }\n\n public static async getStatus(taxID?: string) {\n\n if ( !taxID ) {\n const profile = await Profile.getInfo();\n taxID = profile.tin;\n }\n \n const userKey = await Authorization.getUserToken();\n const response = await Request.make({type: 'get', path: `/v1/account/status/${taxID}`, headers: { \"User-Key\": userKey } });\n\n return response.data;\n }\n}\n\nexport default Account;","import Authorization from \"./Authorization\";\nimport Request from \"./Request\";\n\nclass Document {\n public static async getList (params: IDocumentGetListParamsInterface) {\n\n let queryParams : string = '?';\n queryParams += `owner=${params.owner || 1}`;\n queryParams += `&page=${params.page || 1}`;\n queryParams += `&limit=${params.limit || 20}`;\n\n const userKey = await Authorization.getUserToken();\n const response = await Request.make({type: 'get', path: `/v2/documents${queryParams}`, headers: { \"User-Key\": userKey } });\n \n return response.data;\n }\n}\n\ninterface IDocumentGetListParamsInterface extends Object {\n owner: 1 | 0;\n page?: number;\n limit?: number;\n\n dateFromCreated?: string;\n dateToCreated?: string;\n dateFromUpdated?: string;\n dateToUpdated?: string;\n signDateFrom?: string;\n signDateTo?: string;\n doctype?: IDocumentType;\n name?: string;\n sum?: number;\n docDateFromCreated?: string;\n docDateToCreated?: string;\n сontractname?: string;\n contractdate?: string;\n hasCommittent?: boolean;\n hasLgota?: boolean;\n hasMarks?: boolean;\n oneside?: boolean;\n\n}\n\ntype IDocumentType = \n'000' | // Custom Document\n'001' | // Invoice [Not used]\n'002' | // Invoice without request\n'004' | // Product Transport Document\n'005' | \n'006' | \n'007' | \n'008' | \n'052' | \n'054'\n\nexport default Document;"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,mBAA8B;AAG9B,IAAM,WAAN,MAAc;AAAA,EAIV,OAAoB,KAAM,SAA0B;AAAA;AAChD,UAAI,UAAU;AAAA,QACV,gBAAgB;AAAA,QAChB,iBAAiB,KAAK;AAAA,MAC1B;AAEA,aAAO,OAAO,SAAS,QAAQ,OAAO;AAEtC,iBAAO,aAAAA,SAAM;AAAA,QACT,QAAQ,QAAQ;AAAA,QAChB,KAAK,SAAQ,UAAU,QAAQ;AAAA,QAC/B,MAAM,QAAQ;AAAA,QACd;AAAA,MACJ,CAAC;AAAA,IACL;AAAA;AACJ;AAnBA,IAAM,UAAN;AAAM,QACa,UAAkB;AAD/B,QAEa,eAAuB,QAAQ,IAAI,2BAA2B;AA0BjF,IAAO,kBAAQ;;;AC7Bf,IAAM,gBAAN,MAAoB;AAAA,EAChB,OAAoB,eAAe;AAAA;AAE/B,UAAK,CAAC,QAAQ,IAAI,mBAAmB,CAAC,QAAQ,IAAI,oBAAqB;AACnE,gBAAQ,MAAM,uEAAuE;AACrF,eAAO;AAAA,MACX;AAEA,YAAM,WAAW,MAAM,gBAAQ,KAAK;AAAA,QAChC,MAAM;AAAA,QACN,MAAM,YAAY,QAAQ,IAAI;AAAA,QAC9B,MAAM;AAAA,UACF,YAAY,QAAQ,IAAI;AAAA,QAC5B;AAAA,MACJ,CAAC;AAED,aAAO,qCAAU,KAAK;AAAA,IAC1B;AAAA;AACJ;AAEA,IAAO,wBAAQ;;;ACnBf,IAAM,UAAN,MAAc;AAAA,EACV,OAAoB,UAAU;AAAA;AAC1B,YAAM,UAAU,MAAM,sBAAc,aAAa;AACjD,YAAM,WAAW,MAAM,gBAAQ,KAAK,EAAC,MAAM,OAAO,MAAM,eAAe,SAAS,EAAE,YAAY,QAAQ,EAAE,CAAC;AAEzG,aAAO,SAAS;AAAA,IACpB;AAAA;AACJ;AAIA,IAAO,kBAAQ;;;ACVf,IAAM,UAAN,MAAc;AAAA,EACV,OAAoB,UAAU;AAAA;AAC1B,YAAM,UAAU,MAAM,sBAAc,aAAa;AACjD,YAAM,WAAW,MAAM,gBAAQ,KAAK,EAAC,MAAM,OAAO,MAAM,eAAe,SAAS,EAAE,YAAY,QAAQ,EAAE,CAAC;AAEzG,aAAO,SAAS;AAAA,IACpB;AAAA;AAAA,EAEA,OAAoB,UAAU,OAAgB;AAAA;AAE1C,UAAK,CAAC,OAAQ;AACV,cAAM,UAAU,MAAM,gBAAQ,QAAQ;AACtC,gBAAQ,QAAQ;AAAA,MACpB;AAEA,YAAM,UAAU,MAAM,sBAAc,aAAa;AACjD,YAAM,WAAW,MAAM,gBAAQ,KAAK,EAAC,MAAM,OAAO,MAAM,sBAAsB,SAAS,SAAS,EAAE,YAAY,QAAQ,EAAE,CAAC;AAEzH,aAAO,SAAS;AAAA,IACpB;AAAA;AACJ;AAEA,IAAO,kBAAQ;;;ACvBf,IAAM,WAAN,MAAe;AAAA,EACX,OAAoB,QAAS,QAAyC;AAAA;AAElE,UAAI,cAAuB;AAC3B,qBAAe,SAAS,OAAO,SAAS;AACxC,qBAAe,SAAS,OAAO,QAAQ;AACvC,qBAAe,UAAU,OAAO,SAAS;AAEzC,YAAM,UAAU,MAAM,sBAAc,aAAa;AACjD,YAAM,WAAW,MAAM,gBAAQ,KAAK,EAAC,MAAM,OAAO,MAAM,gBAAgB,eAAe,SAAS,EAAE,YAAY,QAAQ,EAAE,CAAC;AAEzH,aAAO,SAAS;AAAA,IACpB;AAAA;AACJ;AAuCA,IAAO,mBAAQ;;;ALhDf,oBAAmB;AACnB,cAAAC,QAAO,OAAO;","names":["axios","dotenv"]}
1
+ {"version":3,"sources":["../src/index.ts","../src/controllers/Request.ts","../src/controllers/Authorization.ts","../src/controllers/Profile.ts","../src/controllers/Account.ts","../src/controllers/Document.ts"],"sourcesContent":["import { \n Authorization, \n Account, \n Profile, \n Document \n} from \"./controllers\";\n\nimport dotenv from 'dotenv';\ndotenv.config();\n\nexport {\n Account,\n Profile,\n Authorization,\n Document\n};\n\nlet data = {\n version: 1,\n facturaID: \"ID-1\",\n hasMarking: true,\n facturaType: 0,\n productList: {\n \"hasCommittent\": false,\n \"tin\": \"306915557\",\n \"hasExcise\": false,\n \"hasVAT\": true,\n \"products\": [\n {\n \"ordNo\": 1,\n \"committentName\": \"\",\n \"committentTin\": \"\",\n \"committentVatRegCode\": \"\",\n \"committentVatRegStatus\": \"\",\n \"name\": \"Velo X-Freeze ( 4 points )\",\n \"catalogCode\": \"02403001002000000\",\n \"catalogName\": \"\",\n \"marks\": {\n \"kiz\": [],\n \"nomUpak\": [\n \"100\",\n \"101\"\n ],\n \"identTransUpak\": [],\n \"productType\": 1\n },\n \"barcode\": \"\",\n \"measureID\": undefined,\n \"packageCode\": \"\",\n \"packageName\": \"\",\n \"count\": \"2\",\n \"summa\": \"45000\",\n \"deliverySum\": \"90000\",\n \"deliverySumWithVAT\": \"90000\",\n \"vatRate\": \"0\",\n \"vatSum\": \"0\",\n \"withoutVAT\": false,\n \"warehouseID\": undefined,\n \"origin\": 2\n }\n ],\n \"facturaProductId\": \"655492636f7ba63e98e0eed8\"\n },\n \"facturaDoc\": {\n \"facturaNo\": \"INV-MOD-00033\",\n \"facturaDate\": \"2024-01-1\"\n },\n \"contractDoc\": {\n \"contractNo\": \"INV-MOD-00033\",\n \"contractDate\": \"2024-01-1\"\n },\n \"sellerTIN\": \"306915557\",\n \"seller\": {\n \"name\": \"epos-systems-dev2\",\n \"branchCode\": \"\",\n \"branchName\": \"\",\n \"account\": \"\",\n \"bankID\": \"\",\n \"address\": \"\",\n \"director\": \"Ahrorbek Mirzaev\",\n \"accountant\": \"Ahrorbek Mirzaev\",\n \"vatRegCode\": \"306915557\",\n \"vatRegStatus\": \"20\"\n },\n \"buyerTIN\": \"310492143\",\n \"buyer\": {\n \"name\": \"ООО \\\"Покупатель\\\"\",\n \"branchCode\": \"\",\n \"branchName\": \"\",\n \"account\": \"\",\n \"bankID\": \"\",\n \"address\": \"г.Москва, ул.Строителей, д.11\",\n \"director\": \"\",\n \"accountant\": \"\",\n \"vatRegCode\": \"310492143\",\n \"vatRegStatus\": \"20\"\n },\n \"facturaEmpowermentDoc\": {\n \"agentFacturaID\": \"\"\n }\n};\n\nDocument.create('001', data);","import axios, { Method } from \"axios\";\nimport { Authorization } from \"./\";\n\nclass Request {\n private static baseURL: string = \"https://stage.goodsign.biz/\";\n private static partnerToken: string = process.env.TBC_DIDOX_PARTNER_TOKEN || '';\n\n public static async make (options: IRequestOptions) {\n let headers = {\n \"Content-Type\": \"application/json\",\n \"Partner-Token\": this.partnerToken\n };\n\n Object.assign(headers, options.headers);\n\n return axios({\n method: options.type,\n url: Request.baseURL + options.path,\n data: options.data,\n headers: headers\n });\n }\n}\n\ninterface IRequestOptions {\n type: Method;\n path: string;\n data?: any;\n headers?: any;\n}\n\nexport default Request;","import Request from \"./Request\";\n\nclass Authorization {\n public static async getUserToken(login: string | null = null, password: string | null = null) {\n\n if ( ( !process.env.TBC_DIDOX_LOGIN || !process.env.TBC_DIDOX_PASSWORD ) || ( !login || !password ) ) {\n console.error('Please, edit your ENV variables as introduced in module Documentation');\n return false;\n }\n\n const response = await Request.make({\n type: 'post', \n path: `/v1/auth/${process.env.TBC_DIDOX_LOGIN || login}/token`, \n data: {\n \"password\": process.env.TBC_DIDOX_PASSWORD || password\n }\n });\n\n return response?.data.token;\n }\n}\n\nexport default Authorization;","import Authorization from \"./Authorization\";\nimport Request from \"./Request\";\n\nclass Profile {\n public static async getInfo() {\n const userKey = await Authorization.getUserToken();\n const response = await Request.make({type: 'get', path: `/v1/profile`, headers: { \"User-Key\": userKey } });\n\n return response.data;\n }\n}\n\n\n\nexport default Profile;","import Authorization from \"./Authorization\";\nimport Profile from \"./Profile\";\nimport Request from \"./Request\";\n\nclass Account {\n public static async getInfo() {\n const userKey = await Authorization.getUserToken();\n const response = await Request.make({type: 'get', path: `/v1/account`, headers: { \"User-Key\": userKey } });\n\n return response.data;\n }\n\n public static async getStatus(taxID?: string) {\n\n if ( !taxID ) {\n const profile = await Profile.getInfo();\n taxID = profile.tin;\n }\n \n const userKey = await Authorization.getUserToken();\n const response = await Request.make({type: 'get', path: `/v1/account/status/${taxID}`, headers: { \"User-Key\": userKey } });\n\n return response.data;\n }\n}\n\nexport default Account;","import { IDocument } from \"../interfaces\";\nimport Authorization from \"./Authorization\";\nimport Request from \"./Request\";\n\nclass Document {\n public static async getList (params: IDocumentGetListParamsInterface) {\n\n let queryParams : string = '?';\n queryParams += `owner=${params.owner || 1}`;\n queryParams += `&page=${params.page || 1}`;\n queryParams += `&limit=${params.limit || 20}`;\n\n const userKey = await Authorization.getUserToken();\n const response = await Request.make({type: 'get', path: `/v2/documents${queryParams}`, headers: { \"User-Key\": userKey } });\n \n return response.data;\n }\n\n public static async getCount () {\n const userKey = await Authorization.getUserToken();\n const response = await Request.make({type: 'get', path: `/v1/documents/statistics/all`, headers: { \"User-Key\": userKey } });\n \n return response.data;\n }\n\n public static async getInfo (id: string) {\n const userKey = await Authorization.getUserToken();\n const response = await Request.make({type: 'get', path: `/v1/documents/${id}`, headers: { \"User-Key\": userKey } });\n \n return response.data;\n }\n\n public static async getPrivileges (id: string) {\n const userKey = await Authorization.getUserToken();\n const response = await Request.make({type: 'get', path: `/v1/documents/${id}/privileges`, headers: { \"User-Key\": userKey } });\n \n return response.data;\n }\n\n public static async create (type: IDocumentType, data: IDocument, authData: {login: string, password: string} | null = null) {\n const userKey = await Authorization.getUserToken(authData?.login, authData?.password);\n const response = await Request.make({\n type: 'post', \n path: `/v1/documents/${type}/create`,\n data: data,\n headers: { \"User-Key\": userKey } \n });\n \n return response.data;\n }\n}\n\ninterface IDocumentGetListParamsInterface extends Object {\n owner: 1 | 0;\n page?: number;\n limit?: number;\n\n dateFromCreated?: string;\n dateToCreated?: string;\n dateFromUpdated?: string;\n dateToUpdated?: string;\n signDateFrom?: string;\n signDateTo?: string;\n doctype?: IDocumentType;\n name?: string;\n sum?: number;\n docDateFromCreated?: string;\n docDateToCreated?: string;\n сontractname?: string;\n contractdate?: string;\n hasCommittent?: boolean;\n hasLgota?: boolean;\n hasMarks?: boolean;\n oneside?: boolean;\n\n}\n\ntype IDocumentType = \n'000' | // Custom Document\n'001' | // Invoice [Not used]\n'002' | // Invoice without request\n'004' | // Product Transport Document\n'005' | \n'006' | \n'007' | \n'008' | \n'052' | \n'054'\n\nexport default Document;"],"mappings":"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","names":["axios","data","dotenv"]}
package/dist/index.mjs CHANGED
@@ -45,17 +45,17 @@ var Request_default = Request;
45
45
 
46
46
  // src/controllers/Authorization.ts
47
47
  var Authorization = class {
48
- static getUserToken() {
48
+ static getUserToken(login = null, password = null) {
49
49
  return __async(this, null, function* () {
50
- if (!process.env.TBC_DIDOX_LOGIN || !process.env.TBC_DIDOX_PASSWORD) {
50
+ if (!process.env.TBC_DIDOX_LOGIN || !process.env.TBC_DIDOX_PASSWORD || (!login || !password)) {
51
51
  console.error("Please, edit your ENV variables as introduced in module Documentation");
52
52
  return false;
53
53
  }
54
54
  const response = yield Request_default.make({
55
55
  type: "post",
56
- path: `/v1/auth/${process.env.TBC_DIDOX_LOGIN}/token`,
56
+ path: `/v1/auth/${process.env.TBC_DIDOX_LOGIN || login}/token`,
57
57
  data: {
58
- "password": process.env.TBC_DIDOX_PASSWORD
58
+ "password": process.env.TBC_DIDOX_PASSWORD || password
59
59
  }
60
60
  });
61
61
  return response == null ? void 0 : response.data.token;
@@ -112,12 +112,130 @@ var Document = class {
112
112
  return response.data;
113
113
  });
114
114
  }
115
+ static getCount() {
116
+ return __async(this, null, function* () {
117
+ const userKey = yield Authorization_default.getUserToken();
118
+ const response = yield Request_default.make({ type: "get", path: `/v1/documents/statistics/all`, headers: { "User-Key": userKey } });
119
+ return response.data;
120
+ });
121
+ }
122
+ static getInfo(id) {
123
+ return __async(this, null, function* () {
124
+ const userKey = yield Authorization_default.getUserToken();
125
+ const response = yield Request_default.make({ type: "get", path: `/v1/documents/${id}`, headers: { "User-Key": userKey } });
126
+ return response.data;
127
+ });
128
+ }
129
+ static getPrivileges(id) {
130
+ return __async(this, null, function* () {
131
+ const userKey = yield Authorization_default.getUserToken();
132
+ const response = yield Request_default.make({ type: "get", path: `/v1/documents/${id}/privileges`, headers: { "User-Key": userKey } });
133
+ return response.data;
134
+ });
135
+ }
136
+ static create(type, data2, authData = null) {
137
+ return __async(this, null, function* () {
138
+ const userKey = yield Authorization_default.getUserToken(authData == null ? void 0 : authData.login, authData == null ? void 0 : authData.password);
139
+ const response = yield Request_default.make({
140
+ type: "post",
141
+ path: `/v1/documents/${type}/create`,
142
+ data: data2,
143
+ headers: { "User-Key": userKey }
144
+ });
145
+ return response.data;
146
+ });
147
+ }
115
148
  };
116
149
  var Document_default = Document;
117
150
 
118
151
  // src/index.ts
119
152
  import dotenv from "dotenv";
120
153
  dotenv.config();
154
+ var data = {
155
+ version: 1,
156
+ facturaID: "ID-1",
157
+ hasMarking: true,
158
+ facturaType: 0,
159
+ productList: {
160
+ "hasCommittent": false,
161
+ "tin": "306915557",
162
+ "hasExcise": false,
163
+ "hasVAT": true,
164
+ "products": [
165
+ {
166
+ "ordNo": 1,
167
+ "committentName": "",
168
+ "committentTin": "",
169
+ "committentVatRegCode": "",
170
+ "committentVatRegStatus": "",
171
+ "name": "Velo X-Freeze ( 4 points )",
172
+ "catalogCode": "02403001002000000",
173
+ "catalogName": "",
174
+ "marks": {
175
+ "kiz": [],
176
+ "nomUpak": [
177
+ "100",
178
+ "101"
179
+ ],
180
+ "identTransUpak": [],
181
+ "productType": 1
182
+ },
183
+ "barcode": "",
184
+ "measureID": void 0,
185
+ "packageCode": "",
186
+ "packageName": "",
187
+ "count": "2",
188
+ "summa": "45000",
189
+ "deliverySum": "90000",
190
+ "deliverySumWithVAT": "90000",
191
+ "vatRate": "0",
192
+ "vatSum": "0",
193
+ "withoutVAT": false,
194
+ "warehouseID": void 0,
195
+ "origin": 2
196
+ }
197
+ ],
198
+ "facturaProductId": "655492636f7ba63e98e0eed8"
199
+ },
200
+ "facturaDoc": {
201
+ "facturaNo": "INV-MOD-00033",
202
+ "facturaDate": "2024-01-1"
203
+ },
204
+ "contractDoc": {
205
+ "contractNo": "INV-MOD-00033",
206
+ "contractDate": "2024-01-1"
207
+ },
208
+ "sellerTIN": "306915557",
209
+ "seller": {
210
+ "name": "epos-systems-dev2",
211
+ "branchCode": "",
212
+ "branchName": "",
213
+ "account": "",
214
+ "bankID": "",
215
+ "address": "",
216
+ "director": "Ahrorbek Mirzaev",
217
+ "accountant": "Ahrorbek Mirzaev",
218
+ "vatRegCode": "306915557",
219
+ "vatRegStatus": "20"
220
+ },
221
+ "buyerTIN": "310492143",
222
+ "buyer": {
223
+ "name": '\u041E\u041E\u041E "\u041F\u043E\u043A\u0443\u043F\u0430\u0442\u0435\u043B\u044C"',
224
+ "branchCode": "",
225
+ "branchName": "",
226
+ "account": "",
227
+ "bankID": "",
228
+ "address": "\u0433.\u041C\u043E\u0441\u043A\u0432\u0430, \u0443\u043B.\u0421\u0442\u0440\u043E\u0438\u0442\u0435\u043B\u0435\u0439, \u0434.11",
229
+ "director": "",
230
+ "accountant": "",
231
+ "vatRegCode": "310492143",
232
+ "vatRegStatus": "20"
233
+ },
234
+ "facturaEmpowermentDoc": {
235
+ "agentFacturaID": ""
236
+ }
237
+ };
238
+ Document_default.create("001", data);
121
239
  export {
122
240
  Account_default as Account,
123
241
  Authorization_default as Authorization,
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/controllers/Request.ts","../src/controllers/Authorization.ts","../src/controllers/Profile.ts","../src/controllers/Account.ts","../src/controllers/Document.ts","../src/index.ts"],"sourcesContent":["import axios, { Method } from \"axios\";\nimport { Authorization } from \"./\";\n\nclass Request {\n private static baseURL: string = \"https://stage.goodsign.biz/\";\n private static partnerToken: string = process.env.TBC_DIDOX_PARTNER_TOKEN || '';\n\n public static async make (options: IRequestOptions) {\n let headers = {\n \"Content-Type\": \"application/json\",\n \"Partner-Token\": this.partnerToken\n };\n\n Object.assign(headers, options.headers);\n\n return axios({\n method: options.type,\n url: Request.baseURL + options.path,\n data: options.data,\n headers: headers\n });\n }\n}\n\ninterface IRequestOptions {\n type: Method;\n path: string;\n data?: any;\n headers?: any;\n}\n\nexport default Request;","import Request from \"./Request\";\n\nclass Authorization {\n public static async getUserToken() {\n\n if ( !process.env.TBC_DIDOX_LOGIN || !process.env.TBC_DIDOX_PASSWORD ) {\n console.error('Please, edit your ENV variables as introduced in module Documentation');\n return false;\n }\n\n const response = await Request.make({\n type: 'post', \n path: `/v1/auth/${process.env.TBC_DIDOX_LOGIN}/token`, \n data: {\n \"password\": process.env.TBC_DIDOX_PASSWORD\n }\n });\n\n return response?.data.token;\n }\n}\n\nexport default Authorization;","import Authorization from \"./Authorization\";\nimport Request from \"./Request\";\n\nclass Profile {\n public static async getInfo() {\n const userKey = await Authorization.getUserToken();\n const response = await Request.make({type: 'get', path: `/v1/profile`, headers: { \"User-Key\": userKey } });\n\n return response.data;\n }\n}\n\n\n\nexport default Profile;","import Authorization from \"./Authorization\";\nimport Profile from \"./Profile\";\nimport Request from \"./Request\";\n\nclass Account {\n public static async getInfo() {\n const userKey = await Authorization.getUserToken();\n const response = await Request.make({type: 'get', path: `/v1/account`, headers: { \"User-Key\": userKey } });\n\n return response.data;\n }\n\n public static async getStatus(taxID?: string) {\n\n if ( !taxID ) {\n const profile = await Profile.getInfo();\n taxID = profile.tin;\n }\n \n const userKey = await Authorization.getUserToken();\n const response = await Request.make({type: 'get', path: `/v1/account/status/${taxID}`, headers: { \"User-Key\": userKey } });\n\n return response.data;\n }\n}\n\nexport default Account;","import Authorization from \"./Authorization\";\nimport Request from \"./Request\";\n\nclass Document {\n public static async getList (params: IDocumentGetListParamsInterface) {\n\n let queryParams : string = '?';\n queryParams += `owner=${params.owner || 1}`;\n queryParams += `&page=${params.page || 1}`;\n queryParams += `&limit=${params.limit || 20}`;\n\n const userKey = await Authorization.getUserToken();\n const response = await Request.make({type: 'get', path: `/v2/documents${queryParams}`, headers: { \"User-Key\": userKey } });\n \n return response.data;\n }\n}\n\ninterface IDocumentGetListParamsInterface extends Object {\n owner: 1 | 0;\n page?: number;\n limit?: number;\n\n dateFromCreated?: string;\n dateToCreated?: string;\n dateFromUpdated?: string;\n dateToUpdated?: string;\n signDateFrom?: string;\n signDateTo?: string;\n doctype?: IDocumentType;\n name?: string;\n sum?: number;\n docDateFromCreated?: string;\n docDateToCreated?: string;\n сontractname?: string;\n contractdate?: string;\n hasCommittent?: boolean;\n hasLgota?: boolean;\n hasMarks?: boolean;\n oneside?: boolean;\n\n}\n\ntype IDocumentType = \n'000' | // Custom Document\n'001' | // Invoice [Not used]\n'002' | // Invoice without request\n'004' | // Product Transport Document\n'005' | \n'006' | \n'007' | \n'008' | \n'052' | \n'054'\n\nexport default Document;","import { \n Authorization, \n Account, \n Profile, \n Document \n} from \"./controllers\";\n\nimport dotenv from 'dotenv';\ndotenv.config();\n\nexport {\n Account,\n Profile,\n Authorization,\n Document\n}"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,WAAuB;AAG9B,IAAM,WAAN,MAAc;AAAA,EAIV,OAAoB,KAAM,SAA0B;AAAA;AAChD,UAAI,UAAU;AAAA,QACV,gBAAgB;AAAA,QAChB,iBAAiB,KAAK;AAAA,MAC1B;AAEA,aAAO,OAAO,SAAS,QAAQ,OAAO;AAEtC,aAAO,MAAM;AAAA,QACT,QAAQ,QAAQ;AAAA,QAChB,KAAK,SAAQ,UAAU,QAAQ;AAAA,QAC/B,MAAM,QAAQ;AAAA,QACd;AAAA,MACJ,CAAC;AAAA,IACL;AAAA;AACJ;AAnBA,IAAM,UAAN;AAAM,QACa,UAAkB;AAD/B,QAEa,eAAuB,QAAQ,IAAI,2BAA2B;AA0BjF,IAAO,kBAAQ;;;AC7Bf,IAAM,gBAAN,MAAoB;AAAA,EAChB,OAAoB,eAAe;AAAA;AAE/B,UAAK,CAAC,QAAQ,IAAI,mBAAmB,CAAC,QAAQ,IAAI,oBAAqB;AACnE,gBAAQ,MAAM,uEAAuE;AACrF,eAAO;AAAA,MACX;AAEA,YAAM,WAAW,MAAM,gBAAQ,KAAK;AAAA,QAChC,MAAM;AAAA,QACN,MAAM,YAAY,QAAQ,IAAI;AAAA,QAC9B,MAAM;AAAA,UACF,YAAY,QAAQ,IAAI;AAAA,QAC5B;AAAA,MACJ,CAAC;AAED,aAAO,qCAAU,KAAK;AAAA,IAC1B;AAAA;AACJ;AAEA,IAAO,wBAAQ;;;ACnBf,IAAM,UAAN,MAAc;AAAA,EACV,OAAoB,UAAU;AAAA;AAC1B,YAAM,UAAU,MAAM,sBAAc,aAAa;AACjD,YAAM,WAAW,MAAM,gBAAQ,KAAK,EAAC,MAAM,OAAO,MAAM,eAAe,SAAS,EAAE,YAAY,QAAQ,EAAE,CAAC;AAEzG,aAAO,SAAS;AAAA,IACpB;AAAA;AACJ;AAIA,IAAO,kBAAQ;;;ACVf,IAAM,UAAN,MAAc;AAAA,EACV,OAAoB,UAAU;AAAA;AAC1B,YAAM,UAAU,MAAM,sBAAc,aAAa;AACjD,YAAM,WAAW,MAAM,gBAAQ,KAAK,EAAC,MAAM,OAAO,MAAM,eAAe,SAAS,EAAE,YAAY,QAAQ,EAAE,CAAC;AAEzG,aAAO,SAAS;AAAA,IACpB;AAAA;AAAA,EAEA,OAAoB,UAAU,OAAgB;AAAA;AAE1C,UAAK,CAAC,OAAQ;AACV,cAAM,UAAU,MAAM,gBAAQ,QAAQ;AACtC,gBAAQ,QAAQ;AAAA,MACpB;AAEA,YAAM,UAAU,MAAM,sBAAc,aAAa;AACjD,YAAM,WAAW,MAAM,gBAAQ,KAAK,EAAC,MAAM,OAAO,MAAM,sBAAsB,SAAS,SAAS,EAAE,YAAY,QAAQ,EAAE,CAAC;AAEzH,aAAO,SAAS;AAAA,IACpB;AAAA;AACJ;AAEA,IAAO,kBAAQ;;;ACvBf,IAAM,WAAN,MAAe;AAAA,EACX,OAAoB,QAAS,QAAyC;AAAA;AAElE,UAAI,cAAuB;AAC3B,qBAAe,SAAS,OAAO,SAAS;AACxC,qBAAe,SAAS,OAAO,QAAQ;AACvC,qBAAe,UAAU,OAAO,SAAS;AAEzC,YAAM,UAAU,MAAM,sBAAc,aAAa;AACjD,YAAM,WAAW,MAAM,gBAAQ,KAAK,EAAC,MAAM,OAAO,MAAM,gBAAgB,eAAe,SAAS,EAAE,YAAY,QAAQ,EAAE,CAAC;AAEzH,aAAO,SAAS;AAAA,IACpB;AAAA;AACJ;AAuCA,IAAO,mBAAQ;;;AChDf,OAAO,YAAY;AACnB,OAAO,OAAO;","names":[]}
1
+ {"version":3,"sources":["../src/controllers/Request.ts","../src/controllers/Authorization.ts","../src/controllers/Profile.ts","../src/controllers/Account.ts","../src/controllers/Document.ts","../src/index.ts"],"sourcesContent":["import axios, { Method } from \"axios\";\nimport { Authorization } from \"./\";\n\nclass Request {\n private static baseURL: string = \"https://stage.goodsign.biz/\";\n private static partnerToken: string = process.env.TBC_DIDOX_PARTNER_TOKEN || '';\n\n public static async make (options: IRequestOptions) {\n let headers = {\n \"Content-Type\": \"application/json\",\n \"Partner-Token\": this.partnerToken\n };\n\n Object.assign(headers, options.headers);\n\n return axios({\n method: options.type,\n url: Request.baseURL + options.path,\n data: options.data,\n headers: headers\n });\n }\n}\n\ninterface IRequestOptions {\n type: Method;\n path: string;\n data?: any;\n headers?: any;\n}\n\nexport default Request;","import Request from \"./Request\";\n\nclass Authorization {\n public static async getUserToken(login: string | null = null, password: string | null = null) {\n\n if ( ( !process.env.TBC_DIDOX_LOGIN || !process.env.TBC_DIDOX_PASSWORD ) || ( !login || !password ) ) {\n console.error('Please, edit your ENV variables as introduced in module Documentation');\n return false;\n }\n\n const response = await Request.make({\n type: 'post', \n path: `/v1/auth/${process.env.TBC_DIDOX_LOGIN || login}/token`, \n data: {\n \"password\": process.env.TBC_DIDOX_PASSWORD || password\n }\n });\n\n return response?.data.token;\n }\n}\n\nexport default Authorization;","import Authorization from \"./Authorization\";\nimport Request from \"./Request\";\n\nclass Profile {\n public static async getInfo() {\n const userKey = await Authorization.getUserToken();\n const response = await Request.make({type: 'get', path: `/v1/profile`, headers: { \"User-Key\": userKey } });\n\n return response.data;\n }\n}\n\n\n\nexport default Profile;","import Authorization from \"./Authorization\";\nimport Profile from \"./Profile\";\nimport Request from \"./Request\";\n\nclass Account {\n public static async getInfo() {\n const userKey = await Authorization.getUserToken();\n const response = await Request.make({type: 'get', path: `/v1/account`, headers: { \"User-Key\": userKey } });\n\n return response.data;\n }\n\n public static async getStatus(taxID?: string) {\n\n if ( !taxID ) {\n const profile = await Profile.getInfo();\n taxID = profile.tin;\n }\n \n const userKey = await Authorization.getUserToken();\n const response = await Request.make({type: 'get', path: `/v1/account/status/${taxID}`, headers: { \"User-Key\": userKey } });\n\n return response.data;\n }\n}\n\nexport default Account;","import { IDocument } from \"../interfaces\";\nimport Authorization from \"./Authorization\";\nimport Request from \"./Request\";\n\nclass Document {\n public static async getList (params: IDocumentGetListParamsInterface) {\n\n let queryParams : string = '?';\n queryParams += `owner=${params.owner || 1}`;\n queryParams += `&page=${params.page || 1}`;\n queryParams += `&limit=${params.limit || 20}`;\n\n const userKey = await Authorization.getUserToken();\n const response = await Request.make({type: 'get', path: `/v2/documents${queryParams}`, headers: { \"User-Key\": userKey } });\n \n return response.data;\n }\n\n public static async getCount () {\n const userKey = await Authorization.getUserToken();\n const response = await Request.make({type: 'get', path: `/v1/documents/statistics/all`, headers: { \"User-Key\": userKey } });\n \n return response.data;\n }\n\n public static async getInfo (id: string) {\n const userKey = await Authorization.getUserToken();\n const response = await Request.make({type: 'get', path: `/v1/documents/${id}`, headers: { \"User-Key\": userKey } });\n \n return response.data;\n }\n\n public static async getPrivileges (id: string) {\n const userKey = await Authorization.getUserToken();\n const response = await Request.make({type: 'get', path: `/v1/documents/${id}/privileges`, headers: { \"User-Key\": userKey } });\n \n return response.data;\n }\n\n public static async create (type: IDocumentType, data: IDocument, authData: {login: string, password: string} | null = null) {\n const userKey = await Authorization.getUserToken(authData?.login, authData?.password);\n const response = await Request.make({\n type: 'post', \n path: `/v1/documents/${type}/create`,\n data: data,\n headers: { \"User-Key\": userKey } \n });\n \n return response.data;\n }\n}\n\ninterface IDocumentGetListParamsInterface extends Object {\n owner: 1 | 0;\n page?: number;\n limit?: number;\n\n dateFromCreated?: string;\n dateToCreated?: string;\n dateFromUpdated?: string;\n dateToUpdated?: string;\n signDateFrom?: string;\n signDateTo?: string;\n doctype?: IDocumentType;\n name?: string;\n sum?: number;\n docDateFromCreated?: string;\n docDateToCreated?: string;\n сontractname?: string;\n contractdate?: string;\n hasCommittent?: boolean;\n hasLgota?: boolean;\n hasMarks?: boolean;\n oneside?: boolean;\n\n}\n\ntype IDocumentType = \n'000' | // Custom Document\n'001' | // Invoice [Not used]\n'002' | // Invoice without request\n'004' | // Product Transport Document\n'005' | \n'006' | \n'007' | \n'008' | \n'052' | \n'054'\n\nexport default Document;","import { \n Authorization, \n Account, \n Profile, \n Document \n} from \"./controllers\";\n\nimport dotenv from 'dotenv';\ndotenv.config();\n\nexport {\n Account,\n Profile,\n Authorization,\n Document\n};\n\nlet data = {\n version: 1,\n facturaID: \"ID-1\",\n hasMarking: true,\n facturaType: 0,\n productList: {\n \"hasCommittent\": false,\n \"tin\": \"306915557\",\n \"hasExcise\": false,\n \"hasVAT\": true,\n \"products\": [\n {\n \"ordNo\": 1,\n \"committentName\": \"\",\n \"committentTin\": \"\",\n \"committentVatRegCode\": \"\",\n \"committentVatRegStatus\": \"\",\n \"name\": \"Velo X-Freeze ( 4 points )\",\n \"catalogCode\": \"02403001002000000\",\n \"catalogName\": \"\",\n \"marks\": {\n \"kiz\": [],\n \"nomUpak\": [\n \"100\",\n \"101\"\n ],\n \"identTransUpak\": [],\n \"productType\": 1\n },\n \"barcode\": \"\",\n \"measureID\": undefined,\n \"packageCode\": \"\",\n \"packageName\": \"\",\n \"count\": \"2\",\n \"summa\": \"45000\",\n \"deliverySum\": \"90000\",\n \"deliverySumWithVAT\": \"90000\",\n \"vatRate\": \"0\",\n \"vatSum\": \"0\",\n \"withoutVAT\": false,\n \"warehouseID\": undefined,\n \"origin\": 2\n }\n ],\n \"facturaProductId\": \"655492636f7ba63e98e0eed8\"\n },\n \"facturaDoc\": {\n \"facturaNo\": \"INV-MOD-00033\",\n \"facturaDate\": \"2024-01-1\"\n },\n \"contractDoc\": {\n \"contractNo\": \"INV-MOD-00033\",\n \"contractDate\": \"2024-01-1\"\n },\n \"sellerTIN\": \"306915557\",\n \"seller\": {\n \"name\": \"epos-systems-dev2\",\n \"branchCode\": \"\",\n \"branchName\": \"\",\n \"account\": \"\",\n \"bankID\": \"\",\n \"address\": \"\",\n \"director\": \"Ahrorbek Mirzaev\",\n \"accountant\": \"Ahrorbek Mirzaev\",\n \"vatRegCode\": \"306915557\",\n \"vatRegStatus\": \"20\"\n },\n \"buyerTIN\": \"310492143\",\n \"buyer\": {\n \"name\": \"ООО \\\"Покупатель\\\"\",\n \"branchCode\": \"\",\n \"branchName\": \"\",\n \"account\": \"\",\n \"bankID\": \"\",\n \"address\": \"г.Москва, ул.Строителей, д.11\",\n \"director\": \"\",\n \"accountant\": \"\",\n \"vatRegCode\": \"310492143\",\n \"vatRegStatus\": \"20\"\n },\n \"facturaEmpowermentDoc\": {\n \"agentFacturaID\": \"\"\n }\n};\n\nDocument.create('001', data);"],"mappings":"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","names":["data"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "didox",
3
- "version": "0.0.1",
3
+ "version": "0.0.3",
4
4
  "homepage": "https://thebetacompany.uz/projects/didox-npm-module",
5
5
  "description": "Didox integration module",
6
6
  "main": "./dist/index.js",