Band key to settings

This commit is contained in:
2025-09-05 20:20:30 -07:00
parent 326d0808b8
commit abb13a0ff6
3 changed files with 55 additions and 54 deletions

View File

@ -31,57 +31,57 @@ public class BandController(BandService pushPostService, Dictionary<string, Toke
return result is null ? _Tokens.Count == 0 ? BadRequest("Tokens is empty!") : BadRequest("Unable to get bands!") : Ok(result); return result is null ? _Tokens.Count == 0 ? BadRequest("Tokens is empty!") : BadRequest("Unable to get bands!") : Ok(result);
} }
[HttpGet("{band_key}/profile")] [HttpGet("profile")]
public IActionResult Profile(string band_key) { public IActionResult Profile() {
Models.Profile.Root? result = _BandService.GetProfile(_Tokens, band_key); Models.Profile.Root? result = _BandService.GetProfile(_Tokens);
return result is null ? _Tokens.Count == 0 ? BadRequest("Tokens is empty!") : BadRequest("Unable to get profile!") : Ok(result); return result is null ? _Tokens.Count == 0 ? BadRequest("Tokens is empty!") : BadRequest("Unable to get profile!") : Ok(result);
} }
[HttpGet("{band_key}/posts")] [HttpGet("posts")]
public IActionResult Posts(string band_key) { public IActionResult Posts() {
Models.Posts.Root? result = _BandService.GetPosts(_Tokens, band_key); Models.Posts.Root? result = _BandService.GetPosts(_Tokens);
return result is null ? _Tokens.Count == 0 ? BadRequest("Tokens is empty!") : BadRequest("Unable to get posts!") : Ok(result); return result is null ? _Tokens.Count == 0 ? BadRequest("Tokens is empty!") : BadRequest("Unable to get posts!") : Ok(result);
} }
[HttpGet("{band_key}/{post_key}/get-post")] [HttpGet("{post_key}/get-post")]
public IActionResult GetPost(string band_key, string post_key) { public IActionResult GetPost(string post_key) {
Models.Post.Root? result = _BandService.GetPost(_Tokens, band_key, post_key); Models.Post.Root? result = _BandService.GetPost(_Tokens, post_key);
return result is null ? _Tokens.Count == 0 ? BadRequest("Tokens is empty!") : BadRequest("Unable to get post!") : Ok(result); return result is null ? _Tokens.Count == 0 ? BadRequest("Tokens is empty!") : BadRequest("Unable to get post!") : Ok(result);
} }
[HttpGet("{band_key}/{post_key}/comments")] [HttpGet("{post_key}/comments")]
public IActionResult Comments(string band_key, string post_key, string sort = "recent") { public IActionResult Comments(string post_key, string sort = "recent") {
Models.Comments.Root? result = _BandService.GetComments(_Tokens, band_key, post_key, sort); Models.Comments.Root? result = _BandService.GetComments(_Tokens, post_key, sort);
return result is null ? _Tokens.Count == 0 ? BadRequest("Tokens is empty!") : BadRequest("Unable to get comments!") : Ok(result); return result is null ? _Tokens.Count == 0 ? BadRequest("Tokens is empty!") : BadRequest("Unable to get comments!") : Ok(result);
} }
[HttpGet("{band_key}/albums")] [HttpGet("albums")]
public IActionResult Albums(string band_key) { public IActionResult Albums() {
Models.Albums.Root? result = _BandService.GetAlbums(_Tokens, band_key); Models.Albums.Root? result = _BandService.GetAlbums(_Tokens);
return result is null ? _Tokens.Count == 0 ? BadRequest("Tokens is empty!") : BadRequest("Unable to get albums!") : Ok(result); return result is null ? _Tokens.Count == 0 ? BadRequest("Tokens is empty!") : BadRequest("Unable to get albums!") : Ok(result);
} }
[HttpGet("{band_key}/photos")] [HttpGet("photos")]
public IActionResult Photos(string band_key, string photo_album_key) { public IActionResult Photos(string photo_album_key) {
Models.Photos.Root? result = _BandService.GetPhotos(_Tokens, band_key, photo_album_key); Models.Photos.Root? result = _BandService.GetPhotos(_Tokens, photo_album_key);
return result is null ? _Tokens.Count == 0 ? BadRequest("Tokens is empty!") : BadRequest("Unable to get photos!") : Ok(result); return result is null ? _Tokens.Count == 0 ? BadRequest("Tokens is empty!") : BadRequest("Unable to get photos!") : Ok(result);
} }
[HttpGet("{band_key}/permissions")] [HttpGet("permissions")]
public IActionResult Permissions(string band_key, string permissions) { public IActionResult Permissions(string permissions) {
Models.Permissions.Root? result = _BandService.GetPermissions(_Tokens, band_key, permissions); Models.Permissions.Root? result = _BandService.GetPermissions(_Tokens, permissions);
return result is null ? _Tokens.Count == 0 ? BadRequest("Tokens is empty!") : BadRequest("Unable to get permissions!") : Ok(result); return result is null ? _Tokens.Count == 0 ? BadRequest("Tokens is empty!") : BadRequest("Unable to get permissions!") : Ok(result);
} }
[HttpGet("{band_key}/post")] [HttpGet("post")]
public IActionResult Post(string band_key, string message) { public IActionResult Post(string message) {
Root? result = _BandService.WritePost(_Tokens, band_key, message); Root? result = _BandService.WritePost(_Tokens, message);
return result is null ? _Tokens.Count == 0 ? BadRequest("Tokens is empty!") : BadRequest("Unable to post message!") : Ok(result); return result is null ? _Tokens.Count == 0 ? BadRequest("Tokens is empty!") : BadRequest("Unable to post message!") : Ok(result);
} }
[HttpGet("{band_key}/post-comment")] [HttpGet("post-comment")]
public IActionResult WritePostComment(string band_key, string post_key, string message) { public IActionResult WritePostComment(string post_key, string message) {
Root? result = _BandService.WritePostComment(_Tokens, band_key, post_key, message); Root? result = _BandService.WritePostComment(_Tokens, post_key, message);
return result is null ? _Tokens.Count == 0 ? BadRequest("Tokens is empty!") : BadRequest("Unable to post message!") : Ok(result); return result is null ? _Tokens.Count == 0 ? BadRequest("Tokens is empty!") : BadRequest("Unable to post message!") : Ok(result);
} }

