Skip to content

Testowa aplikacja obsługująca uproszczone zarządzanie ramówkami radiowymi lub telewizyjnymi - bez uwierzytelnienia

Notifications You must be signed in to change notification settings

michael112/RamowkiNoAuth

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Informacje podstawowe

Celem niniejszej aplikacji było zapoznanie się z techniką tworzenia API sieciowego w środowisku .NET, z zastosowaniem podstawowego uwierzytelniania użytkowników.

Aplikacja obsługuje uproszczone zarządzanie ramówkami radiowymi lub telewizyjnymi, z możliwością przygotowania ramówki cyklicznej - tygodniowej, oraz ramówek specjalnych, na konkretną datę.

Powyższa aplikacja nie zawiera autoryzacji. Jeśli chcesz zapoznać się z wersją rozszerzoną o autoryzację przy użyciu OpenIdDict, przejdź pod adres: https://github.com/michael112/RamowkiWithOpenIddictAuth

Wymagania techniczne

Aplikacja działa w środowisku .NET Core w wersji 2.0. SDK niezbędne do uruchomienia aplikacji można pobrać pod adresem: https://www.microsoft.com/net/download

Obsługa aplikacji

  1. Wprowadzenie do systemu nowej audycji.

Zapytanie HTTP POST pod adres /api/programme.

Przykładowa zawartość JSON:

{
	"Title": "Przykładowa audycja 1",
	"Description": "Opis audycji"
}

Pole Description jest opcjonalne.

  1. Edycja istniejącej audycji.

Zapytanie HTTP PUT pod adres /api/programme/{programmeID}, gdzie za {programmeID} podajemy odpowiedni identyfikator.

Przykładowa zawartość JSON - jak w pkt. 1.

  1. Usuwanie audycji.

Zapytanie HTTP DELETE pod adres /api/programme/{programmeID}, gdzie za {programmeID} podajemy odpowiedni identyfikator.

Zapytanie nie oczekuje JSON-a w zawartości.

  1. Wyświetlanie listy wszystkich audycji w systemie.

Zapytanie HTTP GET pod adres /api/programme. Wymagane konto użytkownika z dowolnymi uprawnieniami.

Zapytanie nie oczekuje JSON-a w zawartości.

  1. Wyświetlanie audycji o określonym identyfikatorze.

Zapytanie HTTP GET pod adres /api/programme, gdzie za {programmeID} podajemy odpowiedni identyfikator.

Zapytanie nie oczekuje JSON-a w zawartości.

  1. Jednoczesne wprowadzenie do systemu programu oraz jego pozycji w ramówce.

Zapytanie HTTP POST pod adres /api/schedule. Wymagane konto administratorskie.

Przykładowa zawartość JSON (jeśli ma zostać przypisany do ramówki specjalnej na konkretną datę):

{
	"Programme": {
		"Title": "sample title",
		"Description": "sample description"
	},
	"Day": {
		"Date": "15-11-2016",
	}
	"BeginTime": {
		"Hours": 17,
		"Minutes": 0
	}
}

lub (przypisanie do ramówki cyklicznej na dany dzień tygodnia):

{
	"Programme": {
		"Title": "sample title",
		"Description": "sample description"
	},
	"Day": {
		"WeekDay": 2,
	}
	"BeginTime": {
		"Hours": 17,
		"Minutes": 0
	}
}

Dni tygodnia numerujemy w sposób następujący:

0 - niedziela

1 - poniedziałek

...

6 - sobota

7 - niedziela

8 - poniedziałek

itp... (reszta z dzielenia nr dnia przez 7)

  1. Wprowadzenie do systemu informacji o przypisaniu istniejącego programu do dnia i godziny w ramówce.

Zapytanie HTTP POST pod adres /api/schedule/?programme={programmeID}, gdzie za {programmeID} podajemy odpowiedni identyfikator.

Przykładowa zawartość JSON (jeśli ma zostać przypisany do ramówki specjalnej na konkretną datę):

{
	"Day": {
		"Date": "15-11-2016",
	}
	"BeginTime": {
		"Hours": 17,
		"Minutes": 0
	}
}

lub (przypisanie do ramówki cyklicznej na dany dzień tygodnia):

{
	"Day": {
		"WeekDay": 2,
	}
	"BeginTime": {
		"Hours": 17,
		"Minutes": 0
	}
}

Dni tygodnia numerujemy jak wyżej.

  1. Przypisanie do istniejącej pozycji w ramówce innej audycji istniejącej w systemie.

Zapytanie HTTP PUT pod adres /api/schedule/{scheduleID}?programme={programmeID}, gdzie za {scheduleID} podajemy identyfikator pozycji w ramówce, a za {programmeID} - identyfikator programu, który ma zostać do niej przypisany.

Zapytanie NIE MOŻE zawierać JSON-a.

  1. Edycja informacji o pozycji ramówkowej (dzień, godzina).

Zapytanie HTTP PUT pod adres /api/schedule/{scheduleID}, gdzie za {scheduleID} podajemy identyfikator pozycji w ramówce. Wymagane konto administratorskie.

Przykładowa zawartość JSON (jeśli ma zostać przypisany do ramówki specjalnej na konkretną datę):

{
	"Day": {
		"Date": "15-11-2016",
	}
	"BeginTime": {
		"Hours": 17,
		"Minutes": 0
	}
}

lub (przypisanie do ramówki cyklicznej na dany dzień tygodnia):

{
	"Day": {
		"WeekDay": 2,
	}
	"BeginTime": {
		"Hours": 17,
		"Minutes": 0
	}
}
  1. Usuwanie pozycji ramówkowej (bez usunięcia samej audycji!).

Zapytanie HTTP DELETE pod adres /api/schedule/{scheduleID}, gdzie za {scheduleID} podajemy identyfikator pozycji w ramówce.

Zapytanie nie oczekuje JSON-a w zawartości.

  1. Wyszukanie informacji o pozycji ramówkowej na podstawie jej identyfikatora.

Zapytanie HTTP GET pod adres /api/schedule/{scheduleID}, gdzie za {scheduleID} podajemy identyfikator pozycji w ramówce.

Zapytanie nie oczekuje JSON-a w zawartości.

  1. Wyszukanie listy pozycji ramówkowych na dany dzień tygodnia.

Zapytanie HTTP GET pod adres /api/schedule?date=, gdzie jest datą w formacie .

Zapytanie nie oczekuje JSON-a w zawartości.

  1. Wyszukanie listy pozycji ramówkowych na daną datę (jeżeli brak, zostaną wyszukane programy na dzień tygodnia, w jaki przypada dana data).

Zapytanie HTTP GET pod adres /api/schedule?day=, gdzie jest numerem dnia tygodnia wg opisu wyżej.

Zapytanie nie oczekuje JSON-a w zawartości.

Uruchamianie aplikacji

Proszę wpisać do konsoli:

dotnet run

Można też skorzystać z IDE, np. JetBrains Rider czy MS Visual Studio.

About

Testowa aplikacja obsługująca uproszczone zarządzanie ramówkami radiowymi lub telewizyjnymi - bez uwierzytelnienia

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages