projects
/
arvados-workbench2.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
merge master
[arvados-workbench2.git]
/
src
/
services
/
favorite-service
/
favorite-service.ts
diff --git
a/src/services/favorite-service/favorite-service.ts
b/src/services/favorite-service/favorite-service.ts
index 6ceaa3606f9d28053f5f1fd685f32f132cdecc6e..35dbbaf7ba1151ce5db0618c06142917095c73ad 100644
(file)
--- a/
src/services/favorite-service/favorite-service.ts
+++ b/
src/services/favorite-service/favorite-service.ts
@@
-7,12
+7,16
@@
import { GroupsService, GroupContentsResource } from "../groups-service/groups-s
import { LinkResource, LinkClass } from "../../models/link";
import { FilterBuilder } from "../../common/api/filter-builder";
import { ListArguments, ListResults } from "../../common/api/common-resource-service";
import { LinkResource, LinkClass } from "../../models/link";
import { FilterBuilder } from "../../common/api/filter-builder";
import { ListArguments, ListResults } from "../../common/api/common-resource-service";
+import { FavoriteOrderBuilder } from "./favorite-order-builder";
import { OrderBuilder } from "../../common/api/order-builder";
import { OrderBuilder } from "../../common/api/order-builder";
-export interface FavoriteListArguments extends ListArguments {
- filters?: FilterBuilder<LinkResource>;
- order?: OrderBuilder<LinkResource>;
+export interface FavoriteListArguments {
+ limit?: number;
+ offset?: number;
+ filters?: FilterBuilder;
+ order?: FavoriteOrderBuilder;
}
}
+
export class FavoriteService {
constructor(
private linkService: LinkService,
export class FavoriteService {
constructor(
private linkService: LinkService,
@@
-33,7
+37,7
@@
export class FavoriteService {
return this.linkService
.list({
filters: FilterBuilder
return this.linkService
.list({
filters: FilterBuilder
- .create
<LinkResource>
()
+ .create()
.addEqual('tailUuid', data.userUuid)
.addEqual('headUuid', data.resourceUuid)
.addEqual('linkClass', LinkClass.STAR)
.addEqual('tailUuid', data.userUuid)
.addEqual('headUuid', data.resourceUuid)
.addEqual('linkClass', LinkClass.STAR)
@@
-42,23
+46,26
@@
export class FavoriteService {
results.items.map(item => this.linkService.delete(item.uuid))));
}
results.items.map(item => this.linkService.delete(item.uuid))));
}
- list(userUuid: string,
args
: FavoriteListArguments = {}): Promise<ListResults<GroupContentsResource>> {
+ list(userUuid: string,
{ filters, limit, offset, order }
: FavoriteListArguments = {}): Promise<ListResults<GroupContentsResource>> {
const listFilter = FilterBuilder
const listFilter = FilterBuilder
- .create
<LinkResource>
()
+ .create()
.addEqual('tailUuid', userUuid)
.addEqual('linkClass', LinkClass.STAR);
return this.linkService
.list({
.addEqual('tailUuid', userUuid)
.addEqual('linkClass', LinkClass.STAR);
return this.linkService
.list({
- ...args,
- filters: args.filters ? args.filters.concat(listFilter) : listFilter
+ filters: filters ? filters.concat(listFilter) : listFilter,
+ limit,
+ offset,
+ order: order ? order.getLinkOrder() : OrderBuilder.create<LinkResource>()
})
.then(results => {
const uuids = results.items.map(item => item.headUuid);
return this.groupsService.contents(userUuid, {
})
.then(results => {
const uuids = results.items.map(item => item.headUuid);
return this.groupsService.contents(userUuid, {
- limit: args.limit,
- offset: args.offset,
- filters: FilterBuilder.create<GroupContentsResource>().addIn('uuid', uuids),
+ limit,
+ offset,
+ order: order ? order.getContentOrder() : OrderBuilder.create<GroupContentsResource>(),
+ filters: FilterBuilder.create().addIn('uuid', uuids),
recursive: true
});
});
recursive: true
});
});
@@
-68,7
+75,7
@@
export class FavoriteService {
return this.linkService
.list({
filters: FilterBuilder
return this.linkService
.list({
filters: FilterBuilder
- .create
<LinkResource>
()
+ .create()
.addIn("headUuid", resourceUuids)
.addEqual("tailUuid", userUuid)
.addEqual("linkClass", LinkClass.STAR)
.addIn("headUuid", resourceUuids)
.addEqual("tailUuid", userUuid)
.addEqual("linkClass", LinkClass.STAR)
@@
-79,5
+86,4
@@
export class FavoriteService {
}, {}));
}
}, {}));
}
-
-}
\ No newline at end of file
+}