View File

@ -5,6 +5,7 @@ namespace Band.Models;
public record Band(string? BasicAuthorization, public record Band(string? BasicAuthorization,
int? ClientId, int? ClientId,
string? Key,
string? Redirect, string? Redirect,
string? Token) { string? Token) {

View File

@ -89,7 +89,7 @@ public class BandService(ILogger<Program> logger, AppSettings appSettings, IHttp
return result; return result;
} }
public Models.Profile.Root? GetProfile(Dictionary<string, Token>? tokens, string bandKey) { public Models.Profile.Root? GetProfile(Dictionary<string, Token>? tokens) {
Models.Profile.Root? result; Models.Profile.Root? result;
Token? token = GetToken(tokens); Token? token = GetToken(tokens);
if (token is null) { if (token is null) {
@ -97,13 +97,13 @@ public class BandService(ILogger<Program> logger, AppSettings appSettings, IHttp
result = null; result = null;
} else { } else {
HttpClient httpClient = _HttpClientFactory.CreateClient(nameof(AppSettings.Settings.Band)); HttpClient httpClient = _HttpClientFactory.CreateClient(nameof(AppSettings.Settings.Band));
result = GetProfile(_Logger, httpClient, token, bandKey); result = GetProfile(_Logger, httpClient, token, _Band.Key);
httpClient.Dispose(); httpClient.Dispose();
} }
return result; return result;
} }
private static Models.Profile.Root? GetProfile(ILogger<Program> logger, HttpClient httpClient, Token token, string bandKey) { private static Models.Profile.Root? GetProfile(ILogger<Program> logger, HttpClient httpClient, Token token, string? bandKey) {
Models.Profile.Root? result; Models.Profile.Root? result;
Uri requestUri = new($"{httpClient.BaseAddress}v2/profile?access_token={token.AccessToken}&band_key={bandKey}"); Uri requestUri = new($"{httpClient.BaseAddress}v2/profile?access_token={token.AccessToken}&band_key={bandKey}");
Task<HttpResponseMessage> httpResponseMessage = httpClient.GetAsync(requestUri); Task<HttpResponseMessage> httpResponseMessage = httpClient.GetAsync(requestUri);
@ -112,7 +112,7 @@ public class BandService(ILogger<Program> logger, AppSettings appSettings, IHttp
return result; return result;
} }
public Models.Posts.Root? GetPosts(Dictionary<string, Token>? tokens, string bandKey) { public Models.Posts.Root? GetPosts(Dictionary<string, Token>? tokens) {
Models.Posts.Root? result; Models.Posts.Root? result;
Token? token = GetToken(tokens); Token? token = GetToken(tokens);
if (token is null) { if (token is null) {
@ -120,13 +120,13 @@ public class BandService(ILogger<Program> logger, AppSettings appSettings, IHttp
result = null; result = null;
} else { } else {
HttpClient httpClient = _HttpClientFactory.CreateClient(nameof(AppSettings.Settings.Band)); HttpClient httpClient = _HttpClientFactory.CreateClient(nameof(AppSettings.Settings.Band));
result = GetPosts(_Logger, httpClient, token, bandKey); result = GetPosts(_Logger, httpClient, token, _Band.Key);
httpClient.Dispose(); httpClient.Dispose();
} }
return result; return result;
} }
private static Models.Posts.Root? GetPosts(ILogger<Program> logger, HttpClient httpClient, Token token, string bandKey) { private static Models.Posts.Root? GetPosts(ILogger<Program> logger, HttpClient httpClient, Token token, string? bandKey) {
Models.Posts.Root? result; Models.Posts.Root? result;
Uri requestUri = new($"{httpClient.BaseAddress}v2/band/posts?access_token={token.AccessToken}&band_key={bandKey}&locale=en_US"); Uri requestUri = new($"{httpClient.BaseAddress}v2/band/posts?access_token={token.AccessToken}&band_key={bandKey}&locale=en_US");
Task<HttpResponseMessage> httpResponseMessage = httpClient.GetAsync(requestUri); Task<HttpResponseMessage> httpResponseMessage = httpClient.GetAsync(requestUri);
@ -135,7 +135,7 @@ public class BandService(ILogger<Program> logger, AppSettings appSettings, IHttp
return result; return result;
} }
public Models.Post.Root? GetPost(Dictionary<string, Token>? tokens, string bandKey, string postKey) { public Models.Post.Root? GetPost(Dictionary<string, Token>? tokens, string postKey) {
Models.Post.Root? result; Models.Post.Root? result;
Token? token = GetToken(tokens); Token? token = GetToken(tokens);
if (token is null) { if (token is null) {
@ -143,13 +143,13 @@ public class BandService(ILogger<Program> logger, AppSettings appSettings, IHttp
result = null; result = null;
} else { } else {
HttpClient httpClient = _HttpClientFactory.CreateClient(nameof(AppSettings.Settings.Band)); HttpClient httpClient = _HttpClientFactory.CreateClient(nameof(AppSettings.Settings.Band));
result = GetPost(_Logger, httpClient, token, bandKey, postKey); result = GetPost(_Logger, httpClient, token, _Band.Key, postKey);
httpClient.Dispose(); httpClient.Dispose();
} }
return result; return result;
} }
private static Models.Post.Root? GetPost(ILogger<Program> logger, HttpClient httpClient, Token token, string bandKey, string postKey) { private static Models.Post.Root? GetPost(ILogger<Program> logger, HttpClient httpClient, Token token, string? bandKey, string postKey) {
Models.Post.Root? result; Models.Post.Root? result;
Uri requestUri = new($"{httpClient.BaseAddress}v2/band/post?access_token={token.AccessToken}&band_key={bandKey}&post_key={postKey}"); Uri requestUri = new($"{httpClient.BaseAddress}v2/band/post?access_token={token.AccessToken}&band_key={bandKey}&post_key={postKey}");
Task<HttpResponseMessage> httpResponseMessage = httpClient.GetAsync(requestUri); Task<HttpResponseMessage> httpResponseMessage = httpClient.GetAsync(requestUri);
@ -158,7 +158,7 @@ public class BandService(ILogger<Program> logger, AppSettings appSettings, IHttp
return result; return result;
} }
public Models.Comments.Root? GetComments(Dictionary<string, Token>? tokens, string bandKey, string postKey, string sort) { public Models.Comments.Root? GetComments(Dictionary<string, Token>? tokens, string postKey, string sort) {
Models.Comments.Root? result; Models.Comments.Root? result;
Token? token = GetToken(tokens); Token? token = GetToken(tokens);
if (token is null) { if (token is null) {
@ -166,13 +166,13 @@ public class BandService(ILogger<Program> logger, AppSettings appSettings, IHttp
result = null; result = null;
} else { } else {
HttpClient httpClient = _HttpClientFactory.CreateClient(nameof(AppSettings.Settings.Band)); HttpClient httpClient = _HttpClientFactory.CreateClient(nameof(AppSettings.Settings.Band));
result = GetComments(_Logger, httpClient, token, bandKey, postKey, sort); result = GetComments(_Logger, httpClient, token, _Band.Key, postKey, sort);
httpClient.Dispose(); httpClient.Dispose();
} }
return result; return result;
} }
private static Models.Comments.Root? GetComments(ILogger<Program> logger, HttpClient httpClient, Token token, string bandKey, string postKey, string sort) { private static Models.Comments.Root? GetComments(ILogger<Program> logger, HttpClient httpClient, Token token, string? bandKey, string postKey, string sort) {
Models.Comments.Root? result; Models.Comments.Root? result;
Uri requestUri = new($"{httpClient.BaseAddress}v2/band/post/comments?access_token={token.AccessToken}&band_key={bandKey}&post_key={postKey}&sort={sort}"); Uri requestUri = new($"{httpClient.BaseAddress}v2/band/post/comments?access_token={token.AccessToken}&band_key={bandKey}&post_key={postKey}&sort={sort}");
Task<HttpResponseMessage> httpResponseMessage = httpClient.GetAsync(requestUri); Task<HttpResponseMessage> httpResponseMessage = httpClient.GetAsync(requestUri);
@ -181,7 +181,7 @@ public class BandService(ILogger<Program> logger, AppSettings appSettings, IHttp
return result; return result;
} }
public Models.Albums.Root? GetAlbums(Dictionary<string, Token>? tokens, string bandKey) { public Models.Albums.Root? GetAlbums(Dictionary<string, Token>? tokens) {
Models.Albums.Root? result; Models.Albums.Root? result;
Token? token = GetToken(tokens); Token? token = GetToken(tokens);
if (token is null) { if (token is null) {
@ -189,13 +189,13 @@ public class BandService(ILogger<Program> logger, AppSettings appSettings, IHttp
result = null; result = null;
} else { } else {
HttpClient httpClient = _HttpClientFactory.CreateClient(nameof(AppSettings.Settings.Band)); HttpClient httpClient = _HttpClientFactory.CreateClient(nameof(AppSettings.Settings.Band));
result = GetAlbums(_Logger, httpClient, token, bandKey); result = GetAlbums(_Logger, httpClient, token, _Band.Key);
httpClient.Dispose(); httpClient.Dispose();
} }
return result; return result;
} }
private static Models.Albums.Root? GetAlbums(ILogger<Program> logger, HttpClient httpClient, Token token, string bandKey) { private static Models.Albums.Root? GetAlbums(ILogger<Program> logger, HttpClient httpClient, Token token, string? bandKey) {
Models.Albums.Root? result; Models.Albums.Root? result;
Uri requestUri = new($"{httpClient.BaseAddress}v2/band/albums?access_token={token.AccessToken}&band_key={bandKey}"); Uri requestUri = new($"{httpClient.BaseAddress}v2/band/albums?access_token={token.AccessToken}&band_key={bandKey}");
Task<HttpResponseMessage> httpResponseMessage = httpClient.GetAsync(requestUri); Task<HttpResponseMessage> httpResponseMessage = httpClient.GetAsync(requestUri);
@ -204,7 +204,7 @@ public class BandService(ILogger<Program> logger, AppSettings appSettings, IHttp
return result; return result;
} }
public Models.Photos.Root? GetPhotos(Dictionary<string, Token>? tokens, string bandKey, string photoAlbumKey) { public Models.Photos.Root? GetPhotos(Dictionary<string, Token>? tokens, string photoAlbumKey) {
Models.Photos.Root? result; Models.Photos.Root? result;
Token? token = GetToken(tokens); Token? token = GetToken(tokens);
if (token is null) { if (token is null) {
@ -212,13 +212,13 @@ public class BandService(ILogger<Program> logger, AppSettings appSettings, IHttp
result = null; result = null;
} else { } else {
HttpClient httpClient = _HttpClientFactory.CreateClient(nameof(AppSettings.Settings.Band)); HttpClient httpClient = _HttpClientFactory.CreateClient(nameof(AppSettings.Settings.Band));
result = GetPhotos(_Logger, httpClient, token, bandKey, photoAlbumKey); result = GetPhotos(_Logger, httpClient, token, _Band.Key, photoAlbumKey);
httpClient.Dispose(); httpClient.Dispose();
} }
return result; return result;
} }
private static Models.Photos.Root? GetPhotos(ILogger<Program> logger, HttpClient httpClient, Token token, string bandKey, string photoAlbumKey) { private static Models.Photos.Root? GetPhotos(ILogger<Program> logger, HttpClient httpClient, Token token, string? bandKey, string photoAlbumKey) {
Models.Photos.Root? result; Models.Photos.Root? result;
Uri requestUri = new($"{httpClient.BaseAddress}v2/band/album/photos?access_token={token.AccessToken}&band_key={bandKey}&photo_album_key={photoAlbumKey}"); Uri requestUri = new($"{httpClient.BaseAddress}v2/band/album/photos?access_token={token.AccessToken}&band_key={bandKey}&photo_album_key={photoAlbumKey}");
Task<HttpResponseMessage> httpResponseMessage = httpClient.GetAsync(requestUri); Task<HttpResponseMessage> httpResponseMessage = httpClient.GetAsync(requestUri);
@ -227,7 +227,7 @@ public class BandService(ILogger<Program> logger, AppSettings appSettings, IHttp
return result; return result;
} }
public Models.Permissions.Root? GetPermissions(Dictionary<string, Token>? tokens, string bandKey, string permissions) { public Models.Permissions.Root? GetPermissions(Dictionary<string, Token>? tokens, string permissions) {
Models.Permissions.Root? result; Models.Permissions.Root? result;
Token? token = GetToken(tokens); Token? token = GetToken(tokens);
if (token is null) { if (token is null) {
@ -235,13 +235,13 @@ public class BandService(ILogger<Program> logger, AppSettings appSettings, IHttp
result = null; result = null;
} else { } else {
HttpClient httpClient = _HttpClientFactory.CreateClient(nameof(AppSettings.Settings.Band)); HttpClient httpClient = _HttpClientFactory.CreateClient(nameof(AppSettings.Settings.Band));
result = GetPermissions(_Logger, httpClient, token, bandKey, permissions); result = GetPermissions(_Logger, httpClient, token, _Band.Key, permissions);
httpClient.Dispose(); httpClient.Dispose();
} }
return result; return result;
} }
private static Models.Permissions.Root? GetPermissions(ILogger<Program> logger, HttpClient httpClient, Token token, string bandKey, string permissions) { private static Models.Permissions.Root? GetPermissions(ILogger<Program> logger, HttpClient httpClient, Token token, string? bandKey, string permissions) {
Models.Permissions.Root? result; Models.Permissions.Root? result;
Uri requestUri = new($"{httpClient.BaseAddress}v2/band/permissions?access_token={token.AccessToken}&band_key={bandKey}&permissions={permissions}"); Uri requestUri = new($"{httpClient.BaseAddress}v2/band/permissions?access_token={token.AccessToken}&band_key={bandKey}&permissions={permissions}");
Task<HttpResponseMessage> httpResponseMessage = httpClient.GetAsync(requestUri); Task<HttpResponseMessage> httpResponseMessage = httpClient.GetAsync(requestUri);
@ -250,7 +250,7 @@ public class BandService(ILogger<Program> logger, AppSettings appSettings, IHttp
return result; return result;
} }
public Root? WritePost(Dictionary<string, Token>? tokens, string bandKey, string message) { public Root? WritePost(Dictionary<string, Token>? tokens, string message) {
Root? result; Root? result;
Token? token = GetToken(tokens); Token? token = GetToken(tokens);
if (token is null) { if (token is null) {
@ -258,13 +258,13 @@ public class BandService(ILogger<Program> logger, AppSettings appSettings, IHttp
result = null; result = null;
} else { } else {
HttpClient httpClient = _HttpClientFactory.CreateClient(nameof(AppSettings.Settings.Band)); HttpClient httpClient = _HttpClientFactory.CreateClient(nameof(AppSettings.Settings.Band));
result = GetPostCreate(_Logger, httpClient, token, bandKey, message); result = GetPostCreate(_Logger, httpClient, token, _Band.Key, message);
httpClient.Dispose(); httpClient.Dispose();
} }
return result; return result;
} }
private static Root? GetPostCreate(ILogger<Program> logger, HttpClient httpClient, Token token, string bandKey, string message) { private static Root? GetPostCreate(ILogger<Program> logger, HttpClient httpClient, Token token, string? bandKey, string message) {
Root? result; Root? result;
List<KeyValuePair<string, string>> formData = [ List<KeyValuePair<string, string>> formData = [
new KeyValuePair<string, string>("access_token", token.AccessToken), new KeyValuePair<string, string>("access_token", token.AccessToken),
@ -280,7 +280,7 @@ public class BandService(ILogger<Program> logger, AppSettings appSettings, IHttp
return result; return result;
} }
public Root? WritePostComment(Dictionary<string, Token>? tokens, string bandKey, string postKey, string message) { public Root? WritePostComment(Dictionary<string, Token>? tokens, string postKey, string message) {
Root? result; Root? result;
Token? token = GetToken(tokens); Token? token = GetToken(tokens);
if (token is null) { if (token is null) {
@ -288,13 +288,13 @@ public class BandService(ILogger<Program> logger, AppSettings appSettings, IHttp
result = null; result = null;
} else { } else {
HttpClient httpClient = _HttpClientFactory.CreateClient(nameof(AppSettings.Settings.Band)); HttpClient httpClient = _HttpClientFactory.CreateClient(nameof(AppSettings.Settings.Band));
result = GetPostCommentCreate(_Logger, httpClient, token, bandKey, postKey, message); result = GetPostCommentCreate(_Logger, httpClient, token, _Band.Key, postKey, message);
httpClient.Dispose(); httpClient.Dispose();
} }
return result; return result;
} }
private static Root? GetPostCommentCreate(ILogger<Program> logger, HttpClient httpClient, Token token, string bandKey, string postKey, string message) { private static Root? GetPostCommentCreate(ILogger<Program> logger, HttpClient httpClient, Token token, string? bandKey, string postKey, string message) {
Root? result; Root? result;
List<KeyValuePair<string, string>> formData = [ List<KeyValuePair<string, string>> formData = [
new KeyValuePair<string, string>("access_token", token.AccessToken), new KeyValuePair<string, string>("access_token", token.AccessToken),