Browse Source

CategoryUpdated -> CategoryArchivalStatusUpdated

Leszek Wiesner 3 years ago
parent
commit
469edc1dd4

+ 3 - 3
query-node/manifest.yml

@@ -51,7 +51,7 @@ typegen:
     - storageWorkingGroup.NewMissedRewardLevelReached
     - storageWorkingGroup.NewMissedRewardLevelReached
   # Forum
   # Forum
     - forum.CategoryCreated
     - forum.CategoryCreated
-    - forum.CategoryUpdated
+    - forum.CategoryArchivalStatusUpdated
     - forum.CategoryDeleted
     - forum.CategoryDeleted
     - forum.ThreadCreated
     - forum.ThreadCreated
     - forum.ThreadModerated
     - forum.ThreadModerated
@@ -295,8 +295,8 @@ mappings:
     # Forum
     # Forum
     - event: forum.CategoryCreated
     - event: forum.CategoryCreated
       handler: forum_CategoryCreated
       handler: forum_CategoryCreated
-    - event: forum.CategoryUpdated
-      handler: forum_CategoryUpdated
+    - event: forum.CategoryArchivalStatusUpdated
+      handler: forum_CategoryArchivalStatusUpdated
     - event: forum.CategoryDeleted
     - event: forum.CategoryDeleted
       handler: forum_CategoryDeleted
       handler: forum_CategoryDeleted
     - event: forum.ThreadCreated
     - event: forum.ThreadCreated

+ 9 - 6
query-node/mappings/forum.ts

