diff --git a/codegen/codegen.php b/codegen/codegen.php index 141ff2289..46ea76e21 100755 --- a/codegen/codegen.php +++ b/codegen/codegen.php @@ -97,7 +97,7 @@ foreach ($generators as $generator) { $filename = str_replace("..", ".", strtolower($name) . "." . $type . ".go"); $tpl->load("http_$type.tpl"); - $tpl->assign("parsers", + $tpl->assign("parsers", $tpl->assign("package", $api['package']); $tpl->assign("name", $name); $tpl->assign("self", strtolower(substr($name, 0, 1))); diff --git a/sam/docs/src/spec.json b/sam/docs/src/spec.json index 280679c29..fd88154fb 100644 --- a/sam/docs/src/spec.json +++ b/sam/docs/src/spec.json @@ -6,22 +6,6 @@ "path": "/organisations", "entrypoint": "organisation", "authentication": ["Client ID", "Session ID"], - "struct": [ - { - "name": "Organisation", - "imports": ["time"], - "fields": [ - { "name": "ID", "type": "uint64" }, - { "name": "FQN", "type": "string", "dbname": "fqn" }, - { "name": "Name", "type": "string" }, - - { "name": "CreatedAt", "type": "time.Time", "tag": "json:\"created_at,omitempty\"", "complex": true }, - { "name": "UpdatedAt", "type": "*time.Time", "tag": "json:\"updated_at,omitempty\"", "complex": true }, - { "name": "ArchivedAt", "type": "*time.Time", "tag": "json:\"archived_at,omitempty\"", "complex": true }, - { "name": "DeletedAt", "type": "*time.Time", "tag": "json:\"deleted_at,omitempty\"", "complex": true } - ] - } - ], "apis": [ { "name": "list", @@ -101,22 +85,6 @@ "path": "/teams", "entrypoint": "team", "authentication": ["Client ID", "Session ID"], - "struct": [ - { - "name": "Team", - "imports": [ "time" ], - "fields": [ - { "type": "uint64", "name": "ID" }, - { "type": "string", "name": "Name" }, - { "type": "string", "name": "Handle" }, - - { "name": "CreatedAt", "type": "time.Time", "tag": "json:\"created_at,omitempty\"", "complex": true }, - { "name": "UpdatedAt", "type": "*time.Time", "tag": "json:\"updated_at,omitempty\"", "complex": true }, - { "name": "ArchivedAt", "type": "*time.Time", "tag": "json:\"archived_at,omitempty\"", "complex": true }, - { "name": "DeletedAt", "type": "*time.Time", "tag": "json:\"deleted_at,omitempty\"", "complex": true } - ] - } - ], "apis": [ { "name": "list", @@ -226,27 +194,6 @@ "entrypoint": "channel", "path": "/channels", "authentication": ["Client ID", "Session ID"], - "struct": [ - { - "name": "Channel", - "imports": [ - "time", - "encoding/json" - ], - "fields": [ - { "type": "uint64", "name": "ID" }, - { "type": "string", "name": "Name" }, - { "type": "string", "name": "Topic", "dbname": "-" }, - { "type": "json.RawMessage", "name": "Meta", "complex": true}, - { "type": "uint64", "name": "LastMessageID", "tag": "json:\",omitempty\"", "dbname": "rel_last_message" }, - - { "name": "CreatedAt", "type": "time.Time", "tag": "json:\"created_at,omitempty\"", "complex": true }, - { "name": "UpdatedAt", "type": "*time.Time", "tag": "json:\"updated_at,omitempty\"", "complex": true }, - { "name": "ArchivedAt", "type": "*time.Time", "tag": "json:\"archived_at,omitempty\"", "complex": true }, - { "name": "DeletedAt", "type": "*time.Time", "tag": "json:\"deleted_at,omitempty\"", "complex": true } - ] - } - ], "apis": [ { "name": "list", @@ -371,58 +318,6 @@ }, "entrypoint": "message", "authentication": ["Client ID", "Session ID"], - "struct": [ - { - "name": "Message", - "imports": ["time"], - "fields": [ - { "name": "ID", "type": "uint64" }, - { "name": "Type", "type": "string" }, - { "name": "Message", "type": "string" }, - { "name": "UserID", "type": "uint64", "dbname": "rel_user" }, - { "name": "ChannelID", "type": "uint64", "dbname": "rel_channel"}, - { "name": "ReplyTo", "type": "uint64", "dbname": "reply_to" }, - - { "name": "CreatedAt", "type": "time.Time", "tag": "json:\"created_at,omitempty\"", "complex": true }, - { "name": "UpdatedAt", "type": "*time.Time", "tag": "json:\"updated_at,omitempty\"", "complex": true }, - { "name": "DeletedAt", "type": "*time.Time", "tag": "json:\"deleted_at,omitempty\"", "complex": true } - ] - }, - { - "name": "Reaction", - "imports": ["time"], - "fields": [ - { "name": "ID", "type": "uint64" }, - { "name": "UserID", "type": "uint64", "dbname": "rel_user" }, - { "name": "MessageID", "type": "uint64", "dbname": "rel_message"}, - { "name": "ChannelID", "type": "uint64", "dbname": "rel_channel"}, - { "name": "Reaction", "type": "string" }, - - { "name": "CreatedAt", "type": "time.Time", "tag": "json:\"created_at,omitempty\"", "complex": true } - ] - }, - { - "name": "Attachment", - "imports": ["time", "encoding/json"], - "fields": [ - { "name": "ID", "type": "uint64" }, - { "name": "UserID", "type": "uint64", "dbname": "rel_user" }, - { "name": "MessageID", "type": "uint64", "dbname": "rel_message"}, - { "name": "ChannelID", "type": "uint64", "dbname": "rel_channel"}, - { "name": "Attachment", "type": "json.RawMessage" , "complex": true}, - - { "name": "Url", "type": "string" }, - { "name": "PreviewUrl", "type": "string" }, - { "name": "Size", "type": "uint" }, - { "name": "Mimetype", "type": "string" }, - { "name": "Name", "type": "string" }, - - { "name": "CreatedAt", "type": "time.Time", "tag": "json:\"created_at,omitempty\"", "complex": true }, - { "name": "UpdatedAt", "type": "*time.Time", "tag": "json:\"updated_at,omitempty\"", "complex": true }, - { "name": "DeletedAt", "type": "*time.Time", "tag": "json:\"deleted_at,omitempty\"", "complex": true } - ] - } - ], "apis": [ { "name": "create", @@ -579,24 +474,6 @@ "path": "/users", "entrypoint": "user", "authentication": ["Client ID", "Session ID"], - "struct": [ - { - "name": "User", - "imports": ["time"], - "fields": [ - { "type": "uint64", "name": "ID" }, - { "type": "string", "name": "Username" }, - { "type": "interface{}", "name": "Meta", "tag": "json:\"-\"" }, - { "type": "uint64", "name": "OrganisationID", "dbname": "rel_organisation" }, - { "type": "[]byte", "name": "Password", "tag": "json:\"-\"", "complex": true }, - - { "name": "CreatedAt", "type": "time.Time", "tag": "json:\"created_at,omitempty\"", "complex": true }, - { "name": "UpdatedAt", "type": "*time.Time", "tag": "json:\"updated_at,omitempty\"", "complex": true }, - { "name": "SuspendedAt","type": "*time.Time", "tag": "json:\"suspended_at,omitempty\"","complex": true }, - { "name": "DeletedAt", "type": "*time.Time", "tag": "json:\"deleted_at,omitempty\"", "complex": true } - ] - } - ], "apis": [ { "name": "search", @@ -629,7 +506,6 @@ "package": "sam", "path": "/auth", "entrypoint": "auth", - "struct": [], "authentication": [], "apis": [ { diff --git a/sam/docs/src/spec/auth.json b/sam/docs/src/spec/auth.json index f783af133..07fd7562a 100644 --- a/sam/docs/src/spec/auth.json +++ b/sam/docs/src/spec/auth.json @@ -2,7 +2,7 @@ "Title": "Authentication", "Package": "sam", "Interface": "Auth", - "Struct": [], + "Struct": null, "Parameters": null, "Protocol": "", "Authentication": [], diff --git a/sam/docs/src/spec/channel.json b/sam/docs/src/spec/channel.json index b23bfa3c1..08f06cd50 100644 --- a/sam/docs/src/spec/channel.json +++ b/sam/docs/src/spec/channel.json @@ -3,65 +3,7 @@ "Description": "A channel is a representation of a sequence of messages. It has meta data like channel subject. Channels may be public, private or direct (between two users).", "Package": "sam", "Interface": "Channel", - "Struct": [ - { - "fields": [ - { - "name": "ID", - "type": "uint64" - }, - { - "name": "Name", - "type": "string" - }, - { - "dbname": "-", - "name": "Topic", - "type": "string" - }, - { - "complex": true, - "name": "Meta", - "type": "json.RawMessage" - }, - { - "dbname": "rel_last_message", - "name": "LastMessageID", - "tag": "json:\",omitempty\"", - "type": "uint64" - }, - { - "complex": true, - "name": "CreatedAt", - "tag": "json:\"created_at,omitempty\"", - "type": "time.Time" - }, - { - "complex": true, - "name": "UpdatedAt", - "tag": "json:\"updated_at,omitempty\"", - "type": "*time.Time" - }, - { - "complex": true, - "name": "ArchivedAt", - "tag": "json:\"archived_at,omitempty\"", - "type": "*time.Time" - }, - { - "complex": true, - "name": "DeletedAt", - "tag": "json:\"deleted_at,omitempty\"", - "type": "*time.Time" - } - ], - "imports": [ - "time", - "encoding/json" - ], - "name": "Channel" - } - ], + "Struct": null, "Parameters": null, "Protocol": "", "Authentication": [ diff --git a/sam/docs/src/spec/message.json b/sam/docs/src/spec/message.json index f72841ad1..532712e95 100644 --- a/sam/docs/src/spec/message.json +++ b/sam/docs/src/spec/message.json @@ -2,169 +2,7 @@ "Title": "Messages", "Package": "sam", "Interface": "Message", - "Struct": [ - { - "fields": [ - { - "name": "ID", - "type": "uint64" - }, - { - "name": "Type", - "type": "string" - }, - { - "name": "Message", - "type": "string" - }, - { - "dbname": "rel_user", - "name": "UserID", - "type": "uint64" - }, - { - "dbname": "rel_channel", - "name": "ChannelID", - "type": "uint64" - }, - { - "dbname": "reply_to", - "name": "ReplyTo", - "type": "uint64" - }, - { - "complex": true, - "name": "CreatedAt", - "tag": "json:\"created_at,omitempty\"", - "type": "time.Time" - }, - { - "complex": true, - "name": "UpdatedAt", - "tag": "json:\"updated_at,omitempty\"", - "type": "*time.Time" - }, - { - "complex": true, - "name": "DeletedAt", - "tag": "json:\"deleted_at,omitempty\"", - "type": "*time.Time" - } - ], - "imports": [ - "time" - ], - "name": "Message" - }, - { - "fields": [ - { - "name": "ID", - "type": "uint64" - }, - { - "dbname": "rel_user", - "name": "UserID", - "type": "uint64" - }, - { - "dbname": "rel_message", - "name": "MessageID", - "type": "uint64" - }, - { - "dbname": "rel_channel", - "name": "ChannelID", - "type": "uint64" - }, - { - "name": "Reaction", - "type": "string" - }, - { - "complex": true, - "name": "CreatedAt", - "tag": "json:\"created_at,omitempty\"", - "type": "time.Time" - } - ], - "imports": [ - "time" - ], - "name": "Reaction" - }, - { - "fields": [ - { - "name": "ID", - "type": "uint64" - }, - { - "dbname": "rel_user", - "name": "UserID", - "type": "uint64" - }, - { - "dbname": "rel_message", - "name": "MessageID", - "type": "uint64" - }, - { - "dbname": "rel_channel", - "name": "ChannelID", - "type": "uint64" - }, - { - "complex": true, - "name": "Attachment", - "type": "json.RawMessage" - }, - { - "name": "Url", - "type": "string" - }, - { - "name": "PreviewUrl", - "type": "string" - }, - { - "name": "Size", - "type": "uint" - }, - { - "name": "Mimetype", - "type": "string" - }, - { - "name": "Name", - "type": "string" - }, - { - "complex": true, - "name": "CreatedAt", - "tag": "json:\"created_at,omitempty\"", - "type": "time.Time" - }, - { - "complex": true, - "name": "UpdatedAt", - "tag": "json:\"updated_at,omitempty\"", - "type": "*time.Time" - }, - { - "complex": true, - "name": "DeletedAt", - "tag": "json:\"deleted_at,omitempty\"", - "type": "*time.Time" - } - ], - "imports": [ - "time", - "encoding/json" - ], - "name": "Attachment" - } - ], + "Struct": null, "Parameters": { "path": [ { diff --git a/sam/docs/src/spec/organisation.json b/sam/docs/src/spec/organisation.json index 39ebe7695..8fec986f0 100644 --- a/sam/docs/src/spec/organisation.json +++ b/sam/docs/src/spec/organisation.json @@ -3,53 +3,7 @@ "Description": "Organisations represent a top-level grouping entity. There may be many organisations defined in a single deployment.", "Package": "sam", "Interface": "Organisation", - "Struct": [ - { - "fields": [ - { - "name": "ID", - "type": "uint64" - }, - { - "dbname": "fqn", - "name": "FQN", - "type": "string" - }, - { - "name": "Name", - "type": "string" - }, - { - "complex": true, - "name": "CreatedAt", - "tag": "json:\"created_at,omitempty\"", - "type": "time.Time" - }, - { - "complex": true, - "name": "UpdatedAt", - "tag": "json:\"updated_at,omitempty\"", - "type": "*time.Time" - }, - { - "complex": true, - "name": "ArchivedAt", - "tag": "json:\"archived_at,omitempty\"", - "type": "*time.Time" - }, - { - "complex": true, - "name": "DeletedAt", - "tag": "json:\"deleted_at,omitempty\"", - "type": "*time.Time" - } - ], - "imports": [ - "time" - ], - "name": "Organisation" - } - ], + "Struct": null, "Parameters": null, "Protocol": "", "Authentication": [ diff --git a/sam/docs/src/spec/team.json b/sam/docs/src/spec/team.json index 0a7c4db1d..9f90c8dbb 100644 --- a/sam/docs/src/spec/team.json +++ b/sam/docs/src/spec/team.json @@ -3,52 +3,7 @@ "Description": "An organisation may have many teams. Teams may have many channels available. Access to channels may be shared between teams.", "Package": "sam", "Interface": "Team", - "Struct": [ - { - "fields": [ - { - "name": "ID", - "type": "uint64" - }, - { - "name": "Name", - "type": "string" - }, - { - "name": "Handle", - "type": "string" - }, - { - "complex": true, - "name": "CreatedAt", - "tag": "json:\"created_at,omitempty\"", - "type": "time.Time" - }, - { - "complex": true, - "name": "UpdatedAt", - "tag": "json:\"updated_at,omitempty\"", - "type": "*time.Time" - }, - { - "complex": true, - "name": "ArchivedAt", - "tag": "json:\"archived_at,omitempty\"", - "type": "*time.Time" - }, - { - "complex": true, - "name": "DeletedAt", - "tag": "json:\"deleted_at,omitempty\"", - "type": "*time.Time" - } - ], - "imports": [ - "time" - ], - "name": "Team" - } - ], + "Struct": null, "Parameters": null, "Protocol": "", "Authentication": [ diff --git a/sam/docs/src/spec/user.json b/sam/docs/src/spec/user.json index ed00c620f..9ed5c5399 100644 --- a/sam/docs/src/spec/user.json +++ b/sam/docs/src/spec/user.json @@ -2,64 +2,7 @@ "Title": "Users", "Package": "sam", "Interface": "User", - "Struct": [ - { - "fields": [ - { - "name": "ID", - "type": "uint64" - }, - { - "name": "Username", - "type": "string" - }, - { - "name": "Meta", - "tag": "json:\"-\"", - "type": "interface{}" - }, - { - "dbname": "rel_organisation", - "name": "OrganisationID", - "type": "uint64" - }, - { - "complex": true, - "name": "Password", - "tag": "json:\"-\"", - "type": "[]byte" - }, - { - "complex": true, - "name": "CreatedAt", - "tag": "json:\"created_at,omitempty\"", - "type": "time.Time" - }, - { - "complex": true, - "name": "UpdatedAt", - "tag": "json:\"updated_at,omitempty\"", - "type": "*time.Time" - }, - { - "complex": true, - "name": "SuspendedAt", - "tag": "json:\"suspended_at,omitempty\"", - "type": "*time.Time" - }, - { - "complex": true, - "name": "DeletedAt", - "tag": "json:\"deleted_at,omitempty\"", - "type": "*time.Time" - } - ], - "imports": [ - "time" - ], - "name": "User" - } - ], + "Struct": null, "Parameters": null, "Protocol": "", "Authentication": [