lists-free.openapps.xyz

Source

This app’s code and revision history are public. Download a copy or explore the files below.

Public
The app’s code and revision history are public.
Owned app · rev ebccaf0b13fe
Run it yourself
Take the whole tree and run it on your own machine. The download needs no account. Cloning needs a sign-in.
Download .zip
bounded clone ee59501e91bae6d2c23a8370
A copy you download is not bounded. The guarantees this app runs under - declared egress, proven invariants, writes that fail closed - live in the runtime serving this page, not in the files. What you get is auditable source you can read and run, with no runtime guarantees attached.
← All files
policy-tests/api.json
{
 "version": "1",
 "name": "the assistant API acts as one shared principal and must present the current key every time",
 "actors": {
  "Ann": "ann_guest",
  "Ben": "ben_guest",
  "Cal": "cal_guest",
  "Dan": "dan_guest",
  "Eve": "eve_guest",
  "Api": "api_guest"
 },
 "steps": [
  {
   "op": "setTime",
   "epoch": 1800000000
  },
  {
   "op": "as",
   "who": "Ann"
  },
  {
   "op": "setMany",
   "writes": [
    {
     "path": "lists/listAAAAAAAAAAAAAAAA",
     "data": {
      "name": "Groceries",
      "kind": "grocery",
      "order": "",
      "createdBy": "$Ann",
      "createdAt": 1800000000
     }
    },
    {
     "path": "lists/listAAAAAAAAAAAAAAAA/members/ann_guest",
     "data": {
      "name": "",
      "at": 1800000000
     }
    },
    {
     "path": "lists/listAAAAAAAAAAAAAAAA/owners/ann_guest",
     "data": {
      "at": 1800000000
     }
    },
    {
     "path": "listkeys/listAAAAAAAAAAAAAAAA",
     "data": {
      "key": "keyaaaaaaaaaaaaaaaaaaaaa"
     }
    },
    {
     "path": "ownerkeys/listAAAAAAAAAAAAAAAA",
     "data": {
      "key": "ownerkeyaaaaaaaaaaaaaaaa"
     }
    }
   ]
  },
  {
   "op": "as",
   "who": "Api"
  },
  {
   "op": "set",
   "path": "lists/listAAAAAAAAAAAAAAAA/claims/api_guest",
   "data": {
    "key": "wrongwrongwrongwrongwron",
    "n": "a"
   },
   "shouldFail": true
  },
  {
   "op": "set",
   "path": "lists/listAAAAAAAAAAAAAAAA/members/api_guest",
   "data": {
    "name": "Assistant",
    "at": 1800000000
   },
   "shouldFail": true
  },
  {
   "op": "set",
   "path": "lists/listAAAAAAAAAAAAAAAA/claims/api_guest",
   "data": {
    "key": "keyaaaaaaaaaaaaaaaaaaaaa",
    "n": "a"
   }
  },
  {
   "op": "set",
   "path": "lists/listAAAAAAAAAAAAAAAA/members/api_guest",
   "data": {
    "name": "Assistant",
    "at": 1800000000
   }
  },
  {
   "op": "set",
   "path": "lists/listAAAAAAAAAAAAAAAA/items/i1",
   "data": {
    "name": "Milk",
    "qty": "",
    "note": "",
    "section": "dairy",
    "checked": false,
    "addedAt": 1800000000123
   }
  },
  {
   "op": "set",
   "path": "lists/listAAAAAAAAAAAAAAAA/known/i1",
   "data": {
    "name": "Milk",
    "section": "dairy",
    "uses": {
     "operation": "increment",
     "value": 1
    },
    "at": 1800000000
   }
  },
  {
   "op": "set",
   "path": "lists/listAAAAAAAAAAAAAAAA/claims/api_guest",
   "data": {
    "key": "keyaaaaaaaaaaaaaaaaaaaaa",
    "n": "b"
   }
  },
  {
   "op": "as",
   "who": "Ann"
  },
  {
   "op": "set",
   "path": "listkeys/listAAAAAAAAAAAAAAAA",
   "data": {
    "key": "keybbbbbbbbbbbbbbbbbbbbb"
   }
  },
  {
   "op": "as",
   "who": "Api"
  },
  {
   "op": "set",
   "path": "lists/listAAAAAAAAAAAAAAAA/claims/api_guest",
   "data": {
    "key": "keyaaaaaaaaaaaaaaaaaaaaa",
    "n": "c"
   },
   "shouldFail": true
  },
  {
   "op": "set",
   "path": "lists/listAAAAAAAAAAAAAAAA/claims/api_guest",
   "data": {
    "key": "keybbbbbbbbbbbbbbbbbbbbb",
    "n": "d"
   }
  },
  {
   "op": "setMany",
   "writes": [
    {
     "path": "lists/listBBBBBBBBBBBBBBBB",
     "data": {
      "name": "Packing",
      "kind": "todo",
      "order": "",
      "createdBy": "$Api",
      "createdAt": 1800000000
     }
    },
    {
     "path": "lists/listBBBBBBBBBBBBBBBB/members/api_guest",
     "data": {
      "name": "",
      "at": 1800000000
     }
    },
    {
     "path": "lists/listBBBBBBBBBBBBBBBB/owners/api_guest",
     "data": {
      "at": 1800000000
     }
    },
    {
     "path": "listkeys/listBBBBBBBBBBBBBBBB",
     "data": {
      "key": "keyaaaaaaaaaaaaaaaaaaaaa"
     }
    },
    {
     "path": "ownerkeys/listBBBBBBBBBBBBBBBB",
     "data": {
      "key": "ownerkeyaaaaaaaaaaaaaaaa"
     }
    },
    {
     "path": "lists/listBBBBBBBBBBBBBBBB/items/i1",
     "data": {
      "name": "Tent",
      "qty": "",
      "note": "",
      "section": "other",
      "checked": false,
      "addedAt": 1800000000123
     }
    },
    {
     "path": "lists/listBBBBBBBBBBBBBBBB/known/i1",
     "data": {
      "name": "Tent",
      "section": "other",
      "uses": 1,
      "at": 1800000000
     }
    }
   ]
  },
  {
   "op": "expect",
   "expr": "get(/lists/listBBBBBBBBBBBBBBBB/owners/api_guest) != null"
  },
  {
   "op": "as",
   "who": "Ann"
  },
  {
   "op": "setMany",
   "writes": [
    {
     "path": "lists/listBBBBBBBBBBBBBBBB/ownerclaims/ann_guest",
     "data": {
      "key": "ownerkeyaaaaaaaaaaaaaaaa",
      "n": "a"
     }
    },
    {
     "path": "lists/listBBBBBBBBBBBBBBBB/members/ann_guest",
     "data": {
      "name": "",
      "at": 1800000000
     }
    },
    {
     "path": "lists/listBBBBBBBBBBBBBBBB/owners/ann_guest",
     "data": {
      "at": 1800000000
     }
    }
   ]
  },
  {
   "op": "set",
   "path": "lists/listBBBBBBBBBBBBBBBB",
   "data": {
    "name": "Camping"
   }
  }
 ]
}

Change history

Point OpenApps links to openapps.free
ebccaf0b13 · 17 hours ago
Bind agent address in policy constants
519855687c · 19 hours ago
Use OpenApps service URLs and add contribution strip
2c353edfdc · 19 hours ago
Bounded source sync
58ac7e08ec · 1 day ago
Bounded source sync
150962f3d9 · 1 day ago
Bounded source sync
e52e4676b9 · 1 day ago