Product plan http reference

Fireback accelerates backend and mobile app development, offering powerful code generation tools and standardized architecture. With seamless backend integration and streamlined workflows, Fireback expedites the creation of robust and scalable apps.

getProductPlans

/productPlans

Response Dto/Entity: *[]licenses.ProductPlanEntity

message ProductPlanEntity {
  string workspaceId = 1; // @tag(yaml:"workspaceId")
  string parentId = 2; // @tag(yaml:"parentId")
  string uniqueId = 3; // @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;" yaml:"uniqueId")
  string userId = 4; // @tag(yaml:"userId")
  repeated ProductPlanEntityPolyglot translations = 5; // @tag(gorm:"foreignKey:ParentId;references:UniqueId" json:"translations")
  string name = 7; // @tag(translate:"true" validate:"required" yaml:"name")
  int64 duration = 8; // @tag(  yaml:"duration")
  /* One 2 one to external entity */
  optional string productId  = 10; // @tag(yaml:"productId")
  ProductEntity product = 11; // @tag(gorm:"foreignKey:ProductId;references:UniqueId" json:"product" yaml:"product")
  /* This is an object, another entity needs to be created for */
  repeated ProductPlanPermissionEntity permissions = 12; // @tag(gorm:"foreignKey:ParentId;references:UniqueId" yaml:"permissions")

}
export interface ProductPlanEntity {
    /** @tag(yaml:"workspaceId") */
    workspaceId: string;
    /** @tag(yaml:"parentId") */
    parentId: string;
    /** @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;" yaml:"uniqueId") */
    uniqueId: string;
    /** @tag(yaml:"userId") */
    userId: string;
    /** @tag(gorm:"foreignKey:ParentId;references:UniqueId" json:"translations") */
    translations: ProductPlanEntityPolyglot[];
    /** @tag(translate:"true" validate:"required" yaml:"name") */
    name: string;
    /** @tag(  yaml:"duration") */
    duration: number;
    /** One 2 one to external entity */
    productId?: string | undefined;
    /** @tag(gorm:"foreignKey:ProductId;references:UniqueId" json:"product" yaml:"product") */
    product: ProductEntity | undefined;
    /** This is an object, another entity needs to be created for */
    permissions: ProductPlanPermissionEntity[];
}

getProductPlanById

/productPlan/:id

Response Dto/Entity: *licenses.ProductPlanEntity

message ProductPlanEntity {
  string workspaceId = 1; // @tag(yaml:"workspaceId")
  string parentId = 2; // @tag(yaml:"parentId")
  string uniqueId = 3; // @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;" yaml:"uniqueId")
  string userId = 4; // @tag(yaml:"userId")
  repeated ProductPlanEntityPolyglot translations = 5; // @tag(gorm:"foreignKey:ParentId;references:UniqueId" json:"translations")
  string name = 7; // @tag(translate:"true" validate:"required" yaml:"name")
  int64 duration = 8; // @tag(  yaml:"duration")
  /* One 2 one to external entity */
  optional string productId  = 10; // @tag(yaml:"productId")
  ProductEntity product = 11; // @tag(gorm:"foreignKey:ProductId;references:UniqueId" json:"product" yaml:"product")
  /* This is an object, another entity needs to be created for */
  repeated ProductPlanPermissionEntity permissions = 12; // @tag(gorm:"foreignKey:ParentId;references:UniqueId" yaml:"permissions")

}
export interface ProductPlanEntity {
    /** @tag(yaml:"workspaceId") */
    workspaceId: string;
    /** @tag(yaml:"parentId") */
    parentId: string;
    /** @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;" yaml:"uniqueId") */
    uniqueId: string;
    /** @tag(yaml:"userId") */
    userId: string;
    /** @tag(gorm:"foreignKey:ParentId;references:UniqueId" json:"translations") */
    translations: ProductPlanEntityPolyglot[];
    /** @tag(translate:"true" validate:"required" yaml:"name") */
    name: string;
    /** @tag(  yaml:"duration") */
    duration: number;
    /** One 2 one to external entity */
    productId?: string | undefined;
    /** @tag(gorm:"foreignKey:ProductId;references:UniqueId" json:"product" yaml:"product") */
    product: ProductEntity | undefined;
    /** This is an object, another entity needs to be created for */
    permissions: ProductPlanPermissionEntity[];
}

Params: :id

postProductPlan

/productPlan

Response Dto/Entity: *licenses.ProductPlanEntity

