diff --git a/apps/customer-portal/backend/modules/entity/enums.bal b/apps/customer-portal/backend/modules/entity/enums.bal index 0d62f242d7..ffa4edc019 100644 --- a/apps/customer-portal/backend/modules/entity/enums.bal +++ b/apps/customer-portal/backend/modules/entity/enums.bal @@ -65,3 +65,8 @@ public enum TimeCardState { public enum StatsFilter { ME = "me" } + +# Valid product class values. +public enum ProductClass { + PRODUCT_MODEL = "product_model" +} diff --git a/apps/customer-portal/backend/modules/entity/types.bal b/apps/customer-portal/backend/modules/entity/types.bal index b97995609e..57799d2ede 100644 --- a/apps/customer-portal/backend/modules/entity/types.bal +++ b/apps/customer-portal/backend/modules/entity/types.bal @@ -1426,6 +1426,8 @@ public type CallRequestSearchPayload record {| public type CallRequest record {| # ID IdString id; + # Number of the call request + string number; # Associated case information ReferenceTableItem case; # Reason for the call request @@ -1436,6 +1438,8 @@ public type CallRequest record {| int durationMin; # Scheduled time for the call string? scheduleTime; + # Meeting link for the scheduled call + string? meetingLink; # Created date and time string createdOn; # Updated date and time @@ -1567,6 +1571,11 @@ public type UpdatedDeployment record {| # Request payload for searching products. public type ProductSearchPayload record {| + # Filter criteria + record {| + # Product class to filter by + ProductClass 'class?; + |} filters?; # Pagination details Pagination pagination?; |}; @@ -1577,6 +1586,8 @@ public type Product record {| IdString id; # Name string name; + # Product class (Product Model) + string 'class; json...; |}; diff --git a/apps/customer-portal/backend/modules/types/types.bal b/apps/customer-portal/backend/modules/types/types.bal index e95f4d48d1..74f19f3367 100644 --- a/apps/customer-portal/backend/modules/types/types.bal +++ b/apps/customer-portal/backend/modules/types/types.bal @@ -987,6 +987,8 @@ public type CallRequestSearchPayload record {| public type CallRequest record {| # ID string id; + # Number of the call request + string number; # Associated case information ReferenceItem case; # Reason for the call request @@ -997,6 +999,8 @@ public type CallRequest record {| int durationMin; # Scheduled time for the call string? scheduleTime; + # Meeting link for the scheduled call + string? meetingLink; # Created date and time string createdOn; # Updated date and time diff --git a/apps/customer-portal/backend/openapi.yaml b/apps/customer-portal/backend/openapi.yaml index ae48700c0e..ed4fea2d0c 100644 --- a/apps/customer-portal/backend/openapi.yaml +++ b/apps/customer-portal/backend/openapi.yaml @@ -2840,10 +2840,6 @@ components: description: New preferred UTC times for the call items: $ref: '#/components/schemas/DateTime' - durationInMinutes: - type: integer - description: New duration in minutes for the call - format: int64 additionalProperties: false description: Request payload for updating a call request. Case: @@ -4329,6 +4325,7 @@ components: description: Pagination information. Product: required: + - class - id - name type: object @@ -4338,6 +4335,9 @@ components: name: type: string description: Name + class: + type: string + description: "Product class (product_model)" description: Product data. ProductUpdate: required: diff --git a/apps/customer-portal/backend/utils.bal b/apps/customer-portal/backend/utils.bal index 2713a87611..56dc5f6dd7 100644 --- a/apps/customer-portal/backend/utils.bal +++ b/apps/customer-portal/backend/utils.bal @@ -449,7 +449,9 @@ public isolated function mapSearchCallRequestResponse(entity:CallRequestsRespons createdOn: callRequest.createdOn, updatedOn: callRequest.updatedOn, case: {id: case.id, label: case.name}, - state: {id: state.id.toString(), label: state.label} + state: {id: state.id.toString(), label: state.label}, + number: callRequest.number, + meetingLink: callRequest.meetingLink }; return {callRequests, totalRecords: response.totalRecords, 'limit: response.'limit, offset: response.offset};