Przeglądaj źródła

Merge branch 'query_node_predictable_ids' into query_node_sumer_features_lint

ondratra 3 lat temu
rodzic
commit
fd888b3164

+ 2 - 2
query-node/mappings/bootstrap/workers.ts

@@ -1,6 +1,6 @@
 import { DatabaseManager } from '@dzlzv/hydra-db-utils'
 import { Worker, WorkerType } from 'query-node'
-import { logger, createPredictableId } from '../src/common'
+import { logger, getNextId } from '../src/common'
 
 export interface IBootstrapWorkers {
   storage: IBootstrapWorker[]
@@ -30,7 +30,7 @@ export async function bootWorkersInGroup(
     // create new membership
     const worker = new Worker({
       // main data
-      id: await createPredictableId(db),
+      id: await getNextId(db),
       workerId: rawWorker.id,
       type: workerType,
       isActive: true,

+ 4 - 4
query-node/mappings/src/common.ts

@@ -37,9 +37,9 @@ export function invalidMetadata(extraInfo: string, data?: unknown): void {
 /*
   Creates a predictable and unique ID for the given content.
 */
-export async function createPredictableId(db: DatabaseManager): Promise<string> {
+export async function getNextId(db: DatabaseManager): Promise<string> {
   // load or create record
-  const existingRecord = (await db.get(NextEntityId, {})) || new NextEntityId({ id: '0', nextId: 0 })
+  const existingRecord = (await db.get(NextEntityId, {})) || new NextEntityId({ id: '0', nextId: 1 })
 
   // remember id
   const entityId = existingRecord.nextId
@@ -60,13 +60,13 @@ export async function prepareDataObject(
   db: DatabaseManager,
   contentParameters: ContentParameters,
   event: SubstrateEvent,
-  owner: typeof DataObjectOwner
+  owner: typeof DataObjectOwner,
 ): Promise<DataObject> {
   // convert generic content parameters coming from processor to custom Joystream data type
   const customContentParameters = new Custom_ContentParameters(registry, contentParameters.toJSON() as any)
 
   const dataObject = new DataObject({
-    id: await createPredictableId(db),
+    id: await getNextId(db),
     owner,
     createdInBlock: event.blockNumber,
     typeId: contentParameters.type_id.toNumber(),

+ 14 - 8
query-node/mappings/src/content/utils.ts

@@ -28,7 +28,13 @@ import {
 
 import { Content } from '../../../generated/types'
 
-import { invalidMetadata, inconsistentState, logger, prepareDataObject, createPredictableId } from '../common'
+import {
+  invalidMetadata,
+  inconsistentState,
+  logger,
+  prepareDataObject,
+  getNextId,
+} from '../common'
 
 import {
   // primary entities
@@ -284,8 +290,8 @@ export async function readProtobufWithAssets<T extends Channel | Video>(
       result.mediaMetadata = (prepareVideoMetadata(
         metaAsObject,
         videoSize,
-        parameters.event.blockNumber
-      ) as unknown) as VideoMediaMetadata
+        parameters.event.blockNumber,
+      ) as unknown as VideoMediaMetadata)
 
       // remove extra values
       delete metaAsObject.mediaType
@@ -446,7 +452,7 @@ function handlePublishedBeforeJoystream(
 interface IConvertAssetParameters {
   rawAsset: NewAsset
   db: DatabaseManager
-  event: SubstrateEvent
+  event: SubstrateEvent,
   contentOwner: typeof DataObjectOwner
 }
 
@@ -469,7 +475,7 @@ async function convertAsset(parameters: IConvertAssetParameters): Promise<AssetS
     parameters.db,
     contentParameters,
     parameters.event,
-    parameters.contentOwner
+    parameters.contentOwner,
   )
 
   return dataObject
@@ -594,7 +600,7 @@ function extractVideoSize(assets: NewAsset[], assetIndex: number | undefined): n
 async function prepareLanguage(
   languageIso: string | undefined,
   db: DatabaseManager,
-  event: SubstrateEvent
+  event: SubstrateEvent,
 ): Promise<PropertyChange<Language>> {
   // is language being unset?
   if (languageIso === undefined) {
@@ -620,7 +626,7 @@ async function prepareLanguage(
 
   // create new language
   const newLanguage = new Language({
-    id: await createPredictableId(db),
+    id: await getNextId(db),
     iso: languageIso,
     createdInBlock: event.blockNumber,
 
@@ -658,7 +664,7 @@ async function prepareLicense(
   // crete new license
   const license = new License({
     ...licenseProtobuf,
-    id: await createPredictableId(db),
+    id: await getNextId(db),
 
     createdAt: new Date(fixBlockTimestamp(event.blockTimestamp).toNumber()),
     updatedAt: new Date(fixBlockTimestamp(event.blockTimestamp).toNumber()),

+ 4 - 4
query-node/mappings/src/content/video.ts

@@ -6,7 +6,7 @@ import { FindConditions, In } from 'typeorm'
 
 import { Content } from '../../../generated/types'
 
-import { inconsistentState, logger, createPredictableId } from '../common'
+import { inconsistentState, logger, getNextId } from '../common'
 
 import { convertContentActorToDataObjectOwner, readProtobuf, readProtobufWithAssets, RawVideoMetadata } from './utils'
 
@@ -368,7 +368,7 @@ async function integrateVideoMediaMetadata(
   db: DatabaseManager,
   existingRecord: Video | null,
   metadata: Partial<Video>,
-  event: SubstrateEvent
+  event: SubstrateEvent,
 ): Promise<Partial<Video>> {
   if (!metadata.mediaMetadata) {
     return metadata
@@ -418,10 +418,10 @@ async function integrateVideoMediaMetadata(
 
   // ensure predictable ids
   if (!mediaMetadata.encoding.id) {
-    mediaMetadata.encoding.id = await createPredictableId(db)
+    mediaMetadata.encoding.id = await getNextId(db)
   }
   if (!mediaMetadata.id) {
-    mediaMetadata.id = await createPredictableId(db)
+    mediaMetadata.id = await getNextId(db)
   }
 
   /// ///////////////// update updatedAt if needed ///////////////////////////////

+ 4 - 4
query-node/mappings/src/workingGroup.ts

@@ -4,7 +4,7 @@ import { FindConditions } from 'typeorm'
 import { Bytes } from '@polkadot/types'
 import { fixBlockTimestamp } from './eventFix'
 
-import { inconsistentState, logger, createPredictableId } from './common'
+import { inconsistentState, logger, getNextId } from './common'
 
 import { Channel, Worker, WorkerType } from 'query-node'
 import { GatewayWorkingGroup, StorageWorkingGroup } from '../../generated/types'
@@ -106,7 +106,7 @@ export async function workingGroup_OpeningFilled(
   db: DatabaseManager,
   workerType: WorkerType,
   applicationIdToWorkerIdMap: ApplicationIdToWorkerIdMap,
-  event: SubstrateEvent
+  event: SubstrateEvent,
 ): Promise<void> {
   const workerIds = [...applicationIdToWorkerIdMap.values()]
 
@@ -190,11 +190,11 @@ async function createWorker(
   db: DatabaseManager,
   workerId: WorkerId,
   workerType: WorkerType,
-  event: SubstrateEvent
+  event: SubstrateEvent,
 ): Promise<void> {
   // create entity
   const newWorker = new Worker({
-    id: await createPredictableId(db),
+    id: await getNextId(db),
     workerId: workerId.toString(),
     type: workerType,
     isActive: true,