Skip to content

Commit 2ed9631

Browse files
committed
dabo numbers can be strings
1 parent fd378f7 commit 2ed9631

7 files changed

Lines changed: 12 additions & 17 deletions

File tree

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
-- AlterTable
2+
ALTER TABLE "Reimbursement_Request" ALTER COLUMN "saboId" SET DATA TYPE TEXT;

src/backend/src/prisma/schema.prisma

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -719,7 +719,7 @@ model Receipt {
719719
model Reimbursement_Request {
720720
reimbursementRequestId String @id @default(uuid())
721721
identifier Int
722-
saboId Int? @unique
722+
saboId String? @unique
723723
dateCreated DateTime @default(now())
724724
dateDeleted DateTime?
725725
dateOfExpense DateTime?
@@ -804,7 +804,7 @@ model Vendor {
804804
organizationId String
805805
organization Organization @relation(fields: [organizationId], references: [organizationId])
806806
username String?
807-
password String? // password is encrypted
807+
password String? // password is encrypted
808808
discountCode String?
809809
twoFactorContacts User[] @relation(name: "twoFactorContactVendors")
810810
notes String?

src/backend/src/routes/reimbursement-requests.routes.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,7 @@ reimbursementRequestsRouter.post(
164164

165165
reimbursementRequestsRouter.post(
166166
'/:requestId/set-sabo-number',
167-
intMinZero(body('saboNumber')),
167+
nonEmptyString(body('saboNumber')),
168168
validateInputs,
169169
ReimbursementRequestController.setSaboNumber
170170
);

src/backend/src/services/reimbursement-requests.services.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -688,7 +688,7 @@ export default class ReimbursementRequestService {
688688

689689
static async setSaboNumber(
690690
reimbursementRequestId: string,
691-
saboNumber: number,
691+
saboNumber: string,
692692
submitter: User,
693693
organization: Organization
694694
) {

src/frontend/src/apis/finance.api.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -362,7 +362,7 @@ export const getPendingAdvisorList = () => {
362362
* @param requestId the request ID
363363
* @param saboNumber the SABO number to set
364364
*/
365-
export const setSaboNumber = async (requestId: string, saboNumber: number) => {
365+
export const setSaboNumber = async (requestId: string, saboNumber: string) => {
366366
axios.post(apiUrls.financeSetSaboNumber(requestId), {
367367
saboNumber
368368
});

src/frontend/src/hooks/finance.hooks.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -846,9 +846,9 @@ export const useEditRefund = (id: string) => {
846846
*/
847847
export const useSetSaboNumber = (reimbursementRequestId: string) => {
848848
const queryClient = useQueryClient();
849-
return useMutation<void, Error, { saboNumber: number }>(
849+
return useMutation<void, Error, { saboNumber: string }>(
850850
['reimbursement-requests', reimbursementRequestId],
851-
async (formData: { saboNumber: number }) => {
851+
async (formData: { saboNumber: string }) => {
852852
await setSaboNumber(reimbursementRequestId, formData.saboNumber);
853853
},
854854
{

src/frontend/src/pages/FinancePage/ReimbursementRequestDetailPage/AddSABONumberModal.tsx

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,7 @@ import { useSetSaboNumber } from '../../../hooks/finance.hooks';
88
import { useToast } from '../../../hooks/toasts.hooks';
99

1010
const schema = yup.object({
11-
saboNumber: yup
12-
.number()
13-
.typeError('The SABO number should be a valid number')
14-
.required('The SABO number is required')
15-
.test('exact-5-digits', 'The SABO number must be exactly 5 digits', function () {
16-
const original = this.originalValue?.toString().trim();
17-
return /^\d{5}$/.test(original || '');
18-
})
11+
saboNumber: yup.string().required('The SABO number is required')
1912
});
2013

2114
interface AddSABONumberModalProps {
@@ -33,12 +26,12 @@ const AddSABONumberModal = ({ modalShow, onHide, reimbursementRequestId }: AddSA
3326
control,
3427
formState: { errors, isValid },
3528
reset
36-
} = useForm<{ saboNumber: number }>({
29+
} = useForm<{ saboNumber: string }>({
3730
resolver: yupResolver(schema),
3831
mode: 'onChange'
3932
});
4033

41-
const onSubmit = async (data: { saboNumber: number }) => {
34+
const onSubmit = async (data: { saboNumber: string }) => {
4235
try {
4336
await setSaboNumber(data);
4437
} catch (error: unknown) {

0 commit comments

Comments
 (0)