forked from DebaucheryLibrarian/traxxx
Using summaries table for improved performance.
This commit is contained in:
@@ -22,7 +22,7 @@ function initEntitiesActions(store, router) {
|
||||
$offset: Int = 0,
|
||||
$after: Datetime = "1900-01-01",
|
||||
$before: Datetime = "2100-01-01",
|
||||
$orderBy: [ReleasesOrderBy!]
|
||||
$orderBy: [ReleasesSummariesOrderBy!]
|
||||
$exclude: [String!]
|
||||
$hasAuth: Boolean!
|
||||
$userId: Int
|
||||
@@ -67,7 +67,6 @@ function initEntitiesActions(store, router) {
|
||||
independent
|
||||
hasLogo
|
||||
${campaignsFragment}
|
||||
sceneTotal
|
||||
children: childEntitiesConnection {
|
||||
totalCount
|
||||
}
|
||||
@@ -85,50 +84,34 @@ function initEntitiesActions(store, router) {
|
||||
${campaignsFragment}
|
||||
}
|
||||
}
|
||||
connection: releasesConnection(
|
||||
connection: releasesSummariesConnection(
|
||||
first: $limit
|
||||
offset: $offset
|
||||
orderBy: $orderBy
|
||||
filter: {
|
||||
entity: {
|
||||
or: [
|
||||
{
|
||||
slug: { equalTo: $entitySlug }
|
||||
type: { equalTo: $entityType }
|
||||
}
|
||||
{
|
||||
parent:{
|
||||
slug: { equalTo: $entitySlug }
|
||||
type: { equalTo: $entityType }
|
||||
}
|
||||
}
|
||||
{
|
||||
parent:{
|
||||
parent: {
|
||||
slug: { equalTo: $entitySlug }
|
||||
type: { equalTo: $entityType }
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
effectiveDate: {
|
||||
lessThan: $before,
|
||||
greaterThan: $after
|
||||
}
|
||||
releasesTagsConnection: {
|
||||
none: {
|
||||
tag: {
|
||||
slug: {
|
||||
in: $exclude
|
||||
}
|
||||
}
|
||||
not: { tags: { overlaps: $exclude } }
|
||||
effectiveDate: { lessThan: $before, greaterThan: $after }
|
||||
showcased: { equalTo: true }
|
||||
or: [
|
||||
{
|
||||
channelSlug: { equalTo: $entitySlug }
|
||||
channelType: { equalTo: $entityType }
|
||||
}
|
||||
}
|
||||
{
|
||||
networkSlug: { equalTo: $entitySlug }
|
||||
networkType: { equalTo: $entityType }
|
||||
}
|
||||
{
|
||||
parentNetworkSlug: { equalTo: $entitySlug }
|
||||
parentNetworkType: { equalTo: $entityType }
|
||||
}
|
||||
]
|
||||
}
|
||||
) {
|
||||
releases: nodes {
|
||||
${releaseFields}
|
||||
release {
|
||||
${releaseFields}
|
||||
}
|
||||
}
|
||||
totalCount
|
||||
}
|
||||
@@ -153,7 +136,7 @@ function initEntitiesActions(store, router) {
|
||||
}
|
||||
|
||||
return {
|
||||
entity: curateEntity(entity, null, connection.releases, { lastBatch: lastBatch?.id }),
|
||||
entity: curateEntity(entity, null, connection.releases.map(({ release }) => release), { lastBatch: lastBatch?.id }),
|
||||
totalCount: connection.totalCount,
|
||||
};
|
||||
}
|
||||
|
||||
@@ -419,6 +419,7 @@ const releaseFields = `
|
||||
`;
|
||||
// isNew too performance-intensive
|
||||
|
||||
/*
|
||||
const releasesFragment = `
|
||||
connection: releasesConnection(
|
||||
filter: {
|
||||
@@ -447,6 +448,27 @@ const releasesFragment = `
|
||||
totalCount
|
||||
}
|
||||
`;
|
||||
*/
|
||||
|
||||
const releasesFragment = `
|
||||
connection: releasesSummariesConnection(
|
||||
first: $limit
|
||||
offset: $offset
|
||||
orderBy: $orderBy
|
||||
filter: {
|
||||
not: { tags: { overlaps: $exclude } }
|
||||
effectiveDate: { lessThan: $before, greaterThan: $after }
|
||||
showcased: { equalTo: true }
|
||||
}
|
||||
) {
|
||||
releases: nodes {
|
||||
release {
|
||||
${releaseFields}
|
||||
}
|
||||
}
|
||||
totalCount
|
||||
}
|
||||
`;
|
||||
|
||||
const mediaFields = `
|
||||
id
|
||||
|
||||
@@ -23,7 +23,7 @@ function initReleasesActions(store, router) {
|
||||
$offset:Int = 0,
|
||||
$after:Datetime = "1900-01-01 00:00:00",
|
||||
$before:Datetime = "2100-01-01 00:00:00",
|
||||
$orderBy: [ReleasesOrderBy!],
|
||||
$orderBy: [ReleasesSummariesOrderBy!],
|
||||
$exclude: [String!]
|
||||
) {
|
||||
${releasesFragment}
|
||||
|
||||
@@ -15,19 +15,19 @@ function initTagsActions(store, _router) {
|
||||
}) {
|
||||
const { before, after, orderBy } = getDateRange(range);
|
||||
|
||||
const { tagBySlug, batches: [lastBatch] } = await graphql(`
|
||||
const { tagBySlug, scenesConnection, batches: [lastBatch] } = await graphql(`
|
||||
query Tag(
|
||||
$tagSlug:String!
|
||||
$tagSlug: String!
|
||||
$offset: Int = 0,
|
||||
$limit:Int = 1000,
|
||||
$after:Datetime = "1900-01-01",
|
||||
$before:Datetime = "2100-01-01",
|
||||
$orderBy: [ReleasesOrderBy!],
|
||||
$orderBy: [ReleasesSummariesOrderBy!],
|
||||
$exclude: [String!]
|
||||
$hasAuth: Boolean!
|
||||
$userId: Int
|
||||
) {
|
||||
tagBySlug(slug:$tagSlug) {
|
||||
tagBySlug(slug: $tagSlug) {
|
||||
id
|
||||
name
|
||||
slug
|
||||
@@ -155,32 +155,25 @@ function initTagsActions(store, _router) {
|
||||
}
|
||||
}
|
||||
}
|
||||
scenesConnection(
|
||||
filter: {
|
||||
effectiveDate: {
|
||||
lessThan: $before,
|
||||
greaterThan: $after,
|
||||
},
|
||||
releasesTagsConnection: {
|
||||
none: {
|
||||
tag: {
|
||||
slug: {
|
||||
in: $exclude
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
first: $limit,
|
||||
orderBy: $orderBy,
|
||||
offset: $offset
|
||||
) {
|
||||
releases: nodes {
|
||||
}
|
||||
scenesConnection: releasesSummariesConnection(
|
||||
first: $limit
|
||||
offset: $offset
|
||||
orderBy: $orderBy
|
||||
filter: {
|
||||
not: { tags: { overlaps: $exclude } }
|
||||
tags: { anyEqualTo: $tagSlug }
|
||||
effectiveDate: { lessThan: $before, greaterThan: $after }
|
||||
showcased: { equalTo: true }
|
||||
}
|
||||
) {
|
||||
releases: nodes {
|
||||
release {
|
||||
${releaseFields}
|
||||
}
|
||||
totalCount
|
||||
}
|
||||
}
|
||||
totalCount
|
||||
}
|
||||
${batchFragment}
|
||||
}
|
||||
`, {
|
||||
@@ -197,8 +190,8 @@ function initTagsActions(store, _router) {
|
||||
|
||||
return {
|
||||
tag: curateTag(tagBySlug, null, curateRelease),
|
||||
releases: tagBySlug.scenesConnection.releases.map((release) => curateRelease(release, 'scene', { lastBatch: lastBatch.id })),
|
||||
totalCount: tagBySlug.scenesConnection.totalCount,
|
||||
releases: scenesConnection.releases.map(({ release }) => curateRelease(release, 'scene', { lastBatch: lastBatch.id })),
|
||||
totalCount: scenesConnection.totalCount,
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user