mirror of
https://github.com/coder/coder.git
synced 2025-07-10 23:53:15 +00:00
chore: fix some small groups and acl typos (#18732)
- Add `format:"uri"` to `Group.AvatarURL` (matches `User.AvatarURL` field) - `<user_id>` and `<group_id>` were backwards in the `example:` tags - The `@Success` annotation for `/acl [get]` had an incorrect type
This commit is contained in:
85
coderd/apidoc/docs.go
generated
85
coderd/apidoc/docs.go
generated
@ -5211,10 +5211,7 @@ const docTemplate = `{
|
|||||||
"200": {
|
"200": {
|
||||||
"description": "OK",
|
"description": "OK",
|
||||||
"schema": {
|
"schema": {
|
||||||
"type": "array",
|
"$ref": "#/definitions/codersdk.TemplateACL"
|
||||||
"items": {
|
|
||||||
"$ref": "#/definitions/codersdk.TemplateUser"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -12868,7 +12865,8 @@ const docTemplate = `{
|
|||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"avatar_url": {
|
"avatar_url": {
|
||||||
"type": "string"
|
"type": "string",
|
||||||
|
"format": "uri"
|
||||||
},
|
},
|
||||||
"display_name": {
|
"display_name": {
|
||||||
"type": "string"
|
"type": "string"
|
||||||
@ -16011,6 +16009,23 @@ const docTemplate = `{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"codersdk.TemplateACL": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"group": {
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"$ref": "#/definitions/codersdk.TemplateGroup"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"users": {
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"$ref": "#/definitions/codersdk.TemplateUser"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"codersdk.TemplateAppUsage": {
|
"codersdk.TemplateAppUsage": {
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
@ -16143,6 +16158,62 @@ const docTemplate = `{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"codersdk.TemplateGroup": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"avatar_url": {
|
||||||
|
"type": "string",
|
||||||
|
"format": "uri"
|
||||||
|
},
|
||||||
|
"display_name": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"id": {
|
||||||
|
"type": "string",
|
||||||
|
"format": "uuid"
|
||||||
|
},
|
||||||
|
"members": {
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"$ref": "#/definitions/codersdk.ReducedUser"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"name": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"organization_display_name": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"organization_id": {
|
||||||
|
"type": "string",
|
||||||
|
"format": "uuid"
|
||||||
|
},
|
||||||
|
"organization_name": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"quota_allowance": {
|
||||||
|
"type": "integer"
|
||||||
|
},
|
||||||
|
"role": {
|
||||||
|
"enum": [
|
||||||
|
"admin",
|
||||||
|
"use"
|
||||||
|
],
|
||||||
|
"allOf": [
|
||||||
|
{
|
||||||
|
"$ref": "#/definitions/codersdk.TemplateRole"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"source": {
|
||||||
|
"$ref": "#/definitions/codersdk.GroupSource"
|
||||||
|
},
|
||||||
|
"total_member_count": {
|
||||||
|
"description": "How many members are in this group. Shows the total count,\neven if the user is not authorized to read group member details.\nMay be greater than ` + "`" + `len(Group.Members)` + "`" + `.",
|
||||||
|
"type": "integer"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"codersdk.TemplateInsightsIntervalReport": {
|
"codersdk.TemplateInsightsIntervalReport": {
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
@ -16764,7 +16835,7 @@ const docTemplate = `{
|
|||||||
},
|
},
|
||||||
"example": {
|
"example": {
|
||||||
"8bd26b20-f3e8-48be-a903-46bb920cf671": "use",
|
"8bd26b20-f3e8-48be-a903-46bb920cf671": "use",
|
||||||
"\u003cuser_id\u003e\u003e": "admin"
|
"\u003cgroup_id\u003e": "admin"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"user_perms": {
|
"user_perms": {
|
||||||
@ -16775,7 +16846,7 @@ const docTemplate = `{
|
|||||||
},
|
},
|
||||||
"example": {
|
"example": {
|
||||||
"4df59e74-c027-470b-ab4d-cbba8963a5e9": "use",
|
"4df59e74-c027-470b-ab4d-cbba8963a5e9": "use",
|
||||||
"\u003cgroup_id\u003e": "admin"
|
"\u003cuser_id\u003e": "admin"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
82
coderd/apidoc/swagger.json
generated
82
coderd/apidoc/swagger.json
generated
@ -4590,10 +4590,7 @@
|
|||||||
"200": {
|
"200": {
|
||||||
"description": "OK",
|
"description": "OK",
|
||||||
"schema": {
|
"schema": {
|
||||||
"type": "array",
|
"$ref": "#/definitions/codersdk.TemplateACL"
|
||||||
"items": {
|
|
||||||
"$ref": "#/definitions/codersdk.TemplateUser"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -11549,7 +11546,8 @@
|
|||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"avatar_url": {
|
"avatar_url": {
|
||||||
"type": "string"
|
"type": "string",
|
||||||
|
"format": "uri"
|
||||||
},
|
},
|
||||||
"display_name": {
|
"display_name": {
|
||||||
"type": "string"
|
"type": "string"
|
||||||
@ -14575,6 +14573,23 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"codersdk.TemplateACL": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"group": {
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"$ref": "#/definitions/codersdk.TemplateGroup"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"users": {
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"$ref": "#/definitions/codersdk.TemplateUser"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"codersdk.TemplateAppUsage": {
|
"codersdk.TemplateAppUsage": {
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
@ -14701,6 +14716,59 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"codersdk.TemplateGroup": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"avatar_url": {
|
||||||
|
"type": "string",
|
||||||
|
"format": "uri"
|
||||||
|
},
|
||||||
|
"display_name": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"id": {
|
||||||
|
"type": "string",
|
||||||
|
"format": "uuid"
|
||||||
|
},
|
||||||
|
"members": {
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"$ref": "#/definitions/codersdk.ReducedUser"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"name": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"organization_display_name": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"organization_id": {
|
||||||
|
"type": "string",
|
||||||
|
"format": "uuid"
|
||||||
|
},
|
||||||
|
"organization_name": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"quota_allowance": {
|
||||||
|
"type": "integer"
|
||||||
|
},
|
||||||
|
"role": {
|
||||||
|
"enum": ["admin", "use"],
|
||||||
|
"allOf": [
|
||||||
|
{
|
||||||
|
"$ref": "#/definitions/codersdk.TemplateRole"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"source": {
|
||||||
|
"$ref": "#/definitions/codersdk.GroupSource"
|
||||||
|
},
|
||||||
|
"total_member_count": {
|
||||||
|
"description": "How many members are in this group. Shows the total count,\neven if the user is not authorized to read group member details.\nMay be greater than `len(Group.Members)`.",
|
||||||
|
"type": "integer"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"codersdk.TemplateInsightsIntervalReport": {
|
"codersdk.TemplateInsightsIntervalReport": {
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
@ -15287,7 +15355,7 @@
|
|||||||
},
|
},
|
||||||
"example": {
|
"example": {
|
||||||
"8bd26b20-f3e8-48be-a903-46bb920cf671": "use",
|
"8bd26b20-f3e8-48be-a903-46bb920cf671": "use",
|
||||||
"\u003cuser_id\u003e\u003e": "admin"
|
"\u003cgroup_id\u003e": "admin"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"user_perms": {
|
"user_perms": {
|
||||||
@ -15298,7 +15366,7 @@
|
|||||||
},
|
},
|
||||||
"example": {
|
"example": {
|
||||||
"4df59e74-c027-470b-ab4d-cbba8963a5e9": "use",
|
"4df59e74-c027-470b-ab4d-cbba8963a5e9": "use",
|
||||||
"\u003cgroup_id\u003e": "admin"
|
"\u003cuser_id\u003e": "admin"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -36,7 +36,7 @@ type Group struct {
|
|||||||
// even if the user is not authorized to read group member details.
|
// even if the user is not authorized to read group member details.
|
||||||
// May be greater than `len(Group.Members)`.
|
// May be greater than `len(Group.Members)`.
|
||||||
TotalMemberCount int `json:"total_member_count"`
|
TotalMemberCount int `json:"total_member_count"`
|
||||||
AvatarURL string `json:"avatar_url"`
|
AvatarURL string `json:"avatar_url" format:"uri"`
|
||||||
QuotaAllowance int `json:"quota_allowance"`
|
QuotaAllowance int `json:"quota_allowance"`
|
||||||
Source GroupSource `json:"source"`
|
Source GroupSource `json:"source"`
|
||||||
OrganizationName string `json:"organization_name"`
|
OrganizationName string `json:"organization_name"`
|
||||||
|
@ -194,9 +194,9 @@ type TemplateUser struct {
|
|||||||
type UpdateTemplateACL struct {
|
type UpdateTemplateACL struct {
|
||||||
// UserPerms should be a mapping of user id to role. The user id must be the
|
// UserPerms should be a mapping of user id to role. The user id must be the
|
||||||
// uuid of the user, not a username or email address.
|
// uuid of the user, not a username or email address.
|
||||||
UserPerms map[string]TemplateRole `json:"user_perms,omitempty" example:"<group_id>:admin,4df59e74-c027-470b-ab4d-cbba8963a5e9:use"`
|
UserPerms map[string]TemplateRole `json:"user_perms,omitempty" example:"<user_id>:admin,4df59e74-c027-470b-ab4d-cbba8963a5e9:use"`
|
||||||
// GroupPerms should be a mapping of group id to role.
|
// GroupPerms should be a mapping of group id to role.
|
||||||
GroupPerms map[string]TemplateRole `json:"group_perms,omitempty" example:"<user_id>>:admin,8bd26b20-f3e8-48be-a903-46bb920cf671:use"`
|
GroupPerms map[string]TemplateRole `json:"group_perms,omitempty" example:"<group_id>:admin,8bd26b20-f3e8-48be-a903-46bb920cf671:use"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// ACLAvailable is a list of users and groups that can be added to a template
|
// ACLAvailable is a list of users and groups that can be added to a template
|
||||||
|
156
docs/reference/api/enterprise.md
generated
156
docs/reference/api/enterprise.md
generated
@ -289,7 +289,7 @@ curl -X GET http://coder-server:8080/api/v2/groups?organization=string&has_membe
|
|||||||
```json
|
```json
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
"avatar_url": "string",
|
"avatar_url": "http://example.com",
|
||||||
"display_name": "string",
|
"display_name": "string",
|
||||||
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
|
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
|
||||||
"members": [
|
"members": [
|
||||||
@ -331,7 +331,7 @@ Status Code **200**
|
|||||||
| Name | Type | Required | Restrictions | Description |
|
| Name | Type | Required | Restrictions | Description |
|
||||||
|-------------------------------|--------------------------------------------------------|----------|--------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
|-------------------------------|--------------------------------------------------------|----------|--------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||||
| `[array item]` | array | false | | |
|
| `[array item]` | array | false | | |
|
||||||
| `» avatar_url` | string | false | | |
|
| `» avatar_url` | string(uri) | false | | |
|
||||||
| `» display_name` | string | false | | |
|
| `» display_name` | string | false | | |
|
||||||
| `» id` | string(uuid) | false | | |
|
| `» id` | string(uuid) | false | | |
|
||||||
| `» members` | array | false | | |
|
| `» members` | array | false | | |
|
||||||
@ -396,7 +396,7 @@ curl -X GET http://coder-server:8080/api/v2/groups/{group} \
|
|||||||
|
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
"avatar_url": "string",
|
"avatar_url": "http://example.com",
|
||||||
"display_name": "string",
|
"display_name": "string",
|
||||||
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
|
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
|
||||||
"members": [
|
"members": [
|
||||||
@ -457,7 +457,7 @@ curl -X DELETE http://coder-server:8080/api/v2/groups/{group} \
|
|||||||
|
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
"avatar_url": "string",
|
"avatar_url": "http://example.com",
|
||||||
"display_name": "string",
|
"display_name": "string",
|
||||||
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
|
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
|
||||||
"members": [
|
"members": [
|
||||||
@ -537,7 +537,7 @@ curl -X PATCH http://coder-server:8080/api/v2/groups/{group} \
|
|||||||
|
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
"avatar_url": "string",
|
"avatar_url": "http://example.com",
|
||||||
"display_name": "string",
|
"display_name": "string",
|
||||||
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
|
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
|
||||||
"members": [
|
"members": [
|
||||||
@ -1508,7 +1508,7 @@ curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/groups
|
|||||||
```json
|
```json
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
"avatar_url": "string",
|
"avatar_url": "http://example.com",
|
||||||
"display_name": "string",
|
"display_name": "string",
|
||||||
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
|
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
|
||||||
"members": [
|
"members": [
|
||||||
@ -1550,7 +1550,7 @@ Status Code **200**
|
|||||||
| Name | Type | Required | Restrictions | Description |
|
| Name | Type | Required | Restrictions | Description |
|
||||||
|-------------------------------|--------------------------------------------------------|----------|--------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
|-------------------------------|--------------------------------------------------------|----------|--------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||||
| `[array item]` | array | false | | |
|
| `[array item]` | array | false | | |
|
||||||
| `» avatar_url` | string | false | | |
|
| `» avatar_url` | string(uri) | false | | |
|
||||||
| `» display_name` | string | false | | |
|
| `» display_name` | string | false | | |
|
||||||
| `» id` | string(uuid) | false | | |
|
| `» id` | string(uuid) | false | | |
|
||||||
| `» members` | array | false | | |
|
| `» members` | array | false | | |
|
||||||
@ -1628,7 +1628,7 @@ curl -X POST http://coder-server:8080/api/v2/organizations/{organization}/groups
|
|||||||
|
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
"avatar_url": "string",
|
"avatar_url": "http://example.com",
|
||||||
"display_name": "string",
|
"display_name": "string",
|
||||||
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
|
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
|
||||||
"members": [
|
"members": [
|
||||||
@ -1690,7 +1690,7 @@ curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/groups/
|
|||||||
|
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
"avatar_url": "string",
|
"avatar_url": "http://example.com",
|
||||||
"display_name": "string",
|
"display_name": "string",
|
||||||
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
|
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
|
||||||
"members": [
|
"members": [
|
||||||
@ -3379,79 +3379,71 @@ curl -X GET http://coder-server:8080/api/v2/templates/{template}/acl \
|
|||||||
> 200 Response
|
> 200 Response
|
||||||
|
|
||||||
```json
|
```json
|
||||||
[
|
{
|
||||||
{
|
"group": [
|
||||||
"avatar_url": "http://example.com",
|
{
|
||||||
"created_at": "2019-08-24T14:15:22Z",
|
"avatar_url": "http://example.com",
|
||||||
"email": "user@example.com",
|
"display_name": "string",
|
||||||
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
|
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
|
||||||
"last_seen_at": "2019-08-24T14:15:22Z",
|
"members": [
|
||||||
"login_type": "",
|
{
|
||||||
"name": "string",
|
"avatar_url": "http://example.com",
|
||||||
"organization_ids": [
|
"created_at": "2019-08-24T14:15:22Z",
|
||||||
"497f6eca-6276-4993-bfeb-53cbbbba6f08"
|
"email": "user@example.com",
|
||||||
],
|
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
|
||||||
"role": "admin",
|
"last_seen_at": "2019-08-24T14:15:22Z",
|
||||||
"roles": [
|
"login_type": "",
|
||||||
{
|
"name": "string",
|
||||||
"display_name": "string",
|
"status": "active",
|
||||||
"name": "string",
|
"theme_preference": "string",
|
||||||
"organization_id": "string"
|
"updated_at": "2019-08-24T14:15:22Z",
|
||||||
}
|
"username": "string"
|
||||||
],
|
}
|
||||||
"status": "active",
|
],
|
||||||
"theme_preference": "string",
|
"name": "string",
|
||||||
"updated_at": "2019-08-24T14:15:22Z",
|
"organization_display_name": "string",
|
||||||
"username": "string"
|
"organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
|
||||||
}
|
"organization_name": "string",
|
||||||
]
|
"quota_allowance": 0,
|
||||||
|
"role": "admin",
|
||||||
|
"source": "user",
|
||||||
|
"total_member_count": 0
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"users": [
|
||||||
|
{
|
||||||
|
"avatar_url": "http://example.com",
|
||||||
|
"created_at": "2019-08-24T14:15:22Z",
|
||||||
|
"email": "user@example.com",
|
||||||
|
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
|
||||||
|
"last_seen_at": "2019-08-24T14:15:22Z",
|
||||||
|
"login_type": "",
|
||||||
|
"name": "string",
|
||||||
|
"organization_ids": [
|
||||||
|
"497f6eca-6276-4993-bfeb-53cbbbba6f08"
|
||||||
|
],
|
||||||
|
"role": "admin",
|
||||||
|
"roles": [
|
||||||
|
{
|
||||||
|
"display_name": "string",
|
||||||
|
"name": "string",
|
||||||
|
"organization_id": "string"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"status": "active",
|
||||||
|
"theme_preference": "string",
|
||||||
|
"updated_at": "2019-08-24T14:15:22Z",
|
||||||
|
"username": "string"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
### Responses
|
### Responses
|
||||||
|
|
||||||
| Status | Meaning | Description | Schema |
|
| Status | Meaning | Description | Schema |
|
||||||
|--------|---------------------------------------------------------|-------------|-------------------------------------------------------------------|
|
|--------|---------------------------------------------------------|-------------|--------------------------------------------------------|
|
||||||
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.TemplateUser](schemas.md#codersdktemplateuser) |
|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.TemplateACL](schemas.md#codersdktemplateacl) |
|
||||||
|
|
||||||
<h3 id="get-template-acls-responseschema">Response Schema</h3>
|
|
||||||
|
|
||||||
Status Code **200**
|
|
||||||
|
|
||||||
| Name | Type | Required | Restrictions | Description |
|
|
||||||
|----------------------|----------------------------------------------------------|----------|--------------|--------------------------------------------------------------------------------------------|
|
|
||||||
| `[array item]` | array | false | | |
|
|
||||||
| `» avatar_url` | string(uri) | false | | |
|
|
||||||
| `» created_at` | string(date-time) | true | | |
|
|
||||||
| `» email` | string(email) | true | | |
|
|
||||||
| `» id` | string(uuid) | true | | |
|
|
||||||
| `» last_seen_at` | string(date-time) | false | | |
|
|
||||||
| `» login_type` | [codersdk.LoginType](schemas.md#codersdklogintype) | false | | |
|
|
||||||
| `» name` | string | false | | |
|
|
||||||
| `» organization_ids` | array | false | | |
|
|
||||||
| `» role` | [codersdk.TemplateRole](schemas.md#codersdktemplaterole) | false | | |
|
|
||||||
| `» roles` | array | false | | |
|
|
||||||
| `»» display_name` | string | false | | |
|
|
||||||
| `»» name` | string | false | | |
|
|
||||||
| `»» organization_id` | string | false | | |
|
|
||||||
| `» status` | [codersdk.UserStatus](schemas.md#codersdkuserstatus) | false | | |
|
|
||||||
| `» theme_preference` | string | false | | Deprecated: this value should be retrieved from `codersdk.UserPreferenceSettings` instead. |
|
|
||||||
| `» updated_at` | string(date-time) | false | | |
|
|
||||||
| `» username` | string | true | | |
|
|
||||||
|
|
||||||
#### Enumerated Values
|
|
||||||
|
|
||||||
| Property | Value |
|
|
||||||
|--------------|-------------|
|
|
||||||
| `login_type` | `` |
|
|
||||||
| `login_type` | `password` |
|
|
||||||
| `login_type` | `github` |
|
|
||||||
| `login_type` | `oidc` |
|
|
||||||
| `login_type` | `token` |
|
|
||||||
| `login_type` | `none` |
|
|
||||||
| `role` | `admin` |
|
|
||||||
| `role` | `use` |
|
|
||||||
| `status` | `active` |
|
|
||||||
| `status` | `suspended` |
|
|
||||||
|
|
||||||
To perform this operation, you must be authenticated. [Learn more](authentication.md).
|
To perform this operation, you must be authenticated. [Learn more](authentication.md).
|
||||||
|
|
||||||
@ -3475,11 +3467,11 @@ curl -X PATCH http://coder-server:8080/api/v2/templates/{template}/acl \
|
|||||||
{
|
{
|
||||||
"group_perms": {
|
"group_perms": {
|
||||||
"8bd26b20-f3e8-48be-a903-46bb920cf671": "use",
|
"8bd26b20-f3e8-48be-a903-46bb920cf671": "use",
|
||||||
"<user_id>>": "admin"
|
"<group_id>": "admin"
|
||||||
},
|
},
|
||||||
"user_perms": {
|
"user_perms": {
|
||||||
"4df59e74-c027-470b-ab4d-cbba8963a5e9": "use",
|
"4df59e74-c027-470b-ab4d-cbba8963a5e9": "use",
|
||||||
"<group_id>": "admin"
|
"<user_id>": "admin"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
@ -3544,7 +3536,7 @@ curl -X GET http://coder-server:8080/api/v2/templates/{template}/acl/available \
|
|||||||
{
|
{
|
||||||
"groups": [
|
"groups": [
|
||||||
{
|
{
|
||||||
"avatar_url": "string",
|
"avatar_url": "http://example.com",
|
||||||
"display_name": "string",
|
"display_name": "string",
|
||||||
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
|
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
|
||||||
"members": [
|
"members": [
|
||||||
@ -3604,7 +3596,7 @@ Status Code **200**
|
|||||||
|--------------------------------|--------------------------------------------------------|----------|--------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
|--------------------------------|--------------------------------------------------------|----------|--------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||||
| `[array item]` | array | false | | |
|
| `[array item]` | array | false | | |
|
||||||
| `» groups` | array | false | | |
|
| `» groups` | array | false | | |
|
||||||
| `»» avatar_url` | string | false | | |
|
| `»» avatar_url` | string(uri) | false | | |
|
||||||
| `»» display_name` | string | false | | |
|
| `»» display_name` | string | false | | |
|
||||||
| `»» id` | string(uuid) | false | | |
|
| `»» id` | string(uuid) | false | | |
|
||||||
| `»» members` | array | false | | |
|
| `»» members` | array | false | | |
|
||||||
|
135
docs/reference/api/schemas.md
generated
135
docs/reference/api/schemas.md
generated
@ -283,7 +283,7 @@
|
|||||||
{
|
{
|
||||||
"groups": [
|
"groups": [
|
||||||
{
|
{
|
||||||
"avatar_url": "string",
|
"avatar_url": "http://example.com",
|
||||||
"display_name": "string",
|
"display_name": "string",
|
||||||
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
|
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
|
||||||
"members": [
|
"members": [
|
||||||
@ -3423,7 +3423,7 @@ Git clone makes use of this by parsing the URL from: 'Username for "https://gith
|
|||||||
|
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
"avatar_url": "string",
|
"avatar_url": "http://example.com",
|
||||||
"display_name": "string",
|
"display_name": "string",
|
||||||
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
|
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
|
||||||
"members": [
|
"members": [
|
||||||
@ -6760,6 +6760,76 @@ Git clone makes use of this by parsing the URL from: 'Username for "https://gith
|
|||||||
|---------------|-------------|
|
|---------------|-------------|
|
||||||
| `provisioner` | `terraform` |
|
| `provisioner` | `terraform` |
|
||||||
|
|
||||||
|
## codersdk.TemplateACL
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"group": [
|
||||||
|
{
|
||||||
|
"avatar_url": "http://example.com",
|
||||||
|
"display_name": "string",
|
||||||
|
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
|
||||||
|
"members": [
|
||||||
|
{
|
||||||
|
"avatar_url": "http://example.com",
|
||||||
|
"created_at": "2019-08-24T14:15:22Z",
|
||||||
|
"email": "user@example.com",
|
||||||
|
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
|
||||||
|
"last_seen_at": "2019-08-24T14:15:22Z",
|
||||||
|
"login_type": "",
|
||||||
|
"name": "string",
|
||||||
|
"status": "active",
|
||||||
|
"theme_preference": "string",
|
||||||
|
"updated_at": "2019-08-24T14:15:22Z",
|
||||||
|
"username": "string"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"name": "string",
|
||||||
|
"organization_display_name": "string",
|
||||||
|
"organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
|
||||||
|
"organization_name": "string",
|
||||||
|
"quota_allowance": 0,
|
||||||
|
"role": "admin",
|
||||||
|
"source": "user",
|
||||||
|
"total_member_count": 0
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"users": [
|
||||||
|
{
|
||||||
|
"avatar_url": "http://example.com",
|
||||||
|
"created_at": "2019-08-24T14:15:22Z",
|
||||||
|
"email": "user@example.com",
|
||||||
|
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
|
||||||
|
"last_seen_at": "2019-08-24T14:15:22Z",
|
||||||
|
"login_type": "",
|
||||||
|
"name": "string",
|
||||||
|
"organization_ids": [
|
||||||
|
"497f6eca-6276-4993-bfeb-53cbbbba6f08"
|
||||||
|
],
|
||||||
|
"role": "admin",
|
||||||
|
"roles": [
|
||||||
|
{
|
||||||
|
"display_name": "string",
|
||||||
|
"name": "string",
|
||||||
|
"organization_id": "string"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"status": "active",
|
||||||
|
"theme_preference": "string",
|
||||||
|
"updated_at": "2019-08-24T14:15:22Z",
|
||||||
|
"username": "string"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Properties
|
||||||
|
|
||||||
|
| Name | Type | Required | Restrictions | Description |
|
||||||
|
|---------|-----------------------------------------------------------|----------|--------------|-------------|
|
||||||
|
| `group` | array of [codersdk.TemplateGroup](#codersdktemplategroup) | false | | |
|
||||||
|
| `users` | array of [codersdk.TemplateUser](#codersdktemplateuser) | false | | |
|
||||||
|
|
||||||
## codersdk.TemplateAppUsage
|
## codersdk.TemplateAppUsage
|
||||||
|
|
||||||
```json
|
```json
|
||||||
@ -6887,6 +6957,63 @@ Restarts will only happen on weekdays in this list on weeks which line up with W
|
|||||||
| `tags` | array of string | false | | |
|
| `tags` | array of string | false | | |
|
||||||
| `url` | string | false | | |
|
| `url` | string | false | | |
|
||||||
|
|
||||||
|
## codersdk.TemplateGroup
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"avatar_url": "http://example.com",
|
||||||
|
"display_name": "string",
|
||||||
|
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
|
||||||
|
"members": [
|
||||||
|
{
|
||||||
|
"avatar_url": "http://example.com",
|
||||||
|
"created_at": "2019-08-24T14:15:22Z",
|
||||||
|
"email": "user@example.com",
|
||||||
|
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
|
||||||
|
"last_seen_at": "2019-08-24T14:15:22Z",
|
||||||
|
"login_type": "",
|
||||||
|
"name": "string",
|
||||||
|
"status": "active",
|
||||||
|
"theme_preference": "string",
|
||||||
|
"updated_at": "2019-08-24T14:15:22Z",
|
||||||
|
"username": "string"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"name": "string",
|
||||||
|
"organization_display_name": "string",
|
||||||
|
"organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
|
||||||
|
"organization_name": "string",
|
||||||
|
"quota_allowance": 0,
|
||||||
|
"role": "admin",
|
||||||
|
"source": "user",
|
||||||
|
"total_member_count": 0
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Properties
|
||||||
|
|
||||||
|
| Name | Type | Required | Restrictions | Description |
|
||||||
|
|-----------------------------|-------------------------------------------------------|----------|--------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||||
|
| `avatar_url` | string | false | | |
|
||||||
|
| `display_name` | string | false | | |
|
||||||
|
| `id` | string | false | | |
|
||||||
|
| `members` | array of [codersdk.ReducedUser](#codersdkreduceduser) | false | | |
|
||||||
|
| `name` | string | false | | |
|
||||||
|
| `organization_display_name` | string | false | | |
|
||||||
|
| `organization_id` | string | false | | |
|
||||||
|
| `organization_name` | string | false | | |
|
||||||
|
| `quota_allowance` | integer | false | | |
|
||||||
|
| `role` | [codersdk.TemplateRole](#codersdktemplaterole) | false | | |
|
||||||
|
| `source` | [codersdk.GroupSource](#codersdkgroupsource) | false | | |
|
||||||
|
| `total_member_count` | integer | false | | How many members are in this group. Shows the total count, even if the user is not authorized to read group member details. May be greater than `len(Group.Members)`. |
|
||||||
|
|
||||||
|
#### Enumerated Values
|
||||||
|
|
||||||
|
| Property | Value |
|
||||||
|
|----------|---------|
|
||||||
|
| `role` | `admin` |
|
||||||
|
| `role` | `use` |
|
||||||
|
|
||||||
## codersdk.TemplateInsightsIntervalReport
|
## codersdk.TemplateInsightsIntervalReport
|
||||||
|
|
||||||
```json
|
```json
|
||||||
@ -7620,11 +7747,11 @@ Restarts will only happen on weekdays in this list on weeks which line up with W
|
|||||||
{
|
{
|
||||||
"group_perms": {
|
"group_perms": {
|
||||||
"8bd26b20-f3e8-48be-a903-46bb920cf671": "use",
|
"8bd26b20-f3e8-48be-a903-46bb920cf671": "use",
|
||||||
"<user_id>>": "admin"
|
"<group_id>": "admin"
|
||||||
},
|
},
|
||||||
"user_perms": {
|
"user_perms": {
|
||||||
"4df59e74-c027-470b-ab4d-cbba8963a5e9": "use",
|
"4df59e74-c027-470b-ab4d-cbba8963a5e9": "use",
|
||||||
"<group_id>": "admin"
|
"<user_id>": "admin"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
@ -99,7 +99,7 @@ func (api *API) templateAvailablePermissions(rw http.ResponseWriter, r *http.Req
|
|||||||
// @Produce json
|
// @Produce json
|
||||||
// @Tags Enterprise
|
// @Tags Enterprise
|
||||||
// @Param template path string true "Template ID" format(uuid)
|
// @Param template path string true "Template ID" format(uuid)
|
||||||
// @Success 200 {array} codersdk.TemplateUser
|
// @Success 200 {object} codersdk.TemplateACL
|
||||||
// @Router /templates/{template}/acl [get]
|
// @Router /templates/{template}/acl [get]
|
||||||
func (api *API) templateACL(rw http.ResponseWriter, r *http.Request) {
|
func (api *API) templateACL(rw http.ResponseWriter, r *http.Request) {
|
||||||
var (
|
var (
|
||||||
|
Reference in New Issue
Block a user