···2222 Delete []*LabelOp_Operand `json:"delete" cborgen:"delete"`
2323 PerformedAt string `json:"performedAt" cborgen:"performedAt"`
2424 // subject: The subject (task, pull or discussion) of this label. Appviews may apply a `scope` check and refuse this op.
2525- Subject string `json:"subject" cborgen:"subject"`
2525+ Subject string `json:"subject" cborgen:"subject"`
2626+ SubjectDid *string `json:"subjectDid,omitempty" cborgen:"subjectDid,omitempty"`
2627}
27282829// LabelOp_Operand is a "operand" in the sh.tangled.label.op schema.
+2-1
api/tangled/repoartifact.go
···2525 // name: name of the artifact
2626 Name string `json:"name" cborgen:"name"`
2727 // repo: repo that this artifact is being uploaded to
2828- Repo string `json:"repo" cborgen:"repo"`
2828+ Repo string `json:"repo" cborgen:"repo"`
2929+ RepoDid *string `json:"repoDid,omitempty" cborgen:"repoDid,omitempty"`
2930 // tag: hash of the tag object that this artifact is attached to (only annotated tags are supported)
3031 Tag util.LexBytes `json:"tag,omitempty" cborgen:"tag,omitempty"`
3132}
···11+// Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT.
22+33+package tangled
44+55+// schema: sh.tangled.repo.resolveAtUri
66+77+import (
88+ "context"
99+1010+ "github.com/bluesky-social/indigo/lex/util"
1111+)
1212+1313+const (
1414+ RepoResolveAtUriNSID = "sh.tangled.repo.resolveAtUri"
1515+)
1616+1717+// RepoResolveAtUri_Output is the output of a sh.tangled.repo.resolveAtUri call.
1818+type RepoResolveAtUri_Output struct {
1919+ Did string `json:"did" cborgen:"did"`
2020+}
2121+2222+// RepoResolveAtUri calls the XRPC method "sh.tangled.repo.resolveAtUri".
2323+func RepoResolveAtUri(ctx context.Context, c util.LexClient, atUri string) (*RepoResolveAtUri_Output, error) {
2424+ var out RepoResolveAtUri_Output
2525+2626+ params := map[string]interface{}{}
2727+ params["atUri"] = atUri
2828+ if err := c.LexDo(ctx, util.Query, "", "sh.tangled.repo.resolveAtUri", params, nil, &out); err != nil {
2929+ return nil, err
3030+ }
3131+3232+ return &out, nil
3333+}
+2-1
api/tangled/tangledrepo.go
···2525 // labels: List of labels that this repo subscribes to
2626 Labels []string `json:"labels,omitempty" cborgen:"labels,omitempty"`
2727 // name: name of the repo
2828- Name string `json:"name" cborgen:"name"`
2828+ Name string `json:"name" cborgen:"name"`
2929+ RepoDid *string `json:"repoDid,omitempty" cborgen:"repoDid,omitempty"`
2930 // source: source of the repo
3031 Source *string `json:"source,omitempty" cborgen:"source,omitempty"`
3132 // spindle: CI runner to send jobs to and receive results from
+39
appview/db/db.go
···12551255 return err
12561256 })
1257125712581258+ orm.RunMigration(conn, logger, "add-repo-did-column", func(tx *sql.Tx) error {
12591259+ _, err := tx.Exec(`
12601260+ alter table repos add column repo_did text;
12611261+ create unique index if not exists idx_repos_repo_did on repos(repo_did);
12621262+12631263+ alter table issues add column repo_did text;
12641264+ alter table pulls add column repo_did text;
12651265+ alter table artifacts add column repo_did text;
12661266+ alter table webhooks add column repo_did text;
12671267+ alter table collaborators add column repo_did text;
12681268+ alter table pull_comments add column repo_did text;
12691269+ alter table profile_pinned_repositories add column repo_did text;
12701270+ alter table repo_issue_seqs add column repo_did text;
12711271+ alter table repo_pull_seqs add column repo_did text;
12721272+ alter table repo_languages add column repo_did text;
12731273+ alter table repo_labels add column repo_did text;
12741274+ alter table stars add column subject_did text;
12751275+ `)
12761276+ return err
12771277+ })
12781278+12791279+ orm.RunMigration(conn, logger, "add-pds-rewrite-status", func(tx *sql.Tx) error {
12801280+ _, err := tx.Exec(`
12811281+ create table if not exists pds_rewrite_status (
12821282+ id integer primary key autoincrement,
12831283+ user_did text not null,
12841284+ repo_did text not null,
12851285+ record_nsid text not null,
12861286+ record_rkey text not null,
12871287+ old_repo_at text not null,
12881288+ status text not null default 'pending',
12891289+ updated_at text not null default (strftime('%Y-%m-%dT%H:%M:%SZ', 'now')),
12901290+ unique(user_did, record_nsid, record_rkey)
12911291+ );
12921292+ create index if not exists idx_pds_rewrite_user on pds_rewrite_status(user_did, status);
12931293+ `)
12941294+ return err
12951295+ })
12961296+12581297 return &DB{
12591298 db,
12601299 logger,
+12
knotserver/db/db.go
···6565 primary key (rkey, nsid)
6666 );
67676868+ create table if not exists repo_keys (
6969+ repo_did text primary key,
7070+ signing_key blob not null,
7171+ created_at text not null default (strftime('%Y-%m-%dT%H:%M:%SZ', 'now'))
7272+ );
7373+7474+ create table if not exists repo_at_history (
7575+ old_repo_at text primary key,
7676+ repo_did text not null,
7777+ created_at text not null default (strftime('%Y-%m-%dT%H:%M:%SZ', 'now'))
7878+ );
7979+6880 create table if not exists migrations (
6981 id integer primary key autoincrement,
7082 name text unique
+9
lexicons/actor/profile.json
···6060 "maxGraphemes": 40,
6161 "maxLength": 400
6262 },
6363+ "pinnedRepositoryDids": {
6464+ "type": "array",
6565+ "minLength": 0,
6666+ "maxLength": 6,
6767+ "items": {
6868+ "type": "string",
6969+ "format": "did"
7070+ }
7171+ },
6372 "pinnedRepositories": {
6473 "type": "array",
6574 "description": "Any ATURI, it is up to appviews to validate these fields.",
···2626 "format": "at-uri",
2727 "description": "repo that this artifact is being uploaded to"
2828 },
2929+ "repoDid": {
3030+ "type": "string",
3131+ "format": "did"
3232+ },
2933 "tag": {
3034 "type": "bytes",
3135 "description": "hash of the tag object that this artifact is attached to (only annotated tags are supported)",