|
|
@ -1824,7 +1824,6 @@ export class AtImportProcessor { |
|
|
|
const userList = aTblSchema.appBlanket.userInfoById; |
|
|
|
const userList = aTblSchema.appBlanket.userInfoById; |
|
|
|
const totalUsers = Object.keys(userList).length; |
|
|
|
const totalUsers = Object.keys(userList).length; |
|
|
|
let cnt = 0; |
|
|
|
let cnt = 0; |
|
|
|
const insertJobs: Promise<any>[] = []; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for (const [, value] of Object.entries( |
|
|
|
for (const [, value] of Object.entries( |
|
|
|
userList as { [key: string]: any }, |
|
|
|
userList as { [key: string]: any }, |
|
|
@ -1833,28 +1832,25 @@ export class AtImportProcessor { |
|
|
|
`[${++cnt}/${totalUsers}] NC API auth.baseUserAdd :: ${value.email}`, |
|
|
|
`[${++cnt}/${totalUsers}] NC API auth.baseUserAdd :: ${value.email}`, |
|
|
|
); |
|
|
|
); |
|
|
|
const _perfStart = recordPerfStart(); |
|
|
|
const _perfStart = recordPerfStart(); |
|
|
|
insertJobs.push( |
|
|
|
await this.baseUsersService |
|
|
|
this.baseUsersService |
|
|
|
.userInvite({ |
|
|
|
.userInvite({ |
|
|
|
baseId: ncCreatedProjectSchema.id, |
|
|
|
baseId: ncCreatedProjectSchema.id, |
|
|
|
baseUser: { |
|
|
|
baseUser: { |
|
|
|
email: value.email, |
|
|
|
email: value.email, |
|
|
|
roles: userRoles[value.permissionLevel], |
|
|
|
roles: userRoles[value.permissionLevel], |
|
|
|
}, |
|
|
|
}, |
|
|
|
req: { user: syncDB.user, clientIp: '' }, |
|
|
|
req: { user: syncDB.user, clientIp: '' }, |
|
|
|
}) |
|
|
|
}) |
|
|
|
.catch((e) => { |
|
|
|
.catch((e) => { |
|
|
|
if (e.message) { |
|
|
|
if (e.message) { |
|
|
|
// TODO enable after fixing user invite role issue
|
|
|
|
// TODO enable after fixing user invite role issue
|
|
|
|
// logWarning(e.message);
|
|
|
|
// logWarning(e.message);
|
|
|
|
} else { |
|
|
|
} else { |
|
|
|
logger.log(e); |
|
|
|
logger.log(e); |
|
|
|
} |
|
|
|
} |
|
|
|
}); |
|
|
|
}), |
|
|
|
|
|
|
|
); |
|
|
|
|
|
|
|
recordPerfStats(_perfStart, 'auth.baseUserAdd'); |
|
|
|
recordPerfStats(_perfStart, 'auth.baseUserAdd'); |
|
|
|
} |
|
|
|
} |
|
|
|
await Promise.all(insertJobs); |
|
|
|
|
|
|
|
}; |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
const updateNcTblSchema = (tblSchema) => { |
|
|
|
const updateNcTblSchema = (tblSchema) => { |
|
|
@ -2080,19 +2076,18 @@ export class AtImportProcessor { |
|
|
|
if (filter.operator === 'doesNotContain') { |
|
|
|
if (filter.operator === 'doesNotContain') { |
|
|
|
filter.operator = 'isNoneOf'; |
|
|
|
filter.operator = 'isNoneOf'; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for (let j = 0; j < filter.value.length; j++) { |
|
|
|
|
|
|
|
filter.value[j] = await sMap.getNcNameFromAtId(filter.value[j]); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// if array, break it down to multiple filters
|
|
|
|
// if array, break it down to multiple filters
|
|
|
|
if (Array.isArray(filter.value)) { |
|
|
|
if (Array.isArray(filter.value)) { |
|
|
|
const fx = { |
|
|
|
const fx = { |
|
|
|
fk_column_id: columnId, |
|
|
|
fk_column_id: columnId, |
|
|
|
logical_op: f.conjunction, |
|
|
|
logical_op: f.conjunction, |
|
|
|
comparison_op: filterMap[filter.operator], |
|
|
|
comparison_op: filterMap[filter.operator], |
|
|
|
value: ( |
|
|
|
value: filter.value.join(','), |
|
|
|
await Promise.all( |
|
|
|
|
|
|
|
filter.value.map( |
|
|
|
|
|
|
|
async (f) => await sMap.getNcNameFromAtId(f), |
|
|
|
|
|
|
|
), |
|
|
|
|
|
|
|
) |
|
|
|
|
|
|
|
).join(','), |
|
|
|
|
|
|
|
}; |
|
|
|
}; |
|
|
|
ncFilters.push(fx); |
|
|
|
ncFilters.push(fx); |
|
|
|
} |
|
|
|
} |
|
|
|