github.com/machinefi/w3bstream@v1.6.5-rc9.0.20240426031326-b8c7c4876e72/cmd/srv-applet-mgr/apis/applet/pos.go (about)

     1  package applet
     2  
     3  import (
     4  	"context"
     5  
     6  	"github.com/machinefi/w3bstream/cmd/srv-applet-mgr/apis/middleware"
     7  	"github.com/machinefi/w3bstream/pkg/depends/kit/httptransport/httpx"
     8  	"github.com/machinefi/w3bstream/pkg/modules/applet"
     9  )
    10  
    11  type CreateApplet struct {
    12  	httpx.MethodPost
    13  	applet.CreateReq `in:"body" mime:"multipart"`
    14  }
    15  
    16  func (r *CreateApplet) Output(ctx context.Context) (interface{}, error) {
    17  	ca := middleware.MustCurrentAccountFromContext(ctx)
    18  	ctx, err := ca.WithProjectContextByName(ca.WithAccount(ctx), middleware.MustProjectName(ctx))
    19  	if err != nil {
    20  		return nil, err
    21  	}
    22  	return applet.Create(ctx, &r.CreateReq)
    23  }