feat: RBAC (#8922)
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com> Co-authored-by: Val <68596159+valya@users.noreply.github.com> Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in> Co-authored-by: Valya Bullions <valya@n8n.io> Co-authored-by: Danny Martini <danny@n8n.io> Co-authored-by: Danny Martini <despair.blue@gmail.com> Co-authored-by: Iván Ovejero <ivov.src@gmail.com> Co-authored-by: Omar Ajoue <krynble@gmail.com> Co-authored-by: oleg <me@olegivaniv.com> Co-authored-by: Michael Kret <michael.k@radency.com> Co-authored-by: Michael Kret <88898367+michael-radency@users.noreply.github.com> Co-authored-by: Elias Meire <elias@meire.dev> Co-authored-by: Giulio Andreini <andreini@netseven.it> Co-authored-by: Giulio Andreini <g.andreini@gmail.com> Co-authored-by: Ayato Hayashi <go12limchangyong@gmail.com>
This commit is contained in:
28
packages/editor-ui/src/features/projects/projects.utils.ts
Normal file
28
packages/editor-ui/src/features/projects/projects.utils.ts
Normal file
@@ -0,0 +1,28 @@
|
||||
// Splits a project name into first name, last name, and email when it is in the format "First Last <email@domain.com>"
|
||||
export const splitName = (
|
||||
projectName: string,
|
||||
): {
|
||||
firstName: string;
|
||||
lastName?: string;
|
||||
email?: string;
|
||||
} => {
|
||||
const regex = /^(.+)?\s?<([^>]+)>$/;
|
||||
const match = projectName.match(regex);
|
||||
|
||||
if (match) {
|
||||
const [_, fullName, email] = match;
|
||||
const nameParts = fullName?.trim().split(/\s+/);
|
||||
const lastName = nameParts?.pop();
|
||||
const firstName = nameParts?.join(' ');
|
||||
return { firstName, lastName, email };
|
||||
} else {
|
||||
const nameParts = projectName.split(/\s+/) ?? [];
|
||||
if (nameParts.length < 2) {
|
||||
return { firstName: projectName };
|
||||
} else {
|
||||
const lastName = nameParts.pop();
|
||||
const firstName = nameParts.join(' ');
|
||||
return { firstName, lastName };
|
||||
}
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user