@@ -6,7 +6,7 @@ import { bytesToString, deserializeMetadata, genericEventFields, getWorker } fro
 import {
 import {
   CategoryCreatedEvent,
   CategoryCreatedEvent,
   CategoryStatusActive,
   CategoryStatusActive,
-  CategoryUpdatedEvent,
+  CategoryArchivalStatusUpdatedEvent,
   ForumCategory,
   ForumCategory,
   Worker,
   Worker,
   CategoryStatusArchived,
   CategoryStatusArchived,
@@ -152,23 +152,26 @@ export async function forum_CategoryCreated({ event, store }: EventContext & Sto
   await store.save<CategoryCreatedEvent>(categoryCreatedEvent)
   await store.save<CategoryCreatedEvent>(categoryCreatedEvent)
 }
 }
 
 
-export async function forum_CategoryUpdated({ event, store }: EventContext & StoreContext): Promise<void> {
-  const [categoryId, newArchivalStatus, privilegedActor] = new Forum.CategoryUpdatedEvent(event).params
+export async function forum_CategoryArchivalStatusUpdated({
+  event,
+  store,
+}: EventContext & StoreContext): Promise<void> {
+  const [categoryId, newArchivalStatus, privilegedActor] = new Forum.CategoryArchivalStatusUpdatedEvent(event).params
   const eventTime = new Date(event.blockTimestamp)
   const eventTime = new Date(event.blockTimestamp)
   const category = await getCategory(store, categoryId.toString())
   const category = await getCategory(store, categoryId.toString())
   const actorWorker = await getActorWorker(store, privilegedActor)
   const actorWorker = await getActorWorker(store, privilegedActor)
 
 
-  const categoryUpdatedEvent = new CategoryUpdatedEvent({
+  const categoryArchivalStatusUpdatedEvent = new CategoryArchivalStatusUpdatedEvent({
     ...genericEventFields(event),
     ...genericEventFields(event),
     category,
     category,
     newArchivalStatus: newArchivalStatus.valueOf(),
     newArchivalStatus: newArchivalStatus.valueOf(),
     actor: actorWorker,
     actor: actorWorker,
   })
   })
-  await store.save<CategoryUpdatedEvent>(categoryUpdatedEvent)
+  await store.save<CategoryArchivalStatusUpdatedEvent>(categoryArchivalStatusUpdatedEvent)
 
 
   if (newArchivalStatus.valueOf()) {
   if (newArchivalStatus.valueOf()) {
     const status = new CategoryStatusArchived()
     const status = new CategoryStatusArchived()
-    status.categoryUpdatedEventId = categoryUpdatedEvent.id
+    status.categoryArchivalStatusUpdatedEventId = categoryArchivalStatusUpdatedEvent.id
     category.status = status
     category.status = status
   } else {
   } else {
     category.status = new CategoryStatusActive()
     category.status = new CategoryStatusActive()

+ 1 - 1
query-node/schemas/forum.graphql

@@ -5,7 +5,7 @@ type CategoryStatusActive @variant {
 
 
 type CategoryStatusArchived @variant {
 type CategoryStatusArchived @variant {
   "Event the category was archived in"
   "Event the category was archived in"
-  categoryUpdatedEvent: CategoryUpdatedEvent!
+  categoryArchivalStatusUpdatedEvent: CategoryArchivalStatusUpdatedEvent!
 }
 }
 
 
 type CategoryStatusRemoved @variant {
 type CategoryStatusRemoved @variant {

+ 1 - 1
query-node/schemas/forumEvents.graphql

@@ -24,7 +24,7 @@ type CategoryCreatedEvent @entity {
   # The actor is always lead
   # The actor is always lead
 }
 }
 
 
-type CategoryUpdatedEvent @entity {
+type CategoryArchivalStatusUpdatedEvent @entity {
   ### GENERIC DATA ###
   ### GENERIC DATA ###
 
 
   "(network}-{blockNumber}-{indexInBlock}"
   "(network}-{blockNumber}-{indexInBlock}"

+ 10 - 8
tests/integration-tests/src/QueryNodeApi.ts

@@ -174,10 +174,9 @@ import {
   GetCategoryCreatedEventsByEventIdsQuery,
   GetCategoryCreatedEventsByEventIdsQuery,
   GetCategoryCreatedEventsByEventIdsQueryVariables,
   GetCategoryCreatedEventsByEventIdsQueryVariables,
   GetCategoryCreatedEventsByEventIds,
   GetCategoryCreatedEventsByEventIds,
-  CategoryUpdatedEventFieldsFragment,
-  GetCategoryUpdatedEventsByEventIdsQuery,
-  GetCategoryUpdatedEventsByEventIdsQueryVariables,
-  GetCategoryUpdatedEventsByEventIds,
+  GetCategoryArchivalStatusUpdatedEventsByEventIds,
+  GetCategoryArchivalStatusUpdatedEventsByEventIdsQuery,
+  GetCategoryArchivalStatusUpdatedEventsByEventIdsQueryVariables,
   CategoryDeletedEventFieldsFragment,
   CategoryDeletedEventFieldsFragment,
   GetCategoryDeletedEventsByEventIdsQuery,
   GetCategoryDeletedEventsByEventIdsQuery,
   GetCategoryDeletedEventsByEventIdsQueryVariables,
   GetCategoryDeletedEventsByEventIdsQueryVariables,
@@ -251,6 +250,7 @@ import {
   GetPostDeletedEventsByEventIdsQuery,
   GetPostDeletedEventsByEventIdsQuery,
   GetPostDeletedEventsByEventIdsQueryVariables,
   GetPostDeletedEventsByEventIdsQueryVariables,
   GetPostDeletedEventsByEventIds,
   GetPostDeletedEventsByEventIds,
+  CategoryArchivalStatusUpdatedEventFieldsFragment,
 } from './graphql/generated/queries'
 } from './graphql/generated/queries'
 import { Maybe } from './graphql/generated/schema'
 import { Maybe } from './graphql/generated/schema'
 import { OperationDefinitionNode } from 'graphql'
 import { OperationDefinitionNode } from 'graphql'
@@ -768,12 +768,14 @@ export class QueryNodeApi {
     >(GetCategoryCreatedEventsByEventIds, { eventIds }, 'categoryCreatedEvents')
     >(GetCategoryCreatedEventsByEventIds, { eventIds }, 'categoryCreatedEvents')
   }
   }
 
 
-  public async getCategoryUpdatedEvents(events: EventDetails[]): Promise<CategoryUpdatedEventFieldsFragment[]> {
+  public async getCategoryArchivalStatusUpdatedEvents(
+    events: EventDetails[]
+  ): Promise<CategoryArchivalStatusUpdatedEventFieldsFragment[]> {
     const eventIds = events.map((e) => this.getQueryNodeEventId(e.blockNumber, e.indexInBlock))
     const eventIds = events.map((e) => this.getQueryNodeEventId(e.blockNumber, e.indexInBlock))
     return this.multipleEntitiesQuery<
     return this.multipleEntitiesQuery<
-      GetCategoryUpdatedEventsByEventIdsQuery,
-      GetCategoryUpdatedEventsByEventIdsQueryVariables
-    >(GetCategoryUpdatedEventsByEventIds, { eventIds }, 'categoryUpdatedEvents')
+      GetCategoryArchivalStatusUpdatedEventsByEventIdsQuery,
+      GetCategoryArchivalStatusUpdatedEventsByEventIdsQueryVariables
+    >(GetCategoryArchivalStatusUpdatedEventsByEventIds, { eventIds }, 'categoryArchivalStatusUpdatedEvents')
   }
   }
 
 
   public async getCategoryDeletedEvents(events: EventDetails[]): Promise<CategoryDeletedEventFieldsFragment[]> {
   public async getCategoryDeletedEvents(events: EventDetails[]): Promise<CategoryDeletedEventFieldsFragment[]> {

+ 13 - 7
tests/integration-tests/src/fixtures/forum/UpdateCategoriesStatusFixture.ts

@@ -5,7 +5,10 @@ import { WorkerId } from '@joystream/types/working-group'
 import { SubmittableExtrinsic } from '@polkadot/api/types'
 import { SubmittableExtrinsic } from '@polkadot/api/types'
 import { Utils } from '../../utils'
 import { Utils } from '../../utils'
 import { ISubmittableResult } from '@polkadot/types/types/'
 import { ISubmittableResult } from '@polkadot/types/types/'
-import { CategoryUpdatedEventFieldsFragment, ForumCategoryFieldsFragment } from '../../graphql/generated/queries'
+import {
+  CategoryArchivalStatusUpdatedEventFieldsFragment,
+  ForumCategoryFieldsFragment,
+} from '../../graphql/generated/queries'
 import { assert } from 'chai'
 import { assert } from 'chai'
 import { CategoryId } from '@joystream/types/forum'
 import { CategoryId } from '@joystream/types/forum'
 import { WithForumWorkersFixture } from './WithForumWorkersFixture'
 import { WithForumWorkersFixture } from './WithForumWorkersFixture'
@@ -45,12 +48,12 @@ export class UpdateCategoriesStatusFixture extends WithForumWorkersFixture {
   }
   }
 
 
   protected async getEventFromResult(result: ISubmittableResult): Promise<EventDetails> {
   protected async getEventFromResult(result: ISubmittableResult): Promise<EventDetails> {
-    return this.api.retrieveForumEventDetails(result, 'CategoryUpdated')
+    return this.api.retrieveForumEventDetails(result, 'CategoryArchivalStatusUpdated')
   }
   }
 
 
   protected assertQueriedCategoriesAreValid(
   protected assertQueriedCategoriesAreValid(
     qCategories: ForumCategoryFieldsFragment[],
     qCategories: ForumCategoryFieldsFragment[],
-    qEvents: CategoryUpdatedEventFieldsFragment[]
+    qEvents: CategoryArchivalStatusUpdatedEventFieldsFragment[]
   ): void {
   ): void {
     // Check against latest update per category
     // Check against latest update per category
     _.uniqBy([...this.updates].reverse(), (v) => v.categoryId).map((update) => {
     _.uniqBy([...this.updates].reverse(), (v) => v.categoryId).map((update) => {
@@ -60,15 +63,18 @@ export class UpdateCategoriesStatusFixture extends WithForumWorkersFixture {
       Utils.assert(qCategory, 'Query node: Category not found')
       Utils.assert(qCategory, 'Query node: Category not found')
       if (update.archived) {
       if (update.archived) {
         Utils.assert(qCategory.status.__typename === 'CategoryStatusArchived', 'Invalid category status')
         Utils.assert(qCategory.status.__typename === 'CategoryStatusArchived', 'Invalid category status')
-        Utils.assert(qCategory.status.categoryUpdatedEvent, 'Query node: Missing CategoryUpdatedEvent ref')
-        assert.equal(qCategory.status.categoryUpdatedEvent.id, qEvent.id)
+        Utils.assert(
+          qCategory.status.categoryArchivalStatusUpdatedEvent,
+          'Query node: Missing CategoryArchivalStatusUpdatedEvent ref'
+        )
+        assert.equal(qCategory.status.categoryArchivalStatusUpdatedEvent.id, qEvent.id)
       } else {
       } else {
         assert.equal(qCategory.status.__typename, 'CategoryStatusActive')
         assert.equal(qCategory.status.__typename, 'CategoryStatusActive')
       }
       }
     })
     })
   }
   }
 
 
-  protected assertQueryNodeEventIsValid(qEvent: CategoryUpdatedEventFieldsFragment, i: number): void {
+  protected assertQueryNodeEventIsValid(qEvent: CategoryArchivalStatusUpdatedEventFieldsFragment, i: number): void {
     const { categoryId, archived, asWorker } = this.updates[i]
     const { categoryId, archived, asWorker } = this.updates[i]
     assert.equal(qEvent.category.id, categoryId.toString())
     assert.equal(qEvent.category.id, categoryId.toString())
     assert.equal(qEvent.newArchivalStatus, archived)
     assert.equal(qEvent.newArchivalStatus, archived)
@@ -79,7 +85,7 @@ export class UpdateCategoriesStatusFixture extends WithForumWorkersFixture {
     await super.runQueryNodeChecks()
     await super.runQueryNodeChecks()
     // Query the events
     // Query the events
     const qEvents = await this.query.tryQueryWithTimeout(
     const qEvents = await this.query.tryQueryWithTimeout(
-      () => this.query.getCategoryUpdatedEvents(this.events),
+      () => this.query.getCategoryArchivalStatusUpdatedEvents(this.events),
       (qEvents) => this.assertQueryNodeEventsAreValid(qEvents)
       (qEvents) => this.assertQueryNodeEventsAreValid(qEvents)
     )
     )
 
 

+ 13 - 13
tests/integration-tests/src/graphql/generated/queries.ts

@@ -13,7 +13,7 @@ export type ForumCategoryFieldsFragment = {
   createdInEvent: { id: string }
   createdInEvent: { id: string }
   status:
   status:
     | { __typename: 'CategoryStatusActive' }
     | { __typename: 'CategoryStatusActive' }
-    | { __typename: 'CategoryStatusArchived'; categoryUpdatedEvent?: Types.Maybe<{ id: string }> }
+    | { __typename: 'CategoryStatusArchived'; categoryArchivalStatusUpdatedEvent?: Types.Maybe<{ id: string }> }
     | { __typename: 'CategoryStatusRemoved'; categoryDeletedEvent?: Types.Maybe<{ id: string }> }
     | { __typename: 'CategoryStatusRemoved'; categoryDeletedEvent?: Types.Maybe<{ id: string }> }
 }
 }
 
 
@@ -97,7 +97,7 @@ export type GetCategoryCreatedEventsByEventIdsQuery = {
   categoryCreatedEvents: Array<CategoryCreatedEventFieldsFragment>
   categoryCreatedEvents: Array<CategoryCreatedEventFieldsFragment>
 }
 }
 
 
-export type CategoryUpdatedEventFieldsFragment = {
+export type CategoryArchivalStatusUpdatedEventFieldsFragment = {
   id: string
   id: string
   createdAt: any
   createdAt: any
   inBlock: number
   inBlock: number
@@ -109,12 +109,12 @@ export type CategoryUpdatedEventFieldsFragment = {
   actor: { id: string }
   actor: { id: string }
 }
 }
 
 
-export type GetCategoryUpdatedEventsByEventIdsQueryVariables = Types.Exact<{
+export type GetCategoryArchivalStatusUpdatedEventsByEventIdsQueryVariables = Types.Exact<{
   eventIds?: Types.Maybe<Array<Types.Scalars['ID']> | Types.Scalars['ID']>
   eventIds?: Types.Maybe<Array<Types.Scalars['ID']> | Types.Scalars['ID']>
 }>
 }>
 
 
-export type GetCategoryUpdatedEventsByEventIdsQuery = {
-  categoryUpdatedEvents: Array<CategoryUpdatedEventFieldsFragment>
+export type GetCategoryArchivalStatusUpdatedEventsByEventIdsQuery = {
+  categoryArchivalStatusUpdatedEvents: Array<CategoryArchivalStatusUpdatedEventFieldsFragment>
 }
 }
 
 
 export type CategoryDeletedEventFieldsFragment = {
 export type CategoryDeletedEventFieldsFragment = {
@@ -1242,7 +1242,7 @@ export const ForumCategoryFields = gql`
     status {
     status {
       __typename
       __typename
       ... on CategoryStatusArchived {
       ... on CategoryStatusArchived {
-        categoryUpdatedEvent {
+        categoryArchivalStatusUpdatedEvent {
           id
           id
         }
         }
       }
       }
@@ -1385,8 +1385,8 @@ export const CategoryCreatedEventFields = gql`
     }
     }
   }
   }
 `
 `
-export const CategoryUpdatedEventFields = gql`
-  fragment CategoryUpdatedEventFields on CategoryUpdatedEvent {
+export const CategoryArchivalStatusUpdatedEventFields = gql`
+  fragment CategoryArchivalStatusUpdatedEventFields on CategoryArchivalStatusUpdatedEvent {
     id
     id
     createdAt
     createdAt
     inBlock
     inBlock
@@ -2481,13 +2481,13 @@ export const GetCategoryCreatedEventsByEventIds = gql`
   }
   }
   ${CategoryCreatedEventFields}
   ${CategoryCreatedEventFields}
 `
 `
-export const GetCategoryUpdatedEventsByEventIds = gql`
-  query getCategoryUpdatedEventsByEventIds($eventIds: [ID!]) {
-    categoryUpdatedEvents(where: { id_in: $eventIds }) {
-      ...CategoryUpdatedEventFields
+export const GetCategoryArchivalStatusUpdatedEventsByEventIds = gql`
+  query getCategoryArchivalStatusUpdatedEventsByEventIds($eventIds: [ID!]) {
+    categoryArchivalStatusUpdatedEvents(where: { id_in: $eventIds }) {
+      ...CategoryArchivalStatusUpdatedEventFields
     }
     }
   }
   }
-  ${CategoryUpdatedEventFields}
+  ${CategoryArchivalStatusUpdatedEventFields}
 `
 `
 export const GetCategoryDeletedEventsByEventIds = gql`
 export const GetCategoryDeletedEventsByEventIds = gql`
   query getCategoryDeletedEventsByEventIds($eventIds: [ID!]) {
   query getCategoryDeletedEventsByEventIds($eventIds: [ID!]) {

File diff suppressed because it is too large
+ 350 - 288
tests/integration-tests/src/graphql/generated/schema.ts


+ 1 - 1
tests/integration-tests/src/graphql/queries/forum.graphql

@@ -20,7 +20,7 @@ fragment ForumCategoryFields on ForumCategory {
   status {
   status {
     __typename
     __typename
     ... on CategoryStatusArchived {
     ... on CategoryStatusArchived {
-      categoryUpdatedEvent {
+      categoryArchivalStatusUpdatedEvent {
         id
         id
       }
       }
     }
     }

+ 4 - 4
tests/integration-tests/src/graphql/queries/forumEvents.graphql

@@ -16,7 +16,7 @@ query getCategoryCreatedEventsByEventIds($eventIds: [ID!]) {
   }
   }
 }
 }
 
 
-fragment CategoryUpdatedEventFields on CategoryUpdatedEvent {
+fragment CategoryArchivalStatusUpdatedEventFields on CategoryArchivalStatusUpdatedEvent {
   id
   id
   createdAt
   createdAt
   inBlock
   inBlock
@@ -32,9 +32,9 @@ fragment CategoryUpdatedEventFields on CategoryUpdatedEvent {
   }
   }
 }
 }
 
 
-query getCategoryUpdatedEventsByEventIds($eventIds: [ID!]) {
-  categoryUpdatedEvents(where: { id_in: $eventIds }) {
-    ...CategoryUpdatedEventFields
+query getCategoryArchivalStatusUpdatedEventsByEventIds($eventIds: [ID!]) {
+  categoryArchivalStatusUpdatedEvents(where: { id_in: $eventIds }) {
+    ...CategoryArchivalStatusUpdatedEventFields
   }
   }
 }
 }
 
 

+ 1 - 1
tests/integration-tests/src/types.ts

@@ -125,7 +125,7 @@ export interface PostAddedEventDetails extends EventDetails {
 
 
 export type ForumEventName =
 export type ForumEventName =
   | 'CategoryCreated'
   | 'CategoryCreated'
-  | 'CategoryUpdated'
+  | 'CategoryArchivalStatusUpdated'
   | 'CategoryDeleted'
   | 'CategoryDeleted'
   | 'ThreadCreated'
   | 'ThreadCreated'
   | 'ThreadModerated'
   | 'ThreadModerated'

Some files were not shown because too many files changed in this diff