message ProductPlanEntity {
  string workspaceId = 1; // @tag(yaml:"workspaceId")
  string parentId = 2; // @tag(yaml:"parentId")
  string uniqueId = 3; // @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;" yaml:"uniqueId")
  string userId = 4; // @tag(yaml:"userId")
  repeated ProductPlanEntityPolyglot translations = 5; // @tag(gorm:"foreignKey:ParentId;references:UniqueId" json:"translations")
  string name = 7; // @tag(translate:"true" validate:"required" yaml:"name")
  int64 duration = 8; // @tag(  yaml:"duration")
  /* One 2 one to external entity */
  optional string productId  = 10; // @tag(yaml:"productId")
  ProductEntity product = 11; // @tag(gorm:"foreignKey:ProductId;references:UniqueId" json:"product" yaml:"product")
  /* This is an object, another entity needs to be created for */
  repeated ProductPlanPermissionEntity permissions = 12; // @tag(gorm:"foreignKey:ParentId;references:UniqueId" yaml:"permissions")

}
export interface ProductPlanEntity {
    /** @tag(yaml:"workspaceId") */
    workspaceId: string;
    /** @tag(yaml:"parentId") */
    parentId: string;
    /** @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;" yaml:"uniqueId") */
    uniqueId: string;
    /** @tag(yaml:"userId") */
    userId: string;
    /** @tag(gorm:"foreignKey:ParentId;references:UniqueId" json:"translations") */
    translations: ProductPlanEntityPolyglot[];
    /** @tag(translate:"true" validate:"required" yaml:"name") */
    name: string;
    /** @tag(  yaml:"duration") */
    duration: number;
    /** One 2 one to external entity */
    productId?: string | undefined;
    /** @tag(gorm:"foreignKey:ProductId;references:UniqueId" json:"product" yaml:"product") */
    product: ProductEntity | undefined;
    /** This is an object, another entity needs to be created for */
    permissions: ProductPlanPermissionEntity[];
}

Request Dto/Entity: *licenses.ProductPlanEntity

message ProductPlanEntity {
  string workspaceId = 1; // @tag(yaml:"workspaceId")
  string parentId = 2; // @tag(yaml:"parentId")
  string uniqueId = 3; // @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;" yaml:"uniqueId")
  string userId = 4; // @tag(yaml:"userId")
  repeated ProductPlanEntityPolyglot translations = 5; // @tag(gorm:"foreignKey:ParentId;references:UniqueId" json:"translations")
  string name = 7; // @tag(translate:"true" validate:"required" yaml:"name")
  int64 duration = 8; // @tag(  yaml:"duration")
  /* One 2 one to external entity */
  optional string productId  = 10; // @tag(yaml:"productId")
  ProductEntity product = 11; // @tag(gorm:"foreignKey:ProductId;references:UniqueId" json:"product" yaml:"product")
  /* This is an object, another entity needs to be created for */
  repeated ProductPlanPermissionEntity permissions = 12; // @tag(gorm:"foreignKey:ParentId;references:UniqueId" yaml:"permissions")

}
export interface ProductPlanEntity {
    /** @tag(yaml:"workspaceId") */
    workspaceId: string;
    /** @tag(yaml:"parentId") */
    parentId: string;
    /** @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;" yaml:"uniqueId") */
    uniqueId: string;
    /** @tag(yaml:"userId") */
    userId: string;
    /** @tag(gorm:"foreignKey:ParentId;references:UniqueId" json:"translations") */
    translations: ProductPlanEntityPolyglot[];
    /** @tag(translate:"true" validate:"required" yaml:"name") */
    name: string;
    /** @tag(  yaml:"duration") */
    duration: number;
    /** One 2 one to external entity */
    productId?: string | undefined;
    /** @tag(gorm:"foreignKey:ProductId;references:UniqueId" json:"product" yaml:"product") */
    product: ProductEntity | undefined;
    /** This is an object, another entity needs to be created for */
    permissions: ProductPlanPermissionEntity[];
}

patchProductPlanById

/productPlan/:id

Response Dto/Entity: *licenses.ProductPlanEntity

message ProductPlanEntity {
  string workspaceId = 1; // @tag(yaml:"workspaceId")
  string parentId = 2; // @tag(yaml:"parentId")
  string uniqueId = 3; // @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;" yaml:"uniqueId")
  string userId = 4; // @tag(yaml:"userId")
  repeated ProductPlanEntityPolyglot translations = 5; // @tag(gorm:"foreignKey:ParentId;references:UniqueId" json:"translations")
  string name = 7; // @tag(translate:"true" validate:"required" yaml:"name")
  int64 duration = 8; // @tag(  yaml:"duration")
  /* One 2 one to external entity */
  optional string productId  = 10; // @tag(yaml:"productId")
  ProductEntity product = 11; // @tag(gorm:"foreignKey:ProductId;references:UniqueId" json:"product" yaml:"product")
  /* This is an object, another entity needs to be created for */
  repeated ProductPlanPermissionEntity permissions = 12; // @tag(gorm:"foreignKey:ParentId;references:UniqueId" yaml:"permissions")

}
export interface ProductPlanEntity {
    /** @tag(yaml:"workspaceId") */
    workspaceId: string;
    /** @tag(yaml:"parentId") */
    parentId: string;
    /** @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;" yaml:"uniqueId") */
    uniqueId: string;
    /** @tag(yaml:"userId") */
    userId: string;
    /** @tag(gorm:"foreignKey:ParentId;references:UniqueId" json:"translations") */
    translations: ProductPlanEntityPolyglot[];
    /** @tag(translate:"true" validate:"required" yaml:"name") */
    name: string;
    /** @tag(  yaml:"duration") */
    duration: number;
    /** One 2 one to external entity */
    productId?: string | undefined;
    /** @tag(gorm:"foreignKey:ProductId;references:UniqueId" json:"product" yaml:"product") */
    product: ProductEntity | undefined;
    /** This is an object, another entity needs to be created for */
    permissions: ProductPlanPermissionEntity[];
}

