diff --git a/README.md b/README.md index 7a174aa86..a26f9af2d 100644 --- a/README.md +++ b/README.md @@ -1,15 +1,15 @@ -# What is Crust? +# What is Corteza? -[![Build Status](https://drone.crust.tech/api/badges/crusttech/crust/status.svg)](https://drone.crust.tech/crusttech/crust) -[![Go Report Card](https://goreportcard.com/badge/github.com/crusttech/crust)](https://goreportcard.com/report/github.com/crusttech/crust) +[![Build Status](https://drone.crust.tech/api/badges/cortezaproject/corteza/status.svg)](https://drone.crust.tech/cortezaproject/corteza) +[![Go Report Card](https://goreportcard.com/badge/github.com/cortezaproject/corteza-server)](https://goreportcard.com/report/github.com/cortezaproject/corteza-server) -Crust brings your user ecosystem and essential applications together on one platform, unifying them via CRM, Team Messaging and Advanced Identity and Access Management. +Corteza brings your user ecosystem and essential applications together on one platform, unifying them via CRM, Team Messaging and Advanced Identity and Access Management. -**Crust Messaging** is a secure, high performance, open source Slack alternative that allows your teams to collaborate more efficiently, as well as communicate safely with other organisations or customers. +**Corteza Messaging** is a secure, high performance, open source Slack alternative that allows your teams to collaborate more efficiently, as well as communicate safely with other organisations or customers. -**Crust CRM** is the highly flexible, scalable and open source Salesforce alternative, that enables you to sell faster and interact with leads, clients and team members easier then ever before. Seamless integration with Crust Messaging and Crust Identity and Access Management make it the most complete and flexible self-hosted CRM platform on the market. +**Corteza Compose** is an open source Rapid Application Development (RAD) platform for custom web based business applications. Deliver the application you need more easily and faster then ever before with the drag and drop page builder, protect users with integrated Identity, Access and Privacy Management, and automate tasks with Compose’s advanced automation functionality. Corteza Compose is easy, fast and secure – your perfect ally to digitize your organisation’s business processes and customer engagement. -**Crust Unify** manages user experience for Crust applications, such as Compose and Messaging, as well as providing an integrated interface for third party or other bespoke applications. 100% responsive and with an intuitive design, Crust Unify increases productivity and ease of access to all IT resources. +**Corteza Unify** manages user experience for Corteza applications, such as Compose and Messaging, as well as providing an integrated interface for third party or other bespoke applications. 100% responsive and with an intuitive design, Corteza Unify increases productivity and ease of access to all IT resources. ## Contributing diff --git a/api/compose/spec.json b/api/compose/spec.json index 01799ec78..c3f5e2349 100644 --- a/api/compose/spec.json +++ b/api/compose/spec.json @@ -425,7 +425,7 @@ { "imports": [ "sqlxTypes github.com/jmoiron/sqlx/types", - "github.com/crusttech/crust/compose/types", + "github.com/cortezaproject/corteza-server/compose/types", "time" ] } @@ -572,7 +572,7 @@ "struct": [ { "imports": [ - "github.com/crusttech/crust/compose/types" + "github.com/cortezaproject/corteza-server/compose/types" ] } ], @@ -1114,19 +1114,19 @@ "name": "to", "type": "[]string", "required": true, - "title": "Email addresses or Crust user IDs" + "title": "Email addresses" }, { "name": "cc", "type": "[]string", "required": false, - "title": "Email addresses or Crust user IDs" + "title": "Email addresses" }, { "name": "replyTo", "type": "string", "required": false, - "title": "Crust user ID or email address in reply-to field" + "title": "Email address in reply-to field" }, { "name": "subject ", @@ -1328,7 +1328,7 @@ "struct": [ { "imports": [ - "github.com/crusttech/crust/internal/permissions" + "github.com/cortezaproject/corteza-server/internal/permissions" ] } ], diff --git a/api/compose/spec/module.json b/api/compose/spec/module.json index a123fa355..522ff47c1 100644 --- a/api/compose/spec/module.json +++ b/api/compose/spec/module.json @@ -6,7 +6,7 @@ { "imports": [ "sqlxTypes github.com/jmoiron/sqlx/types", - "github.com/crusttech/crust/compose/types", + "github.com/cortezaproject/corteza-server/compose/types", "time" ] } @@ -156,4 +156,4 @@ } } ] -} \ No newline at end of file +} diff --git a/api/compose/spec/notification.json b/api/compose/spec/notification.json index 121e7c78b..663b29aaa 100644 --- a/api/compose/spec/notification.json +++ b/api/compose/spec/notification.json @@ -24,19 +24,19 @@ { "name": "to", "required": true, - "title": "Email addresses or Crust user IDs", + "title": "Email addresses", "type": "[]string" }, { "name": "cc", "required": false, - "title": "Email addresses or Crust user IDs", + "title": "Email addresses", "type": "[]string" }, { "name": "replyTo", "required": false, - "title": "Crust user ID or email address in reply-to field", + "title": "Email address in reply-to field", "type": "string" }, { diff --git a/api/compose/spec/permissions.json b/api/compose/spec/permissions.json index d93f8f9ae..965491319 100644 --- a/api/compose/spec/permissions.json +++ b/api/compose/spec/permissions.json @@ -4,7 +4,7 @@ "Struct": [ { "imports": [ - "github.com/crusttech/crust/internal/permissions" + "github.com/cortezaproject/corteza-server/internal/permissions" ] } ], @@ -96,4 +96,4 @@ } } ] -} \ No newline at end of file +} diff --git a/api/compose/spec/record.json b/api/compose/spec/record.json index ebc06d2de..bb987fe89 100644 --- a/api/compose/spec/record.json +++ b/api/compose/spec/record.json @@ -5,7 +5,7 @@ "Struct": [ { "imports": [ - "github.com/crusttech/crust/compose/types" + "github.com/cortezaproject/corteza-server/compose/types" ] } ], @@ -194,4 +194,4 @@ } } ] -} \ No newline at end of file +} diff --git a/api/messaging/spec.json b/api/messaging/spec.json index 2a0ef48be..0e27c011b 100644 --- a/api/messaging/spec.json +++ b/api/messaging/spec.json @@ -769,7 +769,7 @@ "get": [ { "name": "channelID", - "type": "[]uint64", + "type": "[]string", "required": false, "title": "Filter by channels" }, @@ -799,13 +799,13 @@ }, { "name": "threadID", - "type": "[]uint64", + "type": "[]string", "required": false, "title": "Filter by thread message ID" }, { "name": "userID", - "type": "[]uint64", + "type": "[]string", "required": false, "title": "Filter by one or more user" }, @@ -845,7 +845,7 @@ "get": [ { "name": "channelID", - "type": "[]uint64", + "type": "[]string", "required": false, "title": "Filter by channels" }, @@ -869,7 +869,7 @@ "struct": [ { "imports": [ - "github.com/crusttech/crust/messaging/types" + "github.com/cortezaproject/corteza-server/messaging/types" ] } ], @@ -1141,7 +1141,7 @@ "struct": [ { "imports": [ - "github.com/crusttech/crust/internal/permissions" + "github.com/cortezaproject/corteza-server/internal/permissions" ] } ], diff --git a/api/messaging/spec/permissions.json b/api/messaging/spec/permissions.json index d93f8f9ae..965491319 100644 --- a/api/messaging/spec/permissions.json +++ b/api/messaging/spec/permissions.json @@ -4,7 +4,7 @@ "Struct": [ { "imports": [ - "github.com/crusttech/crust/internal/permissions" + "github.com/cortezaproject/corteza-server/internal/permissions" ] } ], @@ -96,4 +96,4 @@ } } ] -} \ No newline at end of file +} diff --git a/api/messaging/spec/search.json b/api/messaging/spec/search.json index acaf7792d..908cb3007 100644 --- a/api/messaging/spec/search.json +++ b/api/messaging/spec/search.json @@ -30,7 +30,7 @@ "name": "channelID", "required": false, "title": "Filter by channels", - "type": "[]uint64" + "type": "[]string" }, { "name": "afterMessageID", @@ -60,13 +60,13 @@ "name": "threadID", "required": false, "title": "Filter by thread message ID", - "type": "[]uint64" + "type": "[]string" }, { "name": "userID", "required": false, "title": "Filter by one or more user", - "type": "[]uint64" + "type": "[]string" }, { "name": "type", @@ -106,7 +106,7 @@ "name": "channelID", "required": false, "title": "Filter by channels", - "type": "[]uint64" + "type": "[]string" }, { "name": "limit", diff --git a/api/messaging/spec/webhooks.json b/api/messaging/spec/webhooks.json index c082d6488..579919d1d 100644 --- a/api/messaging/spec/webhooks.json +++ b/api/messaging/spec/webhooks.json @@ -4,7 +4,7 @@ "Struct": [ { "imports": [ - "github.com/crusttech/crust/messaging/types" + "github.com/cortezaproject/corteza-server/messaging/types" ] } ], @@ -192,4 +192,4 @@ } } ] -} \ No newline at end of file +} diff --git a/api/system/spec.json b/api/system/spec.json index 3e3243d7b..655c680d4 100644 --- a/api/system/spec.json +++ b/api/system/spec.json @@ -672,7 +672,7 @@ "struct": [ { "imports": [ - "github.com/crusttech/crust/system/types" + "github.com/cortezaproject/corteza-server/system/types" ] } ], @@ -988,7 +988,7 @@ "struct": [ { "imports": [ - "github.com/crusttech/crust/internal/permissions" + "github.com/cortezaproject/corteza-server/internal/permissions" ] } ], diff --git a/api/system/spec/permissions.json b/api/system/spec/permissions.json index d93f8f9ae..965491319 100644 --- a/api/system/spec/permissions.json +++ b/api/system/spec/permissions.json @@ -4,7 +4,7 @@ "Struct": [ { "imports": [ - "github.com/crusttech/crust/internal/permissions" + "github.com/cortezaproject/corteza-server/internal/permissions" ] } ], @@ -96,4 +96,4 @@ } } ] -} \ No newline at end of file +} diff --git a/api/system/spec/user.json b/api/system/spec/user.json index 82e1d5cc6..2cbfc4a3f 100644 --- a/api/system/spec/user.json +++ b/api/system/spec/user.json @@ -4,7 +4,7 @@ "Struct": [ { "imports": [ - "github.com/crusttech/crust/system/types" + "github.com/cortezaproject/corteza-server/system/types" ] } ], @@ -185,4 +185,4 @@ } } ] -} \ No newline at end of file +} diff --git a/codegen.sh b/codegen.sh index bd662eb54..19cee7a9e 100755 --- a/codegen.sh +++ b/codegen.sh @@ -1,7 +1,9 @@ #!/bin/bash set -e -find ./build -name gen-* -delete +if [ -f ./build ]; then + find ./build -name gen-* -delete +fi _PWD=$PWD diff --git a/codegen/templates/http_.tpl b/codegen/templates/http_.tpl index 5faf6281d..8bdc8ba3c 100644 --- a/codegen/templates/http_.tpl +++ b/codegen/templates/http_.tpl @@ -5,7 +5,7 @@ import ( "github.com/pkg/errors" - "github.com/crusttech/crust/{project}/rest/request" + "github.com/cortezaproject/corteza-server/{project}/rest/request" ) var _ = errors.Wrap diff --git a/codegen/templates/http_handlers_inline.tpl b/codegen/templates/http_handlers_inline.tpl index 45a6b3055..6b754ab50 100644 --- a/codegen/templates/http_handlers_inline.tpl +++ b/codegen/templates/http_handlers_inline.tpl @@ -10,8 +10,8 @@ import ( "github.com/go-chi/chi" "github.com/titpetric/factory/resputil" - "github.com/crusttech/crust/{project}/rest/request" - "github.com/crusttech/crust/internal/logger" + "github.com/cortezaproject/corteza-server/{project}/rest/request" + "github.com/cortezaproject/corteza-server/internal/logger" ) // Internal API interface diff --git a/codegen/v2/type-set-test.go b/codegen/v2/type-set-test.go index e93e1d36e..771984dfe 100644 --- a/codegen/v2/type-set-test.go +++ b/codegen/v2/type-set-test.go @@ -143,7 +143,7 @@ func main() { "testing", "errors", "", - "github.com/crusttech/crust/internal/test", + "github.com/cortezaproject/corteza-server/internal/test", } flag.StringVar(&stdTypesStr, "types", "", "Comma separated list of types") diff --git a/docs/Authentication.md b/docs/Authentication.md index eeec0941c..47ad0df6a 100644 --- a/docs/Authentication.md +++ b/docs/Authentication.md @@ -1,6 +1,6 @@ # Authentication -Crust support a fixed set of standard OAuth 2 authentication providers +Corteza support a fixed set of standard OAuth 2 authentication providers (facebook, gplus, github and linkedin) and a arbitrary number of custom issuers (over OpenID Connect). @@ -12,11 +12,11 @@ Settings for external providers are stored under keys Prop is one of: `key`, `secret`, `enabled`. OIDC settings also have `issuer` prop. -Example settings (`system-cli settings list --prefix=auth.external`): +Example settings (`system settings list --prefix=auth.external`): ``` -auth.external.callback-endpoint "https://your-crust-system-api-backend/auth/external/%s/callback" +auth.external.callback-endpoint "https://your-corteza-system-api-backend/auth/external/%s/callback" auth.external.enabled true auth.external.providers.facebook.enabled true auth.external.providers.facebook.key "24226007270326" @@ -31,10 +31,10 @@ auth.external.providers.github.secret null auth.external.providers.linkedin.enabled false auth.external.providers.linkedin.key null auth.external.providers.linkedin.secret null -auth.external.providers.openid-connect.crust-iam.enabled true -auth.external.providers.openid-connect.crust-iam.key "tXM2ouiovowzGabk" -auth.external.providers.openid-connect.crust-iam.issuer "https://satosa.didmos.latest.crust.tech" -auth.external.providers.openid-connect.crust-iam.secret "e1d68bfd7718468ba8fd36131f5176b1" +auth.external.providers.openid-connect.corteza-iam.enabled true +auth.external.providers.openid-connect.corteza-iam.key "tXM2ouiovowzGabk" +auth.external.providers.openid-connect.corteza-iam.issuer "https://satosa.didmos.latest.crust.tech" +auth.external.providers.openid-connect.corteza-iam.secret "e1d68bfd7718468ba8fd36131f5176b1" auth.external.redirect-url "http://system.api.local.crust.tech:3002/auth/external/%s/callback" auth.external.session-store-secret "fCVFSRWjVEcoYuhXSf3f6zVWO1p38XEWz2yS8WH7wKDbvpxFrZq7zlEuiUTvk4QF" ``` @@ -42,7 +42,7 @@ auth.external.session-store-secret "fCVFSRWjVEcoYuhXSf3f6zVWO1p38XEWz2yS8WH7wKDb # Changing settings Authentication settings can be changed in the administration (via the API) and with cli -command (`system-cli settings set `). Please bare in mind that values passed +command (`system settings set `). Please bare in mind that values passed to CLI tool must always be in raw JSON format. Changing values requires system service restart. @@ -52,19 +52,19 @@ On startup, you should see log entries similar to these: initializing external authentication providers (3) external authentication provider "facebook" added external authentication provider "gplus" added -external authentication provider "openid-connect.crust-iam" added +external authentication provider "openid-connect.corteza-iam" added ``` # OIDC Auto discovery/configuration -Crust CLI comes with auto-discovery tool: +Corteza CLI comes with auto-discovery tool: ```bash -system-cli external-auth auto-discovery name url +system external-auth auto-discovery name url ``` ```bash -system-cli external-auth auto-discovery crust-iam https://satosa.didmos.crust.example.tld +system external-auth auto-discovery corteza-iam https://satosa.didmos.crust.example.tld ``` This will autodiscover and autoconfigure new OIDC provider. @@ -74,5 +74,5 @@ Please note that this provider is disabled by default. To enable it, run: ```bash -system-cli settings key auth.external.providers.openid-connect.crust-iam.enabled true +system settings key auth.external.providers.openid-connect.corteza-iam.enabled true ``` diff --git a/docs/compose/README.md b/docs/compose/README.md index 69365ac20..57d4ba71a 100644 --- a/docs/compose/README.md +++ b/docs/compose/README.md @@ -422,9 +422,9 @@ Compose Notifications | Parameter | Type | Method | Description | Default | Required? | | --------- | ---- | ------ | ----------- | ------- | --------- | -| to | []string | POST | Email addresses or Crust user IDs | N/A | YES | -| cc | []string | POST | Email addresses or Crust user IDs | N/A | NO | -| replyTo | string | POST | Crust user ID or email address in reply-to field | N/A | NO | +| to | []string | POST | Email addresses | N/A | YES | +| cc | []string | POST | Email addresses | N/A | NO | +| replyTo | string | POST | Email address in reply-to field | N/A | NO | | subject | string | POST | Email subject | N/A | NO | | content | sqlxTypes.JSONText | POST | Message content | N/A | YES | diff --git a/docs/messaging/README.md b/docs/messaging/README.md index 04f6957c8..4f5703091 100644 --- a/docs/messaging/README.md +++ b/docs/messaging/README.md @@ -615,13 +615,13 @@ A channel is a representation of a sequence of messages. It has meta data like c | Parameter | Type | Method | Description | Default | Required? | | --------- | ---- | ------ | ----------- | ------- | --------- | -| channelID | []uint64 | GET | Filter by channels | N/A | NO | +| channelID | []string | GET | Filter by channels | N/A | NO | | afterMessageID | uint64 | GET | ID of the first message in the list (exclusive) | N/A | NO | | beforeMessageID | uint64 | GET | ID of the last message in the list (exclusive) | N/A | NO | | fromMessageID | uint64 | GET | ID of the first message in the list (inclusive) | N/A | NO | | toMessageID | uint64 | GET | ID of the last message the list (inclusive) | N/A | NO | -| threadID | []uint64 | GET | Filter by thread message ID | N/A | NO | -| userID | []uint64 | GET | Filter by one or more user | N/A | NO | +| threadID | []string | GET | Filter by thread message ID | N/A | NO | +| userID | []string | GET | Filter by one or more user | N/A | NO | | type | []string | GET | Filter by message type (text, inlineImage, attachment, ...) | N/A | NO | | pinnedOnly | bool | GET | Return only pinned messages | N/A | NO | | bookmarkedOnly | bool | GET | Only bookmarked messages | N/A | NO | @@ -640,7 +640,7 @@ A channel is a representation of a sequence of messages. It has meta data like c | Parameter | Type | Method | Description | Default | Required? | | --------- | ---- | ------ | ----------- | ------- | --------- | -| channelID | []uint64 | GET | Filter by channels | N/A | NO | +| channelID | []string | GET | Filter by channels | N/A | NO | | limit | uint | GET | Max number of messages | N/A | NO | | query | string | GET | Search query | N/A | NO |