From f59c6ee5c3bff7cb15bf6f9149596fbf4668619d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergei=20Ts=C3=B5ganov?= Date: Mon, 21 Mar 2022 10:03:21 +0200 Subject: [PATCH] Updated structure.sql --- .DS_Store | Bin 0 -> 8196 bytes app/.DS_Store | Bin 0 -> 6148 bytes app/controllers/.DS_Store | Bin 0 -> 6148 bytes app/controllers/repp/.DS_Store | Bin 0 -> 6148 bytes app/controllers/repp/v1/.DS_Store | Bin 0 -> 6148 bytes .../repp/v1/registrar/auth_controller.rb | 26 +++++++++++ .../repp/v1/registrar/summary_controller.rb | 44 ++++++++++++++++++ db/structure.sql | 7 +-- üpõ.preinstalled_gems | 25 ++++++++++ 9 files changed, 96 insertions(+), 6 deletions(-) create mode 100644 .DS_Store create mode 100644 app/.DS_Store create mode 100644 app/controllers/.DS_Store create mode 100644 app/controllers/repp/.DS_Store create mode 100644 app/controllers/repp/v1/.DS_Store create mode 100644 app/controllers/repp/v1/registrar/auth_controller.rb create mode 100644 app/controllers/repp/v1/registrar/summary_controller.rb create mode 100644 üpõ.preinstalled_gems diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..05ef5629c7d8e1c4211d177d2a025725eb14b0e5 GIT binary patch literal 8196 zcmeHMTWl0n7(U-@ff+_%s09i#>DJ1O|sJ3~7%omqBfw_sDP zPZ~iJUo?uBH=;gxiK61G_r&->kSHJM#Q2{%vz0Djcrpa%B)#2NTsW`KVmlGHg(MRY>Y@Y6v$%v*RIw2@&s6n_A6|RV`7!d9xPeyjBh)xJ9+!>ognK0}@%tMdM?VQ;i6FoJ@gHu8Hp z*X?;urZhJ)du(fTP^)V5+`zD1D<3-8rbQpBMyIU}xjOhka_E5K%zMRfe1aEe`d*YVsT zl5p$kEXzFRvV+WKLyli;6HgV1_DoKMdcG8@GE-G&>AijZ1AF%kYFfd!IxWWt?4s3f z1eQOj&G9Mn%~{XgmA8r%ac|ah3L`FQ=4K5iTOea=qvLeh_Y3Q6-gBH?o^J=X=l1sn z){%hg_(D@ueFMIi58A@T`fOTXSXJ^pcILRVzsJh^L>1+g*$ZlJS$^x9+wM$tY~Im% zc8)f;Qms~%tyfPQ{O1Eo_SZ6D%7cRPK zv96a}msaU3WbDHQJ2DU#ZF!4EAy!xF z^@?W5-9CjZmRPMeDw?l!A0k8u*Jiav)=Z_xF*24TM6K#NS=*}g7DdEDSf$=2D}7mS zWQ2n8g)FVN%i72C0lx7z!w+`mESL7?q1|1p>-}85(KIcSB3M+tuu|WuZYX|{zOpn^Nfj?`&i`TNU1=gSmYte!>Y{Pc!zyPu^aS%grP(Tq!a1;;VVLXCIaSTu38Jxg#cpfM5Dqh3u zco*;CeSC{BcUyxj~a&`0V>o-o~ zPQbK;%!?5pf_zG8gdh)rP!3R0dTLD%Re^QnN)@Qh;MFRh<<_+~t2Np*suRI3T}JG5 zsu97is;{ZhBq~k8HZ<0#T7n8s34Pbr6N`vxy+c*C3MxUN+n^K6A|~BN%kYAduO8a} z3hYnV8TJMHhW$jq{tF4nSb!v!qMm@f0Vx7=J30u=yU>X)bYnjTVIV`$cHkn1!^mR{ z<9HAgc!+>~9FO5~JcXwT+|LrcPvS+qgqQIKPT_65gVQ0*KgH)bUk2N4Q(=p5%VAq~ zWK1=`{M-*ou&cI{_P|@Dio+h?*zE5hR3BPM6sozVTH*Pl} uXy`)2l!pM~C;wqc^CX#apHxIA1SJWz|NJ4~>i)it&;R)R5Ak`u4u1oy!Enp~ literal 0 HcmV?d00001 diff --git a/app/.DS_Store b/app/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..830c593b89e71e935955619df619e42d09b641be GIT binary patch literal 6148 zcmeHK!AiqG5Z!I7O(;SR3VI88E!f&pC|*LXKVU=;Dm5`dgE3o@)Er77cl{xM#P4xt zccYZrgBOu96K3D+>`az@8+NjcF+Q3FUB)cNm;s7dGokrGa2$0-YTARyP`wziu_(`XsD?xQH& z+{=DKRYFb#8J z9n9z5VZYP1dxPGhZO@0tVE222#lkf94v$XGCr|NnB3>1z96moOI~pr^17pqdUfeW^ zMe+a3o3~UqwyfJpiBUqBItt*SeT5E&efudkssqiZW3|WdH f7EAFys1)$qXaG7IONHP8p&tQB12x3JpEB?XgX&K( literal 0 HcmV?d00001 diff --git a/app/controllers/.DS_Store b/app/controllers/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..a3eee7bc42595345c5e13abf3402fcbff1011646 GIT binary patch literal 6148 zcmeHK%}T>S5Z-O0O({YS3VI88E!f&pC|*LWFJMFuDm5WNgE1SD)E-J9cYPsW#OHBl zcOw?-Rm9G~?l-@?*$=Wmj4|%c!aidbW6Xqx$Wd7%=w2IY=ww8WV+8Xe3lb54{ib7o z9q`)?ma~XuEc^QXL6*ct+3UUYM$_2ZZka8!W8QiXV(yiGIV)U0zeejqh$N_WKe&ve z`PAAy6=~_mX_U)?IE*0W<|SGFabZ#VZ2h)8JZo)echFEUuR;X`^p#5h7`Tt@%b<$es6(Eku~LYm TpkI~)(nUZLLLD*i3k-Y!)458c literal 0 HcmV?d00001 diff --git a/app/controllers/repp/.DS_Store b/app/controllers/repp/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..fcb003e6543eeb63b4f0dc8a1b59afba2db039d3 GIT binary patch literal 6148 zcmeHKQA@)x5Kgw~GKSCx1$_(nI&gDiFnlR<{sAlcpfX!Jv{;+5cI(3!^j-guf5hM8 zU6O*+J&U+INWQz=UDABeT*4UR!+F?Y%wdcPXowt@4T8fPT@@RQ$Z?J!Rsrbm!8DGn z@2>-Xdxb4nC&<(3*Y8iWcKd@@s~j1Zza;9_u*rdJEqfMAcmqXmX5r0}SS62Om$79GAu&J<5Cg=()-zyB zgJ^C&6GQ+pKn#3m0M7>r4bin&7}Q4xba;J6e+>}@bbL!7N{g<=!XS7+xJd;xsoXv> zxJid`Y2#drg+Y_fxLz6Nu`8F47p_-_ajC-@cMVcc3=jkB3{;KjVEw;=7nkwfh?eu+B7xfTn9I17&J QbU?ZYXhNtX27ZBoPnbSPY5)KL literal 0 HcmV?d00001 diff --git a/app/controllers/repp/v1/.DS_Store b/app/controllers/repp/v1/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..b22dad7630733675abfd34d2554a9b0a86ce7ed4 GIT binary patch literal 6148 zcmeHK%}T>S5T0$TO(;SS3VI88E!f&p5HF$D7cim+m735}gE3o@)E-J9cYPsW#OHBl zcO#Zo@FZeqVD_7xpDg=r*dG88z3H$8PzL}Dm9S)EvqmURx*{dxAr$HxDP)j<4@odv z$!5o2WPsMr#x)zk7()26e(5BLWPs7PU=oFC)@;6uQn|9VUA3xK&ARg*nhol^XEM(GFdikUARLY`<@P#^hjP}F(|DMwT2BWo+p-7sgZaF5 z(rGrFcDJ)=IP;TZv^(wYVqsf*hexLugU9G8mM@x5fxn)T9fJkDqOoRb&t4KoG9F{J zs4OZNnE_^i8Q2g8%=Ty1He|j$O=f@@_&Ec#KRBp_uEAWR+B&eI>m$W0gd}LwTY}Ir z=o-v5VgyC#Qbb)U%o9WCa`ZbU&o!89)a4-5$oL&IvM?_cp+-l)qtZdR8o6Z#n1N*m z%DP*p^Z)$&_y2Mc_m}}@;9oHyDt)it!zr1wb!BpN);g&7s3eq^Yy2!hLmkDKOGoiO bsuJ`&WFWc*bB*Xh;fsKxfg5JvR~h&K-S|z~ literal 0 HcmV?d00001 diff --git a/app/controllers/repp/v1/registrar/auth_controller.rb b/app/controllers/repp/v1/registrar/auth_controller.rb new file mode 100644 index 000000000..74737e5ca --- /dev/null +++ b/app/controllers/repp/v1/registrar/auth_controller.rb @@ -0,0 +1,26 @@ +module Repp + module V1 + module Registrar + class AuthController < BaseController + api :GET, 'repp/v1/registrar/auth' + desc 'check user auth info, track user last login datetime and return data' + + def index + registrar = current_user.registrar + + data = set_values_to_data(registrar: registrar) + + render_success(data: data) + end + + private + + def set_values_to_data(registrar:) + data = current_user.as_json(only: %i[id username roles]) + data[:registrar_name] = registrar.name + data + end + end + end + end +end \ No newline at end of file diff --git a/app/controllers/repp/v1/registrar/summary_controller.rb b/app/controllers/repp/v1/registrar/summary_controller.rb new file mode 100644 index 000000000..dfb54931c --- /dev/null +++ b/app/controllers/repp/v1/registrar/summary_controller.rb @@ -0,0 +1,44 @@ +module Repp + module V1 + module Registrar + class SummaryController < BaseController + api :GET, 'repp/v1/registrar/summary' + desc 'check user summary info and return data' + + def index + registrar = current_user.registrar + + data = evaluate_data(registrar: registrar) + + render_success(data: data) + end + + private + + def evaluate_data(registrar:) + data = current_user.as_json(only: %i[id username]) + data[:registrar_name] = registrar.name + data[:last_login_date] = last_login_date + data[:balance] = { amount: registrar.cash_account&.balance, + currency: registrar.cash_account&.currency } + data[:domains] = registrar.domains.count + data[:contacts] = registrar.contacts.count + data[:phone] = registrar.phone + data[:email] = registrar.email + data[:billing_email] = registrar.billing_email + data[:billing_address] = registrar.address + data + end + + def last_login_date + q = ApiLog::ReppLog.ransack({ request_path_eq: '/repp/v1/registrar/auth', + response_code_eq: '200', + api_user_name_cont: current_user.username, + request_method_eq: 'GET' }) + q.sorts = 'id desc' + q.result.offset(1).first&.created_at + end + end + end + end +end \ No newline at end of file diff --git a/db/structure.sql b/db/structure.sql index 56d499289..984a949df 100644 --- a/db/structure.sql +++ b/db/structure.sql @@ -827,8 +827,7 @@ CREATE TABLE public.dnskeys ( updator_str character varying, legacy_domain_id integer, updated_at timestamp without time zone, - validation_datetime timestamp without time zone, - failed_validation_reason character varying + validation_datetime timestamp without time zone ); @@ -1196,7 +1195,6 @@ CREATE TABLE public.invoices ( buyer_vat_no character varying, issue_date date NOT NULL, e_invoice_sent_at timestamp without time zone, - payment_link character varying, CONSTRAINT invoices_due_date_is_not_before_issue_date CHECK ((due_date >= issue_date)) ); @@ -5403,9 +5401,6 @@ INSERT INTO "schema_migrations" (version) VALUES ('20220106123143'), ('20220113201642'), ('20220113220809'), -('20220124105717'), -('20220216113112'), -('20220228093211'); ('20220316140727'); diff --git a/üpõ.preinstalled_gems b/üpõ.preinstalled_gems new file mode 100644 index 000000000..0b8633422 --- /dev/null +++ b/üpõ.preinstalled_gems @@ -0,0 +1,25 @@ +FROM ghcr.io/internetee/registry:gems-latest +LABEL org.opencontainers.image.source=https://github.com/internetee/registry +ARG YARN_VER='1.22.10' +ARG RAILS_ENV +ARG SECRET_KEY_BASE + +ENV RAILS_ENV "$RAILS_ENV" +ENV SECRET_KEY_BASE "$SECRET_KEY_BASE" + +RUN npm install -g yarn@"$YARN_VER" + +RUN bash -c 'mkdir -pv -m776 {/opt/webapps/app/tmp/pids,/opt/ca,/opt/ca/newcerts}' +RUN echo -n 12 > /opt/ca/serial +RUN chmod 776 /opt/ca/serial +RUN echo '3A0e' > /opt/ca/crlnumber +RUN chmod 776 /opt/ca/crlnumber +RUN touch /opt/ca/index.txt +RUN chmod 776 /opt/ca/index.txt +WORKDIR /opt/webapps/app + +COPY . . + +RUN bundle exec rails assets:precompile + +EXPOSE 3000