{"push_id":832461817,"size":29,"distinct_size":25,"ref":"refs/heads/service-lot-table","head":"79aba5f0296c45355dd5bfa5aeb7211a857564e1","before":"2256c42fd8ef49e408bd7ec492ea82be0ab922c0","commits":[{"sha":"cb3324c4412ae3eed2b3405eb0a1d6067665fccf","author":{"email":"ec174e7ddcfb013458485798dcdcbe890dbc653d@digital.cabinet-office.gov.uk","name":"Kev Keenoy"},"message":"Add endpoints for getting and posting interest in a framework","distinct":false,"url":"https://api.github.com/repos/alphagov/digitalmarketplace-api/commits/cb3324c4412ae3eed2b3405eb0a1d6067665fccf"},{"sha":"91131b6ea0fc7cb7bc684d4ae39e5c385559c278","author":{"email":"ec174e7ddcfb013458485798dcdcbe890dbc653d@digital.cabinet-office.gov.uk","name":"Kev Keenoy"},"message":"Add tests for registered interest endpoints","distinct":false,"url":"https://api.github.com/repos/alphagov/digitalmarketplace-api/commits/91131b6ea0fc7cb7bc684d4ae39e5c385559c278"},{"sha":"b504d440048af8a9372f7450e8e947f13910cd04","author":{"email":"ec174e7ddcfb013458485798dcdcbe890dbc653d@digital.cabinet-office.gov.uk","name":"Kev Keenoy"},"message":"Add endpoint to get suppliers interested in a framework","distinct":false,"url":"https://api.github.com/repos/alphagov/digitalmarketplace-api/commits/b504d440048af8a9372f7450e8e947f13910cd04"},{"sha":"38903e2dd85cda565f74b9cb4567fd01edb95acb","author":{"email":"ec174e7ddcfb013458485798dcdcbe890dbc653d@digital.cabinet-office.gov.uk","name":"Kevin Keenoy"},"message":"Merge pull request #272 from alphagov/interested-suppliers\n\nAdd endpoints for suppliers to register interest in a framework","distinct":false,"url":"https://api.github.com/repos/alphagov/digitalmarketplace-api/commits/38903e2dd85cda565f74b9cb4567fd01edb95acb"},{"sha":"67c4c3b58e4e54a99ab4098ef74045f8e7539401","author":{"email":"2f9ee2b336682012cb445da6f3a0a52c68caf471@fueledbylemons.com","name":"Alexey Bezhan"},"message":"Add migration message to list_migrations output\n\nRemoves manual VERSION-HISTORY file since the script output matches\nthe file and is more up to date.","distinct":true,"url":"https://api.github.com/repos/alphagov/digitalmarketplace-api/commits/67c4c3b58e4e54a99ab4098ef74045f8e7539401"},{"sha":"18c7c10585efea4ed4a3b1ddb068d54ac0e360da","author":{"email":"2f9ee2b336682012cb445da6f3a0a52c68caf471@fueledbylemons.com","name":"Alexey Bezhan"},"message":"Add Lot model and service lot relationships\n\nAs part of adding new lot-related rules we've decided to pull Lot\ninto a separate model.\n\nThis adds the basic Lot table with a many-to-many relationship with\nframeworks: since G-Cloud framework iterations reuse the same lots\nbut other frameworks might change lots between iterations.\n\nLots have a one_service_lot flag for separating DOS lots that only\nallow one service per supplier.\n\nOnly name and slug are stored for each lot, there's no separate field\nfor capitalized abbreviation that is currently stored in service data\nand displayed in some service list pages. Service field will be kept\nin existing G-Cloud service responses for now, until content \"depends\"\nrules and other uses are moved to the lot slug checks.\n\nFramework objects are automatically joined to lots, `Framework.get_lot`\nmethod can be used to look up the lot object with a given slug.","distinct":true,"url":"https://api.github.com/repos/alphagov/digitalmarketplace-api/commits/18c7c10585efea4ed4a3b1ddb068d54ac0e360da"},{"sha":"1fea3d330b9d418c9039c972df6e31a29fd3c3d9","author":{"email":"2f9ee2b336682012cb445da6f3a0a52c68caf471@fueledbylemons.com","name":"Alexey Bezhan"},"message":"Add lots table migration\n\nAdds lots table and populates the existing G-Cloud lots. Creates\nthe foreign keys in service tables, but sets them as nullable.","distinct":true,"url":"https://api.github.com/repos/alphagov/digitalmarketplace-api/commits/1fea3d330b9d418c9039c972df6e31a29fd3c3d9"},{"sha":"0448a1811f296a53e305a314cecb61e07645c5b3","author":{"email":"2f9ee2b336682012cb445da6f3a0a52c68caf471@fueledbylemons.com","name":"Alexey Bezhan"},"message":"Add migration to populate service lot_id columns\n\nUses service.data['lot'] to look up the lot ids and populate the\nlot_id column for three service tables.\n\nArchived services might have 'missing' lot from initial data import.\nSince 'missing' lots were replaced with 'SCS' we do the same thing\nin the migration script for any archived services.","distinct":true,"url":"https://api.github.com/repos/alphagov/digitalmarketplace-api/commits/0448a1811f296a53e305a314cecb61e07645c5b3"},{"sha":"5d59ab1f66e5e585e5e297407f957bb51f0ecdad","author":{"email":"2f9ee2b336682012cb445da6f3a0a52c68caf471@fueledbylemons.com","name":"Alexey Bezhan"},"message":"Save lot_id on service creation\n\nFixes failing tests by adding lot_id to all service creation calls.\nLot is validated against the list of framework lots in import and\ndraft endpoints.","distinct":true,"url":"https://api.github.com/repos/alphagov/digitalmarketplace-api/commits/5d59ab1f66e5e585e5e297407f957bb51f0ecdad"},{"sha":"fdaa2d838ffc16e993fc0accc584a42738b63ad2","author":{"email":"2f9ee2b336682012cb445da6f3a0a52c68caf471@fueledbylemons.com","name":"Alexey Bezhan"},"message":"Add dos lot to bootstrap_dos test helper","distinct":true,"url":"https://api.github.com/repos/alphagov/digitalmarketplace-api/commits/fdaa2d838ffc16e993fc0accc584a42738b63ad2"},{"sha":"eda819db060a1b7ab33765275ea0393ef21fb0ad","author":{"email":"2f9ee2b336682012cb445da6f3a0a52c68caf471@fueledbylemons.com","name":"Alexey Bezhan"},"message":"Lowercase lot in schemas and test examples","distinct":true,"url":"https://api.github.com/repos/alphagov/digitalmarketplace-api/commits/eda819db060a1b7ab33765275ea0393ef21fb0ad"},{"sha":"09c8b9db2a78f7ecd8f7f405545ca0be2ba58432","author":{"email":"2f9ee2b336682012cb445da6f3a0a52c68caf471@fueledbylemons.com","name":"Alexey Bezhan"},"message":"Lowercase lot field in test cases","distinct":true,"url":"https://api.github.com/repos/alphagov/digitalmarketplace-api/commits/09c8b9db2a78f7ecd8f7f405545ca0be2ba58432"},{"sha":"79a3987f11a805b8066d70e65047cef38429f779","author":{"email":"2f9ee2b336682012cb445da6f3a0a52c68caf471@fueledbylemons.com","name":"Alexey Bezhan"},"message":"Don't force lowercase lots during lot lookup","distinct":true,"url":"https://api.github.com/repos/alphagov/digitalmarketplace-api/commits/79a3987f11a805b8066d70e65047cef38429f779"},{"sha":"c8aaeacdb0613886fcfce3a559e4f95c992c0489","author":{"email":"2f9ee2b336682012cb445da6f3a0a52c68caf471@fueledbylemons.com","name":"Alexey Bezhan"},"message":"Return lot and lotName in service responses\n\n'lot' is lot slug to keep the same key that is used by the apps.\nSince lot slugs are lowercase unlike lot fields that were stored in\nthe service documents, some apps will need to be updated to accept\nand send lowercased lots.","distinct":true,"url":"https://api.github.com/repos/alphagov/digitalmarketplace-api/commits/c8aaeacdb0613886fcfce3a559e4f95c992c0489"},{"sha":"ae4f075074f39c02f1f72e7806504d246b2997ba","author":{"email":"2f9ee2b336682012cb445da6f3a0a52c68caf471@fueledbylemons.com","name":"Alexey Bezhan"},"message":"Switch run_tests to py.test","distinct":true,"url":"https://api.github.com/repos/alphagov/digitalmarketplace-api/commits/ae4f075074f39c02f1f72e7806504d246b2997ba"},{"sha":"b29c3b264d96285c1390475559a8126e0dbfc843","author":{"email":"2f9ee2b336682012cb445da6f3a0a52c68caf471@fueledbylemons.com","name":"Alexey Bezhan"},"message":"Use object relationships to get validation schema name\n\nInstead of making a query for the framework object inside the helper\nvalidation methods use the service object relationships. Framework\nand lot can still be passed in as optional arguments for objects\nthat haven't been committed to the database yet, since they might\nnot have the related objects (e.g. when creating a new service from\nscratch or by copying a draft).","distinct":true,"url":"https://api.github.com/repos/alphagov/digitalmarketplace-api/commits/b29c3b264d96285c1390475559a8126e0dbfc843"},{"sha":"9d0a363c3e4698d0f5efe5645abf255c4ecb1ff9","author":{"email":"2f9ee2b336682012cb445da6f3a0a52c68caf471@fueledbylemons.com","name":"Alexey Bezhan"},"message":"Add service helper to validate framework, lot and supplier fields\n\nWhen creating a service or draft checks that incoming JSON has a\nvalid framework and lot slugs and supplier ID and returns the\nreferenced objects.\n\nDepending on the endpoint logic this could be run before the\nJSON schema validation, so the function checks that required\nkeys exist and handles the non-integers supplier ID DataError.\n\nEven though the supplier object is rarely used by calling views\nand we could continue to rely on the IntegrityError to check for\nmissing suppliers, adding it to the same function simplifies the\nlogic a bit by creating a single place responsible for verifying\nreferences. The added Supplier query shouldn't add significant\nload.\n\nAs a side-effect, this changes the error response message for\nnon-digit supplierId values (used to be JSON schema error) and\nmissing supplierIds (used to be database IntegrityError).","distinct":true,"url":"https://api.github.com/repos/alphagov/digitalmarketplace-api/commits/9d0a363c3e4698d0f5efe5645abf255c4ecb1ff9"},{"sha":"99999b23f48b63c11185fcf681bf4430a39a03a4","author":{"email":"2f9ee2b336682012cb445da6f3a0a52c68caf471@fueledbylemons.com","name":"Alexey Bezhan"},"message":"Remove framework slug from  draft service creation URL\n\nFramework slug should be passed as part of the service data. This\nis what the service import endpoint does already and matches the\nway we treat lots, supplier IDs and other special fields.\n\nThe /draft-services/<framework_slug> URL should be considered deprecated\nand will log a warning on each use. Once it's no longer used by the\napiclient it should be removed.","distinct":true,"url":"https://api.github.com/repos/alphagov/digitalmarketplace-api/commits/99999b23f48b63c11185fcf681bf4430a39a03a4"},{"sha":"5875f8e854a4d3937b81bc01227612542fdcc298","author":{"email":"2f9ee2b336682012cb445da6f3a0a52c68caf471@fueledbylemons.com","name":"Alexey Bezhan"},"message":"Fix missing/additional service fields failing validation","distinct":true,"url":"https://api.github.com/repos/alphagov/digitalmarketplace-api/commits/5875f8e854a4d3937b81bc01227612542fdcc298"},{"sha":"e3e2a6cb848eccce3a4771dd55b6b5732d235378","author":{"email":"2f9ee2b336682012cb445da6f3a0a52c68caf471@fueledbylemons.com","name":"Alexey Bezhan"},"message":"Add test for lot slug validation when creating new services and drafts","distinct":true,"url":"https://api.github.com/repos/alphagov/digitalmarketplace-api/commits/e3e2a6cb848eccce3a4771dd55b6b5732d235378"}]}