diff --git a/Makefile b/Makefile index 084e8bb77e5f0..cd73c0e166bba 100644 --- a/Makefile +++ b/Makefile @@ -495,6 +495,7 @@ gen: \ coderd/rbac/object_gen.go \ codersdk/rbacresources_gen.go \ site/src/api/rbacresourcesGenerated.ts \ + site/src/api/countriesGenerated.ts \ docs/admin/integrations/prometheus.md \ docs/reference/cli/index.md \ docs/admin/security/audit-logs.md \ @@ -526,6 +527,7 @@ gen/mark-fresh: coderd/rbac/object_gen.go \ codersdk/rbacresources_gen.go \ site/src/api/rbacresourcesGenerated.ts \ + site/src/api/countriesGenerated.ts \ docs/admin/integrations/prometheus.md \ docs/reference/cli/index.md \ docs/admin/security/audit-logs.md \ @@ -628,17 +630,20 @@ site/src/theme/icons.json: $(wildcard scripts/gensite/*) $(wildcard site/static/ examples/examples.gen.json: scripts/examplegen/main.go examples/examples.go $(shell find ./examples/templates) go run ./scripts/examplegen/main.go > examples/examples.gen.json -coderd/rbac/object_gen.go: scripts/rbacgen/rbacobject.gotmpl scripts/rbacgen/main.go coderd/rbac/object.go coderd/rbac/policy/policy.go - go run scripts/rbacgen/main.go rbac > coderd/rbac/object_gen.go +coderd/rbac/object_gen.go: scripts/typegen/rbacobject.gotmpl scripts/typegen/main.go coderd/rbac/object.go coderd/rbac/policy/policy.go + go run scripts/typegen/main.go rbac object > coderd/rbac/object_gen.go -codersdk/rbacresources_gen.go: scripts/rbacgen/codersdk.gotmpl scripts/rbacgen/main.go coderd/rbac/object.go coderd/rbac/policy/policy.go +codersdk/rbacresources_gen.go: scripts/typegen/codersdk.gotmpl scripts/typegen/main.go coderd/rbac/object.go coderd/rbac/policy/policy.go # Do no overwrite codersdk/rbacresources_gen.go directly, as it would make the file empty, breaking # the `codersdk` package and any parallel build targets. - go run scripts/rbacgen/main.go codersdk > /tmp/rbacresources_gen.go + go run scripts/typegen/main.go rbac codersdk > /tmp/rbacresources_gen.go mv /tmp/rbacresources_gen.go codersdk/rbacresources_gen.go -site/src/api/rbacresourcesGenerated.ts: scripts/rbacgen/codersdk.gotmpl scripts/rbacgen/main.go coderd/rbac/object.go coderd/rbac/policy/policy.go - go run scripts/rbacgen/main.go typescript > "$@" +site/src/api/rbacresourcesGenerated.ts: scripts/typegen/codersdk.gotmpl scripts/typegen/main.go coderd/rbac/object.go coderd/rbac/policy/policy.go + go run scripts/typegen/main.go rbac typescript > "$@" + +site/src/api/countriesGenerated.ts: scripts/typegen/countries.tstmpl scripts/typegen/main.go codersdk/countries.go + go run scripts/typegen/main.go countries > "$@" docs/admin/integrations/prometheus.md: scripts/metricsdocgen/main.go scripts/metricsdocgen/metrics go run scripts/metricsdocgen/main.go diff --git a/cli/login.go b/cli/login.go index 3bb4f0796e4a5..591cf66e62418 100644 --- a/cli/login.go +++ b/cli/login.go @@ -530,36 +530,13 @@ func promptDevelopers(inv *serpent.Invocation) (string, error) { } func promptCountry(inv *serpent.Invocation) (string, error) { - countries := []string{ - "Afghanistan", "Åland Islands", "Albania", "Algeria", "American Samoa", "Andorra", "Angola", "Anguilla", "Antarctica", "Antigua and Barbuda", - "Argentina", "Armenia", "Aruba", "Australia", "Austria", "Azerbaijan", "Bahamas", "Bahrain", "Bangladesh", "Barbados", - "Belarus", "Belgium", "Belize", "Benin", "Bermuda", "Bhutan", "Bolivia, Plurinational State of", "Bonaire, Sint Eustatius and Saba", "Bosnia and Herzegovina", "Botswana", - "Bouvet Island", "Brazil", "British Indian Ocean Territory", "Brunei Darussalam", "Bulgaria", "Burkina Faso", "Burundi", "Cambodia", "Cameroon", "Canada", - "Cape Verde", "Cayman Islands", "Central African Republic", "Chad", "Chile", "China", "Christmas Island", "Cocos (Keeling) Islands", "Colombia", "Comoros", - "Congo", "Congo, the Democratic Republic of the", "Cook Islands", "Costa Rica", "Côte d'Ivoire", "Croatia", "Cuba", "Curaçao", "Cyprus", "Czech Republic", - "Denmark", "Djibouti", "Dominica", "Dominican Republic", "Ecuador", "Egypt", "El Salvador", "Equatorial Guinea", "Eritrea", "Estonia", - "Ethiopia", "Falkland Islands (Malvinas)", "Faroe Islands", "Fiji", "Finland", "France", "French Guiana", "French Polynesia", "French Southern Territories", "Gabon", - "Gambia", "Georgia", "Germany", "Ghana", "Gibraltar", "Greece", "Greenland", "Grenada", "Guadeloupe", "Guam", - "Guatemala", "Guernsey", "Guinea", "Guinea-Bissau", "Guyana", "Haiti", "Heard Island and McDonald Islands", "Holy See (Vatican City State)", "Honduras", "Hong Kong", - "Hungary", "Iceland", "India", "Indonesia", "Iran, Islamic Republic of", "Iraq", "Ireland", "Isle of Man", "Israel", "Italy", - "Jamaica", "Japan", "Jersey", "Jordan", "Kazakhstan", "Kenya", "Kiribati", "Korea, Democratic People's Republic of", "Korea, Republic of", "Kuwait", - "Kyrgyzstan", "Lao People's Democratic Republic", "Latvia", "Lebanon", "Lesotho", "Liberia", "Libya", "Liechtenstein", "Lithuania", "Luxembourg", - "Macao", "Macedonia, the Former Yugoslav Republic of", "Madagascar", "Malawi", "Malaysia", "Maldives", "Mali", "Malta", "Marshall Islands", "Martinique", - "Mauritania", "Mauritius", "Mayotte", "Mexico", "Micronesia, Federated States of", "Moldova, Republic of", "Monaco", "Mongolia", "Montenegro", "Montserrat", - "Morocco", "Mozambique", "Myanmar", "Namibia", "Nauru", "Nepal", "Netherlands", "New Caledonia", "New Zealand", "Nicaragua", - "Niger", "Nigeria", "Niue", "Norfolk Island", "Northern Mariana Islands", "Norway", "Oman", "Pakistan", "Palau", "Palestine, State of", - "Panama", "Papua New Guinea", "Paraguay", "Peru", "Philippines", "Pitcairn", "Poland", "Portugal", "Puerto Rico", "Qatar", - "Réunion", "Romania", "Russian Federation", "Rwanda", "Saint Barthélemy", "Saint Helena, Ascension and Tristan da Cunha", "Saint Kitts and Nevis", "Saint Lucia", "Saint Martin (French part)", "Saint Pierre and Miquelon", - "Saint Vincent and the Grenadines", "Samoa", "San Marino", "Sao Tome and Principe", "Saudi Arabia", "Senegal", "Serbia", "Seychelles", "Sierra Leone", "Singapore", - "Sint Maarten (Dutch part)", "Slovakia", "Slovenia", "Solomon Islands", "Somalia", "South Africa", "South Georgia and the South Sandwich Islands", "South Sudan", "Spain", "Sri Lanka", - "Sudan", "Suriname", "Svalbard and Jan Mayen", "Swaziland", "Sweden", "Switzerland", "Syrian Arab Republic", "Taiwan, Province of China", "Tajikistan", "Tanzania, United Republic of", - "Thailand", "Timor-Leste", "Togo", "Tokelau", "Tonga", "Trinidad and Tobago", "Tunisia", "Turkey", "Turkmenistan", "Turks and Caicos Islands", - "Tuvalu", "Uganda", "Ukraine", "United Arab Emirates", "United Kingdom", "United States", "United States Minor Outlying Islands", "Uruguay", "Uzbekistan", "Vanuatu", - "Venezuela, Bolivarian Republic of", "Vietnam", "Virgin Islands, British", "Virgin Islands, U.S.", "Wallis and Futuna", "Western Sahara", "Yemen", "Zambia", "Zimbabwe", + options := make([]string, len(codersdk.Countries)) + for i, country := range codersdk.Countries { + options[i] = country.Name } selection, err := cliui.Select(inv, cliui.SelectOptions{ - Options: countries, + Options: options, Message: "Select the country:", HideSearch: false, }) diff --git a/coderd/rbac/object_gen.go b/coderd/rbac/object_gen.go index efe798d4ae4ac..de4882322e36d 100644 --- a/coderd/rbac/object_gen.go +++ b/coderd/rbac/object_gen.go @@ -1,4 +1,4 @@ -// Code generated by rbacgen/main.go. DO NOT EDIT. +// Code generated by typegen/main.go. DO NOT EDIT. package rbac import "github.com/coder/coder/v2/coderd/rbac/policy" diff --git a/codersdk/countries.go b/codersdk/countries.go new file mode 100644 index 0000000000000..65c3e9b1e8e5e --- /dev/null +++ b/codersdk/countries.go @@ -0,0 +1,259 @@ +package codersdk + +var Countries = []Country{ + {Name: "Afghanistan", Flag: "🇦🇫"}, + {Name: "Åland Islands", Flag: "🇦🇽"}, + {Name: "Albania", Flag: "🇦🇱"}, + {Name: "Algeria", Flag: "🇩🇿"}, + {Name: "American Samoa", Flag: "🇦🇸"}, + {Name: "Andorra", Flag: "🇦🇩"}, + {Name: "Angola", Flag: "🇦🇴"}, + {Name: "Anguilla", Flag: "🇦🇮"}, + {Name: "Antarctica", Flag: "🇦🇶"}, + {Name: "Antigua and Barbuda", Flag: "🇦🇬"}, + {Name: "Argentina", Flag: "🇦🇷"}, + {Name: "Armenia", Flag: "🇦🇲"}, + {Name: "Aruba", Flag: "🇦🇼"}, + {Name: "Australia", Flag: "🇦🇺"}, + {Name: "Austria", Flag: "🇦🇹"}, + {Name: "Azerbaijan", Flag: "🇦🇿"}, + {Name: "Bahamas", Flag: "🇧🇸"}, + {Name: "Bahrain", Flag: "🇧🇭"}, + {Name: "Bangladesh", Flag: "🇧🇩"}, + {Name: "Barbados", Flag: "🇧🇧"}, + {Name: "Belarus", Flag: "🇧🇾"}, + {Name: "Belgium", Flag: "🇧🇪"}, + {Name: "Belize", Flag: "🇧🇿"}, + {Name: "Benin", Flag: "🇧🇯"}, + {Name: "Bermuda", Flag: "🇧🇲"}, + {Name: "Bhutan", Flag: "🇧🇹"}, + {Name: "Bolivia, Plurinational State of", Flag: "🇧🇴"}, + {Name: "Bonaire, Sint Eustatius and Saba", Flag: "🇧🇶"}, + {Name: "Bosnia and Herzegovina", Flag: "🇧🇦"}, + {Name: "Botswana", Flag: "🇧🇼"}, + {Name: "Bouvet Island", Flag: "🇧🇻"}, + {Name: "Brazil", Flag: "🇧🇷"}, + {Name: "British Indian Ocean Territory", Flag: "🇮🇴"}, + {Name: "Brunei Darussalam", Flag: "🇧🇳"}, + {Name: "Bulgaria", Flag: "🇧🇬"}, + {Name: "Burkina Faso", Flag: "🇧🇫"}, + {Name: "Burundi", Flag: "🇧🇮"}, + {Name: "Cambodia", Flag: "🇰🇭"}, + {Name: "Cameroon", Flag: "🇨🇲"}, + {Name: "Canada", Flag: "🇨🇦"}, + {Name: "Cape Verde", Flag: "🇨🇻"}, + {Name: "Cayman Islands", Flag: "🇰🇾"}, + {Name: "Central African Republic", Flag: "🇨🇫"}, + {Name: "Chad", Flag: "🇹🇩"}, + {Name: "Chile", Flag: "🇨🇱"}, + {Name: "China", Flag: "🇨🇳"}, + {Name: "Christmas Island", Flag: "🇨🇽"}, + {Name: "Cocos (Keeling) Islands", Flag: "🇨🇨"}, + {Name: "Colombia", Flag: "🇨🇴"}, + {Name: "Comoros", Flag: "🇰🇲"}, + {Name: "Congo", Flag: "🇨🇬"}, + {Name: "Congo, the Democratic Republic of the", Flag: "🇨🇩"}, + {Name: "Cook Islands", Flag: "🇨🇰"}, + {Name: "Costa Rica", Flag: "🇨🇷"}, + {Name: "Côte d'Ivoire", Flag: "🇨🇮"}, + {Name: "Croatia", Flag: "🇭🇷"}, + {Name: "Cuba", Flag: "🇨🇺"}, + {Name: "Curaçao", Flag: "🇨🇼"}, + {Name: "Cyprus", Flag: "🇨🇾"}, + {Name: "Czech Republic", Flag: "🇨🇿"}, + {Name: "Denmark", Flag: "🇩🇰"}, + {Name: "Djibouti", Flag: "🇩🇯"}, + {Name: "Dominica", Flag: "🇩🇲"}, + {Name: "Dominican Republic", Flag: "🇩🇴"}, + {Name: "Ecuador", Flag: "🇪🇨"}, + {Name: "Egypt", Flag: "🇪🇬"}, + {Name: "El Salvador", Flag: "🇸🇻"}, + {Name: "Equatorial Guinea", Flag: "🇬🇶"}, + {Name: "Eritrea", Flag: "🇪🇷"}, + {Name: "Estonia", Flag: "🇪🇪"}, + {Name: "Ethiopia", Flag: "🇪🇹"}, + {Name: "Falkland Islands (Malvinas)", Flag: "🇫🇰"}, + {Name: "Faroe Islands", Flag: "🇫🇴"}, + {Name: "Fiji", Flag: "🇫🇯"}, + {Name: "Finland", Flag: "🇫🇮"}, + {Name: "France", Flag: "🇫🇷"}, + {Name: "French Guiana", Flag: "🇬🇫"}, + {Name: "French Polynesia", Flag: "🇵🇫"}, + {Name: "French Southern Territories", Flag: "🇹🇫"}, + {Name: "Gabon", Flag: "🇬🇦"}, + {Name: "Gambia", Flag: "🇬🇲"}, + {Name: "Georgia", Flag: "🇬🇪"}, + {Name: "Germany", Flag: "🇩🇪"}, + {Name: "Ghana", Flag: "🇬🇭"}, + {Name: "Gibraltar", Flag: "🇬🇮"}, + {Name: "Greece", Flag: "🇬🇷"}, + {Name: "Greenland", Flag: "🇬🇱"}, + {Name: "Grenada", Flag: "🇬🇩"}, + {Name: "Guadeloupe", Flag: "🇬🇵"}, + {Name: "Guam", Flag: "🇬🇺"}, + {Name: "Guatemala", Flag: "🇬🇹"}, + {Name: "Guernsey", Flag: "🇬🇬"}, + {Name: "Guinea", Flag: "🇬🇳"}, + {Name: "Guinea-Bissau", Flag: "🇬🇼"}, + {Name: "Guyana", Flag: "🇬🇾"}, + {Name: "Haiti", Flag: "🇭🇹"}, + {Name: "Heard Island and McDonald Islands", Flag: "🇭🇲"}, + {Name: "Holy See (Vatican City State)", Flag: "🇻🇦"}, + {Name: "Honduras", Flag: "🇭🇳"}, + {Name: "Hong Kong", Flag: "🇭🇰"}, + {Name: "Hungary", Flag: "🇭🇺"}, + {Name: "Iceland", Flag: "🇮🇸"}, + {Name: "India", Flag: "🇮🇳"}, + {Name: "Indonesia", Flag: "🇮🇩"}, + {Name: "Iran, Islamic Republic of", Flag: "🇮🇷"}, + {Name: "Iraq", Flag: "🇮🇶"}, + {Name: "Ireland", Flag: "🇮🇪"}, + {Name: "Isle of Man", Flag: "🇮🇲"}, + {Name: "Israel", Flag: "🇮🇱"}, + {Name: "Italy", Flag: "🇮🇹"}, + {Name: "Jamaica", Flag: "🇯🇲"}, + {Name: "Japan", Flag: "🇯🇵"}, + {Name: "Jersey", Flag: "🇯🇪"}, + {Name: "Jordan", Flag: "🇯🇴"}, + {Name: "Kazakhstan", Flag: "🇰🇿"}, + {Name: "Kenya", Flag: "🇰🇪"}, + {Name: "Kiribati", Flag: "🇰🇮"}, + {Name: "Korea, Democratic People's Republic of", Flag: "🇰🇵"}, + {Name: "Korea, Republic of", Flag: "🇰🇷"}, + {Name: "Kuwait", Flag: "🇰🇼"}, + {Name: "Kyrgyzstan", Flag: "🇰🇬"}, + {Name: "Lao People's Democratic Republic", Flag: "🇱🇦"}, + {Name: "Latvia", Flag: "🇱🇻"}, + {Name: "Lebanon", Flag: "🇱🇧"}, + {Name: "Lesotho", Flag: "🇱🇸"}, + {Name: "Liberia", Flag: "🇱🇷"}, + {Name: "Libya", Flag: "🇱🇾"}, + {Name: "Liechtenstein", Flag: "🇱🇮"}, + {Name: "Lithuania", Flag: "🇱🇹"}, + {Name: "Luxembourg", Flag: "🇱🇺"}, + {Name: "Macao", Flag: "🇲🇴"}, + {Name: "Macedonia, the Former Yugoslav Republic of", Flag: "🇲🇰"}, + {Name: "Madagascar", Flag: "🇲🇬"}, + {Name: "Malawi", Flag: "🇲🇼"}, + {Name: "Malaysia", Flag: "🇲🇾"}, + {Name: "Maldives", Flag: "🇲🇻"}, + {Name: "Mali", Flag: "🇲🇱"}, + {Name: "Malta", Flag: "🇲🇹"}, + {Name: "Marshall Islands", Flag: "🇲🇭"}, + {Name: "Martinique", Flag: "🇲🇶"}, + {Name: "Mauritania", Flag: "🇲🇷"}, + {Name: "Mauritius", Flag: "🇲🇺"}, + {Name: "Mayotte", Flag: "🇾🇹"}, + {Name: "Mexico", Flag: "🇲🇽"}, + {Name: "Micronesia, Federated States of", Flag: "🇫🇲"}, + {Name: "Moldova, Republic of", Flag: "🇲🇩"}, + {Name: "Monaco", Flag: "🇲🇨"}, + {Name: "Mongolia", Flag: "🇲🇳"}, + {Name: "Montenegro", Flag: "🇲🇪"}, + {Name: "Montserrat", Flag: "🇲🇸"}, + {Name: "Morocco", Flag: "🇲🇦"}, + {Name: "Mozambique", Flag: "🇲🇿"}, + {Name: "Myanmar", Flag: "🇲🇲"}, + {Name: "Namibia", Flag: "🇳🇦"}, + {Name: "Nauru", Flag: "🇳🇷"}, + {Name: "Nepal", Flag: "🇳🇵"}, + {Name: "Netherlands", Flag: "🇳🇱"}, + {Name: "New Caledonia", Flag: "🇳🇨"}, + {Name: "New Zealand", Flag: "🇳🇿"}, + {Name: "Nicaragua", Flag: "🇳🇮"}, + {Name: "Niger", Flag: "🇳🇪"}, + {Name: "Nigeria", Flag: "🇳🇬"}, + {Name: "Niue", Flag: "🇳🇺"}, + {Name: "Norfolk Island", Flag: "🇳🇫"}, + {Name: "Northern Mariana Islands", Flag: "🇲🇵"}, + {Name: "Norway", Flag: "🇳🇴"}, + {Name: "Oman", Flag: "🇴🇲"}, + {Name: "Pakistan", Flag: "🇵🇰"}, + {Name: "Palau", Flag: "🇵🇼"}, + {Name: "Palestine, State of", Flag: "🇵🇸"}, + {Name: "Panama", Flag: "🇵🇦"}, + {Name: "Papua New Guinea", Flag: "🇵🇬"}, + {Name: "Paraguay", Flag: "🇵🇾"}, + {Name: "Peru", Flag: "🇵🇪"}, + {Name: "Philippines", Flag: "🇵🇭"}, + {Name: "Pitcairn", Flag: "🇵🇳"}, + {Name: "Poland", Flag: "🇵🇱"}, + {Name: "Portugal", Flag: "🇵🇹"}, + {Name: "Puerto Rico", Flag: "🇵🇷"}, + {Name: "Qatar", Flag: "🇶🇦"}, + {Name: "Réunion", Flag: "🇷🇪"}, + {Name: "Romania", Flag: "🇷🇴"}, + {Name: "Russian Federation", Flag: "🇷🇺"}, + {Name: "Rwanda", Flag: "🇷🇼"}, + {Name: "Saint Barthélemy", Flag: "🇧🇱"}, + {Name: "Saint Helena, Ascension and Tristan da Cunha", Flag: "🇸🇭"}, + {Name: "Saint Kitts and Nevis", Flag: "🇰🇳"}, + {Name: "Saint Lucia", Flag: "🇱🇨"}, + {Name: "Saint Martin (French part)", Flag: "🇲🇫"}, + {Name: "Saint Pierre and Miquelon", Flag: "🇵🇲"}, + {Name: "Saint Vincent and the Grenadines", Flag: "🇻🇨"}, + {Name: "Samoa", Flag: "🇼🇸"}, + {Name: "San Marino", Flag: "🇸🇲"}, + {Name: "Sao Tome and Principe", Flag: "🇸🇹"}, + {Name: "Saudi Arabia", Flag: "🇸🇦"}, + {Name: "Senegal", Flag: "🇸🇳"}, + {Name: "Serbia", Flag: "🇷🇸"}, + {Name: "Seychelles", Flag: "🇸🇨"}, + {Name: "Sierra Leone", Flag: "🇸🇱"}, + {Name: "Singapore", Flag: "🇸🇬"}, + {Name: "Sint Maarten (Dutch part)", Flag: "🇸🇽"}, + {Name: "Slovakia", Flag: "🇸🇰"}, + {Name: "Slovenia", Flag: "🇸🇮"}, + {Name: "Solomon Islands", Flag: "🇸🇧"}, + {Name: "Somalia", Flag: "🇸🇴"}, + {Name: "South Africa", Flag: "🇿🇦"}, + {Name: "South Georgia and the South Sandwich Islands", Flag: "🇬🇸"}, + {Name: "South Sudan", Flag: "🇸🇸"}, + {Name: "Spain", Flag: "🇪🇸"}, + {Name: "Sri Lanka", Flag: "🇱🇰"}, + {Name: "Sudan", Flag: "🇸🇩"}, + {Name: "Suriname", Flag: "🇸🇷"}, + {Name: "Svalbard and Jan Mayen", Flag: "🇸🇯"}, + {Name: "Swaziland", Flag: "🇸🇿"}, + {Name: "Sweden", Flag: "🇸🇪"}, + {Name: "Switzerland", Flag: "🇨🇭"}, + {Name: "Syrian Arab Republic", Flag: "🇸🇾"}, + {Name: "Taiwan, Province of China", Flag: "🇹🇼"}, + {Name: "Tajikistan", Flag: "🇹🇯"}, + {Name: "Tanzania, United Republic of", Flag: "🇹🇿"}, + {Name: "Thailand", Flag: "🇹🇭"}, + {Name: "Timor-Leste", Flag: "🇹🇱"}, + {Name: "Togo", Flag: "🇹🇬"}, + {Name: "Tokelau", Flag: "🇹🇰"}, + {Name: "Tonga", Flag: "🇹🇴"}, + {Name: "Trinidad and Tobago", Flag: "🇹🇹"}, + {Name: "Tunisia", Flag: "🇹🇳"}, + {Name: "Turkey", Flag: "🇹🇷"}, + {Name: "Turkmenistan", Flag: "🇹🇲"}, + {Name: "Turks and Caicos Islands", Flag: "🇹🇨"}, + {Name: "Tuvalu", Flag: "🇹🇻"}, + {Name: "Uganda", Flag: "🇺🇬"}, + {Name: "Ukraine", Flag: "🇺🇦"}, + {Name: "United Arab Emirates", Flag: "🇦🇪"}, + {Name: "United Kingdom", Flag: "🇬🇧"}, + {Name: "United States", Flag: "🇺🇸"}, + {Name: "United States Minor Outlying Islands", Flag: "🇺🇲"}, + {Name: "Uruguay", Flag: "🇺🇾"}, + {Name: "Uzbekistan", Flag: "🇺🇿"}, + {Name: "Vanuatu", Flag: "🇻🇺"}, + {Name: "Venezuela, Bolivarian Republic of", Flag: "🇻🇪"}, + {Name: "Vietnam", Flag: "🇻🇳"}, + {Name: "Virgin Islands, British", Flag: "🇻🇬"}, + {Name: "Virgin Islands, U.S.", Flag: "🇻🇮"}, + {Name: "Wallis and Futuna", Flag: "🇼🇫"}, + {Name: "Western Sahara", Flag: "🇪🇭"}, + {Name: "Yemen", Flag: "🇾🇪"}, + {Name: "Zambia", Flag: "🇿🇲"}, + {Name: "Zimbabwe", Flag: "🇿🇼"}, +} + +// @typescript-ignore Country +type Country struct { + Name string `json:"name"` + Flag string `json:"flag"` +} diff --git a/codersdk/rbacresources_gen.go b/codersdk/rbacresources_gen.go index 8c3ced0946223..dd3c347c90428 100644 --- a/codersdk/rbacresources_gen.go +++ b/codersdk/rbacresources_gen.go @@ -1,4 +1,4 @@ -// Code generated by rbacgen/main.go. DO NOT EDIT. +// Code generated by typegen/main.go. DO NOT EDIT. package codersdk type RBACResource string diff --git a/scripts/apitypings/main.go b/scripts/apitypings/main.go index a7abf676755a9..8153743775564 100644 --- a/scripts/apitypings/main.go +++ b/scripts/apitypings/main.go @@ -57,6 +57,7 @@ func main() { } _, _ = fmt.Print("// Code generated by 'make site/src/api/typesGenerated.ts'. DO NOT EDIT.\n\n") + for _, baseDir := range baseDirs { _, _ = fmt.Printf("// The code below is generated from %s.\n\n", strings.TrimPrefix(baseDir, "./")) output, err := Generate(baseDir, external...) diff --git a/scripts/rbacgen/codersdk.gotmpl b/scripts/typegen/codersdk.gotmpl similarity index 93% rename from scripts/rbacgen/codersdk.gotmpl rename to scripts/typegen/codersdk.gotmpl index 935d8c4f556c9..fa1aada77dc80 100644 --- a/scripts/rbacgen/codersdk.gotmpl +++ b/scripts/typegen/codersdk.gotmpl @@ -1,4 +1,4 @@ -// Code generated by rbacgen/main.go. DO NOT EDIT. +// Code generated by typegen/main.go. DO NOT EDIT. package codersdk type RBACResource string diff --git a/scripts/typegen/countries.tstmpl b/scripts/typegen/countries.tstmpl new file mode 100644 index 0000000000000..42879d72aeced --- /dev/null +++ b/scripts/typegen/countries.tstmpl @@ -0,0 +1,11 @@ +// Code generated by typegen/main.go. DO NOT EDIT. + +// Countries represents all supported countries with their flags +export const countries = [ +{{- range $country := . }} + { + name: "{{ $country.Name }}", + flag: "{{ $country.Flag }}", + }, +{{- end }} +]; diff --git a/scripts/rbacgen/main.go b/scripts/typegen/main.go similarity index 79% rename from scripts/rbacgen/main.go rename to scripts/typegen/main.go index c08c6b4cac0f3..0e7457406102e 100644 --- a/scripts/rbacgen/main.go +++ b/scripts/typegen/main.go @@ -19,6 +19,7 @@ import ( "golang.org/x/xerrors" "github.com/coder/coder/v2/coderd/rbac/policy" + "github.com/coder/coder/v2/codersdk" ) //go:embed rbacobject.gotmpl @@ -30,12 +31,17 @@ var codersdkTemplate string //go:embed typescript.tstmpl var typescriptTemplate string +//go:embed countries.tstmpl +var countriesTemplate string + func usage() { - _, _ = fmt.Println("Usage: rbacgen ") - _, _ = fmt.Println("Must choose a template target.") + _, _ = fmt.Println("Usage: typegen [template]") + _, _ = fmt.Println("Types:") + _, _ = fmt.Println(" rbac - Generate RBAC related files") + _, _ = fmt.Println(" countries - Generate countries TypeScript") } -// main will generate a file that lists all rbac objects. +// main will generate a file based on the type and template specified. // This is to provide an "AllResources" function that is always // in sync. func main() { @@ -46,15 +52,43 @@ func main() { os.Exit(1) } - formatSource := format.Source + var ( + out []byte + err error + ) + // It did not make sense to have 2 different generators that do essentially // the same thing, but different format for the BE and the sdk. // So the argument switches the go template to use. - var source string switch strings.ToLower(flag.Args()[0]) { + case "rbac": + if len(flag.Args()) < 2 { + usage() + os.Exit(1) + } + out, err = generateRBAC(flag.Args()[1]) + case "countries": + out, err = generateCountries() + default: + _, _ = fmt.Fprintf(os.Stderr, "%q is not a valid type\n", flag.Args()[0]) + usage() + os.Exit(2) + } + + if err != nil { + log.Fatalf("Generate source: %s", err.Error()) + } + + _, _ = fmt.Fprint(os.Stdout, string(out)) +} + +func generateRBAC(tmpl string) ([]byte, error) { + formatSource := format.Source + var source string + switch strings.ToLower(tmpl) { case "codersdk": source = codersdkTemplate - case "rbac": + case "object": source = rbacObjectTemplate case "typescript": source = typescriptTemplate @@ -63,22 +97,29 @@ func main() { return src, nil } default: - _, _ = fmt.Fprintf(os.Stderr, "%q is not a valid template target\n", flag.Args()[0]) - usage() - os.Exit(2) + return nil, xerrors.Errorf("%q is not a valid RBAC template target", tmpl) } out, err := generateRbacObjects(source) if err != nil { - log.Fatalf("Generate source: %s", err.Error()) + return nil, err } + return formatSource(out) +} - formatted, err := formatSource(out) +func generateCountries() ([]byte, error) { + tmpl, err := template.New("countries.tstmpl").Parse(countriesTemplate) if err != nil { - log.Fatalf("Format template: %s", err.Error()) + return nil, xerrors.Errorf("parse template: %w", err) } - _, _ = fmt.Fprint(os.Stdout, string(formatted)) + var out bytes.Buffer + err = tmpl.Execute(&out, codersdk.Countries) + if err != nil { + return nil, xerrors.Errorf("execute template: %w", err) + } + + return out.Bytes(), nil } func pascalCaseName[T ~string](name T) string { diff --git a/scripts/rbacgen/rbacobject.gotmpl b/scripts/typegen/rbacobject.gotmpl similarity index 94% rename from scripts/rbacgen/rbacobject.gotmpl rename to scripts/typegen/rbacobject.gotmpl index 9e529d2986817..89bcbf1ee8d96 100644 --- a/scripts/rbacgen/rbacobject.gotmpl +++ b/scripts/typegen/rbacobject.gotmpl @@ -1,4 +1,4 @@ -// Code generated by rbacgen/main.go. DO NOT EDIT. +// Code generated by typegen/main.go. DO NOT EDIT. package rbac import "github.com/coder/coder/v2/coderd/rbac/policy" diff --git a/scripts/rbacgen/typescript.tstmpl b/scripts/typegen/typescript.tstmpl similarity index 92% rename from scripts/rbacgen/typescript.tstmpl rename to scripts/typegen/typescript.tstmpl index 459443ea5fb5f..a0f7750e3a3f4 100644 --- a/scripts/rbacgen/typescript.tstmpl +++ b/scripts/typegen/typescript.tstmpl @@ -1,4 +1,4 @@ -// Code generated by rbacgen/main.go. DO NOT EDIT. +// Code generated by typegen/main.go. DO NOT EDIT. import type { RBACAction, RBACResource } from "./typesGenerated"; diff --git a/site/src/api/countriesGenerated.ts b/site/src/api/countriesGenerated.ts new file mode 100644 index 0000000000000..614c2d72e1c48 --- /dev/null +++ b/site/src/api/countriesGenerated.ts @@ -0,0 +1,1001 @@ +// Code generated by typegen/main.go. DO NOT EDIT. + +// Countries represents all supported countries with their flags +export const countries = [ + { + name: "Afghanistan", + flag: "🇦🇫", + }, + { + name: "Åland Islands", + flag: "🇦🇽", + }, + { + name: "Albania", + flag: "🇦🇱", + }, + { + name: "Algeria", + flag: "🇩🇿", + }, + { + name: "American Samoa", + flag: "🇦🇸", + }, + { + name: "Andorra", + flag: "🇦🇩", + }, + { + name: "Angola", + flag: "🇦🇴", + }, + { + name: "Anguilla", + flag: "🇦🇮", + }, + { + name: "Antarctica", + flag: "🇦🇶", + }, + { + name: "Antigua and Barbuda", + flag: "🇦🇬", + }, + { + name: "Argentina", + flag: "🇦🇷", + }, + { + name: "Armenia", + flag: "🇦🇲", + }, + { + name: "Aruba", + flag: "🇦🇼", + }, + { + name: "Australia", + flag: "🇦🇺", + }, + { + name: "Austria", + flag: "🇦🇹", + }, + { + name: "Azerbaijan", + flag: "🇦🇿", + }, + { + name: "Bahamas", + flag: "🇧🇸", + }, + { + name: "Bahrain", + flag: "🇧🇭", + }, + { + name: "Bangladesh", + flag: "🇧🇩", + }, + { + name: "Barbados", + flag: "🇧🇧", + }, + { + name: "Belarus", + flag: "🇧🇾", + }, + { + name: "Belgium", + flag: "🇧🇪", + }, + { + name: "Belize", + flag: "🇧🇿", + }, + { + name: "Benin", + flag: "🇧🇯", + }, + { + name: "Bermuda", + flag: "🇧🇲", + }, + { + name: "Bhutan", + flag: "🇧🇹", + }, + { + name: "Bolivia, Plurinational State of", + flag: "🇧🇴", + }, + { + name: "Bonaire, Sint Eustatius and Saba", + flag: "🇧🇶", + }, + { + name: "Bosnia and Herzegovina", + flag: "🇧🇦", + }, + { + name: "Botswana", + flag: "🇧🇼", + }, + { + name: "Bouvet Island", + flag: "🇧🇻", + }, + { + name: "Brazil", + flag: "🇧🇷", + }, + { + name: "British Indian Ocean Territory", + flag: "🇮🇴", + }, + { + name: "Brunei Darussalam", + flag: "🇧🇳", + }, + { + name: "Bulgaria", + flag: "🇧🇬", + }, + { + name: "Burkina Faso", + flag: "🇧🇫", + }, + { + name: "Burundi", + flag: "🇧🇮", + }, + { + name: "Cambodia", + flag: "🇰🇭", + }, + { + name: "Cameroon", + flag: "🇨🇲", + }, + { + name: "Canada", + flag: "🇨🇦", + }, + { + name: "Cape Verde", + flag: "🇨🇻", + }, + { + name: "Cayman Islands", + flag: "🇰🇾", + }, + { + name: "Central African Republic", + flag: "🇨🇫", + }, + { + name: "Chad", + flag: "🇹🇩", + }, + { + name: "Chile", + flag: "🇨🇱", + }, + { + name: "China", + flag: "🇨🇳", + }, + { + name: "Christmas Island", + flag: "🇨🇽", + }, + { + name: "Cocos (Keeling) Islands", + flag: "🇨🇨", + }, + { + name: "Colombia", + flag: "🇨🇴", + }, + { + name: "Comoros", + flag: "🇰🇲", + }, + { + name: "Congo", + flag: "🇨🇬", + }, + { + name: "Congo, the Democratic Republic of the", + flag: "🇨🇩", + }, + { + name: "Cook Islands", + flag: "🇨🇰", + }, + { + name: "Costa Rica", + flag: "🇨🇷", + }, + { + name: "Côte d'Ivoire", + flag: "🇨🇮", + }, + { + name: "Croatia", + flag: "🇭🇷", + }, + { + name: "Cuba", + flag: "🇨🇺", + }, + { + name: "Curaçao", + flag: "🇨🇼", + }, + { + name: "Cyprus", + flag: "🇨🇾", + }, + { + name: "Czech Republic", + flag: "🇨🇿", + }, + { + name: "Denmark", + flag: "🇩🇰", + }, + { + name: "Djibouti", + flag: "🇩🇯", + }, + { + name: "Dominica", + flag: "🇩🇲", + }, + { + name: "Dominican Republic", + flag: "🇩🇴", + }, + { + name: "Ecuador", + flag: "🇪🇨", + }, + { + name: "Egypt", + flag: "🇪🇬", + }, + { + name: "El Salvador", + flag: "🇸🇻", + }, + { + name: "Equatorial Guinea", + flag: "🇬🇶", + }, + { + name: "Eritrea", + flag: "🇪🇷", + }, + { + name: "Estonia", + flag: "🇪🇪", + }, + { + name: "Ethiopia", + flag: "🇪🇹", + }, + { + name: "Falkland Islands (Malvinas)", + flag: "🇫🇰", + }, + { + name: "Faroe Islands", + flag: "🇫🇴", + }, + { + name: "Fiji", + flag: "🇫🇯", + }, + { + name: "Finland", + flag: "🇫🇮", + }, + { + name: "France", + flag: "🇫🇷", + }, + { + name: "French Guiana", + flag: "🇬🇫", + }, + { + name: "French Polynesia", + flag: "🇵🇫", + }, + { + name: "French Southern Territories", + flag: "🇹🇫", + }, + { + name: "Gabon", + flag: "🇬🇦", + }, + { + name: "Gambia", + flag: "🇬🇲", + }, + { + name: "Georgia", + flag: "🇬🇪", + }, + { + name: "Germany", + flag: "🇩🇪", + }, + { + name: "Ghana", + flag: "🇬🇭", + }, + { + name: "Gibraltar", + flag: "🇬🇮", + }, + { + name: "Greece", + flag: "🇬🇷", + }, + { + name: "Greenland", + flag: "🇬🇱", + }, + { + name: "Grenada", + flag: "🇬🇩", + }, + { + name: "Guadeloupe", + flag: "🇬🇵", + }, + { + name: "Guam", + flag: "🇬🇺", + }, + { + name: "Guatemala", + flag: "🇬🇹", + }, + { + name: "Guernsey", + flag: "🇬🇬", + }, + { + name: "Guinea", + flag: "🇬🇳", + }, + { + name: "Guinea-Bissau", + flag: "🇬🇼", + }, + { + name: "Guyana", + flag: "🇬🇾", + }, + { + name: "Haiti", + flag: "🇭🇹", + }, + { + name: "Heard Island and McDonald Islands", + flag: "🇭🇲", + }, + { + name: "Holy See (Vatican City State)", + flag: "🇻🇦", + }, + { + name: "Honduras", + flag: "🇭🇳", + }, + { + name: "Hong Kong", + flag: "🇭🇰", + }, + { + name: "Hungary", + flag: "🇭🇺", + }, + { + name: "Iceland", + flag: "🇮🇸", + }, + { + name: "India", + flag: "🇮🇳", + }, + { + name: "Indonesia", + flag: "🇮🇩", + }, + { + name: "Iran, Islamic Republic of", + flag: "🇮🇷", + }, + { + name: "Iraq", + flag: "🇮🇶", + }, + { + name: "Ireland", + flag: "🇮🇪", + }, + { + name: "Isle of Man", + flag: "🇮🇲", + }, + { + name: "Israel", + flag: "🇮🇱", + }, + { + name: "Italy", + flag: "🇮🇹", + }, + { + name: "Jamaica", + flag: "🇯🇲", + }, + { + name: "Japan", + flag: "🇯🇵", + }, + { + name: "Jersey", + flag: "🇯🇪", + }, + { + name: "Jordan", + flag: "🇯🇴", + }, + { + name: "Kazakhstan", + flag: "🇰🇿", + }, + { + name: "Kenya", + flag: "🇰🇪", + }, + { + name: "Kiribati", + flag: "🇰🇮", + }, + { + name: "Korea, Democratic People's Republic of", + flag: "🇰🇵", + }, + { + name: "Korea, Republic of", + flag: "🇰🇷", + }, + { + name: "Kuwait", + flag: "🇰🇼", + }, + { + name: "Kyrgyzstan", + flag: "🇰🇬", + }, + { + name: "Lao People's Democratic Republic", + flag: "🇱🇦", + }, + { + name: "Latvia", + flag: "🇱🇻", + }, + { + name: "Lebanon", + flag: "🇱🇧", + }, + { + name: "Lesotho", + flag: "🇱🇸", + }, + { + name: "Liberia", + flag: "🇱🇷", + }, + { + name: "Libya", + flag: "🇱🇾", + }, + { + name: "Liechtenstein", + flag: "🇱🇮", + }, + { + name: "Lithuania", + flag: "🇱🇹", + }, + { + name: "Luxembourg", + flag: "🇱🇺", + }, + { + name: "Macao", + flag: "🇲🇴", + }, + { + name: "Macedonia, the Former Yugoslav Republic of", + flag: "🇲🇰", + }, + { + name: "Madagascar", + flag: "🇲🇬", + }, + { + name: "Malawi", + flag: "🇲🇼", + }, + { + name: "Malaysia", + flag: "🇲🇾", + }, + { + name: "Maldives", + flag: "🇲🇻", + }, + { + name: "Mali", + flag: "🇲🇱", + }, + { + name: "Malta", + flag: "🇲🇹", + }, + { + name: "Marshall Islands", + flag: "🇲🇭", + }, + { + name: "Martinique", + flag: "🇲🇶", + }, + { + name: "Mauritania", + flag: "🇲🇷", + }, + { + name: "Mauritius", + flag: "🇲🇺", + }, + { + name: "Mayotte", + flag: "🇾🇹", + }, + { + name: "Mexico", + flag: "🇲🇽", + }, + { + name: "Micronesia, Federated States of", + flag: "🇫🇲", + }, + { + name: "Moldova, Republic of", + flag: "🇲🇩", + }, + { + name: "Monaco", + flag: "🇲🇨", + }, + { + name: "Mongolia", + flag: "🇲🇳", + }, + { + name: "Montenegro", + flag: "🇲🇪", + }, + { + name: "Montserrat", + flag: "🇲🇸", + }, + { + name: "Morocco", + flag: "🇲🇦", + }, + { + name: "Mozambique", + flag: "🇲🇿", + }, + { + name: "Myanmar", + flag: "🇲🇲", + }, + { + name: "Namibia", + flag: "🇳🇦", + }, + { + name: "Nauru", + flag: "🇳🇷", + }, + { + name: "Nepal", + flag: "🇳🇵", + }, + { + name: "Netherlands", + flag: "🇳🇱", + }, + { + name: "New Caledonia", + flag: "🇳🇨", + }, + { + name: "New Zealand", + flag: "🇳🇿", + }, + { + name: "Nicaragua", + flag: "🇳🇮", + }, + { + name: "Niger", + flag: "🇳🇪", + }, + { + name: "Nigeria", + flag: "🇳🇬", + }, + { + name: "Niue", + flag: "🇳🇺", + }, + { + name: "Norfolk Island", + flag: "🇳🇫", + }, + { + name: "Northern Mariana Islands", + flag: "🇲🇵", + }, + { + name: "Norway", + flag: "🇳🇴", + }, + { + name: "Oman", + flag: "🇴🇲", + }, + { + name: "Pakistan", + flag: "🇵🇰", + }, + { + name: "Palau", + flag: "🇵🇼", + }, + { + name: "Palestine, State of", + flag: "🇵🇸", + }, + { + name: "Panama", + flag: "🇵🇦", + }, + { + name: "Papua New Guinea", + flag: "🇵🇬", + }, + { + name: "Paraguay", + flag: "🇵🇾", + }, + { + name: "Peru", + flag: "🇵🇪", + }, + { + name: "Philippines", + flag: "🇵🇭", + }, + { + name: "Pitcairn", + flag: "🇵🇳", + }, + { + name: "Poland", + flag: "🇵🇱", + }, + { + name: "Portugal", + flag: "🇵🇹", + }, + { + name: "Puerto Rico", + flag: "🇵🇷", + }, + { + name: "Qatar", + flag: "🇶🇦", + }, + { + name: "Réunion", + flag: "🇷🇪", + }, + { + name: "Romania", + flag: "🇷🇴", + }, + { + name: "Russian Federation", + flag: "🇷🇺", + }, + { + name: "Rwanda", + flag: "🇷🇼", + }, + { + name: "Saint Barthélemy", + flag: "🇧🇱", + }, + { + name: "Saint Helena, Ascension and Tristan da Cunha", + flag: "🇸🇭", + }, + { + name: "Saint Kitts and Nevis", + flag: "🇰🇳", + }, + { + name: "Saint Lucia", + flag: "🇱🇨", + }, + { + name: "Saint Martin (French part)", + flag: "🇲🇫", + }, + { + name: "Saint Pierre and Miquelon", + flag: "🇵🇲", + }, + { + name: "Saint Vincent and the Grenadines", + flag: "🇻🇨", + }, + { + name: "Samoa", + flag: "🇼🇸", + }, + { + name: "San Marino", + flag: "🇸🇲", + }, + { + name: "Sao Tome and Principe", + flag: "🇸🇹", + }, + { + name: "Saudi Arabia", + flag: "🇸🇦", + }, + { + name: "Senegal", + flag: "🇸🇳", + }, + { + name: "Serbia", + flag: "🇷🇸", + }, + { + name: "Seychelles", + flag: "🇸🇨", + }, + { + name: "Sierra Leone", + flag: "🇸🇱", + }, + { + name: "Singapore", + flag: "🇸🇬", + }, + { + name: "Sint Maarten (Dutch part)", + flag: "🇸🇽", + }, + { + name: "Slovakia", + flag: "🇸🇰", + }, + { + name: "Slovenia", + flag: "🇸🇮", + }, + { + name: "Solomon Islands", + flag: "🇸🇧", + }, + { + name: "Somalia", + flag: "🇸🇴", + }, + { + name: "South Africa", + flag: "🇿🇦", + }, + { + name: "South Georgia and the South Sandwich Islands", + flag: "🇬🇸", + }, + { + name: "South Sudan", + flag: "🇸🇸", + }, + { + name: "Spain", + flag: "🇪🇸", + }, + { + name: "Sri Lanka", + flag: "🇱🇰", + }, + { + name: "Sudan", + flag: "🇸🇩", + }, + { + name: "Suriname", + flag: "🇸🇷", + }, + { + name: "Svalbard and Jan Mayen", + flag: "🇸🇯", + }, + { + name: "Swaziland", + flag: "🇸🇿", + }, + { + name: "Sweden", + flag: "🇸🇪", + }, + { + name: "Switzerland", + flag: "🇨🇭", + }, + { + name: "Syrian Arab Republic", + flag: "🇸🇾", + }, + { + name: "Taiwan, Province of China", + flag: "🇹🇼", + }, + { + name: "Tajikistan", + flag: "🇹🇯", + }, + { + name: "Tanzania, United Republic of", + flag: "🇹🇿", + }, + { + name: "Thailand", + flag: "🇹🇭", + }, + { + name: "Timor-Leste", + flag: "🇹🇱", + }, + { + name: "Togo", + flag: "🇹🇬", + }, + { + name: "Tokelau", + flag: "🇹🇰", + }, + { + name: "Tonga", + flag: "🇹🇴", + }, + { + name: "Trinidad and Tobago", + flag: "🇹🇹", + }, + { + name: "Tunisia", + flag: "🇹🇳", + }, + { + name: "Turkey", + flag: "🇹🇷", + }, + { + name: "Turkmenistan", + flag: "🇹🇲", + }, + { + name: "Turks and Caicos Islands", + flag: "🇹🇨", + }, + { + name: "Tuvalu", + flag: "🇹🇻", + }, + { + name: "Uganda", + flag: "🇺🇬", + }, + { + name: "Ukraine", + flag: "🇺🇦", + }, + { + name: "United Arab Emirates", + flag: "🇦🇪", + }, + { + name: "United Kingdom", + flag: "🇬🇧", + }, + { + name: "United States", + flag: "🇺🇸", + }, + { + name: "United States Minor Outlying Islands", + flag: "🇺🇲", + }, + { + name: "Uruguay", + flag: "🇺🇾", + }, + { + name: "Uzbekistan", + flag: "🇺🇿", + }, + { + name: "Vanuatu", + flag: "🇻🇺", + }, + { + name: "Venezuela, Bolivarian Republic of", + flag: "🇻🇪", + }, + { + name: "Vietnam", + flag: "🇻🇳", + }, + { + name: "Virgin Islands, British", + flag: "🇻🇬", + }, + { + name: "Virgin Islands, U.S.", + flag: "🇻🇮", + }, + { + name: "Wallis and Futuna", + flag: "🇼🇫", + }, + { + name: "Western Sahara", + flag: "🇪🇭", + }, + { + name: "Yemen", + flag: "🇾🇪", + }, + { + name: "Zambia", + flag: "🇿🇲", + }, + { + name: "Zimbabwe", + flag: "🇿🇼", + }, +]; diff --git a/site/src/api/rbacresourcesGenerated.ts b/site/src/api/rbacresourcesGenerated.ts index 34b2ddf021ace..d714d3dbdabf0 100644 --- a/site/src/api/rbacresourcesGenerated.ts +++ b/site/src/api/rbacresourcesGenerated.ts @@ -1,4 +1,4 @@ -// Code generated by rbacgen/main.go. DO NOT EDIT. +// Code generated by typegen/main.go. DO NOT EDIT. import type { RBACAction, RBACResource } from "./typesGenerated"; diff --git a/site/src/pages/SetupPage/SetupPageView.tsx b/site/src/pages/SetupPage/SetupPageView.tsx index a4b0536ae0b85..6faf2ae617d0d 100644 --- a/site/src/pages/SetupPage/SetupPageView.tsx +++ b/site/src/pages/SetupPage/SetupPageView.tsx @@ -5,6 +5,7 @@ import Checkbox from "@mui/material/Checkbox"; import Link from "@mui/material/Link"; import MenuItem from "@mui/material/MenuItem"; import TextField from "@mui/material/TextField"; +import { countries } from "api/countriesGenerated"; import type * as TypesGen from "api/typesGenerated"; import { isAxiosError } from "axios"; import { Alert, AlertDetail } from "components/Alert/Alert"; @@ -21,7 +22,6 @@ import { onChangeTrimmed, } from "utils/formUtils"; import * as Yup from "yup"; -import { countries } from "./countries"; export const Language = { emailLabel: "Email", diff --git a/site/src/pages/SetupPage/countries.tsx b/site/src/pages/SetupPage/countries.tsx deleted file mode 100644 index 9b13b6b6be0d9..0000000000000 --- a/site/src/pages/SetupPage/countries.tsx +++ /dev/null @@ -1,998 +0,0 @@ -export const countries = [ - { - name: "Afghanistan", - flag: "🇦🇫", - }, - { - name: "Åland Islands", - flag: "🇦🇽", - }, - { - name: "Albania", - flag: "🇦🇱", - }, - { - name: "Algeria", - flag: "🇩🇿", - }, - { - name: "American Samoa", - flag: "🇦🇸", - }, - { - name: "Andorra", - flag: "🇦🇩", - }, - { - name: "Angola", - flag: "🇦🇴", - }, - { - name: "Anguilla", - flag: "🇦🇮", - }, - { - name: "Antarctica", - flag: "🇦🇶", - }, - { - name: "Antigua and Barbuda", - flag: "🇦🇬", - }, - { - name: "Argentina", - flag: "🇦🇷", - }, - { - name: "Armenia", - flag: "🇦🇲", - }, - { - name: "Aruba", - flag: "🇦🇼", - }, - { - name: "Australia", - flag: "🇦🇺", - }, - { - name: "Austria", - flag: "🇦🇹", - }, - { - name: "Azerbaijan", - flag: "🇦🇿", - }, - { - name: "Bahamas", - flag: "🇧🇸", - }, - { - name: "Bahrain", - flag: "🇧🇭", - }, - { - name: "Bangladesh", - flag: "🇧🇩", - }, - { - name: "Barbados", - flag: "🇧🇧", - }, - { - name: "Belarus", - flag: "🇧🇾", - }, - { - name: "Belgium", - flag: "🇧🇪", - }, - { - name: "Belize", - flag: "🇧🇿", - }, - { - name: "Benin", - flag: "🇧🇯", - }, - { - name: "Bermuda", - flag: "🇧🇲", - }, - { - name: "Bhutan", - flag: "🇧🇹", - }, - { - name: "Bolivia, Plurinational State of", - flag: "🇧🇴", - }, - { - name: "Bonaire, Sint Eustatius and Saba", - flag: "🇧🇶", - }, - { - name: "Bosnia and Herzegovina", - flag: "🇧🇦", - }, - { - name: "Botswana", - flag: "🇧🇼", - }, - { - name: "Bouvet Island", - flag: "🇧🇻", - }, - { - name: "Brazil", - flag: "🇧🇷", - }, - { - name: "British Indian Ocean Territory", - flag: "🇮🇴", - }, - { - name: "Brunei Darussalam", - flag: "🇧🇳", - }, - { - name: "Bulgaria", - flag: "🇧🇬", - }, - { - name: "Burkina Faso", - flag: "🇧🇫", - }, - { - name: "Burundi", - flag: "🇧🇮", - }, - { - name: "Cambodia", - flag: "🇰🇭", - }, - { - name: "Cameroon", - flag: "🇨🇲", - }, - { - name: "Canada", - flag: "🇨🇦", - }, - { - name: "Cape Verde", - flag: "🇨🇻", - }, - { - name: "Cayman Islands", - flag: "🇰🇾", - }, - { - name: "Central African Republic", - flag: "🇨🇫", - }, - { - name: "Chad", - flag: "🇹🇩", - }, - { - name: "Chile", - flag: "🇨🇱", - }, - { - name: "China", - flag: "🇨🇳", - }, - { - name: "Christmas Island", - flag: "🇨🇽", - }, - { - name: "Cocos (Keeling) Islands", - flag: "🇨🇨", - }, - { - name: "Colombia", - flag: "🇨🇴", - }, - { - name: "Comoros", - flag: "🇰🇲", - }, - { - name: "Congo", - flag: "🇨🇬", - }, - { - name: "Congo, the Democratic Republic of the", - flag: "🇨🇩", - }, - { - name: "Cook Islands", - flag: "🇨🇰", - }, - { - name: "Costa Rica", - flag: "🇨🇷", - }, - { - name: "Côte d'Ivoire", - flag: "🇨🇮", - }, - { - name: "Croatia", - flag: "🇭🇷", - }, - { - name: "Cuba", - flag: "🇨🇺", - }, - { - name: "Curaçao", - flag: "🇨🇼", - }, - { - name: "Cyprus", - flag: "🇨🇾", - }, - { - name: "Czech Republic", - flag: "🇨🇿", - }, - { - name: "Denmark", - flag: "🇩🇰", - }, - { - name: "Djibouti", - flag: "🇩🇯", - }, - { - name: "Dominica", - flag: "🇩🇲", - }, - { - name: "Dominican Republic", - flag: "🇩🇴", - }, - { - name: "Ecuador", - flag: "🇪🇨", - }, - { - name: "Egypt", - flag: "🇪🇬", - }, - { - name: "El Salvador", - flag: "🇸🇻", - }, - { - name: "Equatorial Guinea", - flag: "🇬🇶", - }, - { - name: "Eritrea", - flag: "🇪🇷", - }, - { - name: "Estonia", - flag: "🇪🇪", - }, - { - name: "Ethiopia", - flag: "🇪🇹", - }, - { - name: "Falkland Islands (Malvinas)", - flag: "🇫🇰", - }, - { - name: "Faroe Islands", - flag: "🇫🇴", - }, - { - name: "Fiji", - flag: "🇫🇯", - }, - { - name: "Finland", - flag: "🇫🇮", - }, - { - name: "France", - flag: "🇫🇷", - }, - { - name: "French Guiana", - flag: "🇬🇫", - }, - { - name: "French Polynesia", - flag: "🇵🇫", - }, - { - name: "French Southern Territories", - flag: "🇹🇫", - }, - { - name: "Gabon", - flag: "🇬🇦", - }, - { - name: "Gambia", - flag: "🇬🇲", - }, - { - name: "Georgia", - flag: "🇬🇪", - }, - { - name: "Germany", - flag: "🇩🇪", - }, - { - name: "Ghana", - flag: "🇬🇭", - }, - { - name: "Gibraltar", - flag: "🇬🇮", - }, - { - name: "Greece", - flag: "🇬🇷", - }, - { - name: "Greenland", - flag: "🇬🇱", - }, - { - name: "Grenada", - flag: "🇬🇩", - }, - { - name: "Guadeloupe", - flag: "🇬🇵", - }, - { - name: "Guam", - flag: "🇬🇺", - }, - { - name: "Guatemala", - flag: "🇬🇹", - }, - { - name: "Guernsey", - flag: "🇬🇬", - }, - { - name: "Guinea", - flag: "🇬🇳", - }, - { - name: "Guinea-Bissau", - flag: "🇬🇼", - }, - { - name: "Guyana", - flag: "🇬🇾", - }, - { - name: "Haiti", - flag: "🇭🇹", - }, - { - name: "Heard Island and McDonald Islands", - flag: "🇭🇲", - }, - { - name: "Holy See (Vatican City State)", - flag: "🇻🇦", - }, - { - name: "Honduras", - flag: "🇭🇳", - }, - { - name: "Hong Kong", - flag: "🇭🇰", - }, - { - name: "Hungary", - flag: "🇭🇺", - }, - { - name: "Iceland", - flag: "🇮🇸", - }, - { - name: "India", - flag: "🇮🇳", - }, - { - name: "Indonesia", - flag: "🇮🇩", - }, - { - name: "Iran, Islamic Republic of", - flag: "🇮🇷", - }, - { - name: "Iraq", - flag: "🇮🇶", - }, - { - name: "Ireland", - flag: "🇮🇪", - }, - { - name: "Isle of Man", - flag: "🇮🇲", - }, - { - name: "Israel", - flag: "🇮🇱", - }, - { - name: "Italy", - flag: "🇮🇹", - }, - { - name: "Jamaica", - flag: "🇯🇲", - }, - { - name: "Japan", - flag: "🇯🇵", - }, - { - name: "Jersey", - flag: "🇯🇪", - }, - { - name: "Jordan", - flag: "🇯🇴", - }, - { - name: "Kazakhstan", - flag: "🇰🇿", - }, - { - name: "Kenya", - flag: "🇰🇪", - }, - { - name: "Kiribati", - flag: "🇰🇮", - }, - { - name: "Korea, Democratic People's Republic of", - flag: "🇰🇵", - }, - { - name: "Korea, Republic of", - flag: "🇰🇷", - }, - { - name: "Kuwait", - flag: "🇰🇼", - }, - { - name: "Kyrgyzstan", - flag: "🇰🇬", - }, - { - name: "Lao People's Democratic Republic", - flag: "🇱🇦", - }, - { - name: "Latvia", - flag: "🇱🇻", - }, - { - name: "Lebanon", - flag: "🇱🇧", - }, - { - name: "Lesotho", - flag: "🇱🇸", - }, - { - name: "Liberia", - flag: "🇱🇷", - }, - { - name: "Libya", - flag: "🇱🇾", - }, - { - name: "Liechtenstein", - flag: "🇱🇮", - }, - { - name: "Lithuania", - flag: "🇱🇹", - }, - { - name: "Luxembourg", - flag: "🇱🇺", - }, - { - name: "Macao", - flag: "🇲🇴", - }, - { - name: "Macedonia, the Former Yugoslav Republic of", - flag: "🇲🇰", - }, - { - name: "Madagascar", - flag: "🇲🇬", - }, - { - name: "Malawi", - flag: "🇲🇼", - }, - { - name: "Malaysia", - flag: "🇲🇾", - }, - { - name: "Maldives", - flag: "🇲🇻", - }, - { - name: "Mali", - flag: "🇲🇱", - }, - { - name: "Malta", - flag: "🇲🇹", - }, - { - name: "Marshall Islands", - flag: "🇲🇭", - }, - { - name: "Martinique", - flag: "🇲🇶", - }, - { - name: "Mauritania", - flag: "🇲🇷", - }, - { - name: "Mauritius", - flag: "🇲🇺", - }, - { - name: "Mayotte", - flag: "🇾🇹", - }, - { - name: "Mexico", - flag: "🇲🇽", - }, - { - name: "Micronesia, Federated States of", - flag: "🇫🇲", - }, - { - name: "Moldova, Republic of", - flag: "🇲🇩", - }, - { - name: "Monaco", - flag: "🇲🇨", - }, - { - name: "Mongolia", - flag: "🇲🇳", - }, - { - name: "Montenegro", - flag: "🇲🇪", - }, - { - name: "Montserrat", - flag: "🇲🇸", - }, - { - name: "Morocco", - flag: "🇲🇦", - }, - { - name: "Mozambique", - flag: "🇲🇿", - }, - { - name: "Myanmar", - flag: "🇲🇲", - }, - { - name: "Namibia", - flag: "🇳🇦", - }, - { - name: "Nauru", - flag: "🇳🇷", - }, - { - name: "Nepal", - flag: "🇳🇵", - }, - { - name: "Netherlands", - flag: "🇳🇱", - }, - { - name: "New Caledonia", - flag: "🇳🇨", - }, - { - name: "New Zealand", - flag: "🇳🇿", - }, - { - name: "Nicaragua", - flag: "🇳🇮", - }, - { - name: "Niger", - flag: "🇳🇪", - }, - { - name: "Nigeria", - flag: "🇳🇬", - }, - { - name: "Niue", - flag: "🇳🇺", - }, - { - name: "Norfolk Island", - flag: "🇳🇫", - }, - { - name: "Northern Mariana Islands", - flag: "🇲🇵", - }, - { - name: "Norway", - flag: "🇳🇴", - }, - { - name: "Oman", - flag: "🇴🇲", - }, - { - name: "Pakistan", - flag: "🇵🇰", - }, - { - name: "Palau", - flag: "🇵🇼", - }, - { - name: "Palestine, State of", - flag: "🇵🇸", - }, - { - name: "Panama", - flag: "🇵🇦", - }, - { - name: "Papua New Guinea", - flag: "🇵🇬", - }, - { - name: "Paraguay", - flag: "🇵🇾", - }, - { - name: "Peru", - flag: "🇵🇪", - }, - { - name: "Philippines", - flag: "🇵🇭", - }, - { - name: "Pitcairn", - flag: "🇵🇳", - }, - { - name: "Poland", - flag: "🇵🇱", - }, - { - name: "Portugal", - flag: "🇵🇹", - }, - { - name: "Puerto Rico", - flag: "🇵🇷", - }, - { - name: "Qatar", - flag: "🇶🇦", - }, - { - name: "Réunion", - flag: "🇷🇪", - }, - { - name: "Romania", - flag: "🇷🇴", - }, - { - name: "Russian Federation", - flag: "🇷🇺", - }, - { - name: "Rwanda", - flag: "🇷🇼", - }, - { - name: "Saint Barthélemy", - flag: "🇧🇱", - }, - { - name: "Saint Helena, Ascension and Tristan da Cunha", - flag: "🇸🇭", - }, - { - name: "Saint Kitts and Nevis", - flag: "🇰🇳", - }, - { - name: "Saint Lucia", - flag: "🇱🇨", - }, - { - name: "Saint Martin (French part)", - flag: "🇲🇫", - }, - { - name: "Saint Pierre and Miquelon", - flag: "🇵🇲", - }, - { - name: "Saint Vincent and the Grenadines", - flag: "🇻🇨", - }, - { - name: "Samoa", - flag: "🇼🇸", - }, - { - name: "San Marino", - flag: "🇸🇲", - }, - { - name: "Sao Tome and Principe", - flag: "🇸🇹", - }, - { - name: "Saudi Arabia", - flag: "🇸🇦", - }, - { - name: "Senegal", - flag: "🇸🇳", - }, - { - name: "Serbia", - flag: "🇷🇸", - }, - { - name: "Seychelles", - flag: "🇸🇨", - }, - { - name: "Sierra Leone", - flag: "🇸🇱", - }, - { - name: "Singapore", - flag: "🇸🇬", - }, - { - name: "Sint Maarten (Dutch part)", - flag: "🇸🇽", - }, - { - name: "Slovakia", - flag: "🇸🇰", - }, - { - name: "Slovenia", - flag: "🇸🇮", - }, - { - name: "Solomon Islands", - flag: "🇸🇧", - }, - { - name: "Somalia", - flag: "🇸🇴", - }, - { - name: "South Africa", - flag: "🇿🇦", - }, - { - name: "South Georgia and the South Sandwich Islands", - flag: "🇬🇸", - }, - { - name: "South Sudan", - flag: "🇸🇸", - }, - { - name: "Spain", - flag: "🇪🇸", - }, - { - name: "Sri Lanka", - flag: "🇱🇰", - }, - { - name: "Sudan", - flag: "🇸🇩", - }, - { - name: "Suriname", - flag: "🇸🇷", - }, - { - name: "Svalbard and Jan Mayen", - flag: "🇸🇯", - }, - { - name: "Swaziland", - flag: "🇸🇿", - }, - { - name: "Sweden", - flag: "🇸🇪", - }, - { - name: "Switzerland", - flag: "🇨🇭", - }, - { - name: "Syrian Arab Republic", - flag: "🇸🇾", - }, - { - name: "Taiwan, Province of China", - flag: "🇹🇼", - }, - { - name: "Tajikistan", - flag: "🇹🇯", - }, - { - name: "Tanzania, United Republic of", - flag: "🇹🇿", - }, - { - name: "Thailand", - flag: "🇹🇭", - }, - { - name: "Timor-Leste", - flag: "🇹🇱", - }, - { - name: "Togo", - flag: "🇹🇬", - }, - { - name: "Tokelau", - flag: "🇹🇰", - }, - { - name: "Tonga", - flag: "🇹🇴", - }, - { - name: "Trinidad and Tobago", - flag: "🇹🇹", - }, - { - name: "Tunisia", - flag: "🇹🇳", - }, - { - name: "Turkey", - flag: "🇹🇷", - }, - { - name: "Turkmenistan", - flag: "🇹🇲", - }, - { - name: "Turks and Caicos Islands", - flag: "🇹🇨", - }, - { - name: "Tuvalu", - flag: "🇹🇻", - }, - { - name: "Uganda", - flag: "🇺🇬", - }, - { - name: "Ukraine", - flag: "🇺🇦", - }, - { - name: "United Arab Emirates", - flag: "🇦🇪", - }, - { - name: "United Kingdom", - flag: "🇬🇧", - }, - { - name: "United States", - flag: "🇺🇸", - }, - { - name: "United States Minor Outlying Islands", - flag: "🇺🇲", - }, - { - name: "Uruguay", - flag: "🇺🇾", - }, - { - name: "Uzbekistan", - flag: "🇺🇿", - }, - { - name: "Vanuatu", - flag: "🇻🇺", - }, - { - name: "Venezuela, Bolivarian Republic of", - flag: "🇻🇪", - }, - { - name: "Vietnam", - flag: "🇻🇳", - }, - { - name: "Virgin Islands, British", - flag: "🇻🇬", - }, - { - name: "Virgin Islands, U.S.", - flag: "🇻🇮", - }, - { - name: "Wallis and Futuna", - flag: "🇼🇫", - }, - { - name: "Western Sahara", - flag: "🇪🇭", - }, - { - name: "Yemen", - flag: "🇾🇪", - }, - { - name: "Zambia", - flag: "🇿🇲", - }, - { - name: "Zimbabwe", - flag: "🇿🇼", - }, -];