lua-cli 2.2.8-alpha.2 → 2.3.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/API_REFERENCE.md +1408 -0
- package/CLI_REFERENCE.md +818 -0
- package/GETTING_STARTED.md +1040 -0
- package/README.md +738 -424
- package/TEMPLATE_GUIDE.md +1398 -0
- package/dist/api/agent.api.service.d.ts +33 -6
- package/dist/api/agent.api.service.js +27 -0
- package/dist/api/auth.api.service.d.ts +31 -2
- package/dist/api/auth.api.service.js +29 -0
- package/dist/api/basket.api.service.d.ts +53 -11
- package/dist/api/basket.api.service.js +63 -14
- package/dist/api/chat.api.service.d.ts +15 -3
- package/dist/api/chat.api.service.js +12 -0
- package/dist/api/credentials.d.ts +24 -0
- package/dist/api/credentials.js +46 -0
- package/dist/api/custom.data.api.service.d.ts +45 -9
- package/dist/api/custom.data.api.service.js +43 -9
- package/dist/api/lazy-instances.d.ts +49 -0
- package/dist/api/lazy-instances.js +95 -0
- package/dist/api/order.api.service.d.ts +34 -4
- package/dist/api/order.api.service.js +41 -3
- package/dist/api/products.api.service.d.ts +39 -9
- package/dist/api/products.api.service.js +43 -5
- package/dist/api/skills.api.service.d.ts +49 -2
- package/dist/api/skills.api.service.js +47 -1
- package/dist/api/tool.api.service.d.ts +39 -1
- package/dist/api/tool.api.service.js +38 -0
- package/dist/api/user.data.api.service.d.ts +23 -1
- package/dist/api/user.data.api.service.js +22 -0
- package/dist/api-exports.d.ts +236 -5
- package/dist/api-exports.js +264 -81
- package/dist/cli/command-definitions.d.ts +30 -0
- package/dist/cli/command-definitions.js +71 -0
- package/dist/commands/agents.d.ts +20 -0
- package/dist/commands/agents.js +24 -2
- package/dist/commands/apiKey.d.ts +23 -0
- package/dist/commands/apiKey.js +23 -0
- package/dist/commands/compile.d.ts +24 -0
- package/dist/commands/compile.js +67 -759
- package/dist/commands/configure.d.ts +24 -0
- package/dist/commands/configure.js +31 -96
- package/dist/commands/deploy.d.ts +31 -19
- package/dist/commands/deploy.js +45 -74
- package/dist/commands/destroy.d.ts +27 -0
- package/dist/commands/destroy.js +27 -1
- package/dist/commands/dev.d.ts +25 -62
- package/dist/commands/dev.js +58 -878
- package/dist/commands/init.d.ts +27 -0
- package/dist/commands/init.js +98 -260
- package/dist/commands/push.d.ts +24 -21
- package/dist/commands/push.js +39 -92
- package/dist/commands/test.d.ts +26 -0
- package/dist/commands/test.js +41 -188
- package/dist/common/basket.instance.d.ts +54 -3
- package/dist/common/basket.instance.js +56 -3
- package/dist/common/data.entry.instance.d.ts +25 -2
- package/dist/common/data.entry.instance.js +24 -0
- package/dist/common/http.client.d.ts +51 -1
- package/dist/common/http.client.js +50 -0
- package/dist/common/order.instance.d.ts +22 -0
- package/dist/common/order.instance.js +31 -4
- package/dist/common/product.instance.d.ts +22 -1
- package/dist/common/product.instance.js +24 -6
- package/dist/common/product.pagination.instance.d.ts +22 -2
- package/dist/common/product.pagination.instance.js +22 -1
- package/dist/common/product.search.instance.d.ts +13 -3
- package/dist/common/product.search.instance.js +12 -1
- package/dist/common/user.instance.d.ts +27 -3
- package/dist/common/user.instance.js +28 -7
- package/dist/config/auth.constants.d.ts +11 -0
- package/dist/config/auth.constants.js +11 -0
- package/dist/config/compile.constants.d.ts +67 -0
- package/dist/config/compile.constants.js +99 -0
- package/dist/config/constants.d.ts +5 -0
- package/dist/config/constants.js +5 -0
- package/dist/config/dev.constants.d.ts +65 -0
- package/dist/config/dev.constants.js +79 -0
- package/dist/config/init.constants.d.ts +23 -0
- package/dist/config/init.constants.js +41 -0
- package/dist/index.d.ts +19 -3
- package/dist/index.js +28 -44
- package/dist/interfaces/admin.d.ts +56 -50
- package/dist/interfaces/admin.js +4 -0
- package/dist/interfaces/agent.d.ts +21 -0
- package/dist/interfaces/agent.js +4 -0
- package/dist/interfaces/baskets.d.ts +60 -0
- package/dist/interfaces/baskets.js +12 -0
- package/dist/interfaces/chat.d.ts +48 -4
- package/dist/interfaces/chat.js +4 -0
- package/dist/interfaces/common.d.ts +62 -0
- package/dist/interfaces/common.js +8 -0
- package/dist/interfaces/compile.d.ts +11 -0
- package/dist/interfaces/compile.js +4 -0
- package/dist/interfaces/custom.data.d.ts +49 -19
- package/dist/interfaces/custom.data.js +4 -0
- package/dist/interfaces/deploy.d.ts +29 -0
- package/dist/interfaces/deploy.js +4 -0
- package/dist/interfaces/dev.d.ts +53 -0
- package/dist/interfaces/dev.js +5 -0
- package/dist/interfaces/init.d.ts +60 -0
- package/dist/interfaces/init.js +4 -0
- package/dist/interfaces/orders.d.ts +37 -0
- package/dist/interfaces/orders.js +12 -0
- package/dist/interfaces/product.d.ts +38 -10
- package/dist/interfaces/product.js +4 -0
- package/dist/interfaces/push.d.ts +26 -0
- package/dist/interfaces/push.js +4 -0
- package/dist/interfaces/test.d.ts +36 -0
- package/dist/interfaces/test.js +4 -0
- package/dist/services/auth.d.ts +54 -99
- package/dist/services/auth.js +76 -12
- package/dist/types/api-contracts.d.ts +211 -0
- package/dist/types/api-contracts.js +8 -0
- package/dist/types/compile.types.d.ts +76 -0
- package/dist/types/compile.types.js +4 -0
- package/dist/types/index.d.ts +23 -121
- package/dist/types/index.js +25 -14
- package/dist/types/skill.d.ts +142 -0
- package/dist/{skill.js → types/skill.js} +66 -17
- package/dist/types/tool-validation.d.ts +34 -0
- package/dist/types/tool-validation.js +42 -0
- package/dist/utils/auth-flows.d.ts +26 -0
- package/dist/utils/auth-flows.js +141 -0
- package/dist/utils/bundling.d.ts +36 -0
- package/dist/utils/bundling.js +137 -0
- package/dist/utils/compile.d.ts +37 -0
- package/dist/utils/compile.js +242 -0
- package/dist/utils/deploy-api.d.ts +26 -0
- package/dist/utils/deploy-api.js +53 -0
- package/dist/utils/deploy-helpers.d.ts +46 -0
- package/dist/utils/deploy-helpers.js +86 -0
- package/dist/utils/deployment.d.ts +25 -0
- package/dist/utils/deployment.js +161 -0
- package/dist/utils/dev-api.d.ts +61 -0
- package/dist/utils/dev-api.js +262 -0
- package/dist/utils/dev-helpers.d.ts +46 -0
- package/dist/utils/dev-helpers.js +83 -0
- package/dist/utils/dev-server.d.ts +24 -0
- package/dist/utils/dev-server.js +555 -0
- package/dist/utils/dev-watcher.d.ts +31 -0
- package/dist/utils/dev-watcher.js +110 -0
- package/dist/utils/files.js +0 -5
- package/dist/utils/init-agent.d.ts +34 -0
- package/dist/utils/init-agent.js +129 -0
- package/dist/utils/init-helpers.d.ts +41 -0
- package/dist/utils/init-helpers.js +73 -0
- package/dist/utils/init-prompts.d.ts +47 -0
- package/dist/utils/init-prompts.js +168 -0
- package/dist/utils/push-api.d.ts +15 -0
- package/dist/utils/push-api.js +48 -0
- package/dist/utils/push-helpers.d.ts +38 -0
- package/dist/utils/push-helpers.js +84 -0
- package/dist/utils/sandbox-storage.d.ts +27 -0
- package/dist/utils/sandbox-storage.js +71 -0
- package/dist/utils/sandbox.js +78 -114
- package/dist/utils/skill-management.d.ts +14 -0
- package/dist/utils/skill-management.js +148 -0
- package/dist/utils/test-helpers.d.ts +40 -0
- package/dist/utils/test-helpers.js +92 -0
- package/dist/utils/test-prompts.d.ts +23 -0
- package/dist/utils/test-prompts.js +186 -0
- package/dist/utils/tool-detection.d.ts +18 -0
- package/dist/utils/tool-detection.js +110 -0
- package/dist/web/app.css +14 -9
- package/package.json +7 -4
- package/template/QUICKSTART.md +299 -144
- package/template/README.md +928 -349
- package/template/TOOL_EXAMPLES.md +655 -0
- package/template/package-lock.json +5 -5
- package/template/package.json +1 -1
- package/template/src/index.ts +147 -207
- package/template/src/tools/BasketTool.ts +128 -0
- package/template/src/tools/CustomDataTool.ts +7 -13
- package/template/src/tools/OrderTool.ts +54 -0
- package/template/src/tools/PaymentTool.ts +1 -1
- package/template/src/tools/ProductsTool.ts +56 -118
- package/template/src/tools/UserDataTool.ts +4 -26
- package/dist/common/config.d.ts +0 -5
- package/dist/common/config.js +0 -5
- package/dist/custom-data-api.d.ts +0 -72
- package/dist/custom-data-api.js +0 -174
- package/dist/product-api.d.ts +0 -189
- package/dist/product-api.js +0 -141
- package/dist/services/api.d.ts +0 -549
- package/dist/services/api.js +0 -596
- package/dist/skill.d.ts +0 -50
- package/dist/types.d.ts +0 -1
- package/dist/types.js +0 -2
- package/dist/user-data-api.d.ts +0 -39
- package/dist/user-data-api.js +0 -50
- package/template/API.md +0 -604
- package/template/DEVELOPER.md +0 -771
- package/template/lua.skill.yaml +0 -7
package/dist/product-api.d.ts
DELETED
|
@@ -1,189 +0,0 @@
|
|
|
1
|
-
export interface Product {
|
|
2
|
-
id: string;
|
|
3
|
-
[key: string]: any;
|
|
4
|
-
}
|
|
5
|
-
export interface ProductsResponse {
|
|
6
|
-
success: boolean;
|
|
7
|
-
data: Product[];
|
|
8
|
-
pagination: {
|
|
9
|
-
currentPage: number;
|
|
10
|
-
totalPages: number;
|
|
11
|
-
totalCount: number;
|
|
12
|
-
limit: number;
|
|
13
|
-
hasNextPage: boolean;
|
|
14
|
-
hasPrevPage: boolean;
|
|
15
|
-
nextPage: number | null;
|
|
16
|
-
prevPage: number | null;
|
|
17
|
-
};
|
|
18
|
-
}
|
|
19
|
-
export interface CreateProductResponse {
|
|
20
|
-
updated: boolean;
|
|
21
|
-
isNew: boolean;
|
|
22
|
-
product: Product;
|
|
23
|
-
}
|
|
24
|
-
export interface UpdateProductResponse {
|
|
25
|
-
updated: boolean;
|
|
26
|
-
isNew: boolean;
|
|
27
|
-
product: Product;
|
|
28
|
-
}
|
|
29
|
-
export interface DeleteProductResponse {
|
|
30
|
-
deleted: boolean;
|
|
31
|
-
}
|
|
32
|
-
export interface SearchProductsResponse {
|
|
33
|
-
success: boolean;
|
|
34
|
-
message: string;
|
|
35
|
-
data: Product[];
|
|
36
|
-
}
|
|
37
|
-
export interface BasketItem {
|
|
38
|
-
id: string;
|
|
39
|
-
price: number;
|
|
40
|
-
quantity: number;
|
|
41
|
-
SKU?: string;
|
|
42
|
-
addedAt?: string;
|
|
43
|
-
[key: string]: any;
|
|
44
|
-
}
|
|
45
|
-
export interface Basket {
|
|
46
|
-
id: string;
|
|
47
|
-
userId: string;
|
|
48
|
-
agentId: string;
|
|
49
|
-
data: {
|
|
50
|
-
currency: string;
|
|
51
|
-
items: BasketItem[];
|
|
52
|
-
createdAt: string;
|
|
53
|
-
};
|
|
54
|
-
common: {
|
|
55
|
-
status: 'active' | 'checked_out' | 'abandoned' | 'expired';
|
|
56
|
-
totalAmount: string | number;
|
|
57
|
-
itemCount: number;
|
|
58
|
-
};
|
|
59
|
-
createdAt: string;
|
|
60
|
-
updatedAt: string;
|
|
61
|
-
__v: number;
|
|
62
|
-
}
|
|
63
|
-
export interface CreateBasketRequest {
|
|
64
|
-
currency: string;
|
|
65
|
-
}
|
|
66
|
-
export interface CreateBasketResponse {
|
|
67
|
-
success: boolean;
|
|
68
|
-
message: string;
|
|
69
|
-
data: Basket;
|
|
70
|
-
}
|
|
71
|
-
export interface GetBasketsResponse {
|
|
72
|
-
success: boolean;
|
|
73
|
-
message: string;
|
|
74
|
-
data: Basket[];
|
|
75
|
-
}
|
|
76
|
-
export interface AddItemToBasketRequest {
|
|
77
|
-
id: string;
|
|
78
|
-
price: number;
|
|
79
|
-
quantity: number;
|
|
80
|
-
[key: string]: any;
|
|
81
|
-
}
|
|
82
|
-
export interface AddItemToBasketResponse {
|
|
83
|
-
success: boolean;
|
|
84
|
-
message: string;
|
|
85
|
-
data: Basket;
|
|
86
|
-
}
|
|
87
|
-
export interface RemoveItemFromBasketResponse {
|
|
88
|
-
success: boolean;
|
|
89
|
-
message: string;
|
|
90
|
-
data: Basket;
|
|
91
|
-
}
|
|
92
|
-
export interface ClearBasketResponse {
|
|
93
|
-
success: boolean;
|
|
94
|
-
message: string;
|
|
95
|
-
data: Basket;
|
|
96
|
-
}
|
|
97
|
-
export interface UpdateBasketStatusResponse {
|
|
98
|
-
success: boolean;
|
|
99
|
-
message: string;
|
|
100
|
-
data: Basket;
|
|
101
|
-
}
|
|
102
|
-
export interface Order {
|
|
103
|
-
id: string;
|
|
104
|
-
userId: string;
|
|
105
|
-
agentId: string;
|
|
106
|
-
orderId: string;
|
|
107
|
-
data: {
|
|
108
|
-
currency: string;
|
|
109
|
-
items: BasketItem[];
|
|
110
|
-
createdAt: string;
|
|
111
|
-
basketId: string;
|
|
112
|
-
orderDate: string;
|
|
113
|
-
orderId: string;
|
|
114
|
-
[key: string]: any;
|
|
115
|
-
};
|
|
116
|
-
common: {
|
|
117
|
-
status: 'pending' | 'confirmed' | 'fulfilled' | 'cancelled';
|
|
118
|
-
totalAmount: string | number;
|
|
119
|
-
currency: string;
|
|
120
|
-
itemCount: number;
|
|
121
|
-
};
|
|
122
|
-
createdAt: string;
|
|
123
|
-
updatedAt: string;
|
|
124
|
-
__v: number;
|
|
125
|
-
}
|
|
126
|
-
export interface CreateOrderRequest {
|
|
127
|
-
basketId: string;
|
|
128
|
-
data: {
|
|
129
|
-
[key: string]: any;
|
|
130
|
-
};
|
|
131
|
-
}
|
|
132
|
-
export interface CreateOrderResponse {
|
|
133
|
-
success: boolean;
|
|
134
|
-
message: string;
|
|
135
|
-
data: Order;
|
|
136
|
-
}
|
|
137
|
-
export interface UpdateOrderStatusResponse {
|
|
138
|
-
success: boolean;
|
|
139
|
-
message: string;
|
|
140
|
-
data: Order;
|
|
141
|
-
}
|
|
142
|
-
export interface GetUserOrdersResponse {
|
|
143
|
-
success: boolean;
|
|
144
|
-
message: string;
|
|
145
|
-
data: Order[];
|
|
146
|
-
}
|
|
147
|
-
export type BasketStatus = 'active' | 'checked_out' | 'abandoned' | 'expired';
|
|
148
|
-
export type OrderStatus = 'pending' | 'confirmed' | 'fulfilled' | 'cancelled';
|
|
149
|
-
export declare class ProductAPI {
|
|
150
|
-
products: Product[];
|
|
151
|
-
baskets: Basket[];
|
|
152
|
-
orders: Order[];
|
|
153
|
-
constructor();
|
|
154
|
-
get(page?: number, limit?: number): Promise<ProductsResponse>;
|
|
155
|
-
create(data: Record<string, any>): Promise<CreateProductResponse>;
|
|
156
|
-
update(data: Record<string, any>, productId: string): Promise<UpdateProductResponse>;
|
|
157
|
-
delete(productId: string): Promise<DeleteProductResponse>;
|
|
158
|
-
search(searchQuery: string): Promise<SearchProductsResponse>;
|
|
159
|
-
createBasket(data: CreateBasketRequest): Promise<CreateBasketResponse>;
|
|
160
|
-
getBaskets(status?: BasketStatus): Promise<GetBasketsResponse>;
|
|
161
|
-
addItemToBasket(basketId: string, data: AddItemToBasketRequest): Promise<AddItemToBasketResponse>;
|
|
162
|
-
removeItemFromBasket(basketId: string, itemId: string): Promise<RemoveItemFromBasketResponse>;
|
|
163
|
-
clearBasket(basketId: string): Promise<ClearBasketResponse>;
|
|
164
|
-
updateBasketStatus(basketId: string, status: BasketStatus): Promise<UpdateBasketStatusResponse>;
|
|
165
|
-
createOrder(data: CreateOrderRequest): Promise<CreateOrderResponse>;
|
|
166
|
-
updateOrderStatus(orderId: string, status: OrderStatus): Promise<UpdateOrderStatusResponse>;
|
|
167
|
-
getUserOrders(userId: string): Promise<GetUserOrdersResponse>;
|
|
168
|
-
}
|
|
169
|
-
export declare const product: {
|
|
170
|
-
create: (data: Record<string, any>) => Promise<CreateProductResponse>;
|
|
171
|
-
get: (page?: number, limit?: number) => Promise<ProductsResponse>;
|
|
172
|
-
update: (data: Record<string, any>, productId: string) => Promise<UpdateProductResponse>;
|
|
173
|
-
delete: (productId: string) => Promise<DeleteProductResponse>;
|
|
174
|
-
search: (searchQuery: string) => Promise<SearchProductsResponse>;
|
|
175
|
-
data: ProductAPI;
|
|
176
|
-
basket: {
|
|
177
|
-
create: (data: CreateBasketRequest) => Promise<CreateBasketResponse>;
|
|
178
|
-
get: (status?: BasketStatus) => Promise<GetBasketsResponse>;
|
|
179
|
-
addItem: (basketId: string, data: AddItemToBasketRequest) => Promise<AddItemToBasketResponse>;
|
|
180
|
-
removeItem: (basketId: string, itemId: string) => Promise<RemoveItemFromBasketResponse>;
|
|
181
|
-
clear: (basketId: string) => Promise<ClearBasketResponse>;
|
|
182
|
-
updateStatus: (basketId: string, status: BasketStatus) => Promise<UpdateBasketStatusResponse>;
|
|
183
|
-
};
|
|
184
|
-
order: {
|
|
185
|
-
create: (data: CreateOrderRequest) => Promise<CreateOrderResponse>;
|
|
186
|
-
updateStatus: (orderId: string, status: OrderStatus) => Promise<UpdateOrderStatusResponse>;
|
|
187
|
-
get: (userId: string) => Promise<GetUserOrdersResponse>;
|
|
188
|
-
};
|
|
189
|
-
};
|
package/dist/product-api.js
DELETED
|
@@ -1,141 +0,0 @@
|
|
|
1
|
-
export class ProductAPI {
|
|
2
|
-
constructor() {
|
|
3
|
-
this.products = [];
|
|
4
|
-
this.baskets = [];
|
|
5
|
-
this.orders = [];
|
|
6
|
-
}
|
|
7
|
-
async get(page = 1, limit = 10) {
|
|
8
|
-
return {
|
|
9
|
-
success: true,
|
|
10
|
-
data: this.products,
|
|
11
|
-
pagination: {
|
|
12
|
-
currentPage: page,
|
|
13
|
-
totalPages: 1,
|
|
14
|
-
totalCount: this.products.length,
|
|
15
|
-
limit: limit,
|
|
16
|
-
hasNextPage: false,
|
|
17
|
-
hasPrevPage: false,
|
|
18
|
-
nextPage: null,
|
|
19
|
-
prevPage: null
|
|
20
|
-
}
|
|
21
|
-
};
|
|
22
|
-
}
|
|
23
|
-
async create(data) {
|
|
24
|
-
const product = data;
|
|
25
|
-
const existingIndex = this.products.findIndex(p => p.id === product.id);
|
|
26
|
-
if (existingIndex >= 0) {
|
|
27
|
-
this.products[existingIndex] = product;
|
|
28
|
-
return { updated: true, isNew: false, product };
|
|
29
|
-
}
|
|
30
|
-
else {
|
|
31
|
-
this.products.push(product);
|
|
32
|
-
return { updated: false, isNew: true, product };
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
async update(data, productId) {
|
|
36
|
-
const product = data;
|
|
37
|
-
const existingIndex = this.products.findIndex(p => p.id === productId);
|
|
38
|
-
if (existingIndex >= 0) {
|
|
39
|
-
this.products[existingIndex] = { ...this.products[existingIndex], ...product };
|
|
40
|
-
return { updated: true, isNew: false, product: this.products[existingIndex] };
|
|
41
|
-
}
|
|
42
|
-
else {
|
|
43
|
-
this.products.push(product);
|
|
44
|
-
return { updated: false, isNew: true, product };
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
async delete(productId) {
|
|
48
|
-
const initialLength = this.products.length;
|
|
49
|
-
this.products = this.products.filter((product) => product.id !== productId);
|
|
50
|
-
return { deleted: this.products.length < initialLength };
|
|
51
|
-
}
|
|
52
|
-
async search(searchQuery) {
|
|
53
|
-
const results = this.products.filter(product => Object.values(product).some(value => String(value).toLowerCase().includes(searchQuery.toLowerCase())));
|
|
54
|
-
return {
|
|
55
|
-
success: true,
|
|
56
|
-
message: `Successfully found ${results.length} products for "${searchQuery}"`,
|
|
57
|
-
data: results
|
|
58
|
-
};
|
|
59
|
-
}
|
|
60
|
-
async createBasket(data) {
|
|
61
|
-
const basket = { ...data, createdAt: new Date().toISOString(), updatedAt: new Date().toISOString(), __v: 0 };
|
|
62
|
-
this.baskets.push(basket);
|
|
63
|
-
return { success: true, message: 'Basket created successfully', data: basket };
|
|
64
|
-
}
|
|
65
|
-
async getBaskets(status) {
|
|
66
|
-
if (status) {
|
|
67
|
-
return { success: true, message: 'Baskets fetched successfully', data: this.baskets.filter((basket) => basket.common.status === status) };
|
|
68
|
-
}
|
|
69
|
-
return { success: true, message: 'Baskets fetched successfully', data: this.baskets };
|
|
70
|
-
}
|
|
71
|
-
async addItemToBasket(basketId, data) {
|
|
72
|
-
const basket = this.baskets.find((basket) => basket.id === basketId);
|
|
73
|
-
if (basket) {
|
|
74
|
-
basket.data.items.push(data);
|
|
75
|
-
return { success: true, message: 'Item added to basket successfully', data: basket };
|
|
76
|
-
}
|
|
77
|
-
return { success: false, message: 'Basket not found', data: null };
|
|
78
|
-
}
|
|
79
|
-
async removeItemFromBasket(basketId, itemId) {
|
|
80
|
-
const basket = this.baskets.find((basket) => basket.id === basketId);
|
|
81
|
-
if (basket) {
|
|
82
|
-
basket.data.items = basket.data.items.filter((item) => item.id !== itemId);
|
|
83
|
-
return { success: true, message: 'Item removed from basket successfully', data: basket };
|
|
84
|
-
}
|
|
85
|
-
return { success: false, message: 'Basket not found', data: null };
|
|
86
|
-
}
|
|
87
|
-
async clearBasket(basketId) {
|
|
88
|
-
const basket = this.baskets.find((basket) => basket.id === basketId);
|
|
89
|
-
if (basket) {
|
|
90
|
-
basket.data.items = [];
|
|
91
|
-
return { success: true, message: 'Basket cleared successfully', data: basket };
|
|
92
|
-
}
|
|
93
|
-
return { success: false, message: 'Basket not found', data: null };
|
|
94
|
-
}
|
|
95
|
-
async updateBasketStatus(basketId, status) {
|
|
96
|
-
const basket = this.baskets.find((basket) => basket.id === basketId);
|
|
97
|
-
if (basket) {
|
|
98
|
-
basket.common.status = status;
|
|
99
|
-
return { success: true, message: 'Basket status updated successfully', data: basket };
|
|
100
|
-
}
|
|
101
|
-
return { success: false, message: 'Basket not found', data: null };
|
|
102
|
-
}
|
|
103
|
-
async createOrder(data) {
|
|
104
|
-
const order = { ...data, createdAt: new Date().toISOString(), updatedAt: new Date().toISOString(), __v: 0 };
|
|
105
|
-
this.orders.push(order);
|
|
106
|
-
return { success: true, message: 'Order created successfully', data: order };
|
|
107
|
-
}
|
|
108
|
-
async updateOrderStatus(orderId, status) {
|
|
109
|
-
const order = this.orders.find((order) => order.id === orderId);
|
|
110
|
-
if (order) {
|
|
111
|
-
order.common.status = status;
|
|
112
|
-
return { success: true, message: 'Order status updated successfully', data: order };
|
|
113
|
-
}
|
|
114
|
-
return { success: false, message: 'Order not found', data: null };
|
|
115
|
-
}
|
|
116
|
-
async getUserOrders(userId) {
|
|
117
|
-
return { success: true, message: 'User orders fetched successfully', data: this.orders.filter((order) => order.userId === userId) };
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
const productAPI = new ProductAPI();
|
|
121
|
-
export const product = {
|
|
122
|
-
create: productAPI.create,
|
|
123
|
-
get: productAPI.get,
|
|
124
|
-
update: productAPI.update,
|
|
125
|
-
delete: productAPI.delete,
|
|
126
|
-
search: productAPI.search,
|
|
127
|
-
data: productAPI,
|
|
128
|
-
basket: {
|
|
129
|
-
create: productAPI.createBasket,
|
|
130
|
-
get: productAPI.getBaskets,
|
|
131
|
-
addItem: productAPI.addItemToBasket,
|
|
132
|
-
removeItem: productAPI.removeItemFromBasket,
|
|
133
|
-
clear: productAPI.clearBasket,
|
|
134
|
-
updateStatus: productAPI.updateBasketStatus
|
|
135
|
-
},
|
|
136
|
-
order: {
|
|
137
|
-
create: productAPI.createOrder,
|
|
138
|
-
updateStatus: productAPI.updateOrderStatus,
|
|
139
|
-
get: productAPI.getUserOrders
|
|
140
|
-
}
|
|
141
|
-
};
|