mirror of
https://github.com/n8n-io/n8n.git
synced 2024-12-25 04:34:06 -08:00
🐛 Fix issue when filtering fields type select & multi_select on Notion Node (#1819)
Also, it adds a change to how the links are handled. Before, if a link were left blank, the node would error. Now, if the link is left blank, it gets ignored.
This commit is contained in:
parent
ce9951d877
commit
2a7a87eb4d
|
@ -136,7 +136,7 @@ export function formatText(content: string) {
|
|||
}
|
||||
|
||||
function getLink(text: { textLink: string, isLink: boolean }) {
|
||||
if (text.isLink === true) {
|
||||
if (text.isLink === true && text.textLink !== '') {
|
||||
return {
|
||||
link: {
|
||||
url: text.textLink,
|
||||
|
@ -270,10 +270,12 @@ function getPropertyKeyValue(value: any, type: string, timezone: string) {
|
|||
};
|
||||
break;
|
||||
case 'date':
|
||||
//&& value.dateStart !== 'Invalid date' && value.dateEnd !== 'Invalid date'
|
||||
if (value.range === true) {
|
||||
result = {
|
||||
type: 'date', date: { start: moment.tz(value.dateStart, timezone).utc().format(), end: moment.tz(value.dateEnd, timezone).utc().format() },
|
||||
};
|
||||
//if (value.date !== 'Invalid date')
|
||||
} else {
|
||||
result = {
|
||||
type: 'date', date: { start: moment.tz(value.date, timezone).utc().format(), end: null },
|
||||
|
|
|
@ -212,8 +212,11 @@ export class Notion implements INodeType {
|
|||
async getPropertySelectValues(this: ILoadOptionsFunctions): Promise<INodePropertyOptions[]> {
|
||||
const [name, type] = (this.getCurrentNodeParameter('&key') as string).split('|');
|
||||
const databaseId = this.getCurrentNodeParameter('databaseId') as string;
|
||||
const resource = this.getCurrentNodeParameter('resource') as string;
|
||||
const operation = this.getCurrentNodeParameter('operation') as string;
|
||||
const { properties } = await notionApiRequest.call(this, 'GET', `/databases/${databaseId}`);
|
||||
return (properties[name][type].options).map((option: IDataObject) => ({ name: option.name, value: option.id }));
|
||||
const useNames = (resource === 'databasePage' && operation === 'getAll');
|
||||
return (properties[name][type].options).map((option: IDataObject) => ({ name: option.name, value: (['select', 'multi_select'].includes(type) && useNames) ? option.name : option.id }));
|
||||
},
|
||||
async getUsers(this: ILoadOptionsFunctions): Promise<INodePropertyOptions[]> {
|
||||
const returnData: INodePropertyOptions[] = [];
|
||||
|
|
Loading…
Reference in a new issue