Skip to content

Commit

Permalink
ES6: migrated "bot" (#941)
Browse files Browse the repository at this point in the history
  • Loading branch information
herrmannplatz authored Mar 27, 2017
1 parent 836b683 commit 00a6ea9
Show file tree
Hide file tree
Showing 4 changed files with 100 additions and 79 deletions.
43 changes: 0 additions & 43 deletions app/script/bot/BotRepository.coffee

This file was deleted.

55 changes: 55 additions & 0 deletions app/script/bot/BotRepository.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
/*
* Wire
* Copyright (C) 2017 Wire Swiss GmbH
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see http://www.gnu.org/licenses/.
*
*/

'use strict';

window.z = window.z || {};
window.z.bot = z.bot || {};

z.bot.BotRepository = class BotRepository {
constructor(bot_service, conversation_repository) {
this.logger = new z.util.Logger('z.bot.BotRepository', z.config.LOGGER.OPTIONS);
this.bot_service = bot_service;
this.conversation_repository = conversation_repository;
}

/*
Add bot to conversation.
@param {string} bot_name - Bot name registered on backend
@param {string} [create_conversation=true] - A new conversation is created if true otherwise bot is added to active conversation
*/
add_bot(bot_name, create_conversation = true) {
let bot_result;

return this.bot_service.fetch_bot(bot_name)
.then(result => {
bot_result = result;
this.logger.info(`Info for bot '${bot_name}' retrieved`, bot_result);
if (create_conversation) {
return this.conversation_repository.create_new_conversation([], bot_result.name || bot_name);
}
}).then(conversation_et => {
if (conversation_et == null) {
conversation_et = this.conversation_repository.active_conversation();
}
this.conversation_repository.add_bot(conversation_et, bot_result.provider, bot_result.service);
amplify.publish(z.event.WebApp.CONVERSATION.SHOW, conversation_et);
});
}
};
36 changes: 0 additions & 36 deletions app/script/bot/BotService.coffee

This file was deleted.

45 changes: 45 additions & 0 deletions app/script/bot/BotService.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
/*
* Wire
* Copyright (C) 2017 Wire Swiss GmbH
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see http://www.gnu.org/licenses/.
*
*/

'use strict';

window.z = window.z || {};
window.z.bot = z.bot || {};

z.bot.BotService = class BotService {
constructor() {
this.logger = new z.util.Logger('z.bot.BotService', z.config.LOGGER.OPTIONS);
this.url = `${z.util.Environment.backend.website_url()}${BotService.URL}`;
}

/*
Fetch bot information.
@param {string} bot_name - Bot name registered on backend
*/
fetch_bot(bot_name) {
return fetch(`${this.url}${bot_name}/`)
.then(response => response.json())
.then(json => json.result);
}

static get URL() {
return 'api/v1/bot/';
}

};

0 comments on commit 00a6ea9

Please sign in to comment.