Skip to content

Commit

Permalink
Fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
unnamed777 committed Oct 30, 2024
1 parent a320845 commit 03bbdff
Show file tree
Hide file tree
Showing 7 changed files with 93 additions and 5 deletions.
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "bx24dev",
"version": "0.4.0",
"version": "0.4.1",
"description": "Bitrix24 Dev extension",
"author": "Andrey Neyman <[email protected]>",
"engines": {
Expand Down
1 change: 1 addition & 0 deletions src/app/components/modules/Console/Console.vue
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@
:select2Options="{
//tags: false,
//insertTag: expertMode ? addCustomMethod : undefined,
width: '100%'
}"
:optionTemplate="select2Template"
v-model="chosenMethod"
Expand Down
1 change: 1 addition & 0 deletions src/app/etc/methods.js
Original file line number Diff line number Diff line change
Expand Up @@ -165,6 +165,7 @@ const methods = {
'crm.documentgenerator.template.getfields',
'crm.documentgenerator.template.list',
'crm.documentgenerator.template.update',
'crm.duplicate.findbycomm',
'crm.externalchannel.activity.company',
'crm.externalchannel.activity.contact',
'crm.externalchannel.company',
Expand Down
29 changes: 29 additions & 0 deletions src/lib/AuthProvider/TokenProvider.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,23 @@ export default class TokenProvider {
this.token = token;
}

/**
* @param {TokenAuthProviderData} serializedData
* @returns {TokenProvider}
*/
static hydrate({ tabId, frameId, instanceId, instance, messageListener, serializedData }) {
const provider = new this.prototype.constructor({
domain: serializedData.auth.domain,
token: serializedData.auth.access_token,
});

provider.appName = serializedData.appName;
provider.type = serializedData.type;
provider.auth = serializedData.auth;

return provider;
}

obtain() {
this.appName = 'Token';
this.appUrl = '';
Expand All @@ -16,4 +33,16 @@ export default class TokenProvider {

return this.auth;
}

/**
* @returns {TokenAuthProviderData}
*/
serialize() {
return {
appName: this.appName,
appUrl: this.appUrl,
type: this.type,
auth: this.auth,
};
}
}
34 changes: 33 additions & 1 deletion src/lib/AuthProvider/WebhookProvider.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,28 @@ export default class WebhookProvider {
};
}

/**
* @param {WebhookAuthProviderData} serializedData
* @returns {WebhookProvider}
*/
static hydrate({ tabId, frameId, instanceId, instance, messageListener, serializedData }) {
const provider = new this.prototype.constructor({
url: serializedData.credentials.url,
});

provider.appName = serializedData.appName;
provider.domain = serializedData.domain;
provider.type = serializedData.type;
provider.authData = serializedData.authData;
provider.credentials = serializedData.credentials;

return provider;
}

obtain() {
let result = /^.*:\/\/([^/]+)\/rest\/([0-9]+)\/([^/]+)\/?$/.exec(this.credentials.url);
let result = /^.*:\/\/([^\/]+)\/rest\/([0-9]+)\/([^\/]+)(?:\/?|\/.+)?$$/.exec(this.credentials.url);

// Seems to be inconsistent with others. Use credentials?
this.authData = {
url: result[0],
domain: result[1],
Expand All @@ -44,4 +63,17 @@ export default class WebhookProvider {
getCredentials() {
return { ...this.credentials };
}

/**
* @returns {WebhookAuthProviderData}
*/
serialize() {
return {
appName: this.appName,
domain: this.domain,
type: this.type,
authData: this.authData,
credentials: this.credentials,
};
}
}
25 changes: 25 additions & 0 deletions src/lib/types.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,31 @@ interface SessionAppProviderData extends BasicTokenProviderData {
interface FullOAuthProviderData extends BasicTokenProviderData {
}

interface WebhookAuthProviderData {
appName: string,
domain: string,
type: string,
authData: {
url: string,
domain: string,
userId: string,
key: string,
},
credentials: {
url: string,
},
}

interface TokenAuthProviderData {
appName: string,
appUrl: string,
type: string,
auth: {
domain: string,
access_token: string,
},
}

interface B24ApplicationAuthorization {
accessToken: string,
domain: string,
Expand Down
6 changes: 3 additions & 3 deletions src/login/App.vue
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
<form class="webhook-form" @submit.prevent="webhookSubmit">
<div class="form-row">
<div class="col">
<input class="form-control" id="webhookUrl" type="text" name="url" ref="webhookUrl" placeholder="url или &quot;domain user_id key&quot;" />
<input class="form-control" id="webhookUrl" type="text" name="url" ref="webhookUrl" placeholder="url или &quot;domain user_id key&quot;" autocomplete="off" />
</div>
<div class="col-1">
<button class="btn btn-primary" type="submit" tabindex="-1">➤</button>
Expand All @@ -23,13 +23,13 @@
<form class="token-form" @submit.prevent="tokenSubmit">
<div class="form-row">
<div class="col">
<input class="form-control" type="text" id="tokenDomain" name="domain" placeholder="domain" /><br/>
<input class="form-control" type="text" id="tokenDomain" name="domain" placeholder="domain" autocomplete="off"/><br/>
</div>
<div class="col-1"></div>
</div>
<div class="form-row">
<div class="col">
<input class="form-control"type="text" id="tokenToken" name="token" placeholder="access_token" />
<input class="form-control" type="text" id="tokenToken" name="token" placeholder="access_token" autocomplete="off"/>
</div>
<div class="col-1">
<button class="btn btn-primary" type="submit" tabindex="-1">➤</button>
Expand Down

0 comments on commit 03bbdff

Please sign in to comment.