···19192020 // temporarily, to add users to default knot and spindle
2121 AppPassword string `env:"APP_PASSWORD"`
2222+2323+ // uhhhh this is because knot1 is under icy's did
2424+ TmpAltAppPassword string `env:"ALT_APP_PASSWORD, required"`
2225}
23262427type OAuthConfig struct {
+20-18
appview/oauth/handler/handler.go
···354354}
355355356356var (
357357- tangledHandle = "tangled.sh"
358358- tangledDid = "did:plc:wshs7t2adsemcrrd4snkeqli"
357357+ tangledDid = "did:plc:wshs7t2adsemcrrd4snkeqli"
358358+ icyDid = "did:plc:hwevmowznbiukdf6uk5dwrrq"
359359+359360 defaultSpindle = "spindle.tangled.sh"
360361 defaultKnot = "knot1.tangled.sh"
361362)
···379380 }
380381381382 log.Printf("adding %s to default spindle", did)
382382- session, err := o.createAppPasswordSession()
383383+ session, err := o.createAppPasswordSession(o.config.Core.AppPassword, tangledDid)
383384 if err != nil {
384385 log.Printf("failed to create session: %s", err)
385386 return
···392393 CreatedAt: time.Now().Format(time.RFC3339),
393394 }
394395395395- if err := session.putRecord(record); err != nil {
396396- log.Printf("failed to add member to default knot: %s", err)
396396+ if err := session.putRecord(record, tangled.SpindleMemberNSID); err != nil {
397397+ log.Printf("failed to add member to default spindle: %s", err)
397398 return
398399 }
399400···416417 }
417418418419 log.Printf("adding %s to default knot", did)
419419- session, err := o.createAppPasswordSession()
420420+ session, err := o.createAppPasswordSession(o.config.Core.TmpAltAppPassword, icyDid)
420421 if err != nil {
421422 log.Printf("failed to create session: %s", err)
422423 return
···429430 CreatedAt: time.Now().Format(time.RFC3339),
430431 }
431432432432- if err := session.putRecord(record); err != nil {
433433+ if err := session.putRecord(record, tangled.KnotMemberNSID); err != nil {
433434 log.Printf("failed to add member to default knot: %s", err)
434435 return
435436 }
···441442type session struct {
442443 AccessJwt string `json:"accessJwt"`
443444 PdsEndpoint string
445445+ Did string
444446}
445447446446-func (o *OAuthHandler) createAppPasswordSession() (*session, error) {
447447- appPassword := o.config.Core.AppPassword
448448+func (o *OAuthHandler) createAppPasswordSession(appPassword, did string) (*session, error) {
448449 if appPassword == "" {
449450 return nil, fmt.Errorf("no app password configured, skipping member addition")
450451 }
451452452452- resolved, err := o.idResolver.ResolveIdent(context.Background(), tangledDid)
453453+ resolved, err := o.idResolver.ResolveIdent(context.Background(), did)
453454 if err != nil {
454454- return nil, fmt.Errorf("failed to resolve tangled.sh DID %s: %v", tangledDid, err)
455455+ return nil, fmt.Errorf("failed to resolve tangled.sh DID %s: %v", did, err)
455456 }
456457457458 pdsEndpoint := resolved.PDSEndpoint()
458459 if pdsEndpoint == "" {
459459- return nil, fmt.Errorf("no PDS endpoint found for tangled.sh DID %s", tangledDid)
460460+ return nil, fmt.Errorf("no PDS endpoint found for tangled.sh DID %s", did)
460461 }
461462462463 sessionPayload := map[string]string{
463463- "identifier": tangledHandle,
464464+ "identifier": did,
464465 "password": appPassword,
465466 }
466467 sessionBytes, err := json.Marshal(sessionPayload)
···492493 }
493494494495 session.PdsEndpoint = pdsEndpoint
496496+ session.Did = did
495497496498 return &session, nil
497499}
498500499499-func (s *session) putRecord(record any) error {
501501+func (s *session) putRecord(record any, collection string) error {
500502 recordBytes, err := json.Marshal(record)
501503 if err != nil {
502504 return fmt.Errorf("failed to marshal knot member record: %w", err)
503505 }
504506505507 payload := map[string]any{
506506- "repo": tangledDid,
507507- "collection": tangled.KnotMemberNSID,
508508+ "repo": s.Did,
509509+ "collection": collection,
508510 "rkey": tid.TID(),
509511 "record": json.RawMessage(recordBytes),
510512 }
···526528 client := &http.Client{Timeout: 30 * time.Second}
527529 resp, err := client.Do(req)
528530 if err != nil {
529529- return fmt.Errorf("failed to add user to default Knot: %w", err)
531531+ return fmt.Errorf("failed to add user to default service: %w", err)
530532 }
531533 defer resp.Body.Close()
532534533535 if resp.StatusCode != http.StatusOK {
534534- return fmt.Errorf("failed to add user to default Knot: HTTP %d", resp.StatusCode)
536536+ return fmt.Errorf("failed to add user to default service: HTTP %d", resp.StatusCode)
535537 }
536538537539 return nil