Demo preparation

This commit is contained in:
Matias committed 2019-04-10 11:09:54 +02:00
1 parent 1669c36b5b
commit 37d4e5e5a5
4 files changed
+38 -112

No files matched your search

+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@superalgos/operations-client",
"version": "0.0.30",
"version": "0.0.31",
"description": "Superalgos Operations client-side web app",
"main": "src/index.js",
"dependencies": {
-1
View File
@@ -38,7 +38,6 @@ const sensorProcessNames = {
}
const indicatorProcessNames = {
Single: 'Single-Period-Daily',
Daily: 'Multi-Period-Daily',
Market: 'Multi-Period-Market'
}
+19 -104
View File
@@ -28,8 +28,8 @@ class AddClone extends Component {
this.state = {
user: JSON.parse(user),
selectedBot: { 'id': '' },
mode: '',
resumeExecution: true,
mode: "noTime",
resumeExecution: false,
beginDatetime: DateTime.local().minus({ days: 8 }).startOf('day'),
endDatetime: DateTime.local(),
waitTime: 1,
@@ -41,7 +41,7 @@ class AddClone extends Component {
teamId: '',
keyId: '',
exchangeName: exchanges.Coss,
processName: '',
processName: indicatorProcessNames.Daily,
// Indicator Bot
startYear: 2019,
@@ -267,9 +267,9 @@ class AddClone extends Component {
);
if (error) return `Error! ${error.message}`;
const list = data.keyVault_AvailableKeys.map((key) => (
<MenuItem key={key.id} value={key.id}>
{key.key.substr(0, 32) + "..." + " - " + key.exchange}
</MenuItem>
<MenuItem key={key.id} value={key.id}>
{key.key.substr(0, 32) + "..." + " - " + key.exchange}
</MenuItem>
));
return (
<TextField
@@ -359,101 +359,7 @@ class AddClone extends Component {
</React.Fragment>
}
{(this.state.selectedBot.kind === botTypes.Indicator
|| this.state.selectedBot.kind === botTypes.Sensor) &&
<React.Fragment>
<TextField label="Running Mode"
select
className={classNames(classes.margin, classes.textField, classes.form)}
value={this.state.mode}
onChange={(e) => this.setState({ mode: e.target.value })}
onBlur={(e) => this.setState({ modeError: false })}
error={this.state.modeError}
fullWidth
>
{Object.keys(indicatorStartModes).map(option => (
<MenuItem key={option} value={option}>
{indicatorStartModes[option]}
</MenuItem>
))}
</TextField>
{this.state.mode === "allMonths" &&
<React.Fragment>
<TextField
id="beginYearInput"
select
label="Start Year"
className={classNames(classes.textField, classes.form)}
value={this.state.startYear}
onChange={(e) => this.setState({ startYear: e.target.value })}
fullWidth
>
{getIndicatorYears().map(option => (
<MenuItem key={option} value={option}>
{option}
</MenuItem>
))}
</TextField>
<TextField
id="endYearInput"
select
label="End Year"
className={classNames(classes.textField, classes.form)}
value={this.state.endYear}
onChange={(e) => this.setState({ endYear: e.target.value })}
fullWidth
>
{getIndicatorYears().map(option => (
<MenuItem key={option} value={option}>
{option}
</MenuItem>
))}
</TextField>
</React.Fragment>
}
{this.state.mode === "oneMonth" &&
<React.Fragment>
<TextField
id="beginYearInput"
select
label="Year"
className={classNames(classes.textField, classes.form)}
value={this.state.startYear}
onChange={(e) => this.setState({ startYear: e.target.value })}
fullWidth
>
{getIndicatorYears().map(option => (
<MenuItem key={option} value={option}>
{option}
</MenuItem>
))}
</TextField>
<TextField
id="endMonthInput"
select
label="Month"
className={classNames(classes.textField, classes.form)}
value={this.state.month}
onChange={(e) => this.setState({ month: e.target.value })}
fullWidth
>
{availableMonths.map((option, index) => (
<MenuItem key={index} value={index + 1}>
{option}
</MenuItem>
))}
</TextField>
</React.Fragment>
}
</React.Fragment>
}
{(this.state.mode === "noTime" && this.state.selectedBot.kind !== botTypes.Sensor ) &&
{(this.state.mode === "noTime" && this.state.selectedBot.kind !== botTypes.Sensor) &&
<React.Fragment>
<Typography className={classes.typography} variant='subtitle1' align='justify'>
The Resume Execution option let's you pick up the context of
@@ -612,8 +518,8 @@ class AddClone extends Component {
if (!this.state.serverError)
this.setState({
selectedBot: { 'id': '' },
mode: '',
resumeExecution: true,
mode: 'noTime',
resumeExecution: false,
beginDatetime: DateTime.local().minus({ days: 8 }).startOf('day'),
endDatetime: DateTime.local(),
waitTime: 1,
@@ -621,11 +527,20 @@ class AddClone extends Component {
stateDatetime: 0,
createDatetime: 0,
runAsTeam: false,
processName: '',
exchangeName: exchanges.Coss,
processName: indicatorProcessNames.Daily,
teams: [],
teamId: '',
keyId: '',
// Indicator Bot
startYear: 2019,
endYear: 2019,
month: 1,
//TradingBot
timePeriod: '01-hs',
//Error handlers
nameError: false,
teamError: false,
@@ -40,13 +40,25 @@ const resolve = async (parent, { clone }, context) => {
throw new WrongArgumentsError('The key was not provided to run the clone.')
}
try {
let allUserBotsResponse = await teamQuery(context.authorization, clone.botId)
let bot = allUserBotsResponse.data.data.teams_FbByOwner.edges[0].node
clone = cloneDetails(bot, clone)
clone.createDatetime = new Date().valueOf() / 1000 | 0
clone.active = true
let allUserBotsResponse = await teamQuery(context.authorization, clone.botId)
let bot = allUserBotsResponse.data.data.teams_FbByOwner.edges[0].node
clone = cloneDetails(bot, clone)
clone.createDatetime = new Date().valueOf() / 1000 | 0
clone.active = true
// TODO Temporary Limitation on bot creation
if (!(clone.teamSlug === "AAMasters" || clone.teamSlug === "AAVikings")) {
let clones = await Clone.find({
authId: context.userId,
active: true
})
if (clones !== undefined && clones.length >= 5) {
throw new Error('Currently maximum number of clones per user is 5. You can delete an existing clone and try again.')
}
}
try {
let newClone = new Clone(clone)
newClone.authId = context.userId
clone.id = newClone._id