From fc8b30f788dabae8d94d07a5b256666b0c7f8bf8 Mon Sep 17 00:00:00 2001 From: dayuy <973860441@qq.com> Date: Wed, 15 Mar 2023 17:49:12 +0800 Subject: [PATCH 1/2] fix: fix image name when creating chaincodeBuild(#49) --- src/chaincodebuild/chaincodebuild.service.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/chaincodebuild/chaincodebuild.service.ts b/src/chaincodebuild/chaincodebuild.service.ts index 0df4320..fc677d4 100644 --- a/src/chaincodebuild/chaincodebuild.service.ts +++ b/src/chaincodebuild/chaincodebuild.service.ts @@ -144,10 +144,11 @@ export class ChaincodebuildService { } } + const metadataName = genNanoid('chaincodebuild'); const k8s = await this.k8sService.getClient(auth); const { body } = await k8s.chaincodeBuild.create({ metadata: { - name: genNanoid('chaincodebuild'), + name: metadataName, }, spec: { license: { @@ -164,7 +165,7 @@ export class ChaincodebuildService { object: objectName, }, dockerBuild: { - appImage: `${this.imgConfig.namespace}/${displayName}:${version}`, + appImage: `${this.imgConfig.namespace}/${metadataName}:${version}`, context: `${MINIO_BUCKET_NAME}/${objectName}`, dockerfile: `${MINIO_BUCKET_NAME}/${objectName}/Dockerfile`, pushSecret: 'dockerhub-secret', From 6e58bfd45d0270ab9c2055036cddd534653b7c90 Mon Sep 17 00:00:00 2001 From: dayuy <973860441@qq.com> Date: Thu, 16 Mar 2023 10:01:34 +0800 Subject: [PATCH 2/2] fix: add field displayName of endorsePolicy(#183) --- src/epolicy/dto/new-epolicy.input.ts | 9 +++------ src/epolicy/epolicy.gql | 2 ++ src/epolicy/epolicy.service.ts | 7 +++++-- src/epolicy/models/epolicy.model.ts | 3 +++ src/kubernetes/lib/interfaces/crd/endorse-policy.ts | 1 + src/schema.gql | 9 +++++---- 6 files changed, 19 insertions(+), 12 deletions(-) diff --git a/src/epolicy/dto/new-epolicy.input.ts b/src/epolicy/dto/new-epolicy.input.ts index 55f9d96..875fd72 100644 --- a/src/epolicy/dto/new-epolicy.input.ts +++ b/src/epolicy/dto/new-epolicy.input.ts @@ -1,15 +1,12 @@ import { Field, InputType } from '@nestjs/graphql'; -import { Length } from 'class-validator'; @InputType() export class NewEpolicyInput { - /** 策略名称(metadata.name) */ + /** 策略名称 */ @Field(() => String, { - description: - '策略名称,规则:小写字母、数字、“-”,开头和结尾只能是字母或数字([a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*)', + description: '策略名称', }) - @Length(3, 63) - name: string; + displayName: string; /** 策略描述 */ description?: string; diff --git a/src/epolicy/epolicy.gql b/src/epolicy/epolicy.gql index 511fb14..ab1cc12 100644 --- a/src/epolicy/epolicy.gql +++ b/src/epolicy/epolicy.gql @@ -2,6 +2,7 @@ query getEpolicies($network: String) { epolicies(network: $network) { name + displayName description channel value @@ -14,6 +15,7 @@ query getEpolicies($network: String) { mutation createEpolicy($epolicy: NewEpolicyInput!) { epolicyCreate(epolicy: $epolicy) { name + displayName value description channel diff --git a/src/epolicy/epolicy.service.ts b/src/epolicy/epolicy.service.ts index 09ad5fe..78e4427 100644 --- a/src/epolicy/epolicy.service.ts +++ b/src/epolicy/epolicy.service.ts @@ -2,6 +2,7 @@ import { ForbiddenException, Injectable } from '@nestjs/common'; import { ChannelService } from 'src/channel/channel.service'; import { Channel } from 'src/channel/models/channel.model'; import { K8sV1Status } from 'src/common/models/k8s-v1-status.model'; +import { genNanoid } from 'src/common/utils'; import { KubernetesService } from 'src/kubernetes/kubernetes.service'; import { CRD } from 'src/kubernetes/lib'; import { NetworkService } from 'src/network/network.service'; @@ -28,6 +29,7 @@ export class EpolicyService { : creationTimestamp; return { name: epolicy.metadata?.name, + displayName: epolicy.spec?.displayName, creationTimestamp, lastHeartbeatTime, channel: epolicy.spec?.channel, @@ -60,13 +62,14 @@ export class EpolicyService { auth: JwtAuth, epolicy: NewEpolicyInput, ): Promise { - const { name, description, channel, value } = epolicy; + const { displayName, description, channel, value } = epolicy; const k8s = await this.k8sService.getClient(auth); const { body } = await k8s.endorsePolicy.create({ metadata: { - name, + name: genNanoid('epolicy'), }, spec: { + displayName, description, channel, value, diff --git a/src/epolicy/models/epolicy.model.ts b/src/epolicy/models/epolicy.model.ts index d098d01..e1d6045 100644 --- a/src/epolicy/models/epolicy.model.ts +++ b/src/epolicy/models/epolicy.model.ts @@ -5,6 +5,9 @@ export class Epolicy { @Field(() => ID, { description: 'name' }) name: string; + /** 策略名称 */ + displayName?: string; + /** 所在通道 */ channel: string; diff --git a/src/kubernetes/lib/interfaces/crd/endorse-policy.ts b/src/kubernetes/lib/interfaces/crd/endorse-policy.ts index 8dd444d..aa49347 100644 --- a/src/kubernetes/lib/interfaces/crd/endorse-policy.ts +++ b/src/kubernetes/lib/interfaces/crd/endorse-policy.ts @@ -24,6 +24,7 @@ export interface EndorsePolicy { spec?: { channel: string; description?: string; + displayName: string; value: string; [k: string]: any; }; diff --git a/src/schema.gql b/src/schema.gql index 643babd..1059a0f 100644 --- a/src/schema.gql +++ b/src/schema.gql @@ -136,6 +136,9 @@ type Epolicy { """描述""" description: String + """策略名称""" + displayName: String + """更新时间""" lastHeartbeatTime: String @@ -443,10 +446,8 @@ input NewEpolicyInput { """策略描述""" description: String - """ - 策略名称,规则:小写字母、数字、“-”,开头和结尾只能是字母或数字([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*) - """ - name: String! + """策略名称""" + displayName: String! """ 策略内容:可选组织为已选通道内的成员,语法参考(https://hyperledger-fabric.readthedocs.io/en/latest/endorsement-policies.html#endorsement-policy-syntax)