Ошибка при использовании объединенного метода "delete" при попытке реализовать методы удаленного сервера в интерфейсе @ngrx/data EntityServerCommands<T>
При попытке использовать новый модуль @ngrx/data, и я не могу полностью понять реализацию обновления удаленного сервера, что такое реализация OOTB по умолчанию и как мне ее переопределить. когда я пытаюсь реализовать это самостоятельно, я получаю сообщение об ошибке, касающееся дублирования интерфейса EntityServerCommands.delete метода. будет рад ответить на мой конкретный вопрос и даже лучше рабочий пример.
Просматривая руководство @ngrx/data, я не смог найти правильного объяснения или примера того, как реализовать часть обновления удаленного сервера. даже не через Entity-Services, EntityCollectionService и EntityServerCommands.
@Injectable({ providedIn: "root" })
export class RequestService extends EntityCollectionServiceBase<RequestInfo> implements EntityServerCommands<RequestInfo>
{
constructor(serviceElementFactory: EntityCollectionServiceElementsFactory, private repository: DataService<RequestInfo>) {
super("Request", serviceElementFactory);
}
// inherited from data/EntityServerCommands
add(entity: RequestInfo, options?: EntityActionOptions): Observable<RequestInfo> {
return this.repository.add(entity);
}
delete(entity: RequestInfo, options?: EntityActionOptions): Observable<number> {
return this.repository.remove(entity.Id)
.pipe(map(r => r.Request.Id));
}
delete(key: number, options?: EntityActionOptions): Observable<number> {
return this.repository.remove(key)
.pipe(map(r => r.Request.Id));
}
getAll(options?: EntityActionOptions): Observable<RequestInfo[]> {
return this.repository.list();
}
.
.
.
}
Получение в основном вариации следующих ошибок:
Дублирующая реализация функции.
Свойство "delete" в типе "RequestService" не может быть назначено тому же свойству в базовом типе "EntityServerCommands". Тип '(entity: RequestInfo, options?: EntityActionOptions) => Observable' нельзя назначить типу '{ (entity: RequestInfo, options?: EntityActionOptions): Observable; (ключ: строка | число, параметры?: EntityActionOptions): наблюдаемый; }". Типы параметров "сущность" и "ключ" несовместимы. Тип 'строка | число "не может быть присвоено типу" RequestInfo ". Тип 'string' не может быть назначен типу 'RequestInfo'.