func (a *AdminAPI) CreateClient(req adminschema.ClientCreateRequest) (adminschema.ClientCreateResponse, error) { if req.Client == nil { return adminschema.ClientCreateResponse{}, ErrorMissingClient } cli, err := adminschema.MapSchemaClientToClient(*req.Client) if err != nil { return adminschema.ClientCreateResponse{}, mapError(err) } if err := cli.Metadata.Valid(); err != nil { return adminschema.ClientCreateResponse{}, ErrorInvalidClientFunc(err) } // metadata is guaranteed to have at least one redirect_uri by earlier validation. creds, err := a.clientManager.New(cli) if err != nil { return adminschema.ClientCreateResponse{}, mapError(err) } req.Client.Id = creds.ID req.Client.Secret = creds.Secret return adminschema.ClientCreateResponse{ Client: req.Client, }, nil }
func (a *AdminAPI) CreateClient(req adminschema.ClientCreateRequest) (adminschema.ClientCreateResponse, error) { if req.Client == nil { return adminschema.ClientCreateResponse{}, ErrorMissingClient } cli, err := adminschema.MapSchemaClientToClient(*req.Client) if err != nil { return adminschema.ClientCreateResponse{}, mapError(err) } creds, err := a.clientManager.New(cli, &clientmanager.ClientOptions{ TrustedPeers: req.Client.TrustedPeers, }) if err != nil { return adminschema.ClientCreateResponse{}, mapError(err) } req.Client.Id = creds.ID req.Client.Secret = creds.Secret return adminschema.ClientCreateResponse{ Client: req.Client, }, nil }