Skip to main content

vaults.listMine

Returns all vault memberships for the currently authenticated user, including vault metadata, role information, and computed permissions.

Request

No input parameters required. Uses authenticated session context.
const memberships = await trpc.vaults.listMine.query();

Response

Returns an array of vault membership objects.
membershipId
string
required
UUID of the vault membership record
vaultId
string
required
UUID of the vault
role
enum
required
User’s role in the vault. One of: owner, admin, member
isEnabled
boolean
required
Whether the membership is currently enabled
canRead
boolean
required
Computed permission: whether the user can read from this vault
canWrite
boolean
required
Computed permission: whether the user can write to this vault
canAdmin
boolean
required
Computed permission: whether the user can administer this vault
isReadOnly
boolean
required
Computed flag indicating if the vault is read-only for this user
vault
object
required
Vault metadata object

Example

import { createTRPCClient } from '@trpc/client';
import type { AppRouter } from '@better-skills/api';

const trpc = createTRPCClient<AppRouter>({
  // ... tRPC client config
});

const memberships = await trpc.vaults.listMine.query();

console.log(memberships);
// [
//   {
//     membershipId: "a1b2c3d4-...",
//     vaultId: "e5f6g7h8-...",
//     role: "owner",
//     isEnabled: true,
//     canRead: true,
//     canWrite: true,
//     canAdmin: true,
//     isReadOnly: false,
//     vault: {
//       id: "e5f6g7h8-...",
//       slug: "my-personal-vault",
//       name: "My Personal Vault",
//       type: "personal",
//       color: "#3b82f6",
//       isSystemManaged: false
//     }
//   }
// ]

Notes

  • Permissions (canRead, canWrite, canAdmin, isReadOnly) are computed based on vault type and user role
  • System-managed vaults may have different permission rules
  • Disabled memberships (isEnabled: false) are still returned but may be filtered by the client

Build docs developers (and LLMs) love