Questions:
Possibles questions about this feature
Technical Refinement
Description
intl-user-service
We will add the new attribute on class
UserDetailsBaseDto
:path:
intl-user-service/src/users/dtos/users.dtos.ts
Code Block language typescript @ApiProperty({ required: false, description: 'Required acceptance agreement info', type: [RequiredAcceptanceAgreementInfoDto], nullable: true, }) @Type(() => RequiredAcceptanceAgreementInfoDto) @IsArray() @IsOptional() public requiredAcceptanceAgreementInfo?: RequiredAcceptanceAgreementInfoDto[] | null;
On
class UserDetailsDto
onconstructor
, we will add a mapper:Code Block language typescript const requiredAcceptanceAgreementInfo = userDetails.requiredAcceptanceAgreementInfo?.map( (ra: IRequiredAcceptanceAgreementInfo) => ra as RequiredAcceptanceAgreementInfoDto, );
Code Block language typescript this.requiredAcceptanceAgreementInfo = requiredAcceptanceAgreementInfo;
intl-packages | ctg-packages
We will add the attribute
requiredAcceptanceAgreementInfo
onTUserDetails
:path:
intl-packages/packages/users/src/schemata.ts
Code Block language typescript requiredAcceptanceAgreementInfo: t.union([t.array(TRequiredAcceptanceAgreementInfo), t.null]),
Code Block language typescript export const TRequiredAcceptanceAgreementInfo = t.interface({ id: t.string, updatedAt: t.string, });
intl-whitelabel-graphql
We will add the attribute
requiredAcceptanceAgreementInfo
onUpdateUserDetailsInput
path:
intl-whitelabel-graphql/src/functions/graphql/schemas/users.gql
Code Block language typescript input UpdateUserDetailsInput { ... requiredAcceptanceAgreementInfo: [RequiredAcceptanceAgreementInfoInput] }
We will run the command:
Code Block yarn run graphql:types
After that, will be created an automatic code on file:
intl-whitelabel-graphql/src/functions/graphql/generated/graphql.ts
, probably, will be many changes, but we can to discard all, except of change related aboutrequiredAcceptanceAgreementInfo
intl-whitelabel-app
Screenshots
TODO
POC
TODO
Impact Analysis
...