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 +13 -0
- package/dist/index.d.ts +142 -1
- package/dist/index.js +122 -4
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +122 -4
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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,aAAa,QAAuB,MAAM,WAA0B,MAAM;AAAA;AAE1F,UAAQ,CAAC,QAAQ,IAAI,mBAAmB,CAAC,QAAQ,IAAI,uBAA0B,CAAC,SAAS,CAAC,WAAa;AACnG,gBAAQ,MAAM,uEAAuE;AACrF,eAAO;AAAA,MACX;AAEA,YAAM,WAAW,MAAM,gBAAQ,KAAK;AAAA,QAChC,MAAM;AAAA,QACN,MAAM,YAAY,QAAQ,IAAI,mBAAmB;AAAA,QACjD,MAAM;AAAA,UACF,YAAY,QAAQ,IAAI,sBAAsB;AAAA,QAClD;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;;;ACtBf,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;AAAA,EAEA,OAAoB,WAAY;AAAA;AAC5B,YAAM,UAAU,MAAM,sBAAc,aAAa;AACjD,YAAM,WAAW,MAAM,gBAAQ,KAAK,EAAC,MAAM,OAAO,MAAM,gCAAgC,SAAS,EAAE,YAAY,QAAQ,EAAE,CAAC;AAE1H,aAAO,SAAS;AAAA,IACpB;AAAA;AAAA,EAEA,OAAoB,QAAS,IAAY;AAAA;AACrC,YAAM,UAAU,MAAM,sBAAc,aAAa;AACjD,YAAM,WAAW,MAAM,gBAAQ,KAAK,EAAC,MAAM,OAAO,MAAM,iBAAiB,MAAM,SAAS,EAAE,YAAY,QAAQ,EAAE,CAAC;AAEjH,aAAO,SAAS;AAAA,IACpB;AAAA;AAAA,EAEA,OAAoB,cAAe,IAAY;AAAA;AAC3C,YAAM,UAAU,MAAM,sBAAc,aAAa;AACjD,YAAM,WAAW,MAAM,gBAAQ,KAAK,EAAC,MAAM,OAAO,MAAM,iBAAiB,iBAAiB,SAAS,EAAE,YAAY,QAAQ,EAAE,CAAC;AAE5H,aAAO,SAAS;AAAA,IACpB;AAAA;AAAA,EAEA,OAAoB,OAAQ,MAAqBC,OAAiB,WAAqD,MAAM;AAAA;AACzH,YAAM,UAAU,MAAM,sBAAc,aAAa,qCAAU,OAAO,qCAAU,QAAQ;AACpF,YAAM,WAAW,MAAM,gBAAQ,KAAK;AAAA,QAChC,MAAM;AAAA,QACN,MAAM,iBAAiB;AAAA,QACvB,MAAMA;AAAA,QACN,SAAS,EAAE,YAAY,QAAQ;AAAA,MACnC,CAAC;AAED,aAAO,SAAS;AAAA,IACpB;AAAA;AACJ;AAuCA,IAAO,mBAAQ;;;ALlFf,oBAAmB;AACnB,cAAAC,QAAO,OAAO;AASd,IAAI,OAAO;AAAA,EACP,SAAS;AAAA,EACT,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,aAAa;AAAA,IACT,iBAAiB;AAAA,IACjB,OAAO;AAAA,IACP,aAAa;AAAA,IACb,UAAU;AAAA,IACV,YAAY;AAAA,MACR;AAAA,QACI,SAAS;AAAA,QACT,kBAAkB;AAAA,QAClB,iBAAiB;AAAA,QACjB,wBAAwB;AAAA,QACxB,0BAA0B;AAAA,QAC1B,QAAQ;AAAA,QACR,eAAe;AAAA,QACf,eAAe;AAAA,QACf,SAAS;AAAA,UACL,OAAO,CAAC;AAAA,UACR,WAAW;AAAA,YACP;AAAA,YACA;AAAA,UACJ;AAAA,UACA,kBAAkB,CAAC;AAAA,UACnB,eAAe;AAAA,QACnB;AAAA,QACA,WAAW;AAAA,QACX,aAAa;AAAA,QACb,eAAe;AAAA,QACf,eAAe;AAAA,QACf,SAAS;AAAA,QACT,SAAS;AAAA,QACT,eAAe;AAAA,QACf,sBAAsB;AAAA,QACtB,WAAW;AAAA,QACX,UAAU;AAAA,QACV,cAAc;AAAA,QACd,eAAe;AAAA,QACf,UAAU;AAAA,MACd;AAAA,IACJ;AAAA,IACA,oBAAoB;AAAA,EACxB;AAAA,EACA,cAAc;AAAA,IACV,aAAa;AAAA,IACb,eAAe;AAAA,EACnB;AAAA,EACA,eAAe;AAAA,IACX,cAAc;AAAA,IACd,gBAAgB;AAAA,EACpB;AAAA,EACA,aAAa;AAAA,EACb,UAAU;AAAA,IACN,QAAQ;AAAA,IACR,cAAc;AAAA,IACd,cAAc;AAAA,IACd,WAAW;AAAA,IACX,UAAU;AAAA,IACV,WAAW;AAAA,IACX,YAAY;AAAA,IACZ,cAAc;AAAA,IACd,cAAc;AAAA,IACd,gBAAgB;AAAA,EACpB;AAAA,EACA,YAAY;AAAA,EACZ,SAAS;AAAA,IACL,QAAQ;AAAA,IACR,cAAc;AAAA,IACd,cAAc;AAAA,IACd,WAAW;AAAA,IACX,UAAU;AAAA,IACV,WAAW;AAAA,IACX,YAAY;AAAA,IACZ,cAAc;AAAA,IACd,cAAc;AAAA,IACd,gBAAgB;AAAA,EACpB;AAAA,EACA,yBAAyB;AAAA,IACrB,kBAAkB;AAAA,EACtB;AACJ;AAEA,iBAAS,OAAO,OAAO,IAAI;","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,
|
package/dist/index.mjs.map
CHANGED
|
@@ -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"]}
|