Request Dto/Entity: *licenses.ProductPlanEntity

message ProductPlanEntity {
  string workspaceId = 1; // @tag(yaml:"workspaceId")
  string parentId = 2; // @tag(yaml:"parentId")
  string uniqueId = 3; // @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;" yaml:"uniqueId")
  string userId = 4; // @tag(yaml:"userId")
  repeated ProductPlanEntityPolyglot translations = 5; // @tag(gorm:"foreignKey:ParentId;references:UniqueId" json:"translations")
  string name = 7; // @tag(translate:"true" validate:"required" yaml:"name")
  int64 duration = 8; // @tag(  yaml:"duration")
  /* One 2 one to external entity */
  optional string productId  = 10; // @tag(yaml:"productId")
  ProductEntity product = 11; // @tag(gorm:"foreignKey:ProductId;references:UniqueId" json:"product" yaml:"product")
  /* This is an object, another entity needs to be created for */
  repeated ProductPlanPermissionEntity permissions = 12; // @tag(gorm:"foreignKey:ParentId;references:UniqueId" yaml:"permissions")

}
export interface ProductPlanEntity {
    /** @tag(yaml:"workspaceId") */
    workspaceId: string;
    /** @tag(yaml:"parentId") */
    parentId: string;
    /** @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;" yaml:"uniqueId") */
    uniqueId: string;
    /** @tag(yaml:"userId") */
    userId: string;
    /** @tag(gorm:"foreignKey:ParentId;references:UniqueId" json:"translations") */
    translations: ProductPlanEntityPolyglot[];
    /** @tag(translate:"true" validate:"required" yaml:"name") */
    name: string;
    /** @tag(  yaml:"duration") */
    duration: number;
    /** One 2 one to external entity */
    productId?: string | undefined;
    /** @tag(gorm:"foreignKey:ProductId;references:UniqueId" json:"product" yaml:"product") */
    product: ProductEntity | undefined;
    /** This is an object, another entity needs to be created for */
    permissions: ProductPlanPermissionEntity[];
}

Params: :id

deleteProductPlanById

/productPlan/:id

Target Entity: *licenses.ProductPlanEntity

message ProductPlanEntity {
  string workspaceId = 1; // @tag(yaml:"workspaceId")
  string parentId = 2; // @tag(yaml:"parentId")
  string uniqueId = 3; // @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;" yaml:"uniqueId")
  string userId = 4; // @tag(yaml:"userId")
  repeated ProductPlanEntityPolyglot translations = 5; // @tag(gorm:"foreignKey:ParentId;references:UniqueId" json:"translations")
  string name = 7; // @tag(translate:"true" validate:"required" yaml:"name")
  int64 duration = 8; // @tag(  yaml:"duration")
  /* One 2 one to external entity */
  optional string productId  = 10; // @tag(yaml:"productId")
  ProductEntity product = 11; // @tag(gorm:"foreignKey:ProductId;references:UniqueId" json:"product" yaml:"product")
  /* This is an object, another entity needs to be created for */
  repeated ProductPlanPermissionEntity permissions = 12; // @tag(gorm:"foreignKey:ParentId;references:UniqueId" yaml:"permissions")

}
export interface ProductPlanEntity {
    /** @tag(yaml:"workspaceId") */
    workspaceId: string;
    /** @tag(yaml:"parentId") */
    parentId: string;
    /** @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;" yaml:"uniqueId") */
    uniqueId: string;
    /** @tag(yaml:"userId") */
    userId: string;
    /** @tag(gorm:"foreignKey:ParentId;references:UniqueId" json:"translations") */
    translations: ProductPlanEntityPolyglot[];
    /** @tag(translate:"true" validate:"required" yaml:"name") */
    name: string;
    /** @tag(  yaml:"duration") */
    duration: number;
    /** One 2 one to external entity */
    productId?: string | undefined;
    /** @tag(gorm:"foreignKey:ProductId;references:UniqueId" json:"product" yaml:"product") */
    product: ProductEntity | undefined;
    /** This is an object, another entity needs to be created for */
    permissions: ProductPlanPermissionEntity[];
}

Params: :id