Skip to content

Commit

Permalink
testing functionality add (#51)
Browse files Browse the repository at this point in the history
  • Loading branch information
Muh-Hasan committed Oct 23, 2021
1 parent 9067bc7 commit 65e7e00
Showing 1 changed file with 50 additions and 28 deletions.
78 changes: 50 additions & 28 deletions src/commands/init.ts
Original file line number Diff line number Diff line change
Expand Up @@ -28,49 +28,71 @@ export default class Create extends Command {

static flags = {
help: flags.help({ char: "h" }),
test: flags.boolean({ char: "t" }),
};

async run() {
const { flags } = this.parse(Create);

let templateDir;

// Questions
let usrInput = await userInput();

// Config to generate code.
const config: Config = {
// entityId: usrInput.entityId,
// api_token: usrInput.api_token,
saasType: SAASTYPE.api,
api: {
template: usrInput.template,
nestedResolver: usrInput.nestedResolver,
// language: usrInput.language,
// cloudprovider: usrInput.cloud_provider,
apiName: camelCase(usrInput.api_name),
schemaPath: usrInput.schema_path,
apiType:
usrInput.architecture === ARCHITECTURE.eventDriven
? APITYPE.graphql
: usrInput.api_type,
database:
usrInput.database === DATABASE.none ? undefined : usrInput.database,
architecture: usrInput.architecture,
},
};
let config: Config;

if (
flags.test &&
!process.argv.includes("Panacloud") &&
!process.argv.includes("cli")
) {
config = {
saasType: SAASTYPE.api,
api: {
template: TEMPLATE.defineApi,
nestedResolver: true,
// language: usrInput.language,
// cloudprovider: usrInput.cloud_provider,
apiName: camelCase("ApiName"),
schemaPath: "../../schema.graphql",
apiType: APITYPE.graphql,
database: DATABASE.neptuneDB,
architecture: ARCHITECTURE.eventDriven,
},
};
} else {
let usrInput = await userInput();
// Config to generate code.
config = {
// entityId: usrInput.entityId,
// api_token: usrInput.api_token,
saasType: SAASTYPE.api,
api: {
template: usrInput.template,
nestedResolver: usrInput.nestedResolver,
// language: usrInput.language,
// cloudprovider: usrInput.cloud_provider,
apiName: camelCase(usrInput.api_name),
schemaPath: usrInput.schema_path,
apiType:
usrInput.architecture === ARCHITECTURE.eventDriven
? APITYPE.graphql
: usrInput.api_type,
database:
usrInput.database === DATABASE.none ? undefined : usrInput.database,
architecture: usrInput.architecture,
},
};
}

// Error handling
const validating = startSpinner("Validating Everything");

if (config.saasType === SAASTYPE.api) {
if (config!.saasType === SAASTYPE.api) {
templateDir = path.resolve(__dirname, "../lib/api/template");
checkEmptyDirectoy(validating);
if (config.api?.template === TEMPLATE.defineApi) {
if (config!.api?.template === TEMPLATE.defineApi) {
validateSchemaFile(
config.api?.schemaPath,
config!.api?.schemaPath,
validating,
config.api?.apiType
config!.api?.apiType
);
}
}
Expand Down

0 comments on commit 65e7e00

Please sign in to comment.