didox 0.0.2 → 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
@@ -49,6 +49,10 @@ For detailed usage instructions and API documentation, please refer to the [docu
49
49
 
50
50
 
51
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
+
52
56
  ### v0.0.2
53
57
  - ***Updated*** [Documents](https://api-docs.didox.uz/ru/integrators-documents) controller
54
58
  - Get documents count
package/dist/index.d.ts CHANGED
@@ -4,7 +4,7 @@ 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
10
  interface IDocument {
@@ -65,7 +65,7 @@ interface IDocument {
65
65
  hasCommittent: boolean;
66
66
  hasLgota?: boolean;
67
67
  hideReportCommittent?: boolean;
68
- hasMedical: boolean;
68
+ hasMedical?: boolean;
69
69
  products: Array<IProduct>;
70
70
  };
71
71
  }
@@ -89,9 +89,9 @@ interface IDocumentBuyerInfo extends IDocumentSellerInfo {
89
89
  }
90
90
  interface IProduct {
91
91
  ordNo: number;
92
- committentName: string;
93
- committentTIN: string;
94
- committentVatRegCode: string;
92
+ committentName?: string;
93
+ committentTIN?: string;
94
+ committentVatRegCode?: string;
95
95
  catalogCode: string;
96
96
  catalogName: string;
97
97
  barcode?: string;
@@ -112,16 +112,16 @@ interface IProduct {
112
112
  planPositionID: number;
113
113
  };
114
114
  name: string;
115
- serial: string;
115
+ serial?: string;
116
116
  measureID?: string;
117
117
  packageCode: string;
118
118
  packageName: string;
119
- baseSumma: number;
120
- profitRate: number;
119
+ baseSumma?: number;
120
+ profitRate?: number;
121
121
  count: string;
122
122
  summa: string;
123
- exciseRate: number;
124
- exciseSum: number;
123
+ exciseRate?: number;
124
+ exciseSum?: number;
125
125
  deliverySum: string;
126
126
  vatRate: string;
127
127
  vatSum: string;
@@ -146,7 +146,10 @@ declare class Document {
146
146
  static getCount(): Promise<any>;
147
147
  static getInfo(id: string): Promise<any>;
148
148
  static getPrivileges(id: string): Promise<any>;
149
- static create(type: IDocumentType, data: IDocument): Promise<any>;
149
+ static create(type: IDocumentType, data: IDocument, authData?: {
150
+ login: string;
151
+ password: string;
152
+ } | null): Promise<any>;
150
153
  }
151
154
  interface IDocumentGetListParamsInterface extends Object {
152
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;
@@ -171,13 +171,13 @@ var Document = class {
171
171
  return response.data;
172
172
  });
173
173
  }
174
- static create(type, data) {
174
+ static create(type, data2, authData = null) {
175
175
  return __async(this, null, function* () {
176
- const userKey = yield Authorization_default.getUserToken();
176
+ const userKey = yield Authorization_default.getUserToken(authData == null ? void 0 : authData.login, authData == null ? void 0 : authData.password);
177
177
  const response = yield Request_default.make({
178
178
  type: "post",
179
179
  path: `/v1/documents/${type}/create`,
180
- data,
180
+ data: data2,
181
181
  headers: { "User-Key": userKey }
182
182
  });
183
183
  return response.data;
@@ -189,6 +189,91 @@ var Document_default = Document;
189
189
  // src/index.ts
190
190
  var import_dotenv = __toESM(require("dotenv"));
191
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);
192
277
  // Annotate the CommonJS export names for ESM import in node:
193
278
  0 && (module.exports = {
194
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 { 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) {\n const userKey = await Authorization.getUserToken();\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","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;
@@ -133,13 +133,13 @@ var Document = class {
133
133
  return response.data;
134
134
  });
135
135
  }
136
- static create(type, data) {
136
+ static create(type, data2, authData = null) {
137
137
  return __async(this, null, function* () {
138
- const userKey = yield Authorization_default.getUserToken();
138
+ const userKey = yield Authorization_default.getUserToken(authData == null ? void 0 : authData.login, authData == null ? void 0 : authData.password);
139
139
  const response = yield Request_default.make({
140
140
  type: "post",
141
141
  path: `/v1/documents/${type}/create`,
142
- data,
142
+ data: data2,
143
143
  headers: { "User-Key": userKey }
144
144
  });
145
145
  return response.data;
@@ -151,6 +151,91 @@ var Document_default = Document;
151
151
  // src/index.ts
152
152
  import dotenv from "dotenv";
153
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);
154
239
  export {
155
240
  Account_default as Account,
156
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 { 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) {\n const userKey = await Authorization.getUserToken();\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}"],"mappings":"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","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.2",
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",