aboutsummaryrefslogtreecommitdiffstats
path: root/docs/get-started-cli.md
blob: a1ffa4f07319f98102dfc52d11cd924e09e8f5e2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
# Get started with the CLI

## Create a new project

Create a new folder for your project, `my-project`. Change into it, and set `AMCS_CONTENT` to the folder that should store your content.

```console
mkdir -p my-project
cd my-project
export ACMS_CONTENT=$PWD/content
```

## Create a restaurant collection type

```console
acms collection add restaurant <<'EOF'
{
  "name": "Biscotte Restaurant",
  "description": "Welcome to Biscotte restaurant! Restaurant Biscotte offers a cuisine based on fresh, quality products, often local, organic when possible, and always produced by passionate producers."
}
EOF
```

Take note of the `$fileName` in the output. Note that it should be different for you.

```json
{
    "$fileName": "9474f0eb-06d7-4fd8-b89e-0ce996962508.json",
    "description": "Welcome to Biscotte restaurant! Restaurant Biscotte offers a cuisine based on fresh, quality products, often local, organic when possible, and always produced by passionate producers.",
    "name": "Biscotte Restaurant"
}
```

## Create a category collection type

```console
acms collection add category <<'EOF'
{
  "name": "French Food",
  "restaurant": { "$ref": "restaurant/9474f0eb-06d7-4fd8-b89e-0ce996962508.json" }
}
EOF
```

```console
acms collection add category <<'EOF'
{
  "name": "Brunch",
  "restaurant": { "$ref": "restaurant/9474f0eb-06d7-4fd8-b89e-0ce996962508.json" }
}
EOF
```

## Query the API

```console
curl 'http://localhost:8081' --data '
  SELECT
    {
      name: restaurant.name,
      description: restaurant.description,
      category: {
        category: category.name
      }
    }
  FROM
    restaurant
  LEFT JOIN
    category
  ON
    category.restaurant == restaurant.$fileName
' | jq .
```

```json
[
  {
    "category": {
      "category": null
    },
    "description": "Welcome to Biscotte restaurant! Restaurant Biscotte offers a cuisine based on fresh, quality products, often local, organic when possible, and always produced by passionate producers.",
    "name": "Biscotte Restaurant"
  }
]
```