Skip to content

Commit 0d8c6c6

Browse files
authored
fix: generate UUID when member identity id is empty on create (#4341)
Signed-off-by: Yeganathan S <63534555+skwowet@users.noreply.github.com>
1 parent 77c91ef commit 0d8c6c6

5 files changed

Lines changed: 14 additions & 6 deletions

File tree

frontend/src/modules/contributor/components/edit/identity/contributor-identity-add.vue

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,10 @@ const isModalOpen = computed<boolean>({
166166
167167
const addIdentities = () => {
168168
sending.value = true;
169-
createContributorIdentities(props.contributor.id, form)
169+
createContributorIdentities(
170+
props.contributor.id,
171+
form.map(({ id, ...identity }) => identity),
172+
)
170173
.then(() => {
171174
ToastStore.success('Identities successfully added');
172175
isModalOpen.value = false;

frontend/src/modules/contributor/services/contributor.identities.api.service.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import authAxios from '@/shared/axios/auth-axios';
2-
import { ContributorIdentity, UpdateContributorIdentityPayload } from '@/modules/contributor/types/Contributor';
2+
import { CreateContributorIdentity, UpdateContributorIdentityPayload } from '@/modules/contributor/types/Contributor';
33
import { storeToRefs } from 'pinia';
44
import { useLfSegmentsStore } from '@/modules/lf/segments/store';
55

@@ -22,7 +22,7 @@ export class ContributorIdentitiesApiService {
2222
).then(({ data }) => Promise.resolve(data));
2323
}
2424

25-
static async createMultiple(memberId: string, identities: ContributorIdentity[]) {
25+
static async createMultiple(memberId: string, identities: CreateContributorIdentity[]) {
2626
return authAxios.put(
2727
`/member/${memberId}/identity`,
2828
{

frontend/src/modules/contributor/store/contributor.actions.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { useLfSegmentsStore } from '@/modules/lf/segments/store';
22
import { storeToRefs } from 'pinia';
33
import { ContributorApiService } from '@/modules/contributor/services/contributor.api.service';
44
import {
5-
Contributor, ContributorAffiliation, ContributorIdentity, UpdateContributorIdentityPayload,
5+
Contributor, ContributorAffiliation, ContributorIdentity, CreateContributorIdentity, UpdateContributorIdentityPayload,
66
} from '@/modules/contributor/types/Contributor';
77
import { ContributorIdentitiesApiService } from '@/modules/contributor/services/contributor.identities.api.service';
88
import { MergeActionsService } from '@/shared/modules/merge/services/merge-actions.service';
@@ -70,7 +70,7 @@ export default {
7070
return ContributorIdentitiesApiService.list(id, [selectedProjectGroup.value?.id as string])
7171
.then(this.setIdentities);
7272
},
73-
createContributorIdentities(memberId: string, identities: ContributorIdentity[]): Promise<ContributorIdentity[]> {
73+
createContributorIdentities(memberId: string, identities: CreateContributorIdentity[]): Promise<ContributorIdentity[]> {
7474
return ContributorIdentitiesApiService.createMultiple(memberId, identities)
7575
.then(this.setIdentities);
7676
},

frontend/src/modules/contributor/types/Contributor.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,11 @@ export interface ContributorIdentity {
7373
duplicatedIdentities?: ContributorIdentity[];
7474
}
7575

76+
export type CreateContributorIdentity = Omit<
77+
ContributorIdentity,
78+
'id' | 'platforms' | 'url' | 'duplicatedIdentities'
79+
>;
80+
7681
export interface UpdateContributorIdentityPayload {
7782
value?: string;
7883
type?: string;

services/libs/data-access-layer/src/members/identities.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -273,7 +273,7 @@ export async function insertMemberIdentities(
273273
],
274274
identities.map((i) => ({
275275
...i,
276-
id: i.id ?? generateUUIDv1(),
276+
id: i.id || generateUUIDv1(),
277277
tenantId: DEFAULT_TENANT_ID,
278278
})),
279279
failOnConflict ? undefined : 'DO NOTHING',

0 commit comments

Comments
 (0)