Skip to content

Commit b488efd

Browse files
committed
fix(OUT-2227): response key in workspace schema changed from label to labels
1 parent 77e5e60 commit b488efd

2 files changed

Lines changed: 23 additions & 13 deletions

File tree

src/types/common.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ export type MeResponse = z.infer<typeof MeResponseSchema>;
3434
export const WorkspaceResponseSchema = z.object({
3535
id: z.string(),
3636
isCompaniesEnabled: z.boolean().optional(),
37-
label: z
37+
labels: z
3838
.object({
3939
individualTerm: z.string().optional(),
4040
individualTermPlural: z.string().optional(),

src/utils/getWorkspaceLabels.ts

Lines changed: 22 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,32 @@
11
import { WorkspaceResponse } from '@/types/common';
22

3-
export const getWorkspaceLabels = (workspace?: WorkspaceResponse, shouldCapitalize?: boolean) => {
4-
const capitalize = (str?: string) => (str ? str.charAt(0).toUpperCase() + str.slice(1) : str);
3+
type WorkspaceLabels = {
4+
individualTerm: string;
5+
individualTermPlural: string;
6+
groupTerm: string;
7+
groupTermPlural: string;
8+
};
9+
10+
export const getWorkspaceLabels = (workspace?: WorkspaceResponse, shouldCapitalize?: boolean): WorkspaceLabels => {
11+
const capitalize = (str?: string): string => (str ? str.charAt(0).toUpperCase() + str.slice(1) : '');
12+
const deCapitalize = (str?: string): string => (str ? str.charAt(0).toLowerCase() + str.slice(1) : '');
513
const labels = shouldCapitalize
614
? {
7-
individualTerm: workspace?.label?.individualTerm ? capitalize(workspace.label.individualTerm) : 'Client',
8-
individualTermPlural: workspace?.label?.individualTermPlural
9-
? capitalize(workspace.label.individualTermPlural)
15+
individualTerm: workspace?.labels?.individualTerm ? capitalize(workspace.labels.individualTerm) : 'Client',
16+
individualTermPlural: workspace?.labels?.individualTermPlural
17+
? capitalize(workspace.labels.individualTermPlural)
1018
: 'Clients',
11-
groupTerm: workspace?.label?.groupTerm ? capitalize(workspace.label.groupTerm) : 'Company',
12-
groupTermPlural: workspace?.label?.groupTermPlural ? capitalize(workspace.label.groupTermPlural) : 'Companies',
19+
groupTerm: workspace?.labels?.groupTerm ? capitalize(workspace.labels.groupTerm) : 'Company',
20+
groupTermPlural: workspace?.labels?.groupTermPlural ? capitalize(workspace.labels.groupTermPlural) : 'Companies',
1321
}
1422
: {
15-
individualTerm: workspace?.label?.individualTerm ? workspace.label.individualTerm : 'client',
16-
individualTermPlural: workspace?.label?.individualTermPlural ? workspace.label.individualTermPlural : 'clients',
17-
groupTerm: workspace?.label?.groupTerm ? workspace.label.groupTerm : 'company',
18-
groupTermPlural: workspace?.label?.groupTermPlural ? workspace.label.groupTermPlural : 'companies',
19-
}; //clean this when we are making workspace's label field non-optional.
23+
individualTerm: workspace?.labels?.individualTerm ? deCapitalize(workspace.labels.individualTerm) : 'client',
24+
individualTermPlural: workspace?.labels?.individualTermPlural
25+
? deCapitalize(workspace.labels.individualTermPlural)
26+
: 'clients',
27+
groupTerm: workspace?.labels?.groupTerm ? deCapitalize(workspace.labels.groupTerm) : 'company',
28+
groupTermPlural: workspace?.labels?.groupTermPlural ? deCapitalize(workspace.labels.groupTermPlural) : 'companies',
29+
};
2030

2131
return labels;
2232
};

0 commit comments

Comments
 (0)