{"action":"created","issue":{"url":"https://api.github.com/repos/phonetworks/pho-server/issues/1","repository_url":"https://api.github.com/repos/phonetworks/pho-server","labels_url":"https://api.github.com/repos/phonetworks/pho-server/issues/1/labels{/name}","comments_url":"https://api.github.com/repos/phonetworks/pho-server/issues/1/comments","events_url":"https://api.github.com/repos/phonetworks/pho-server/issues/1/events","html_url":"https://github.com/phonetworks/pho-server/issues/1","id":193385636,"number":1,"title":"Folder structure & Naming Problematic","user":{"login":"esokullu","id":19166,"avatar_url":"https://avatars.githubusercontent.com/u/19166?v=3","gravatar_id":"","url":"https://api.github.com/users/esokullu","html_url":"https://github.com/esokullu","followers_url":"https://api.github.com/users/esokullu/followers","following_url":"https://api.github.com/users/esokullu/following{/other_user}","gists_url":"https://api.github.com/users/esokullu/gists{/gist_id}","starred_url":"https://api.github.com/users/esokullu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/esokullu/subscriptions","organizations_url":"https://api.github.com/users/esokullu/orgs","repos_url":"https://api.github.com/users/esokullu/repos","events_url":"https://api.github.com/users/esokullu/events{/privacy}","received_events_url":"https://api.github.com/users/esokullu/received_events","type":"User","site_admin":false},"labels":[{"id":488005366,"url":"https://api.github.com/repos/phonetworks/pho-server/labels/enhancement","name":"enhancement","color":"84b6eb","default":true}],"state":"closed","locked":false,"assignee":{"login":"ksolotl","id":1844340,"avatar_url":"https://avatars.githubusercontent.com/u/1844340?v=3","gravatar_id":"","url":"https://api.github.com/users/ksolotl","html_url":"https://github.com/ksolotl","followers_url":"https://api.github.com/users/ksolotl/followers","following_url":"https://api.github.com/users/ksolotl/following{/other_user}","gists_url":"https://api.github.com/users/ksolotl/gists{/gist_id}","starred_url":"https://api.github.com/users/ksolotl/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ksolotl/subscriptions","organizations_url":"https://api.github.com/users/ksolotl/orgs","repos_url":"https://api.github.com/users/ksolotl/repos","events_url":"https://api.github.com/users/ksolotl/events{/privacy}","received_events_url":"https://api.github.com/users/ksolotl/received_events","type":"User","site_admin":false},"assignees":[{"login":"ksolotl","id":1844340,"avatar_url":"https://avatars.githubusercontent.com/u/1844340?v=3","gravatar_id":"","url":"https://api.github.com/users/ksolotl","html_url":"https://github.com/ksolotl","followers_url":"https://api.github.com/users/ksolotl/followers","following_url":"https://api.github.com/users/ksolotl/following{/other_user}","gists_url":"https://api.github.com/users/ksolotl/gists{/gist_id}","starred_url":"https://api.github.com/users/ksolotl/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ksolotl/subscriptions","organizations_url":"https://api.github.com/users/ksolotl/orgs","repos_url":"https://api.github.com/users/ksolotl/repos","events_url":"https://api.github.com/users/ksolotl/events{/privacy}","received_events_url":"https://api.github.com/users/ksolotl/received_events","type":"User","site_admin":false}],"milestone":null,"comments":1,"created_at":"2016-12-04T23:46:44Z","updated_at":"2016-12-05T12:59:03Z","closed_at":"2016-12-04T23:52:27Z","body":"Don't like the structure: src/app/model/DynamoDB  \r\n  \r\n* why a new subfolder?\r\n* why PhoORM for just one function (createTableIfNeed, we don’t need that)\r\n* naming doesn’t conform standards, ifNeed*ed*\r\n\r\nSame with DynamoDB/User.php — there rest end with ..Model.php why this not?\r\n\r\nStandards important\r\n"},"comment":{"url":"https://api.github.com/repos/phonetworks/pho-server/issues/comments/264847881","html_url":"https://github.com/phonetworks/pho-server/issues/1#issuecomment-264847881","issue_url":"https://api.github.com/repos/phonetworks/pho-server/issues/1","id":264847881,"user":{"login":"ksolotl","id":1844340,"avatar_url":"https://avatars.githubusercontent.com/u/1844340?v=3","gravatar_id":"","url":"https://api.github.com/users/ksolotl","html_url":"https://github.com/ksolotl","followers_url":"https://api.github.com/users/ksolotl/followers","following_url":"https://api.github.com/users/ksolotl/following{/other_user}","gists_url":"https://api.github.com/users/ksolotl/gists{/gist_id}","starred_url":"https://api.github.com/users/ksolotl/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ksolotl/subscriptions","organizations_url":"https://api.github.com/users/ksolotl/orgs","repos_url":"https://api.github.com/users/ksolotl/repos","events_url":"https://api.github.com/users/ksolotl/events{/privacy}","received_events_url":"https://api.github.com/users/ksolotl/received_events","type":"User","site_admin":false},"created_at":"2016-12-05T12:59:03Z","updated_at":"2016-12-05T12:59:03Z","body":"> why a new subfolder?\r\n\r\nIt's need because all similar classes should be  in one folder.\r\n> why PhoORM for just one function (createTableIfNeed, we don’t need that)\r\n\r\n- There two public methods. Also there there is  save()\r\nIf we don't want create unique id each time when we want to create new instance we need this method.\r\n- I think we need method createTableIfNeed (I agree what name is wrong). Now we have just two models User and Note.\r\nWhen we will have at least ten models It will be difficult to create new tables for each model.\r\nIn DynamoDB creating new tables not so easy.\r\nLook, this data needs to create table just for User:\r\n```\r\n{\r\n    \"TableName\": \"user\",\r\n    \"KeySchema\": [\r\n        {\r\n            \"AttributeName\": \"user_id\",\r\n            \"KeyType\": \"HASH\"\r\n        }\r\n    ],\r\n    \"AttributeDefinitions\": [\r\n        {\r\n            \"AttributeName\": \"user_id\",\r\n            \"AttributeType\": \"S\"\r\n        },\r\n        {\r\n            \"AttributeName\": \"user_name\",\r\n            \"AttributeType\": \"S\"\r\n        },\r\n        {\r\n            \"AttributeName\": \"user_email\",\r\n            \"AttributeType\": \"S\"\r\n        },\r\n        {\r\n            \"AttributeName\": \"user_provider_type\",\r\n            \"AttributeType\": \"S\"\r\n        }\r\n    ],\r\n    \"ProvisionedThroughput\": {\r\n        \"ReadCapacityUnits\": 1,\r\n        \"WriteCapacityUnits\": 1\r\n    },\r\n    \"GlobalSecondaryIndexes\": [\r\n        {\r\n            \"IndexName\": \"index_user\",\r\n            \"KeySchema\": [\r\n                {\r\n                    \"AttributeName\": \"user_id\",\r\n                    \"KeyType\": \"HASH\"\r\n                }\r\n            ],\r\n            \"Projection\": {\r\n                \"ProjectionType\": \"ALL\"\r\n            },\r\n            \"ProvisionedThroughput\": {\r\n                \"ReadCapacityUnits\": 1,\r\n                \"WriteCapacityUnits\": 1\r\n            }\r\n        },\r\n        {\r\n            \"IndexName\": \"idx_user_name\",\r\n            \"KeySchema\": [\r\n                {\r\n                    \"AttributeName\": \"user_name\",\r\n                    \"KeyType\": \"HASH\"\r\n                }\r\n            ],\r\n            \"Projection\": {\r\n                \"ProjectionType\": \"KEYS_ONLY\"\r\n            },\r\n            \"ProvisionedThroughput\": {\r\n                \"ReadCapacityUnits\": 1,\r\n                \"WriteCapacityUnits\": 1\r\n            }\r\n        },\r\n        {\r\n            \"IndexName\": \"idx_user_email\",\r\n            \"KeySchema\": [\r\n                {\r\n                    \"AttributeName\": \"user_email\",\r\n                    \"KeyType\": \"HASH\"\r\n                }\r\n            ],\r\n            \"Projection\": {\r\n                \"ProjectionType\": \"KEYS_ONLY\"\r\n            },\r\n            \"ProvisionedThroughput\": {\r\n                \"ReadCapacityUnits\": 1,\r\n                \"WriteCapacityUnits\": 1\r\n            }\r\n        },\r\n        {\r\n            \"IndexName\": \"idx_user_provider_type\",\r\n            \"KeySchema\": [\r\n                {\r\n                    \"AttributeName\": \"user_provider_type\",\r\n                    \"KeyType\": \"HASH\"\r\n                }\r\n            ],\r\n            \"Projection\": {\r\n                \"ProjectionType\": \"KEYS_ONLY\"\r\n            },\r\n            \"ProvisionedThroughput\": {\r\n                \"ReadCapacityUnits\": 1,\r\n                \"WriteCapacityUnits\": 1\r\n            }\r\n        }\r\n    ]\r\n}\r\n```\r\nI think to do this manually each time when we need to create new model is very complicated.\r\n> naming doesn’t conform standards, ifNeeded\r\n\r\nfixed.\r\n>Same with DynamoDB/User.php — there rest end with ..Model.php why this not?\r\n\r\nfixed"}}
{"actor":{"display_login":"ksolotl"}}