@andrey4emk/npm-app-back-b24 0.5.19 → 0.5.21

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/bitrix24/b24.js CHANGED
@@ -13,63 +13,44 @@ const APP_B24_CLIENT_SECRET_DEV = process.env.APP_B24_CLIENT_SECRET_DEV;
13
13
  const APP_B24_CLIENT_SECRET = process.env.APP_B24_CLIENT_SECRET;
14
14
  const APP_NAME = process.env.APP_NAME;
15
15
 
16
- async function makeAuthParams(AuthB24Model) {
17
- let authSql = await AuthB24Model.findOne({
18
- where: {
19
- name: `${APP_B24_DOMEN}_${APP_ENV}`,
20
- },
21
- raw: true,
22
- });
23
- if (!authSql) {
24
- // Явно выбрасываем ошибку — caller может её поймать и вернуть понятный ответ
25
- throw new Error(`Auth record not found for domain: ${APP_B24_DOMEN}`);
26
- }
16
+ async function makeAuthParams(authParamB24, secretParamB24) {
27
17
  // Формируем параметры авторизации для SDK
28
18
  let AuthParams = {
29
19
  applicationToken: "", // если нет — можно '' (см. примечание ниже)
30
20
  userId: 0, // если неизвестен — 0
31
- memberId: authSql.member_id,
32
- accessToken: authSql.access_token,
33
- refreshToken: authSql.refresh_token,
34
- expires: authSql.expires_in,
21
+ memberId: authParamB24.member_id,
22
+ accessToken: authParamB24.access_token,
23
+ refreshToken: authParamB24.refresh_token,
24
+ expires: authParamB24.expires_in,
35
25
  expiresIn: 1800,
36
26
  scope: "", // если нет строки scope — оставьте пусто
37
- domain: authSql.domain,
38
- clientEndpoint: `https://${authSql.domain}/rest/`,
27
+ domain: authParamB24.domain,
28
+ clientEndpoint: `https://${authParamB24.domain}/rest/`,
39
29
  serverEndpoint: "https://oauth.bitrix.info/rest/",
40
30
  status: "L", // Local — для локальных приложений; подставьте свой вариант
41
31
  issuer: "store", // опционально
42
32
  };
43
33
  let secret = {
44
- clientId: APP_ENV == "DEV" ? APP_B24_CLIENT_ID_DEV : APP_B24_CLIENT_ID,
45
- clientSecret: APP_ENV == "DEV" ? APP_B24_CLIENT_SECRET_DEV : APP_B24_CLIENT_SECRET,
34
+ clientId: secretParamB24.clientId,
35
+ clientSecret: secretParamB24.clientSecret,
46
36
  };
47
37
  return { AuthParams, secret };
48
38
  }
49
39
 
50
- export async function create(AuthB24Model) {
51
- let { AuthParams, secret } = await makeAuthParams(AuthB24Model);
40
+ export async function create(authParamB24, secretParamB24) {
41
+ let { AuthParams, secret } = await makeAuthParams(authParamB24, secretParamB24);
52
42
  return new B24OAuth(AuthParams, secret);
53
43
  }
54
44
 
55
45
  // Функция продления токена битрикс24 и сохранения в БД
56
- export async function refresh(AuthB24Model) {
46
+ export async function refresh(authParamB24, secretParamB24) {
57
47
  try {
58
- let { AuthParams, secret } = await makeAuthParams(AuthB24Model);
48
+ let { AuthParams, secret } = await makeAuthParams(authParamB24, secretParamB24);
59
49
  let newToken = await new AuthOAuthManager(AuthParams, secret).refreshAuth();
60
50
  if (!newToken) {
61
51
  return { error: true, message: "В refresh не получили токен" };
62
52
  }
63
-
64
- await AuthB24Model.upsert({
65
- access_token: newToken.access_token,
66
- refresh_token: newToken.refresh_token,
67
- domain: newToken.domain,
68
- expires_in: newToken.expires,
69
- member_id: newToken.member_id,
70
- name: `${newToken.domain}_${APP_ENV}`,
71
- });
72
- return { error: false, message: "Токены битрикс24 успешно обновлены." };
53
+ return { error: false, message: "Токены битрикс24 успешно обновлены.", data: newToken };
73
54
  } catch (error) {
74
55
  return { error: true, message: "Не удалось продлить авторизацию." };
75
56
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@andrey4emk/npm-app-back-b24",
3
- "version": "0.5.19",
3
+ "version": "0.5.21",
4
4
  "description": "Bitrix24 OAuth helpers for Node.js projects",
5
5
  "main": "index.js",
6
6
  "type": "module",
@@ -1,6 +1,3 @@
1
- import dotEnv from "dotenv";
2
- dotEnv.config();
3
-
4
1
  export class ChatApp {
5
2
  /**
6
3
  * @param {Object} makeParam - объект с параметрами для создания токена
@@ -1,7 +1,3 @@
1
- import dotEnv from "dotenv";
2
-
3
- dotEnv.config();
4
-
5
1
  export class Smsgold {
6
2
  constructor(authParam, b24 = null) {
7
3
  this.user = authParam.user;
@@ -42,7 +38,6 @@ export class Smsgold {
42
38
  });
43
39
  publicLink = publicLink.getData().result;
44
40
  } catch (error) {
45
- logs.add(`Ошибка при получении публичной ссылки на файл: ${error.message}`, "error");
46
41
  return { error: true, message: `Ошибка при получении публичной ссылки на файл: ${error.message}` };
47
42
  }
48
43
  }
@@ -51,7 +46,7 @@ export class Smsgold {
51
46
  user: this.user,
52
47
  pass: this.pass,
53
48
  action: "send",
54
- text: message + (publicLink ? `\n${publicLink}` : ""),
49
+ text: message + (publicLink ? `\n\n${publicLink}` : ""),
55
50
  number: phone,
56
51
  sender: "potolkiRepa",
57
52
  }).toString();
@@ -91,11 +86,10 @@ export class Smsgold {
91
86
 
92
87
  // Функция для закачивания файла в папку битрикс24. Используем метод disk.folder.uploadfile
93
88
  async uploadFileInFolderB24(fileBuffer, fileName) {
94
- console.log(`Запустили uploadFileInFolderB24()`);
95
89
  try {
96
90
  let base64File = await fileBuffer.toString("base64");
97
91
  // Используем метод disk.folder.uploadfile
98
- let res = await b24.callMethod("disk.folder.uploadfile", {
92
+ let res = await this.b24.callMethod("disk.folder.uploadfile", {
99
93
  id: 2792881, // Id папки "contract_company" из проекта "Документы и договора" https://repacheb.bitrix24.ru/workgroups/group/193/disk/path/
100
94
  data: {
101
95
  NAME: fileName,
@@ -105,7 +99,6 @@ export class Smsgold {
105
99
  const data = await res.getData().result;
106
100
  return { error: false, data: data };
107
101
  } catch (error) {
108
- logs.add(`Ошибка при загрузке файла в папку битрикс24: ${error.message}`, "error");
109
102
  return { error: true, message: `Ошибка при загрузке файла в папку битрикс24: ${error.message}` };
110
103
  }
111
104
  }