{"id":19923801,"url":"https://github.com/versbinarii/spike","last_synced_at":"2025-06-25T19:34:23.819Z","repository":{"id":150486555,"uuid":"183469455","full_name":"VersBinarii/spike","owner":"VersBinarii","description":"(Dead)","archived":false,"fork":false,"pushed_at":"2019-05-21T09:53:29.000Z","size":48,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-01T10:21:57.864Z","etag":null,"topics":["actix","actix-web","diesel-rs","rest-api","rust"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/VersBinarii.png","metadata":{"files":{"readme":"README.org","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-04-25T16:15:10.000Z","updated_at":"2019-09-29T15:57:42.000Z","dependencies_parsed_at":null,"dependency_job_id":"77ce2a82-2753-434b-9ff9-053cda113a7a","html_url":"https://github.com/VersBinarii/spike","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/VersBinarii/spike","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VersBinarii%2Fspike","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VersBinarii%2Fspike/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VersBinarii%2Fspike/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VersBinarii%2Fspike/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/VersBinarii","download_url":"https://codeload.github.com/VersBinarii/spike/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VersBinarii%2Fspike/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261941690,"owners_count":23233765,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["actix","actix-web","diesel-rs","rest-api","rust"],"created_at":"2024-11-12T22:15:29.963Z","updated_at":"2025-06-25T19:34:23.770Z","avatar_url":"https://github.com/VersBinarii.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"* WORK IN PROGRESS\n\n* Spike API\n\n* Number blocks\n Number blocks and DDIs are going to be treated interchangeably.\n Bloc are allowed only in powers of 10 (1, 10, 100) etc. \n If 3 number are requested then 3 blocks of 1 are created, for 32 numbers 3 blocks of 10  and 2 blocks of 1 are created etc... \n\n\n\n* Design\n** MNA (Designation)\nThe assignement of numbers will be constrained by the designation \nassigned to the number. The designation is a set of information describing the \nvalidation rules that should be applied to number.  \n\n* API\n\n** Assumptions\nEach API endpoint will support pagination (where applicable).\n\n** Authentication\nIn order to authenticate a `POST` request needs to be made to the `/login` endpoint.\n\n#+BEGIN_SRC bash\ncurl -XPOST -H 'Content-Type: application/json' -d'{\"username\": \"admin\", \"password\":\"admin\"}' 'http://localhost:9080/login'\n#+END_SRC\n\nThe response will contain an authentication token that needs to be included \ninto every ubsequent call. I.e.: \n\n#+BEGIN_SRC bash\ncurl -XGET -H 'token: 4984f8116c364679aebb952a60f092e5' 'http://localhost:8080/mna'\n#+END_SRC\n\n** Number\nGET numbers - list all\n#+BEGIN_SRC bash\ncurl -XGET -H 'token: 4984f8116c364679aebb952a60f092e5' 'http://localhost:9080/numbers'\n#+END_SRC\n\nGET numbers/:id - info on number id\n#+BEGIN_SRC bash\ncurl -XGET -H 'token: 4984f8116c364679aebb952a60f092e5' 'http://localhost:9080/numbers/1'\n#+END_SRC\n\nPOST numbers - Create new number\n#+BEGIN_SRC bash\ncurl -XPOST -H 'Content-Type: application/json' -H 'token: 4984f8116c364679aebb952a60f092e5' 'http://localhost:9080/numbers' \\ \n-d'{\"number\": \"4567890\", \"number_type\": \"NonGeo\", \"number_status\": \"Available\", \"mna_id\": 1, \"wlr\": false, \"is_main_number\": false, \"ecas\":false}'\n#+END_SRC\n\nPUT numbers/:id - Update number with the specfied ID\n#+BEGIN_SRC bash\ncurl -XPUT -H 'Content-Type: application/json' -H 'token: 4984f8116c364679aebb952a60f092e5' 'http://localhost:9080/numbers' \\ \n-d'{\"number\": \"4567890\", \"number_type\": \"Geo\", \"number_status\":\"Assigned\", \"mna_id\": 1, \"wlr\": false, \"is_main_number\": true, \"ecas\":true}'\n#+END_SRC\n\n*** Unimplemented: \nDELETE numbers/:id\nGET numbers/new - find new available number\nGET numbers/:id/status - show the status of the number\nGET numbers/search - lookup numbers\n\n\n** MNA\nGET mna - list all MNAs\nGET mna/:id - retrive single MNA\nPOST mna - create new MNA\nPUT mna/:id - update MNA\n\n*** Unimplemented:\nGET mna/:id/numbers - list all numbers for this MNA\nDELETE mna/:id - delete MNA\n\n\n** RSP\nGET rsp - list all RSPs\n** Subscriber\n\n** Address\n** Porting\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fversbinarii%2Fspike","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fversbinarii%2Fspike","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fversbinarii%2Fspike/lists"}