Skip to content

Commit e1844e1

Browse files
chore: wip
1 parent 346dd58 commit e1844e1

File tree

4 files changed

+58
-38
lines changed

4 files changed

+58
-38
lines changed

storage/framework/core/commerce/src/orders/update.ts

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ export async function update(id: number, request: OrderRequestType): Promise<Ord
2222
}
2323

2424
// Create update data object using request fields
25-
const updateData: Record<string, any> = {
25+
const updateData = {
2626
customer_id: request.get<number>('customer_id'),
2727
coupon_id: request.get<number>('coupon_id'),
2828
status: request.get('status'),
@@ -35,17 +35,9 @@ export async function update(id: number, request: OrderRequestType): Promise<Ord
3535
delivery_address: request.get('delivery_address'),
3636
special_instructions: request.get('special_instructions'),
3737
estimated_delivery_time: request.get('estimated_delivery_time'),
38-
applied_coupon_id: request.get<number>('applied_coupon_id'),
39-
updated_at: new Date(),
38+
applied_coupon_id: request.get('applied_coupon_id'),
4039
}
4140

42-
// Remove undefined fields to avoid overwriting with null values
43-
Object.keys(updateData).forEach((key) => {
44-
if (updateData[key] === undefined) {
45-
delete updateData[key]
46-
}
47-
})
48-
4941
// If no fields to update, just return the existing order
5042
if (Object.keys(updateData).length === 0) {
5143
return existingOrder

storage/framework/core/commerce/src/reviews/fetch.ts

Lines changed: 1 addition & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,7 @@
11
import type { ProductReviewJsonResponse } from '../../../../orm/src/models/ProductReview'
2+
import type { FetchProductReviewsOptions, ProductReviewResponse, ProductReviewStats } from '../../types'
23
import { db } from '@stacksjs/database'
34

4-
export interface FetchProductReviewsOptions {
5-
page?: number
6-
limit?: number
7-
}
8-
9-
export interface ProductReviewResponse {
10-
data: ProductReviewJsonResponse[]
11-
paging: {
12-
total_records: number
13-
page: number
14-
total_pages: number
15-
}
16-
next_cursor: number | null
17-
}
18-
19-
export interface ProductReviewStats {
20-
total: number
21-
average_rating: number
22-
rating_distribution: {
23-
one_star: number
24-
two_star: number
25-
three_star: number
26-
four_star: number
27-
five_star: number
28-
}
29-
recent_reviews: ProductReviewJsonResponse[]
30-
}
31-
325
/**
336
* Fetch product reviews with pagination
347
*/
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
export {
2+
bulkDestroy,
3+
destroy,
4+
} from './destroy'
5+
6+
// Functions from fetch.ts
7+
export {
8+
fetchApprovedByProductId,
9+
fetchById,
10+
fetchByProductId,
11+
fetchByUserId,
12+
fetchMostHelpfulByProductId,
13+
fetchPaginated,
14+
fetchProductReviewStats,
15+
} from './fetch'
16+
17+
// Functions from store.ts
18+
export {
19+
store,
20+
} from './store'
21+
22+
// Functions from update.ts
23+
export {
24+
update,
25+
updateVotes,
26+
} from './update'

storage/framework/core/commerce/types.ts

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import type { GiftCardJsonResponse } from '../../orm/src/models/GiftCard'
1313
// Import the OrderTable type from the ORM
1414
import type { OrdersTable } from '../../orm/src/models/Order'
1515
import type { OrderItemModel } from '../../orm/src/models/OrderItem'
16+
import type { ProductReviewJsonResponse } from '../../orm/src/models/ProductReview'
1617

1718
// Re-export the types
1819
export type {
@@ -234,3 +235,31 @@ export interface GiftCardStats {
234235
expiring_soon: GiftCardJsonResponse[]
235236
recently_used: GiftCardJsonResponse[]
236237
}
238+
239+
export interface FetchProductReviewsOptions {
240+
page?: number
241+
limit?: number
242+
}
243+
244+
export interface ProductReviewResponse {
245+
data: ProductReviewJsonResponse[]
246+
paging: {
247+
total_records: number
248+
page: number
249+
total_pages: number
250+
}
251+
next_cursor: number | null
252+
}
253+
254+
export interface ProductReviewStats {
255+
total: number
256+
average_rating: number
257+
rating_distribution: {
258+
one_star: number
259+
two_star: number
260+
three_star: number
261+
four_star: number
262+
five_star: number
263+
}
264+
recent_reviews: ProductReviewJsonResponse[]
265+
}

0 commit comments

Comments
 (0)