l7note
Version:
Access your notion notes quick
107 lines (106 loc) • 4.02 kB
JavaScript
;
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.addList = void 0;
const client_1 = require("@notionhq/client");
const chalk_1 = __importDefault(require("chalk"));
const process_1 = require("process");
const prompts_1 = __importDefault(require("prompts"));
const getSettingValueByName_js_1 = require("../helper/getSettingValueByName.js");
const setup_js_1 = require("../setup.js");
const getDateString = () => {
const date = new Date();
let dateStr = ('00' + (date.getMonth() + 1)).slice(-2) +
'/' +
('00' + date.getDate()).slice(-2) +
'/' +
date.getFullYear() +
' ' +
('00' + date.getHours()).slice(-2) +
':' +
('00' + date.getMinutes()).slice(-2) +
':' +
('00' + date.getSeconds()).slice(-2);
return dateStr;
};
const addQuestions = [
{
type: 'text',
name: 'title',
message: 'Title of note',
initial: 'Note from ' + getDateString(),
},
{
type: 'text',
name: 'text',
message: 'Text of note',
},
{
type: 'text',
name: 'tags',
message: 'Tags of note',
hint: 'Seperate tags with spaces',
},
];
const addList = () => __awaiter(void 0, void 0, void 0, function* () {
var _a;
const notion = new client_1.Client({ auth: setup_js_1.globalConfig.token });
let noteData = { title: '', text: '', tags: '' };
if (setup_js_1.globalConfig.optionalArgs.length == 0) {
noteData = (yield (0, prompts_1.default)(addQuestions));
}
else {
noteData.title = (0, getSettingValueByName_js_1.getSettingValueByName)('-h');
noteData.text = (0, getSettingValueByName_js_1.getSettingValueByName)('-d');
noteData.tags = (0, getSettingValueByName_js_1.getSettingValueByName)('-t');
}
const databaseId = (_a = setup_js_1.globalConfig.dbId) !== null && _a !== void 0 ? _a : '';
if (!noteData.title) {
console.log(chalk_1.default.red('There was an error creating your note. Sorry'));
(0, process_1.exit)(1);
}
let reqBody = {
parent: {
database_id: databaseId,
},
properties: {
Title: { title: [{ text: { content: noteData.title } }] },
},
};
if (noteData.text) {
reqBody.properties.Text = {
rich_text: [{ text: { content: noteData.text } }],
};
}
if (noteData.tags) {
reqBody.properties.Tags = {
multi_select: noteData.tags.split(' ').map(tag => {
return { name: tag };
}),
};
}
try {
const response = yield notion.pages.create(reqBody);
if (process.env.platform != 'android') {
const ncp = require('copy-paste');
ncp.copy(response.url);
}
console.log(chalk_1.default.green(response.url));
}
catch (err) {
console.log(chalk_1.default.red('There was an error creating your note. Sorry'));
(0, process_1.exit)(1);
}
});
exports.addList = addList;