@shaykec/app-agent 1.0.2 → 1.0.4
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/dist/engines/claude-engine.d.ts.map +1 -1
- package/dist/engines/claude-engine.js +1 -5
- package/dist/engines/claude-engine.js.map +1 -1
- package/dist/workspace.js +30 -4
- package/dist/workspace.js.map +1 -1
- package/package.json +1 -1
- package/templates/android/BookTemplate/app/src/main/kotlin/com/appship/book/AppConfig.kt +9 -0
- package/templates/android/BookTemplate/app/src/main/kotlin/com/appship/book/data/DataSourceResolver.kt +23 -0
- package/templates/android/BookTemplate/app/src/main/kotlin/com/appship/book/features/booking/BookingScreen.kt +1 -1
- package/templates/android/BookTemplate/app/src/main/kotlin/com/appship/book/features/discovery/ProviderDetailScreen.kt +1 -1
- package/templates/android/BookTemplate/app/src/main/kotlin/com/appship/book/features/discovery/SearchScreen.kt +1 -1
- package/templates/android/BookTemplate/app/src/main/kotlin/com/appship/book/mock/MockDataProvider.kt +12 -11
- package/templates/android/MapTemplate/app/src/main/kotlin/com/appship/map/AppConfig.kt +9 -0
- package/templates/android/MapTemplate/app/src/main/kotlin/com/appship/map/data/DataRepository.kt +33 -0
- package/templates/android/MapTemplate/app/src/main/kotlin/com/appship/map/data/DataSourceResolver.kt +23 -0
- package/templates/android/ShopTemplate/app/src/main/kotlin/com/appship/shop/AppConfig.kt +9 -0
- package/templates/android/ShopTemplate/app/src/main/kotlin/com/appship/shop/data/DataRepository.kt +62 -0
- package/templates/android/ShopTemplate/app/src/main/kotlin/com/appship/shop/data/DataSourceResolver.kt +23 -0
- package/templates/android/ShopTemplate/app/src/main/kotlin/com/appship/shop/mock/MockDataProvider.kt +28 -28
- package/templates/android/Skeleton/app/src/main/kotlin/com/appship/skeleton/AppConfig.kt +9 -0
- package/templates/android/Skeleton/app/src/main/kotlin/com/appship/skeleton/data/DataRepository.kt +30 -0
- package/templates/android/Skeleton/app/src/main/kotlin/com/appship/skeleton/data/DataSourceResolver.kt +23 -0
- package/templates/android/Skeleton/app/src/main/kotlin/com/appship/skeleton/features/create/CreateScreen.kt +3 -2
- package/templates/android/Skeleton/app/src/main/kotlin/com/appship/skeleton/features/detail/DetailScreen.kt +4 -3
- package/templates/android/Skeleton/app/src/main/kotlin/com/appship/skeleton/features/explore/ExploreScreen.kt +7 -6
- package/templates/android/Skeleton/app/src/main/kotlin/com/appship/skeleton/features/favorites/FavoritesScreen.kt +4 -3
- package/templates/android/Skeleton/app/src/main/kotlin/com/appship/skeleton/features/home/HomeScreen.kt +5 -4
- package/templates/android/Skeleton/app/src/main/kotlin/com/appship/skeleton/mock/MockDataProvider.kt +12 -11
- package/templates/android/SocialTemplate/app/src/main/kotlin/com/appship/social/AppConfig.kt +9 -0
- package/templates/android/SocialTemplate/app/src/main/kotlin/com/appship/social/data/DataRepository.kt +38 -0
- package/templates/android/SocialTemplate/app/src/main/kotlin/com/appship/social/data/DataSourceResolver.kt +23 -0
- package/templates/android/SocialTemplate/app/src/main/kotlin/com/appship/social/features/feed/FeedScreen.kt +2 -2
- package/templates/android/SocialTemplate/app/src/main/kotlin/com/appship/social/features/profile/ProfileScreen.kt +1 -1
- package/templates/android/SocialTemplate/app/src/main/kotlin/com/appship/social/features/search/SearchScreen.kt +1 -1
- package/templates/android/SocialTemplate/app/src/main/kotlin/com/appship/social/mock/MockDataProvider.kt +7 -6
- package/templates/ios/BookTemplate/BookTemplate/App/AppConfig.swift +12 -2
- package/templates/ios/BookTemplate/BookTemplate/Data/DataRepository.swift +33 -0
- package/templates/ios/BookTemplate/BookTemplate/Data/DataSourceResolver.swift +20 -0
- package/templates/ios/BookTemplate/BookTemplate/Features/Booking/BookingView.swift +1 -1
- package/templates/ios/BookTemplate/BookTemplate/Features/Discovery/DiscoveryView.swift +3 -3
- package/templates/ios/BookTemplate/BookTemplate/Features/Discovery/MapExploreView.swift +1 -1
- package/templates/ios/BookTemplate/BookTemplate/Features/Discovery/ProviderDetailView.swift +1 -1
- package/templates/ios/BookTemplate/BookTemplate/Features/Discovery/SearchView.swift +2 -2
- package/templates/ios/BookTemplate/BookTemplate/MockData/MockDataProvider.swift +18 -1
- package/templates/ios/MapTemplate/MapTemplate/App/AppConfig.swift +11 -9
- package/templates/ios/MapTemplate/MapTemplate/Data/DataSourceResolver.swift +20 -0
- package/templates/ios/MapTemplate/MapTemplate/Features/Favorites/FavoritesView.swift +1 -1
- package/templates/ios/MapTemplate/MapTemplate/Features/PlaceDetail/PlaceDetailView.swift +2 -2
- package/templates/ios/MapTemplate/MapTemplate/Features/Profile/ProfileView.swift +1 -1
- package/templates/ios/MapTemplate/MapTemplate/Features/Route/RouteView.swift +1 -1
- package/templates/ios/MapTemplate/MapTemplate/Features/Search/SearchView.swift +1 -1
- package/templates/ios/ShopTemplate/ShopTemplate/App/AppConfig.swift +9 -0
- package/templates/ios/ShopTemplate/ShopTemplate/Data/DataSourceResolver.swift +20 -0
- package/templates/ios/ShopTemplate/ShopTemplate/Features/Home/HomeView.swift +9 -7
- package/templates/ios/ShopTemplate/ShopTemplate/Features/Orders/OrdersView.swift +7 -3
- package/templates/ios/ShopTemplate/ShopTemplate/Features/Products/ProductDetailView.swift +4 -2
- package/templates/ios/ShopTemplate/ShopTemplate/Features/Products/ProductListView.swift +6 -3
- package/templates/ios/ShopTemplate/ShopTemplate/MockData/MockDataProvider.swift +1 -1
- package/templates/ios/Skeleton/Skeleton/App/AppConfig.swift +9 -0
- package/templates/ios/Skeleton/Skeleton/Data/DataRepository.swift +30 -0
- package/templates/ios/Skeleton/Skeleton/Data/DataSourceResolver.swift +20 -0
- package/templates/ios/Skeleton/Skeleton/Features/Explore/ExploreViewModel.swift +7 -6
- package/templates/ios/Skeleton/Skeleton/Features/Home/HomeViewModel.swift +8 -7
- package/templates/ios/Skeleton/Skeleton/MockData/MockDataProvider.swift +1 -1
- package/templates/ios/SocialTemplate/SocialTemplate/App/AppConfig.swift +4 -3
- package/templates/ios/SocialTemplate/SocialTemplate/Data/DataRepository.swift +37 -0
- package/templates/ios/SocialTemplate/SocialTemplate/Data/DataSourceResolver.swift +20 -0
- package/templates/ios/SocialTemplate/SocialTemplate/Data/SyncManager.swift +1 -1
- package/templates/ios/SocialTemplate/SocialTemplate/Features/CreatePost/CreatePostView.swift +2 -2
- package/templates/ios/SocialTemplate/SocialTemplate/Features/Feed/CommentsView.swift +2 -2
- package/templates/ios/SocialTemplate/SocialTemplate/Features/Feed/FeedView.swift +1 -1
- package/templates/ios/SocialTemplate/SocialTemplate/Features/Messages/MessagesView.swift +4 -4
- package/templates/ios/SocialTemplate/SocialTemplate/Features/Notifications/NotificationsView.swift +1 -1
- package/templates/ios/SocialTemplate/SocialTemplate/Features/Profile/ProfileView.swift +1 -1
- package/templates/ios/SocialTemplate/SocialTemplate/Features/Search/SearchView.swift +5 -4
- package/templates/ios/SocialTemplate/SocialTemplate/MockData/MockDataProvider.swift +1 -1
- package/templates/ios/SocialTemplate/SocialTemplate/Models/Models.swift +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-engine.d.ts","sourceRoot":"","sources":["../../src/engines/claude-engine.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,WAAW,EAEhB,KAAK,eAAe,EASrB,MAAM,YAAY,CAAC;AAwUpB,qBAAa,YAAa,YAAW,WAAW;IAC9C,QAAQ,CAAC,IAAI,iBAAiB;IAExB,iBAAiB,IAAI,OAAO,CAAC;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAY7D,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC;IAgHzF;;OAEG;YACW,eAAe;YAWf,OAAO;
|
|
1
|
+
{"version":3,"file":"claude-engine.d.ts","sourceRoot":"","sources":["../../src/engines/claude-engine.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,WAAW,EAEhB,KAAK,eAAe,EASrB,MAAM,YAAY,CAAC;AAwUpB,qBAAa,YAAa,YAAW,WAAW;IAC9C,QAAQ,CAAC,IAAI,iBAAiB;IAExB,iBAAiB,IAAI,OAAO,CAAC;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAY7D,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC;IAgHzF;;OAEG;YACW,eAAe;YAWf,OAAO;CAuLtB"}
|
|
@@ -408,14 +408,10 @@ export class ClaudeEngine {
|
|
|
408
408
|
}
|
|
409
409
|
args.push(prompt);
|
|
410
410
|
// MCP servers are auto-detected from .mcp.json at the project root.
|
|
411
|
-
//
|
|
412
|
-
// Use `claude mcp add-json --scope project` to register MCP servers instead.
|
|
411
|
+
// In npx mode, the workspace scaffolder generates this file automatically.
|
|
413
412
|
if (existsSync(MCP_CONFIG_PATH)) {
|
|
414
413
|
p.log.info(`MCP config found: ${MCP_CONFIG_PATH} (model: ${modelWithContext})`);
|
|
415
414
|
}
|
|
416
|
-
else {
|
|
417
|
-
p.log.warn(`No MCP config at ${MCP_CONFIG_PATH} — run: claude mcp add-json --scope project ai-tester '{"command":"node","args":["<path-to-ai-tester>/dist/mcp/index.js"]}'`);
|
|
418
|
-
}
|
|
419
415
|
let durationMs = 0;
|
|
420
416
|
let lastEventTime = Date.now();
|
|
421
417
|
let filesWritten = 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-engine.js","sourceRoot":"","sources":["../../src/engines/claude-engine.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"claude-engine.js","sourceRoot":"","sources":["../../src/engines/claude-engine.ts"],"names":[],"mappings":"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"}
|
package/dist/workspace.js
CHANGED
|
@@ -227,8 +227,10 @@ async function generateMcpConfig() {
|
|
|
227
227
|
*
|
|
228
228
|
* Resolution order:
|
|
229
229
|
* 1. AI_TESTER_PATH environment variable (directory or direct path)
|
|
230
|
-
* 2.
|
|
231
|
-
* 3.
|
|
230
|
+
* 2. Node.js require.resolve (finds it in any node_modules ancestor)
|
|
231
|
+
* 3. Global npm modules
|
|
232
|
+
* 4. Local node_modules in the npm package
|
|
233
|
+
* 5. Hoisted sibling (npx installs optional deps as siblings, not nested)
|
|
232
234
|
*/
|
|
233
235
|
function resolveAiTesterPath() {
|
|
234
236
|
const mcpEntryPoint = path.join("dist", "mcp", "index.js");
|
|
@@ -244,7 +246,16 @@ function resolveAiTesterPath() {
|
|
|
244
246
|
if (fs.existsSync(candidate))
|
|
245
247
|
return candidate;
|
|
246
248
|
}
|
|
247
|
-
// 2.
|
|
249
|
+
// 2. Try require.resolve — works regardless of hoisting or nesting
|
|
250
|
+
try {
|
|
251
|
+
const resolved = require.resolve("@shaykec/ai-tester/dist/mcp/index.js");
|
|
252
|
+
if (resolved && fs.existsSync(resolved))
|
|
253
|
+
return resolved;
|
|
254
|
+
}
|
|
255
|
+
catch {
|
|
256
|
+
// Not resolvable from this context
|
|
257
|
+
}
|
|
258
|
+
// 3. Global npm modules
|
|
248
259
|
try {
|
|
249
260
|
const globalRoot = execSync("npm root -g", {
|
|
250
261
|
encoding: "utf8",
|
|
@@ -258,10 +269,25 @@ function resolveAiTesterPath() {
|
|
|
258
269
|
catch {
|
|
259
270
|
// npm not available or timed out
|
|
260
271
|
}
|
|
261
|
-
//
|
|
272
|
+
// 4. Local node_modules (in the npm package itself — ai-tester is an optionalDep)
|
|
262
273
|
const localPath = path.join(PACKAGE_ROOT, "node_modules", "@shaykec", "ai-tester", mcpEntryPoint);
|
|
263
274
|
if (fs.existsSync(localPath))
|
|
264
275
|
return localPath;
|
|
276
|
+
// 5. Hoisted sibling (npx hoists scoped deps next to the package)
|
|
277
|
+
const hoistedPath = path.join(PACKAGE_ROOT, "..", "ai-tester", mcpEntryPoint);
|
|
278
|
+
if (fs.existsSync(hoistedPath))
|
|
279
|
+
return hoistedPath;
|
|
280
|
+
// 6. Walk up from PACKAGE_ROOT to find any ancestor node_modules
|
|
281
|
+
let current = path.dirname(PACKAGE_ROOT);
|
|
282
|
+
for (let i = 0; i < 5; i++) {
|
|
283
|
+
const candidate = path.join(current, "node_modules", "@shaykec", "ai-tester", mcpEntryPoint);
|
|
284
|
+
if (fs.existsSync(candidate))
|
|
285
|
+
return candidate;
|
|
286
|
+
const parent = path.dirname(current);
|
|
287
|
+
if (parent === current)
|
|
288
|
+
break;
|
|
289
|
+
current = parent;
|
|
290
|
+
}
|
|
265
291
|
return null;
|
|
266
292
|
}
|
|
267
293
|
//# sourceMappingURL=workspace.js.map
|
package/dist/workspace.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace.js","sourceRoot":"","sources":["../src/workspace.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEzE,6DAA6D;AAC7D,MAAM,YAAY,GAAa,EAAE,CAAC;AAElC;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB;IACrC,IAAI,CAAC,YAAY;QAAE,OAAO;IAE1B,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;IAEzD,wEAAwE;IACxE,MAAM,kBAAkB,CAAC,WAAW,CAAC,CAAC;IACtC,MAAM,kBAAkB,CAAC,SAAS,CAAC,CAAC;IACpC,MAAM,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAEpC,wEAAwE;IACxE,MAAM,iBAAiB,EAAE,CAAC;IAE1B,wEAAwE;IACxE,MAAM,iBAAiB,EAAE,CAAC;IAE1B,wEAAwE;IACxE,MAAM,eAAe,CAAC,WAAW,CAAC,CAAC;IACnC,MAAM,eAAe,CAAC,WAAW,CAAC,CAAC;IAEnC,wEAAwE;IACxE,MAAM,iBAAiB,EAAE,CAAC;IAE1B,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;AACjC,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAEvD,iEAAiE;IACjE,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;QAC/C,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;YACpD,IAAI,CAAC,IAAI;gBAAE,SAAS;YAEpB,IAAI,IAAI,CAAC,cAAc,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC3C,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACxB,CAAC;iBAAM,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;gBAC9B,0DAA0D;gBAC1D,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACvC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACzB,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACvB,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,oDAAoD;QACtD,CAAC;IACH,CAAC;IAED,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;AAC1B,CAAC;AAED,6EAA6E;AAE7E;;;GAGG;AACH,KAAK,UAAU,kBAAkB,CAAC,IAAY;IAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IAEjD,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO;IAC1C,IAAI,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO;IAEzC,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACnC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC9B,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,eAAe,CAAC,IAAY;IACzC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IAE7C,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO;IACtC,IAAI,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO;IAEtC,MAAM,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACzB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,gBAAgB,CAAC,OAAe;IAC7C,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,KAAK,CAAC;IAC/C,MAAM,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACzB,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC3B,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,iBAAiB;IAC9B,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;IAEvD,wEAAwE;IACxE,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO;IAE3C,MAAM,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAElC,iEAAiE;IACjE,KAAK,MAAM,MAAM,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QAC1D,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAC9C,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAChC,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YACnC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,2EAA2E;IAC3E,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;IACxE,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QACrC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;QAC3D,MAAM,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QACzC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAClC,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,iBAAiB;IAC9B,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;IAEvD,wEAAwE;IACxE,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO;IAE3C,MAAM,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAElC,yBAAyB;IACzB,KAAK,MAAM,MAAM,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC;QAC5D,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QAC1D,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAC9C,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAChC,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YACnC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,kBAAkB;IAClB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;IAClE,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAClC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;QACrD,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QACnC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC/B,CAAC;IAED,4DAA4D;IAC5D,MAAM,YAAY,GAAG,mBAAmB,EAAE,CAAC;IAC3C,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QACjD,MAAM,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE;YAC1B,UAAU,EAAE;gBACV,WAAW,EAAE;oBACX,OAAO,EAAE,MAAM;oBACf,IAAI,EAAE,CAAC,YAAY,CAAC;oBACpB,GAAG,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE;iBAC/B;aACF;SACF,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;QAClB,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,iBAAiB;IAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;IACvD,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO;IAEzC,MAAM,YAAY,GAAG,mBAAmB,EAAE,CAAC;IAC3C,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE;YAC1B,UAAU,EAAE;gBACV,WAAW,EAAE;oBACX,OAAO,EAAE,MAAM;oBACf,IAAI,EAAE,CAAC,YAAY,CAAC;oBACpB,GAAG,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE;iBAC/B;aACF;SACF,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;QAClB,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;SAAM,CAAC;QACN,CAAC,CAAC,GAAG,CAAC,IAAI,CACR,gFAAgF;YAChF,sDAAsD;YACtD,gEAAgE,CACjE,CAAC;IACJ,CAAC;AACH,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"workspace.js","sourceRoot":"","sources":["../src/workspace.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -45,6 +45,15 @@ object AppConfig {
|
|
|
45
45
|
const val CANCELLATION_POLICY_URL = "https://example.com/cancellation"
|
|
46
46
|
}
|
|
47
47
|
|
|
48
|
+
// CUSTOMIZE:DATASOURCE - Data source configuration
|
|
49
|
+
object DataSource {
|
|
50
|
+
enum class SourceType {
|
|
51
|
+
LOCAL_STORAGE, // Room — real local database (DEFAULT)
|
|
52
|
+
MOCK // In-memory seed data — for development/testing only
|
|
53
|
+
}
|
|
54
|
+
val active: SourceType = SourceType.MOCK
|
|
55
|
+
}
|
|
56
|
+
|
|
48
57
|
// CUSTOMIZE:CATEGORIES
|
|
49
58
|
data class Category(
|
|
50
59
|
val id: String,
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
package com.appship.book.data
|
|
2
|
+
|
|
3
|
+
import com.appship.book.AppConfig
|
|
4
|
+
import com.appship.book.mock.MockDataProvider
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Resolves the active [DataRepository] implementation based on [AppConfig.DataSource.active].
|
|
8
|
+
* Screens use this to obtain the correct data source without knowing the concrete type.
|
|
9
|
+
*
|
|
10
|
+
* Usage:
|
|
11
|
+
* val repository = DataSourceResolver.repository
|
|
12
|
+
* val providers by repository.providers.collectAsState()
|
|
13
|
+
*/
|
|
14
|
+
object DataSourceResolver {
|
|
15
|
+
val repository: DataRepository
|
|
16
|
+
get() = when (AppConfig.DataSource.active) {
|
|
17
|
+
AppConfig.DataSource.SourceType.LOCAL_STORAGE -> {
|
|
18
|
+
// TODO: Return LocalStorageProvider once implemented
|
|
19
|
+
MockDataProvider
|
|
20
|
+
}
|
|
21
|
+
AppConfig.DataSource.SourceType.MOCK -> MockDataProvider
|
|
22
|
+
}
|
|
23
|
+
}
|
|
@@ -22,11 +22,11 @@ import androidx.compose.ui.draw.clip
|
|
|
22
22
|
import androidx.compose.ui.platform.testTag
|
|
23
23
|
import androidx.compose.ui.text.font.FontWeight
|
|
24
24
|
import androidx.compose.ui.unit.dp
|
|
25
|
+
import com.appship.book.data.DataSourceResolver
|
|
25
26
|
import com.appship.book.data.Provider
|
|
26
27
|
import com.appship.book.data.Service
|
|
27
28
|
import com.appship.book.data.TimeSlot
|
|
28
29
|
import com.appship.book.data.formatCurrency
|
|
29
|
-
import com.appship.book.mock.MockDataProvider
|
|
30
30
|
import java.time.LocalDate
|
|
31
31
|
import java.time.format.DateTimeFormatter
|
|
32
32
|
|
|
@@ -17,10 +17,10 @@ import androidx.compose.ui.platform.testTag
|
|
|
17
17
|
import androidx.compose.ui.text.font.FontWeight
|
|
18
18
|
import androidx.compose.ui.unit.dp
|
|
19
19
|
import coil.compose.AsyncImage
|
|
20
|
+
import com.appship.book.data.DataSourceResolver
|
|
20
21
|
import com.appship.book.data.Provider
|
|
21
22
|
import com.appship.book.data.Review
|
|
22
23
|
import com.appship.book.data.Service
|
|
23
|
-
import com.appship.book.mock.MockDataProvider
|
|
24
24
|
|
|
25
25
|
@OptIn(ExperimentalMaterial3Api::class)
|
|
26
26
|
@Composable
|
|
@@ -18,8 +18,8 @@ import androidx.compose.ui.platform.testTag
|
|
|
18
18
|
import androidx.compose.ui.text.font.FontWeight
|
|
19
19
|
import androidx.compose.ui.unit.dp
|
|
20
20
|
import com.appship.book.AppConfig
|
|
21
|
+
import com.appship.book.data.DataSourceResolver
|
|
21
22
|
import com.appship.book.data.Provider
|
|
22
|
-
import com.appship.book.mock.MockDataProvider
|
|
23
23
|
|
|
24
24
|
@OptIn(ExperimentalMaterial3Api::class)
|
|
25
25
|
@Composable
|
package/templates/android/BookTemplate/app/src/main/kotlin/com/appship/book/mock/MockDataProvider.kt
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
package com.appship.book.mock
|
|
2
2
|
|
|
3
3
|
import com.appship.book.data.*
|
|
4
|
+
import com.appship.book.data.DataRepository
|
|
4
5
|
import kotlinx.coroutines.flow.MutableStateFlow
|
|
5
6
|
import kotlinx.coroutines.flow.StateFlow
|
|
6
7
|
import kotlinx.coroutines.flow.asStateFlow
|
|
7
8
|
import java.time.LocalDate
|
|
8
9
|
import java.time.LocalDateTime
|
|
9
10
|
|
|
10
|
-
object MockDataProvider {
|
|
11
|
+
object MockDataProvider : DataRepository {
|
|
11
12
|
|
|
12
13
|
private val defaultProviders = listOf(
|
|
13
14
|
Provider(
|
|
@@ -162,7 +163,7 @@ object MockDataProvider {
|
|
|
162
163
|
)
|
|
163
164
|
|
|
164
165
|
private val _providers = MutableStateFlow(defaultProviders)
|
|
165
|
-
val providers: StateFlow<List<Provider>> = _providers.asStateFlow()
|
|
166
|
+
override val providers: StateFlow<List<Provider>> = _providers.asStateFlow()
|
|
166
167
|
|
|
167
168
|
// Legacy accessor for backward compatibility
|
|
168
169
|
val providersList: List<Provider> get() = _providers.value
|
|
@@ -223,7 +224,7 @@ object MockDataProvider {
|
|
|
223
224
|
val upcomingBookingsList: List<Booking> get() = _upcomingBookings.value
|
|
224
225
|
val pastBookingsList: List<Booking> get() = _pastBookings.value
|
|
225
226
|
|
|
226
|
-
fun getTimeSlots(date: LocalDate): List<TimeSlot> {
|
|
227
|
+
override fun getTimeSlots(date: LocalDate): List<TimeSlot> {
|
|
227
228
|
val times = listOf(
|
|
228
229
|
"9:00 AM", "9:30 AM", "10:00 AM", "10:30 AM", "11:00 AM", "11:30 AM",
|
|
229
230
|
"12:00 PM", "12:30 PM", "1:00 PM", "1:30 PM", "2:00 PM", "2:30 PM",
|
|
@@ -234,7 +235,7 @@ object MockDataProvider {
|
|
|
234
235
|
}
|
|
235
236
|
}
|
|
236
237
|
|
|
237
|
-
fun getReviews(providerId: String): List<Review> {
|
|
238
|
+
override fun getReviews(providerId: String): List<Review> {
|
|
238
239
|
return (1..10).map { i ->
|
|
239
240
|
Review(
|
|
240
241
|
id = "r$providerId-$i",
|
|
@@ -250,7 +251,7 @@ object MockDataProvider {
|
|
|
250
251
|
}
|
|
251
252
|
}
|
|
252
253
|
|
|
253
|
-
fun searchProviders(query: String): List<Provider> {
|
|
254
|
+
override fun searchProviders(query: String): List<Provider> {
|
|
254
255
|
if (query.isBlank()) return _providers.value
|
|
255
256
|
val q = query.lowercase()
|
|
256
257
|
return _providers.value.filter {
|
|
@@ -261,7 +262,7 @@ object MockDataProvider {
|
|
|
261
262
|
}
|
|
262
263
|
|
|
263
264
|
// CRUD Operations for Bookings
|
|
264
|
-
fun createBooking(booking: Booking) {
|
|
265
|
+
override fun createBooking(booking: Booking) {
|
|
265
266
|
when (booking.status) {
|
|
266
267
|
BookingStatus.PENDING, BookingStatus.CONFIRMED -> {
|
|
267
268
|
_upcomingBookings.value = _upcomingBookings.value + booking
|
|
@@ -273,7 +274,7 @@ object MockDataProvider {
|
|
|
273
274
|
SyncManager.incrementPending()
|
|
274
275
|
}
|
|
275
276
|
|
|
276
|
-
fun cancelBooking(bookingId: String) {
|
|
277
|
+
override fun cancelBooking(bookingId: String) {
|
|
277
278
|
val booking = _upcomingBookings.value.find { it.id == bookingId }
|
|
278
279
|
if (booking != null) {
|
|
279
280
|
_upcomingBookings.value = _upcomingBookings.value.filter { it.id != bookingId }
|
|
@@ -285,7 +286,7 @@ object MockDataProvider {
|
|
|
285
286
|
}
|
|
286
287
|
}
|
|
287
288
|
|
|
288
|
-
fun completeBooking(bookingId: String) {
|
|
289
|
+
override fun completeBooking(bookingId: String) {
|
|
289
290
|
val booking = _upcomingBookings.value.find { it.id == bookingId }
|
|
290
291
|
if (booking != null) {
|
|
291
292
|
_upcomingBookings.value = _upcomingBookings.value.filter { it.id != bookingId }
|
|
@@ -298,19 +299,19 @@ object MockDataProvider {
|
|
|
298
299
|
}
|
|
299
300
|
|
|
300
301
|
// CRUD Operations for Reviews
|
|
301
|
-
fun addReview(providerId: String, review: Review) {
|
|
302
|
+
override fun addReview(providerId: String, review: Review) {
|
|
302
303
|
// Reviews are generated dynamically, but we can track them for sync
|
|
303
304
|
SyncManager.incrementPending()
|
|
304
305
|
}
|
|
305
306
|
|
|
306
307
|
// CRUD Operations for Providers
|
|
307
|
-
fun toggleFavoriteProvider(providerId: String) {
|
|
308
|
+
override fun toggleFavoriteProvider(providerId: String) {
|
|
308
309
|
// Note: Provider model doesn't have isFavorite field, but we can add it if needed
|
|
309
310
|
// For now, this is a placeholder for sync tracking
|
|
310
311
|
SyncManager.incrementPending()
|
|
311
312
|
}
|
|
312
313
|
|
|
313
|
-
fun reset() {
|
|
314
|
+
override fun reset() {
|
|
314
315
|
_providers.value = defaultProviders
|
|
315
316
|
_upcomingBookings.value = defaultUpcomingBookings
|
|
316
317
|
_pastBookings.value = defaultPastBookings
|
|
@@ -75,4 +75,13 @@ object AppConfig {
|
|
|
75
75
|
OnboardingSlide("Get Directions", "Navigate easily with turn-by-turn directions", "directions"),
|
|
76
76
|
OnboardingSlide("Save Favorites", "Keep track of your favorite places", "favorite")
|
|
77
77
|
)
|
|
78
|
+
|
|
79
|
+
// CUSTOMIZE:DATASOURCE - Data source configuration
|
|
80
|
+
object DataSource {
|
|
81
|
+
enum class SourceType {
|
|
82
|
+
LOCAL_STORAGE, // Room — real local database (DEFAULT)
|
|
83
|
+
MOCK // In-memory seed data — for development/testing only
|
|
84
|
+
}
|
|
85
|
+
val active: SourceType = SourceType.MOCK
|
|
86
|
+
}
|
|
78
87
|
}
|
package/templates/android/MapTemplate/app/src/main/kotlin/com/appship/map/data/DataRepository.kt
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
package com.appship.map.data
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Abstracts the data layer. Both MockDataProvider and LocalStorageProvider
|
|
5
|
+
* implement this, allowing the app to swap data sources via AppConfig.DataSource.active.
|
|
6
|
+
*
|
|
7
|
+
* Screens and ViewModels depend on this interface rather than on a concrete implementation.
|
|
8
|
+
* Use [DataSourceResolver.repository] to get the active provider.
|
|
9
|
+
*/
|
|
10
|
+
interface DataRepository {
|
|
11
|
+
// Observable state
|
|
12
|
+
val places: List<Place>
|
|
13
|
+
val reviews: Map<String, List<Review>>
|
|
14
|
+
val routes: List<Route>
|
|
15
|
+
val currentUser: User
|
|
16
|
+
|
|
17
|
+
// CRUD operations
|
|
18
|
+
fun getPlace(id: String): Place?
|
|
19
|
+
fun getReviews(placeId: String): List<Review>
|
|
20
|
+
fun addReview(review: Review, placeId: String)
|
|
21
|
+
fun toggleFavorite(place: Place)
|
|
22
|
+
fun getFavoritePlaces(): List<Place>
|
|
23
|
+
|
|
24
|
+
// Filtering & Search
|
|
25
|
+
fun filterPlaces(criteria: FilterCriteria): List<Place>
|
|
26
|
+
fun searchPlaces(query: String): List<Place>
|
|
27
|
+
|
|
28
|
+
// Route operations
|
|
29
|
+
fun getRoute(origin: Coordinate, destination: Coordinate): Route?
|
|
30
|
+
|
|
31
|
+
// Reset
|
|
32
|
+
fun reset()
|
|
33
|
+
}
|
package/templates/android/MapTemplate/app/src/main/kotlin/com/appship/map/data/DataSourceResolver.kt
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
package com.appship.map.data
|
|
2
|
+
|
|
3
|
+
import com.appship.map.AppConfig
|
|
4
|
+
import com.appship.map.mock.MockDataProvider
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Resolves the active [DataRepository] implementation based on [AppConfig.DataSource.active].
|
|
8
|
+
* Screens use this to obtain the correct data source without knowing the concrete type.
|
|
9
|
+
*
|
|
10
|
+
* Usage:
|
|
11
|
+
* val repository = DataSourceResolver.repository
|
|
12
|
+
* val places = repository.places
|
|
13
|
+
*/
|
|
14
|
+
object DataSourceResolver {
|
|
15
|
+
val repository: DataRepository
|
|
16
|
+
get() = when (AppConfig.DataSource.active) {
|
|
17
|
+
AppConfig.DataSource.SourceType.LOCAL_STORAGE -> {
|
|
18
|
+
// TODO: Return LocalStorageProvider once implemented
|
|
19
|
+
MockDataProvider
|
|
20
|
+
}
|
|
21
|
+
AppConfig.DataSource.SourceType.MOCK -> MockDataProvider
|
|
22
|
+
}
|
|
23
|
+
}
|
|
@@ -76,4 +76,13 @@ object AppConfig {
|
|
|
76
76
|
)
|
|
77
77
|
)
|
|
78
78
|
}
|
|
79
|
+
|
|
80
|
+
// CUSTOMIZE:DATASOURCE - Data source configuration
|
|
81
|
+
object DataSource {
|
|
82
|
+
enum class SourceType {
|
|
83
|
+
LOCAL_STORAGE, // Room — real local database (DEFAULT)
|
|
84
|
+
MOCK // In-memory seed data — for development/testing only
|
|
85
|
+
}
|
|
86
|
+
val active: SourceType = SourceType.MOCK
|
|
87
|
+
}
|
|
79
88
|
}
|
package/templates/android/ShopTemplate/app/src/main/kotlin/com/appship/shop/data/DataRepository.kt
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
package com.appship.shop.data
|
|
2
|
+
|
|
3
|
+
import com.appship.shop.data.models.*
|
|
4
|
+
import kotlinx.coroutines.flow.StateFlow
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Abstracts the data layer. Both MockDataProvider and LocalStorageProvider
|
|
8
|
+
* implement this, allowing the app to swap data sources via AppConfig.DataSource.active.
|
|
9
|
+
*
|
|
10
|
+
* Screens and ViewModels depend on this interface rather than on a concrete implementation.
|
|
11
|
+
* Use [DataSourceResolver.repository] to get the active provider.
|
|
12
|
+
*/
|
|
13
|
+
interface DataRepository {
|
|
14
|
+
// Observable state
|
|
15
|
+
val categories: StateFlow<List<Category>>
|
|
16
|
+
val products: StateFlow<List<Product>>
|
|
17
|
+
val banners: StateFlow<List<Banner>>
|
|
18
|
+
val favorites: StateFlow<Set<String>>
|
|
19
|
+
val orders: StateFlow<List<Order>>
|
|
20
|
+
|
|
21
|
+
// CRUD operations - Categories
|
|
22
|
+
fun addCategory(category: Category)
|
|
23
|
+
fun updateCategory(category: Category)
|
|
24
|
+
fun deleteCategory(categoryId: String)
|
|
25
|
+
|
|
26
|
+
// CRUD operations - Products
|
|
27
|
+
fun addProduct(product: Product)
|
|
28
|
+
fun updateProduct(product: Product)
|
|
29
|
+
fun deleteProduct(productId: String)
|
|
30
|
+
|
|
31
|
+
// CRUD operations - Banners
|
|
32
|
+
fun addBanner(banner: Banner)
|
|
33
|
+
fun updateBanner(banner: Banner)
|
|
34
|
+
fun deleteBanner(bannerId: String)
|
|
35
|
+
|
|
36
|
+
// CRUD operations - Favorites
|
|
37
|
+
fun addToFavorites(productId: String)
|
|
38
|
+
fun removeFromFavorites(productId: String)
|
|
39
|
+
fun isFavorite(productId: String): Boolean
|
|
40
|
+
|
|
41
|
+
// CRUD operations - Orders
|
|
42
|
+
fun addOrder(order: Order)
|
|
43
|
+
fun updateOrder(order: Order)
|
|
44
|
+
fun deleteOrder(orderId: String)
|
|
45
|
+
fun getOrder(orderId: String): Order?
|
|
46
|
+
|
|
47
|
+
// Reset
|
|
48
|
+
fun reset()
|
|
49
|
+
|
|
50
|
+
// Helper functions
|
|
51
|
+
fun getProduct(id: String): Product?
|
|
52
|
+
fun getProductsByCategory(categoryId: String): List<Product>
|
|
53
|
+
fun searchProducts(query: String): List<Product>
|
|
54
|
+
fun getFeaturedProducts(): List<Product>
|
|
55
|
+
fun getSaleProducts(): List<Product>
|
|
56
|
+
fun getReviews(productId: String): List<Review>
|
|
57
|
+
|
|
58
|
+
// Static data
|
|
59
|
+
val shippingOptions: List<ShippingOption>
|
|
60
|
+
val storeLocations: List<StoreLocation>
|
|
61
|
+
val sampleUser: User
|
|
62
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
package com.appship.shop.data
|
|
2
|
+
|
|
3
|
+
import com.appship.shop.AppConfig
|
|
4
|
+
import com.appship.shop.mock.MockDataProvider
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Resolves the active [DataRepository] implementation based on [AppConfig.DataSource.active].
|
|
8
|
+
* Screens use this to obtain the correct data source without knowing the concrete type.
|
|
9
|
+
*
|
|
10
|
+
* Usage:
|
|
11
|
+
* val repository = DataSourceResolver.repository
|
|
12
|
+
* val products by repository.products.collectAsState()
|
|
13
|
+
*/
|
|
14
|
+
object DataSourceResolver {
|
|
15
|
+
val repository: DataRepository
|
|
16
|
+
get() = when (AppConfig.DataSource.active) {
|
|
17
|
+
AppConfig.DataSource.SourceType.LOCAL_STORAGE -> {
|
|
18
|
+
// TODO: Return LocalStorageProvider once implemented
|
|
19
|
+
MockDataProvider
|
|
20
|
+
}
|
|
21
|
+
AppConfig.DataSource.SourceType.MOCK -> MockDataProvider
|
|
22
|
+
}
|
|
23
|
+
}
|