Skip to content

Commit

Permalink
[to remove] wip with create serializer
Browse files Browse the repository at this point in the history
  • Loading branch information
rlecellier committed Mar 6, 2023
1 parent 12614aa commit 254e472
Show file tree
Hide file tree
Showing 11 changed files with 40 additions and 47 deletions.
5 changes: 4 additions & 1 deletion src/frontend/js/api/joanie/gen/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,13 @@ export type { CertificationDefinition } from './models/CertificationDefinition';
export type { Course } from './models/Course';
export type { CourseRun } from './models/CourseRun';
export type { CreditCard } from './models/CreditCard';
export type { EmptyResponse } from './models/EmptyResponse';
export { Enrollment } from './models/Enrollment';
export type { ErrorResponse } from './models/ErrorResponse';
export { Order } from './models/Order';
export type { OrderAbortBody } from './models/OrderAbortBody';
export { OrderCreateBody } from './models/OrderCreateBody';
export { OrderCreateResponse } from './models/OrderCreateResponse';
export type { OrderCreateResponse } from './models/OrderCreateResponse';
export type { Payment } from './models/Payment';
export { Product } from './models/Product';

Expand Down
2 changes: 1 addition & 1 deletion src/frontend/js/api/joanie/gen/models/Order.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ export type Order = {
readonly created_on?: string;
readonly certificate?: string;
readonly enrollments?: string;
readonly id?: string;
id: string;
readonly main_invoice?: string;
organization?: string;
readonly owner?: string;
Expand Down
2 changes: 1 addition & 1 deletion src/frontend/js/api/joanie/gen/models/OrderCreateBody.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ export type OrderCreateBody = {
readonly created_on?: string;
readonly certificate?: string;
readonly enrollments?: string;
readonly id?: string;
id: string;
readonly main_invoice?: string;
organization?: string;
readonly owner?: string;
Expand Down
30 changes: 2 additions & 28 deletions src/frontend/js/api/joanie/gen/models/OrderCreateResponse.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,37 +2,11 @@
/* tslint:disable */
/* eslint-disable */

import type { Order } from './Order';
import type { Payment } from './Payment';

export type OrderCreateResponse = {
course: string;
/**
* date and time at which a record was created
*/
readonly created_on?: string;
readonly certificate?: string;
readonly enrollments?: string;
id: string;
readonly main_invoice?: string;
organization?: string;
readonly owner?: string;
readonly total?: number;
readonly total_currency?: string;
product: string;
readonly state?: OrderCreateResponse.state;
readonly target_courses?: string;
order: Order;
payment_info?: Payment;
};

export namespace OrderCreateResponse {

export enum state {
PENDING = 'pending',
CANCELED = 'canceled',
FAILED = 'failed',
VALIDATED = 'validated',
}


}

Original file line number Diff line number Diff line change
Expand Up @@ -66,12 +66,12 @@ export class CertificatesService {
/**
* Retrieve a certificate through its id if it is owned by the authenticated user.
* @param id
* @returns Certificate
* @returns binary File Attachment
* @throws ApiError
*/
public certificatesDownload(
id: string,
): CancelablePromise<Certificate> {
): CancelablePromise<Blob> {
return this.httpRequest.request({
method: 'GET',
url: '/certificates/{id}/download/',
Expand Down
16 changes: 11 additions & 5 deletions src/frontend/js/api/joanie/gen/services/OrdersService.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
/* tslint:disable */
/* eslint-disable */
import type { Order } from '../models/Order';
import type { OrderAbortBody } from '../models/OrderAbortBody';
import type { OrderCreateBody } from '../models/OrderCreateBody';
import type { OrderCreateResponse } from '../models/OrderCreateResponse';

Expand Down Expand Up @@ -101,13 +102,13 @@ export class OrdersService {
* Abort a pending order and the related payment if there is one.
* @param id
* @param data
* @returns Order
* @returns void
* @throws ApiError
*/
public ordersAbort(
id: string,
data: Order,
): CancelablePromise<Order> {
data: OrderAbortBody,
): CancelablePromise<void> {
return this.httpRequest.request({
method: 'POST',
url: '/orders/{id}/abort/',
Expand All @@ -122,18 +123,23 @@ export class OrdersService {
* Retrieve an invoice through its reference if it is related to
* the order instance and owned by the authenticated user.
* @param id
* @returns Order
* @param reference
* @returns binary File Attachment
* @throws ApiError
*/
public ordersInvoice(
id: string,
): CancelablePromise<Order> {
reference: string,
): CancelablePromise<Blob> {
return this.httpRequest.request({
method: 'GET',
url: '/orders/{id}/invoice/',
path: {
'id': id,
},
query: {
'reference': reference,
},
});
}

Expand Down
2 changes: 1 addition & 1 deletion src/frontend/js/api/joanie/gen/services/ProductsService.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ export class ProductsService {
*/
public productsRead(
id: string,
course?: string,
course: string,
): CancelablePromise<Product> {
return this.httpRequest.request({
method: 'GET',
Expand Down
2 changes: 1 addition & 1 deletion src/frontend/js/components/PaymentButton/index.spec.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { act, fireEvent, render, screen, waitFor, cleanup } from '@testing-library/react';
simport { act, fireEvent, render, screen, waitFor, cleanup } from '@testing-library/react';
import fetchMock from 'fetch-mock';
import { PropsWithChildren } from 'react';
import { IntlProvider } from 'react-intl';
Expand Down
4 changes: 2 additions & 2 deletions src/frontend/js/components/PaymentButton/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -122,9 +122,9 @@ const PaymentButton = ({ product, billingAddress, creditCard, onSuccess }: Payme
product: product.id!,
},
{
onSuccess: (order) => {
onSuccess: ({ order, payment_info }) => {
paymentInfos = {
...order.payment_info,
...payment_info,
order_id: order.id,
};
setPayment(paymentInfos);
Expand Down
16 changes: 13 additions & 3 deletions src/frontend/js/hooks/useOrders.ts
Original file line number Diff line number Diff line change
@@ -1,11 +1,17 @@
import { defineMessages } from 'react-intl';
import { ApiResourceInterface } from 'types/Joanie';
import { Order, Product, Course, OrderCreateResponse, OrderCreateBody } from 'api/joanie/gen';
import {
Order,
Product,
Course,
OrderCreateResponse,
OrderCreateBody,
OrderAbortBody,
} from 'api/joanie/gen';
import { useSessionMutation } from 'utils/react-query/useSessionMutation';
import { joanieApi, isCourse } from 'api/joanie';
import {
QueryOptions,
Resource,
ResourcesQuery,
useResource,
useResourcesCustom,
Expand Down Expand Up @@ -72,10 +78,14 @@ const props: UseResourcesProps<Order, OrderResourcesQuery, OrderApiResourceInter
session: true,
};

interface OrderAbordData extends OrderAbortBody {
id: string;
}

export const useOrders = (filters?: OrderResourcesQuery, queryOptions?: QueryOptions<Order>) => {
const custom = useResourcesCustom({ ...props, filters, queryOptions });

const abortHandler = useSessionMutation((data: Order) => {
const abortHandler = useSessionMutation((data: OrderAbordData) => {
const { id, ...updatedData } = data;
if (id) {
return joanieApi.orders.ordersAbort(id, updatedData);
Expand Down
4 changes: 2 additions & 2 deletions src/frontend/js/types/Joanie.ts
Original file line number Diff line number Diff line change
Expand Up @@ -233,8 +233,8 @@ export interface ApiResourceInterface<
TResourceQuery extends ResourcesQuery = ResourcesQuery,
> {
get: (filters?: TResourceQuery) => any;
create?: (payload: any) => Promise<TData>;
update?: (payload: any) => Promise<TData>;
create?: (payload: any) => Promise<any>;
update?: (payload: any) => Promise<any>;
delete?: (id: TData['id']) => Promise<void>;
}

Expand Down

0 comments on commit 254e472

Please sign in to comment.