MCPcopy Create free account
hub / github.com/boringproxy/boringproxy / CreateToken

Method CreateToken

api.go:450–487  ·  view source on GitHub ↗
(tokenData TokenData, params url.Values)

Source from the content-addressed store, hash-verified

448}
449
450func (a *Api) CreateToken(tokenData TokenData, params url.Values) (string, error) {
451
452 ownerId := params.Get("owner")
453 if ownerId == "" {
454 return "", errors.New("Invalid owner paramater")
455 }
456
457 user, _ := a.db.GetUser(tokenData.Owner)
458
459 if tokenData.Owner != ownerId && !user.IsAdmin {
460 return "", errors.New("Unauthorized")
461 }
462
463 var owner User
464
465 if tokenData.Owner == ownerId {
466 owner = user
467 } else {
468 owner, _ = a.db.GetUser(ownerId)
469 }
470
471 client := params.Get("client")
472
473 if client != "any" {
474 if _, exists := owner.Clients[client]; !exists {
475 return "", fmt.Errorf("Client %s does not exist for user %s", client, ownerId)
476 }
477 } else {
478 client = ""
479 }
480
481 token, err := a.db.AddToken(ownerId, client)
482 if err != nil {
483 return "", errors.New("Failed to create token")
484 }
485
486 return token, nil
487}
488
489func (a *Api) DeleteToken(tokenData TokenData, params url.Values) error {
490 token := params.Get("token")

Callers 2

handleTokensMethod · 0.95
handleTokensMethod · 0.80

Calls 2

GetUserMethod · 0.80
AddTokenMethod · 0.80

Tested by

no test coverage detected