fixes curio version

parent 65b17072
/src
.babelrc
*.json
import gulp from 'gulp'
import {exec} from 'child_process'
gulp.task('copy-package', () => (
gulp.src(['./package.json', './README.md'])
.pipe(gulp.dest('./dist'))
))
gulp.task('release', ['copy-package'], (cb) => {
exec('npm publish ./dist', (err, stdout, stderr) => {
console.log(stdout)
console.log(stderr)
cb(err)
})
})
This source diff could not be displayed because it is too large. You can view the blob instead.
import * as fs from 'fs' import * as fs from 'fs'
import { join } from 'path' import { join } from 'path'
import * as chalk from 'chalk'
const HOME = process.env.HOME || process.env.HOMEPATH || process.env.USERPROFILE const HOME = process.env.HOME || process.env.HOMEPATH || process.env.USERPROFILE
const path = join(HOME, '.siscon-cli.json') const path = join(HOME, '.siscon-cli.json')
......
import * as chalk from 'chalk' import chalk from 'chalk'
import { Questions, prompt } from 'inquirer' import { Questions, prompt } from 'inquirer'
export const username: Questions = { export const username: Questions = {
......
import { UseCase } from 'curiojs' import { UseCase, MainUseCase } from '@curio/client'
export type Item = { export type Item = {
_OID: string, _OID: string,
...@@ -35,24 +35,23 @@ export type ObterTarefaProjeto = { ...@@ -35,24 +35,23 @@ export type ObterTarefaProjeto = {
Tarefas: Tarefas Tarefas: Tarefas
} }
export class UcRegistrarPonto { export class UcRegistrarPonto extends UseCase {
static USECASEID = '788' public static USECASEID = 788
constructor (private useCase: UseCase) {}
obterContexto (): Promise<Contexto> { obterContexto (): Promise<Contexto> {
return this.useCase.request('RM_OBTEM_CONTEXTO') return this.sendRequest('RM_OBTEM_CONTEXTO')
} }
incluirRegistroPonto (): Promise<IncluirRegistroPonto> { incluirRegistroPonto (): Promise<IncluirRegistroPonto> {
return this.useCase.request('RM_INCLUIR_REGISTRO_PONTO') return this.sendRequest('RM_INCLUIR_REGISTRO_PONTO')
} }
confirmarRegistro () { confirmarRegistro () {
return this.useCase.request('RM_CONFIRMAR_REGISTRO') return this.sendRequest('RM_CONFIRMAR_REGISTRO')
} }
obterTarefaProjeto (codigo: number | string): Promise<ObterTarefaProjeto> { obterTarefaProjeto (codigo: number | string): Promise<ObterTarefaProjeto> {
return this.useCase.request('RM_OBTEM_TAREFA_PROJETO', {OBJECTID: {_: codigo}}) return this.sendRequest('RM_OBTEM_TAREFA_PROJETO', {OBJECTID: {_: codigo}})
} }
incluirTarefa (_OID: number | string, time: number, _Descricao: string) { incluirTarefa (_OID: number | string, time: number, _Descricao: string) {
const _Hora = Math.floor(time / 60) const _Hora = Math.floor(time / 60)
const _Minuto = time % 60 const _Minuto = time % 60
return this.useCase.request('RM_INCLUIR_TAREFA', {Tarefa: {_OID, _Hora, _Minuto, _Descricao}}) return this.sendRequest('RM_INCLUIR_TAREFA', {Tarefa: {_OID, _Hora, _Minuto, _Descricao}})
} }
} }
import * as curio from 'curiojs' import { Service, SecurityManager } from '@curio/client'
import { FetchLink, FetchService } from '@curio/client/links'
import { createV1RequestParser, createV1ResponseParser } from '@curio/client/parsers'
export * from './UcRegistrarPonto' export * from './UcRegistrarPonto'
import config from '../config' import config from '../config'
export const service: curio.Service = { export const service: Service & FetchService = {
...config().service, ...config().service
debug: false
} }
export const sessionManager: curio.SessionManager = new curio.SessionManager( const link = new FetchLink(service)
service, const v1Request = createV1RequestParser(service)
new curio.connection.HttpConnector() export const securityManager = new SecurityManager(service, (request) => {
) const v1Response = createV1ResponseParser(request)
return Promise.resolve(request)
.then(v1Request.parse)
.then(JSON.stringify)
.then(link.parse)
.then(link.post)
.then(response => response.json())
.then(v1Response.parse)
})
#!/usr/bin/env node #!/usr/bin/env node
import * as program from 'commander' import program from 'commander'
import './views/ponto' import './views/ponto'
import './views/servico' import './views/servico'
import * as chalk from 'chalk' import chalk from 'chalk'
const figlet = require('figlet') const figlet = require('figlet')
import { version } from '../package.json' import { version } from '../package.json'
......
declare module '*.json'
import * as inquirer from 'inquirer' import * as inquirer from 'inquirer'
import { UcRegistrarPonto, RegistroPonto } from '../../curio' import { UcRegistrarPonto, RegistroPonto } from '../../curio'
import { entry } from '../../constants/questions' import { entry } from '../../constants/questions'
import * as moment from 'moment' import moment from 'moment'
import * as chalk from 'chalk' import chalk from 'chalk'
export default async function entrada ({_DataRegistro}: RegistroPonto, ucRegistrarPonto: UcRegistrarPonto) { export default async function entrada ({_DataRegistro}: RegistroPonto, ucRegistrarPonto: UcRegistrarPonto) {
if (!(await inquirer.prompt(entry)).entry) return if (!(await inquirer.prompt(entry)).entry) return
......
import * as program from 'commander' import program from 'commander'
import { prompt } from 'inquirer' import { prompt } from 'inquirer'
import { sessionManager, UcRegistrarPonto } from '../../curio' import { securityManager, UcRegistrarPonto } from '../../curio'
import * as curio from 'curiojs'
import * as questions from '../../constants/questions' import * as questions from '../../constants/questions'
import * as chalk from 'chalk' import chalk from 'chalk'
import * as makeSpinner from 'ora' import makeSpinner from 'ora'
import entrada from './entrada' import entrada from './entrada'
import saida from './saida' import saida from './saida'
import { BusinessError, ConnectionError, SystemError } from '@curio/client/errors'
program program
.command('ponto') .command('ponto')
...@@ -20,17 +20,17 @@ program ...@@ -20,17 +20,17 @@ program
const spinner = makeSpinner() const spinner = makeSpinner()
try { try {
spinner.start(chalk.cyan('Realizando login...')) spinner.start(chalk.cyan('Realizando login...'))
const session = await sessionManager.login(username, password) const session = await securityManager.openMainUseCase(username, password)
const ucRegistrarPonto = new UcRegistrarPonto(await session.open(UcRegistrarPonto.USECASEID)) const ucRegistrarPonto = await session.openUseCase(UcRegistrarPonto)
const {Domains} = await ucRegistrarPonto.obterContexto() const {Domains} = await ucRegistrarPonto.obterContexto()
const {UltimoRegistroPonto, RegistroPonto} = await ucRegistrarPonto.incluirRegistroPonto() const {UltimoRegistroPonto, RegistroPonto} = await ucRegistrarPonto.incluirRegistroPonto()
spinner.succeed(`Login realizado com ${chalk.bold.italic.underline.green('sucesso')}`) spinner.succeed(`Login realizado com ${chalk.bold.italic.underline.green('sucesso')}`)
if (UltimoRegistroPonto && UltimoRegistroPonto[0]._Tipo === 'E') saida(Domains[0], UltimoRegistroPonto[0], RegistroPonto[0], ucRegistrarPonto) if (UltimoRegistroPonto && UltimoRegistroPonto[0]._Tipo === 'E') saida(Domains[0], UltimoRegistroPonto[0], RegistroPonto[0], ucRegistrarPonto)
else entrada(RegistroPonto[0], ucRegistrarPonto) else entrada(RegistroPonto[0], ucRegistrarPonto)
} catch (error) { } catch (error) {
if (error instanceof curio.error.BusinessError) spinner.fail(chalk.bgRed.white.bold(error.message)) if (error instanceof BusinessError) spinner.fail(chalk.bgRed.white.bold(error.message))
else if (error instanceof curio.error.ConnectionError) spinner.fail(chalk.bgRed.white.bold(error.message)) else if (error instanceof ConnectionError) spinner.fail(chalk.bgRed.white.bold(error.message))
else if (error instanceof curio.error.SystemError) spinner.fail(chalk.bgRed.white.bold(error.message)) else if (error instanceof SystemError) spinner.fail(chalk.bgRed.white.bold(error.message))
else console.error(error) else console.error(error)
} }
}) })
import * as program from 'commander'
import { prompt } from 'inquirer' import { prompt } from 'inquirer'
import { UcRegistrarPonto, RegistroPonto, Item, Domain, Tarefa } from '../../../curio' import { UcRegistrarPonto, RegistroPonto, Domain } from '../../../curio'
import { exit, accessSubtask, describeTask, timeTask, confirmExit } from '../../../constants/questions' import { exit, accessSubtask, describeTask, timeTask, confirmExit } from '../../../constants/questions'
import { BusinessError, SystemError, ConnectionError } from 'curiojs/errors' import { BusinessError, SystemError, ConnectionError } from '@curio/client/errors'
import * as moment from 'moment' import moment from 'moment'
import * as chalk from 'chalk' import chalk from 'chalk'
import * as fuzzy from 'fuzzy' import makeSpinner from 'ora'
import * as makeSpinner from 'ora'
import promptProjeto from './projeto' import promptProjeto from './projeto'
import promptTarefa from './tarefa' import promptTarefa from './tarefa'
......
import * as inquirer from 'inquirer' import * as inquirer from 'inquirer'
import { Item } from '../../../curio' import { Item } from '../../../curio'
import * as chalk from 'chalk'
import * as fuzzy from 'fuzzy' import * as fuzzy from 'fuzzy'
declare module 'inquirer' { declare module 'inquirer' {
......
import { prompt } from 'inquirer' import { prompt } from 'inquirer'
import { Item, Tarefas, Tarefa } from '../../../curio' import { Item, Tarefas, Tarefa } from '../../../curio'
import { accessSubtask } from '../../../constants/questions' import { accessSubtask } from '../../../constants/questions'
import * as chalk from 'chalk' import chalk from 'chalk'
export default async function tarefa (tarefas: Tarefas, anteriores?: Tarefas): Promise<void|Tarefa> { export default async function tarefa (tarefas: Tarefas, anteriores?: Tarefas): Promise<void|Tarefa> {
let items: Tarefa[] = tarefas[0].Tarefa let items: Tarefa[] = tarefas[0].Tarefa
......
// import * as program from 'commander' // import program from 'commander'
// program // program
// .command('serviço') // .command('serviço')
......
{ {
"compilerOptions": { "compilerOptions": {
"outDir": "dist",
"removeComments": false, "removeComments": false,
"preserveConstEnums": true, "preserveConstEnums": true,
"sourceMap": true, "sourceMap": true,
...@@ -8,20 +9,23 @@ ...@@ -8,20 +9,23 @@
"noImplicitReturns": true, "noImplicitReturns": true,
"noImplicitThis": true, "noImplicitThis": true,
"suppressImplicitAnyIndexErrors": true, "suppressImplicitAnyIndexErrors": true,
"allowUnreachableCode": true, "esModuleInterop": true,
"moduleResolution": "node", "moduleResolution": "node",
"resolveJsonModule": true, "module": "commonjs",
"newLine": "LF", "target": "es5",
"target": "es6",
"lib": [ "lib": [
"es5", "es5",
"es2015.core",
"es2015.iterable", "es2015.iterable",
"es2015.collection", "es2015.collection",
"es2015.promise", "es2015.promise",
"dom" "dom"
] ]
}, },
"files": [ "include": [
"src/index.ts" "src/**/*"
],
"exclude": [
"node_modules"
] ]
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment