Skip to content

Commit e5b7381

Browse files
committed
Try to test out extending with service
1 parent 01a2574 commit e5b7381

File tree

2 files changed

+27
-42
lines changed

2 files changed

+27
-42
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
import { LegacyNetworkHandler } from '@ember-data/legacy-compat';
2+
import RequestManager from '@ember-data/request';
3+
import Fetch from '@ember-data/request/fetch';
4+
import { CacheHandler } from '@ember-data/store';
5+
6+
const TestHandler = {
7+
async request({ request }, next) {
8+
console.log('TestHandler.request', request);
9+
const newContext = await next(request);
10+
console.log('TestHandler.response after fetch', newContext.response);
11+
return next(newContext);
12+
},
13+
};
14+
15+
export default class Requests extends RequestManager {
16+
constructor(args) {
17+
super(args);
18+
debugger;
19+
this.use([LegacyNetworkHandler, TestHandler, Fetch]);
20+
this.useCache(CacheHandler);
21+
}
22+
}
Original file line numberDiff line numberDiff line change
@@ -1,46 +1,9 @@
1-
import JSONAPICache from '@ember-data/json-api';
2-
import type Model from '@ember-data/model';
3-
import { instantiateRecord, teardownRecord } from '@ember-data/model';
4-
import { buildSchema, modelFor } from '@ember-data/model/hooks';
5-
import RequestManager from '@ember-data/request';
6-
import Fetch from '@ember-data/request/fetch';
7-
import { LifetimesService } from '@ember-data/request-utils';
8-
import DataStore, { CacheHandler } from '@ember-data/store';
9-
import type { CacheCapabilitiesManager } from '@ember-data/store/-types/q/cache-store-wrapper';
10-
import type { StableRecordIdentifier } from '@warp-drive/core-types';
11-
import type { Cache } from '@warp-drive/core-types/cache';
1+
import { service } from '@ember/service';
122

13-
import CONFIG from '../config/environment';
3+
import Store from 'ember-data/store';
144

15-
export default class Store extends DataStore {
16-
constructor(args: unknown) {
17-
super(args);
5+
import type RequestManager from '@ember-data/request';
186

19-
const manager = (this.requestManager = new RequestManager());
20-
manager.use([Fetch]);
21-
manager.useCache(CacheHandler);
22-
23-
this.registerSchema(buildSchema(this));
24-
this.lifetimes = new LifetimesService(CONFIG);
25-
}
26-
27-
override createCache(capabilities: CacheCapabilitiesManager): Cache {
28-
return new JSONAPICache(capabilities);
29-
}
30-
31-
override instantiateRecord(
32-
identifier: StableRecordIdentifier,
33-
createRecordArgs: { [key: string]: unknown }
34-
): unknown {
35-
return instantiateRecord.call(this, identifier, createRecordArgs);
36-
}
37-
38-
override teardownRecord(record: Model): void {
39-
return teardownRecord.call(this, record);
40-
}
41-
42-
// @ts-expect-error Not sure what the fix is here
43-
override modelFor(type: string) {
44-
return modelFor.call(this, type);
45-
}
7+
export default class MyStore extends Store {
8+
@service declare requestManager: RequestManager;
469
}

0 commit comments

Comments
 (0)